Professional Documents
Culture Documents
1 + type
0..*
<< abstract >> << abstract >> << abstract >> ArgumentPrototype
PrimitiveType CompositeType DataPrototype
+element
1..* {ordered}
• provide a component framework for middleware com- in the AUTOSAR standard2 ): (i) the structural level and
ponents, that defines mechanisms of object handling, (ii) the implementation level. At the structural level, com-
storage and instantiation, inter- and intra-node com- mon interface definition languages typically specify their
munication, operating-system functionality, and sys- data types by combining predefined primitive data types to
tem specific resources (see Section 2.4). form various data structures, the user-defined types. At im-
plementation level the mapping of data types and data struc-
2 COMPASS Component Model tures to bits and bytes is of primary concern.
When it comes to heterogeneous component interac-
tion, both levels of abstraction have to be taken into ac-
A component model provides the semantic framework of
count. ECUs of distinct type might encode data in differ-
what components are, how the are constructed, composed,
ent ways, so data types that match at structural level could
deployed and used [22, 10], therefore it provides the foun-
mismatch at implementation level. Therefore, COMPASS
dation for any component based application.
provides rules for data conversion, that are based on the
Within the next sections we will specify the COMPASS
data type meta-model provided in Figure 3. This model is
component model by providing UML 2.0 [15] meta-models.
equivalent to the one defined by the AUTOSAR standard
These meta-models formally define the vocabulary, re-
[2]. In fact, COMPASS applies the component paradigm to
quired to describe COMPASS model elements and their de-
AUTOSAR Basic Software, thus inventing a new—perhaps
pendencies. When instantiating a meta-model element1 , the
incompatible—data type model was deliberately avoided.
resulting element is a COMPASS model element. When
instantiated in turn, this model element finally leads to a Within the depicted model, class DataType is an abstract
specific implementation. To give an example, a meta-model generalization of all data types of the COMPASS compo-
element ComponentType can be used to instantiate a model nent model. The abstract classes PrimitiveType and Com-
element of type Component. Finally, a COMPASS compli- positeType are both derived from DataType whereas Prim-
ant component architecture may contain a specific instance itiveType is the abstract superclass for all primitive data
(implementation) of this model element (e.g. the ErrorLog- types. These are not shown in Figure 3 for simplicity but
ger component, implementing a centralized error logging). are named here:
Abstract elements, (stereotyped ≪ abstract ≫), must not
be instantiated and are typically used to represent all of the • IntegerType: represents all integer types within the
element’s specializations. COMPASS component model (e.g. int, word).
2.1 Data Types • FloatType: represents all floating point types within
the COMPASS component model (e.g. double, float).
Data types are of great importance for describing com-
ponent interaction. Therefore, we consider two levels of ab- • BooleanType: represents all boolean types within the
straction when defining data types (both can also be found COMPASS component model (e.g. bool).
1 Classes in meta-models represent building blocks of models. There- 2 The AUTOSAR standard defines three levels of abstraction: (i) the
fore instantiating a class within a meta-model may again produce a class, Data Semantics Level, (ii) the Data Structure Level and (iii) the Data Im-
but at a lower level (model level). plementation Level.
<< abstract >> Port * << abstract >>
ComponentType + component + provided Interface
+ port 0..*
0..* *
+ required
AUTOSAR
SoftwareComponent
• CharType: represents all character types within the according to contractual guarantees [11] and strictly con-
COMPASS component model (e.g. char, TCHAR, tain no other external dependencies. They can be indepen-
unichar). dently deployed and composed without modification and, as
a result, are well suited for reuse [14] and third-party com-
• StringType: represents all string types within the
position.
COMPASS component model (e.g. string, chararray).
Within this paper, application components adhere to the
All of them are concrete classes, thus can be instanti- AUTOSAR component model, while middleware compo-
ated to generate COMPASS data types. In addition, the nents comply to the COMPASS component model. As ap-
COMPASS data type meta-model contains two classes for plication components are connected to the VFB, they have
composite data types (represented by their abstract super- to interact with the RTE. The RTE is built from middleware
class CompositeType): ArrayType and RecordType. As components, so COMPASS middleware components have
depicted, an ArrayType is associated with exactly one to be aware of AUTOSAR components. For this reason
DataType for all of its elements, while a RecordType con- COMPASS defines three concrete classes of components as
tains an ordered set of RecordElements. RecordElements shown in Figure 4. Two of them are true middleware com-
are concrete specializations of the DataPrototype class, that ponents (both are derived from the abstract superclass Mid-
is associated with an arbitrary data type (via the generalized dlewareComponentType). The third one is used to represent
DataType class). AUTOSAR-COMPASS interface adapters):
quired or provided) and therefore are classified as R-Ports or P-Ports dard, that supports client-server and sender-receiver interaction only.
plicit connectors play a key-role in synthesizing the applica- IPCSConnector
components.
An explicit connector’s type is defined by two dimen-
0..* + building block
sions:
<< abstract >> XNCSConnector
ClientServerConnector
• Communication Paradigm: AUTOSAR supports two
communication paradigms: client-server and sender- << abstract >>
ExplicitConnector
receiver communication. On this account, the ab-
stract superclass ExplicitConnector is specialized by << abstract >> XNSRConnector
IPSRConnector
SenderReceiverConnector
two (also abstract) classes, class ClientServerConnec-
tor and class SenderReceiverConnector. << connects >>
+ participand
• Component Deployment: The second dimension is << abstract >>
XPSRConnector