Please enable JavaScript.
Coggle requires JavaScript to display documents.
Component Based Software Engineering (Metalevel (Architecture (static…
Component Based Software Engineering
Composition System
Component System
Component Model
For description of components
"Graybox Systems"
Seperation of concerns
parts visible
"White Box"
Everything is visible
"Blackbox" System
Modular decomposition
everything is hidden
Composition Technique
How are components plugged together
Composition Time => Compile-time, Deployment-time, Runtime
Composition Language
How the compositions are described (of large systems)
How are the
builds
managed
Describe the structure of the system in-large
composition programs combine all basic compositions of the composition language
Gray-Box Composition System
seperation of concerns
or: explore a subject matter in isolation while keeping in mind that it is only one of many parts
Black-Box Composition System
Classical Component Systems
COBRA
Enterprise Java Beans
OSGI
Object-Oriented Programming
Java
C++
Architchtural Systems
Web Services
EAST-ADL (AutoSAR)
Structured Programming
Pascal
C
General Knowledge
Abrreviations
Object Management Group (
OMG
)
Common Object Request Broker Architechture (
CORBA
)
key component of OMA
mainly for type systems
is a MOF
Object Management Architechture (
OMA
)
developt by OMG
Interface Definition Language (
IDL
)
Metalevel
Architecture
static
Compiler
are static Metaprograms
Open Language
has a static MOP
adapt components at compiletime
Metaprograms are removed during compile time => no runtime overhead
dynamic
has a large overhead
Meta Object Protocoll (MOP)
reflective implementation of the methods of metaclasses
describes the behaviour of the language objects in terms of the language itself
i.e what happens when a Method or an Attribute is entered
can describe the interpreter of a language
Metaobject Facility (MOF)
a language specification language (M3)
describes context-free and context-free
structure
of a language
checks wellformdness of models
no dynamic semantics
MOF != MOP
The Meta Pyramid
M3 (Meta-Concepts): MOF
M2 (Software-Concepts): C, C++, UML
M1 (Software Classes)
M0 (Software Objects)
Markup Languages
describe the metadata of a component
is stored together with a component
defined in one of two ways: 1.
embedded
2. by
style sheets
, both can be mixed
as Hungarian Notation
Metadata Attributes
Javadoc tags
Java Annotations
C# Attributes
generally they all are compiled into the byte code and can be used by other programs
Component
A Container which insides are hidden
public outer interface
public dependencies
reusable
part of a larger component Model
Component Repository aka
Market
Stores components with metadata (markup, attributes)
attributes:
Keywords, author data
Usage protocolls
managed by a
broker
or
trader
..- sub entry
UML COMPONENTS by Chessman / Daniels
Ch. 1 Component Systems
Important: Seperation of Component
Specification
and Component
Implementation
Component Specification
Component Interface
Component Implementation
InstalledComponent
Component Object
Component
and
System
Architectures
A business system has a structure of 4 layers:
User Interface
User dialog
System services
Business services
these and the dependencies between them are a
system architecture
Multiple set of architectures consisting of two main groups
Component
Architecture
Component
Specification
Architecture
Component
Implementation
Architecture
Component
Object
Architecture
those loosely are similar to the Meta Pyramid from top to bottom.
Furthermore there exists the
Component Specification
which is the
realization contrac
t between
specifier
and
realizer
System
Architecture
#
12: Finding Components in Repositories
searching and browsing with fascetet classifications (12.2)
enumerative approach
Faceted approach
A facet is "orthogonal" to other properties = isnt a sub property of another
Decorator-Connector Pattern
Chain
Stub
: Decorator of the client
Takes calls of client in language
A
and sends that to the skeleton
Call
#
Skeleton
decorator of the server
Takes the calls from the clients and sends the component implementation in language
B
#
Interface Definition Language (IDL)
Language adaption works with the mapping of language constructs from both languages. This Mapping is done by the IDL