Autosar Tps Ecuresourcetemplate
Autosar Tps Ecuresourcetemplate
Autosar Tps Ecuresourcetemplate
AUTOSAR CP R20-11
Disclaimer
This work (specification and/or software implementation) and the material contained in
it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the
companies that have contributed to it shall not be liable for any use of the work.
The material contained in this work is protected by copyright and other types of intel-
lectual property rights. The commercial exploitation of the material contained in this
work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the work
may be utilized or reproduced, in any form or by any means, without permission in
writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Table of Contents
1 Introduction 7
1.1 Scope of the ECU Resource Template . . . . . . . . . . . . . . . . . . 7
1.2 Overview ECU Resource Template . . . . . . . . . . . . . . . . . . . . 8
1.3 Requirements Traceability . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Requirements Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 General Hardware Description 16
2.1 Hardware Description Entity . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Hardware Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Hardware Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Multiple occurrence of Hardware Elements . . . . . . . . . . 21
2.4 Hardware Pin and Pin Group . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Hardware Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.1 Scope of Connections . . . . . . . . . . . . . . . . . . . . . . 25
2.6 Hardware Category Definition . . . . . . . . . . . . . . . . . . . . . . . 26
2.6.1 Vendor specific extensions of Hardware Category Definition . 29
2.7 Ecu Resource Variant Handling . . . . . . . . . . . . . . . . . . . . . . 30
2.8 Documentation Support . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.9 Infrastructural aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 Hardware Type Specific Description 32
3.1 HwElement categories . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.1 Ecu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.2 Processing Unit . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.3 Micro-Controller . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.4 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.5 Communication Controller . . . . . . . . . . . . . . . . . . . 33
3.1.6 Communication Transceiver . . . . . . . . . . . . . . . . . . . 34
3.1.7 Digital IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.8 Analog IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.9 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.10 Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.11 SensorActuator . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 HwPinGroup categories . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 CommunicationPort . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 HwPin categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A Examples 37
A.1 Hardware Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A.2 Hierarchy of Hardware Elements . . . . . . . . . . . . . . . . . . . . . 37
A.3 HwPinGroups and HwPins . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.4 Hardware Element Connection . . . . . . . . . . . . . . . . . . . . . . 39
A.5 Combined Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
References
[1] Requirements on ECU Resource Template
AUTOSAR_RS_ECUResourceTemplate
[2] Meta Model
AUTOSAR_MMOD_MetaModel
[3] Software Component Template
AUTOSAR_TPS_SoftwareComponentTemplate
[4] XML Schema Production Rules
AUTOSAR_TPS_XMLSchemaProductionRules
[5] Standardization Template
AUTOSAR_TPS_StandardizationTemplate
[6] Generic Structure Template
AUTOSAR_TPS_GenericStructureTemplate
[7] IEEE standard for radix-independent floating-point arithmetic
(ANSI/IEEE Std 854-1987)
[8] Software Process Engineering Meta-Model Specification
http://www.omg.org/spec/SPEM/2.0/
1 Introduction
One of the most prominent goals of AUTOSAR is the standardization of descriptions
relevant for automotive software applications. In this context, the description of under-
lying ECU hardware is one of the major topics to resolve.
This document contains a specification of the modeling elements required to describe
the hardware to the necessary extent. One aspect of the ECU Resource Template is to
provide the system design engineer with the necessary information to assist the sys-
tem partitioning, e.g. available memory and communication means of dedicated ECUs.
Another aspect of the ECU Resource Template is to support the ECU Configuration en-
gineers and tools with information required for the configuration of the micro-controller
and ECU abstraction layer residing on a particular ECU.
The focus of the ECU Resource Template is to describe an already engineered piece of
hardware, its content and structure. It is not in the focus of the ECU Resource Template
to support the design of electronics hardware itself. There are established tools and
exchange formats to aid in the design of electronics hardware already available. But
such tools may be able to export their design using the AUTOSAR ECU Resource
Template format for later usage in AUTOSAR design tools.
Where applicable, please consult the glossary and the abbreviation list contained in
this document. The general characteristics of the ECU Resource Description are intro-
duced followed by a detailed description of the hardware components inside the ECU.
4
Class AUTOSAR
arPackage ARPackage * aggr This is the top level package in an AUTOSAR model.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=arPackage.shortName, arPackage.variation
Point.shortLabel
vh.latestBindingTime=blueprintDerivationTime
xml.sequenceOffset=30
fileInfo FileInfoComment 0..1 aggr This represents a possibility to provide a structured
Comment comment in an AUTOSAR file.
Stereotypes: atpStructuredComment
Tags:
xml.roleElement=true
xml.sequenceOffset=-10
xml.typeElement=false
introduction DocumentationBlock 0..1 aggr This represents an introduction on the Autosar file. It is
intended for example to rpresent disclaimers and legal
notes.
Tags:xml.sequenceOffset=20
ventions of the standard. The verbal forms for the expression of obligation specified
in [TPS_STDT_00053] shall be used to indicate requirements, see Standardization
Template, chapter Support for Traceability ([5]).
The representation of requirements in AUTOSAR documents follows the table specified
in [TPS_STDT_00078], see Standardization Template, chapter Support for Traceability
([5]).
ARElement Referrable
HwAttributeValue
HwType HwDescriptionEntity +hwAttributeValue
+hwType + vt: VerbatimString [0..1]
«atpVariation» 0..*
«atpVariation»
0..1 + v: Numerical [0..1]
+hwPinGroup +hwPinGroup
+nestedElement 2 1
0..*
«atpVariation» +hwPinGroupContent 1
«atpMixed»
«atpVariation»
HwPinGroupContent
«atpVariation»
«atpVariation»
+hwPin 1
Identifiable
HwPin
+hwPin 2
+hwElementConnection
0..*
+hwPinConnection
«atpVariation» 0..*
Please refer to chapter 3 for details on the actual applicable hardware categories and
corresponding attributes.
The HwDescriptionEntity is able to specify for which hardware categories (see
section 2.6) this HwDescriptionEntity is applicable. It is possible to define several
references in the role hwCategory.
• [TPS_ECUR_01000] Definition of HwCategory dIt shall be possible to refer-
ence different kinds of HwCategory elements in order to describe different as-
pects of the hardware (e.g. a Can controller with an integrated Spi channel).c
(RS_ECUR_00004)
• [TPS_ECUR_01001] Extension of HwCategory dIt shall be possible to extend
the standardized HwCategory specification with additional attributes.c(RS_-
ECUR_00004)
For more details see section Vendor specific extensions of Hardware Category
Definition.
For a description of the hwType reference please refer to section 2.2.
Each HwDescriptionEntity may aggregate several HwAttributeValue ele-
ments.
Class HwDescriptionEntity (abstract)
Package M2::AUTOSARTemplates::EcuResourceTemplate
Note This meta-class represents the ability to describe a hardware entity.
Base ARObject, Referrable
Subclasses HwElement, HwPin, HwPinGroup, HwType
Attribute Type Mult. Kind Note
hwAttribute HwAttributeValue * aggr This aggregation represents a particular hardware
Value attribute value.
Stereotypes: atpVariation
Tags:
vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=50
hwCategory HwCategory * ref One of the associations representing one particular
category of the hardware entity.
Tags:xml.sequenceOffset=30
hwType HwType 0..1 ref This association is used to assign an optional HwType
which contains the common attribute values for all
occurences of this HwDescriptionEntity. Note that Hw
Types can not be redefined and therefore shall not have a
hwType reference.
hardware element shall be used several times (using the nestedElement reference)
each occurrence has to have its own description. This is also true for nested elements
of the referenced nested element.c()
Thus the hardware element and all its structural features (hardware pin groups, hard-
ware pins and hardware connections) need to be cloned. There is however the possi-
bility to reference the same HwType from several HwElement clones.
Class HwElementConnector
Package M2::AUTOSARTemplates::EcuResourceTemplate
Note This meta-class represents the ability to connect two hardware elements. The details of the connection
can be refined by hwPinGroupConnection.
Base ARObject, Describable
Attribute Type Mult. Kind Note
hwElement HwElement 2 ref This association connects two hardware elements.
hwPin HwPinConnector * aggr This represents one particular connection between two
Connection hardware pins. This connection shall be used if
pin-to-pin-connection is to be described but no description
of the connection between the hierarchical composition of
HwPinGroups (using HwPinGroupConnector) is required.
Stereotypes: atpVariation
Tags:
vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=60
hwPinGroup HwPinGroupConnector * aggr This represents one particular connection between two
Connection hardware pin groups.
Stereotypes: atpVariation
Tags:
vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=50
4
Class HwPinConnector
hwPin HwPin 2 ref This association connects two hardware pins.
The hardware connections are part of a hardware element and connect the two artifacts
via references to the description of the artifacts. In principle such references can refer
to any hardware element and its features in the input information. But the scope of
connections is restricted based on the containing hardware element of the hardware
connection.
[constr_3513] Scope of connections dEach hardware connection shall only connect
features which both are in the hierarchical scope of the hardware element. The hierar-
chical scope encloses
• all features belonging to the hardware element containing the connection
• all features belonging to hardware elements which are referenced directly and
indirectly in the nestedElement relation from the hardware element containing
connection.
c()
Especially it is allowed to specify connections in hardware elements which are in
deeper hierarchical level and also connections which cross hierarchical levels.
In the example from figure A.1 the following connections are allowed:
• connections specified in the scope of hardware element "MyEcu"
– all the shown connections can be specified on this level
– even the connections inside another hierarchical hardware element (e.g. be-
tween "Pu1" and "Can") can be specified on this level
– even the connections crossing hierarchical levels (e.g. between "Can" and
"Trcv") can be specified on this level
• connections specified in the scope of hardware element "MicroController"
– only the connections inside the hardware element "MicroController" (e.g. be-
tween "Pu1" and "Can") can be specified.
«atpVariation»
+hwAttributeDef 0..* +hwAttributeValue 0..* +hwType 0..1
Identifiable ARElement
HwAttributeValue
HwAttributeDef +hwAttributeDef
HwType
+ vt: VerbatimString [0..1]
+ isRequired: Boolean 1
«atpVariation»
+ v: Numerical [0..1]
«atpVariation»
The element HwCategory specifies what type of hardware is defined. This can be a
for example a memory segment, a processing unit, a communication transceiver etc.
The HwCategory is later referenced from the HwDescriptionEntity in the role
hwCategory to describe what type of hardware is described. Possible values for the
shortName of the HwCategory element are defined in table 3.1 and table 3.5.
The HwCategory may contain several HwAttributeDef elements.
Class HwCategory
Package M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory
Note This metaclass represents the ability to declare hardware categories and its particular attributes.
Tags:atp.recommendedPackage=HwCategorys
Base ARElement, ARObject, AtpDefinition, CollectableElement, Identifiable, MultilanguageReferrable,
PackageableElement, Referrable
5
4
Class HwCategory
Attribute Type Mult. Kind Note
hwAttributeDef HwAttributeDef * aggr This aggregation describes particular hardware attribute
definition.
Table 2.11: HwCategory
The HwAttributeDef specifies one attribute which is applicable for the HwCate-
gory.
The name of the attribute is defined in the shortName.
The type of the attribute is specified by the category. Applicable values for the
category of HwAttributeDef are defined in table 2.12.
[constr_3500] category of HwAttributeDef shall not be extended dIn contrast
to the general rule that category can be extended by user-specific values it is not al-
lowed to extend the meaning of the attribute category of meta-class HwAttribut-
eDefc()
Category Description
Defines a boolean attribute.
The values of a boolean attribute can be provided in
• textual format ’true’ / ’false’ (using the vt element
BOOLEAN of HwAttributeValue
• numerical format ’1’ (true) / ’0’ (false) (using the v
element of HwAttributeValue
The element isRequired specifies whether the attribute is mandatory for the defined
category.
Class HwAttributeDef
Package M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory
Note This metaclass represents the ability to define a particular hardware attribute.
The category of this element defines the type of the attributeValue. If the category is Enumeration the hw
AttributeEnumerationLiterals specify the available literals.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
hwAttribute HwAttributeLiteralDef * aggr The available EnumerationLiterals of the Enumeration
Literal definition. Only applicable if the category of the Hw
AttributeDef equals Enumeration.
isRequired Boolean 1 attr This attribute specifies if the defined attribute value is
required to be provided.
unit Unit 0..1 ref This association specifies the physical unit of the defined
hardware attribute. This is optional due to the fact that
there are textual attributes.
Table 2.13: HwAttributeDef
In example A.8 the definition of some attributes for the MemorySegment category are
described.
In order to allow the description of arbitrary hardware and their relationships the ECU
Resource Template allows the extension of the definition of hardware categories and
and hardware attributes. When extending the ECU Resource Description for vendor
specific usage the following rules shall be respected:
• [TPS_ECUR_01021] Definition of new hardware categories dNew hardware
categories for HwElement and HwPinGroup and HwPin can be defined if they
are different from the already defined categories. This definition shall be in a
package which is not the AUTOSAR package. A HwDescriptionEntity shall
then reference the extended hardware category.c()
For more details on the already defined categories see chapter Hardware Type
Specific Description.
• hwPinGroup
• hwElementConnection
c(RS_ECUR_00015)
The existence of a HwPinGroup can be variant via the aggregation role hwPinGroup
from HwElement. So different alternatives of HwPinGroup can be specified. The
content of the HwPinGroup can as well be variant via the roles hwPinGroup and
hwPin from the HwPinGroupContent.
The existence of a HwElementConnector can be variant via the aggregation role
hwElementConnection from HwElement. The existence of individual HwPin-
GroupConnectors and HwPinConnectors in several roles is as well subject to vari-
ability.
For the description of attribute values the existence of the HwAttributeValue and
the actual v element are subject to variability (see also figure 2.2).
3.1.1 Ecu
3.1.3 Micro-Controller
3.1.4 Memory
3.1.7 Digital IO
3.1.8 Analog IO
3.1.9 Timer
3.1.10 Watchdog
3.1.11 SensorActuator
3.2.1 CommunicationPort
A Examples
Example A.1
<AR-PACKAGE>
<SHORT-NAME>VendorA</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MicroController_0815</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MicroController</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
Example A.2
<AR-PACKAGE>
<SHORT-NAME>VendorA</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MicroController_0815</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MicroController</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
<NESTED-ELEMENTS>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/ProcessingUnit0</HW-
ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
</NESTED-ELEMENTS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>ProcessingUnit0</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/ProcessingUnit</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
Example A.3
<AR-PACKAGE>
<SHORT-NAME>VendorA</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MicroController_0815</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MicroController</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
<HW-PIN-GROUPS>
<HW-PIN-GROUP>
<SHORT-NAME>Adc</SHORT-NAME>
<HW-PIN-GROUP-CONTENT>
<HW-PIN-GROUP>
<SHORT-NAME>AdcPortA</SHORT-NAME>
</HW-PIN-GROUP>
<HW-PIN-GROUP>
<SHORT-NAME>AdcPortB</SHORT-NAME>
<HW-PIN-GROUP-CONTENT>
<HW-PIN>
<SHORT-NAME>AdcB01</SHORT-NAME>
</HW-PIN>
<HW-PIN>
<SHORT-NAME>AdcB02</SHORT-NAME>
</HW-PIN>
</HW-PIN-GROUP-CONTENT>
</HW-PIN-GROUP>
</HW-PIN-GROUP-CONTENT>
</HW-PIN-GROUP>
</HW-PIN-GROUPS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
Example A.4
<AR-PACKAGE>
<SHORT-NAME>VendorA</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MicroController_0815</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MicroController</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
<NESTED-ELEMENTS>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Core0</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Core1</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Mem01</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
<!-- ... -->
</NESTED-ELEMENTS>
<HW-ELEMENT-CONNECTIONS>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Core0</HW-ELEMENT-
REF>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Mem01</HW-ELEMENT-
REF>
</HW-ELEMENT-REFS>
</HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Core0</HW-ELEMENT-
REF>
<HW-ELEMENT-REF DEST="HW-ELEMENT">/VendorA/Mem02</HW-ELEMENT-
REF>
</HW-ELEMENT-REFS>
</HW-ELEMENT-CONNECTOR>
<!-- .. -->
</HW-ELEMENT-CONNECTIONS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Core0</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/ProcessingUnit</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Core1</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/ProcessingUnit</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Mem01</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MemorySegment</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Mem02</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MemorySegment</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Mem03</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MemorySegment</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
The micro-controller consists of the processing unit, a Can controller and a Dio module.
The processing unit is defined to have access to both of the peripherals.
The Dio module defines two HwPinGroups in order to support more detailed connec-
tion description.
The whole micro-controller is defined in an own ARPackage so it can be used in several
projects.
Example A.5
<AR-PACKAGE>
<SHORT-NAME>CpuVendor</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MicroController</SHORT-NAME>
<NESTED-ELEMENTS>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Pu1</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Can</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Dio</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
</NESTED-ELEMENTS>
<HW-ELEMENT-CONNECTIONS>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Pu1</HW-ELEMENT-REF>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Can</HW-ELEMENT-REF>
</HW-ELEMENT-REFS>
</HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Pu1</HW-ELEMENT-REF>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">Dio</HW-ELEMENT-REF>
</HW-ELEMENT-REFS>
</HW-ELEMENT-CONNECTOR>
</HW-ELEMENT-CONNECTIONS>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Pu1</SHORT-NAME>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Can</SHORT-NAME>
</HW-ELEMENT>
<HW-ELEMENT>
<SHORT-NAME>Dio</SHORT-NAME>
<HW-PIN-GROUPS>
<HW-PIN-GROUP>
<SHORT-NAME>D0</SHORT-NAME>
</HW-PIN-GROUP>
<HW-PIN-GROUP>
<SHORT-NAME>D1</SHORT-NAME>
</HW-PIN-GROUP>
</HW-PIN-GROUPS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
Example A.6
<AR-PACKAGE>
<SHORT-NAME>TransceiverVendor</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>Trcv</SHORT-NAME>
<HW-PIN-GROUPS>
<HW-PIN-GROUP>
<SHORT-NAME>enable</SHORT-NAME>
</HW-PIN-GROUP>
<HW-PIN-GROUP>
<SHORT-NAME>wakeup</SHORT-NAME>
</HW-PIN-GROUP>
<HW-PIN-GROUP>
<SHORT-NAME>CanBus</SHORT-NAME>
</HW-PIN-GROUP>
</HW-PIN-GROUPS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
Example A.7
<AR-PACKAGE>
<SHORT-NAME>EcuVendor</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MyEcu</SHORT-NAME>
<NESTED-ELEMENTS>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/CpuVendor/MicroController</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF-CONDITIONAL>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/TransceiverVendor/Trcv</HW-ELEMENT-REF>
</HW-ELEMENT-REF-CONDITIONAL>
</NESTED-ELEMENTS>
<HW-PIN-GROUPS>
<HW-PIN-GROUP>
<SHORT-NAME>CanBus</SHORT-NAME>
</HW-PIN-GROUP>
</HW-PIN-GROUPS>
<HW-ELEMENT-CONNECTIONS>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/CpuVendor/Can</HW-ELEMENT-REF>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/TransceiverVendor/Trcv</HW-ELEMENT-REF>
</HW-ELEMENT-REFS>
</HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/CpuVendor/Dio</HW-ELEMENT-REF>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/TransceiverVendor/Trcv</HW-ELEMENT-REF>
</HW-ELEMENT-REFS>
<HW-PIN-GROUP-CONNECTIONS>
<HW-PIN-GROUP-CONNECTOR>
<HW-PIN-GROUP-REFS>
<HW-PIN-GROUP-REF DEST="HW-PIN-GROUP">/CpuVendor/Dio/D0</HW
-PIN-GROUP-REF>
<HW-PIN-GROUP-REF DEST="HW-PIN-GROUP">/TransceiverVendor/
Trcv/enable</HW-PIN-GROUP-REF>
</HW-PIN-GROUP-REFS>
</HW-PIN-GROUP-CONNECTOR>
<HW-PIN-GROUP-CONNECTOR>
<HW-PIN-GROUP-REFS>
<HW-PIN-GROUP-REF DEST="HW-PIN-GROUP">/CpuVendor/Dio/D1</HW
-PIN-GROUP-REF>
<HW-PIN-GROUP-REF DEST="HW-PIN-GROUP">/TransceiverVendor/
Trcv/wakeup</HW-PIN-GROUP-REF>
</HW-PIN-GROUP-REFS>
</HW-PIN-GROUP-CONNECTOR>
</HW-PIN-GROUP-CONNECTIONS>
</HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-CONNECTOR>
<HW-ELEMENT-REFS>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/TransceiverVendor/Trcv</HW-ELEMENT-REF>
<HW-ELEMENT-REF
DEST="HW-ELEMENT">/EcuVendor/MyEcu</HW-ELEMENT-REF>
</HW-ELEMENT-REFS>
<HW-PIN-GROUP-CONNECTIONS>
<HW-PIN-GROUP-CONNECTOR>
<HW-PIN-GROUP-REFS>
<HW-PIN-GROUP-REF
DEST="HW-PIN-GROUP">/TransceiverVendor/Trcv/Can</HW-PIN-
GROUP-REF>
<HW-PIN-GROUP-REF
DEST="HW-PIN-GROUP">/EcuVendor/CanBus</HW-PIN-GROUP-REF>
</HW-PIN-GROUP-REFS>
</HW-PIN-GROUP-CONNECTOR>
</HW-PIN-GROUP-CONNECTIONS>
</HW-ELEMENT-CONNECTOR>
</HW-ELEMENT-CONNECTIONS>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
Example A.8
<AR-PACKAGE>
<SHORT-NAME>AUTOSAR</SHORT-NAME>
<ELEMENTS>
<HW-CATEGORY>
<SHORT-NAME>MemorySegment</SHORT-NAME>
<HW-ATTRIBUTE-DEFS>
<HW-ATTRIBUTE-DEF>
<SHORT-NAME>memorySize</SHORT-NAME>
<DESC>
<L-2 L="EN">Specifies the size of the memory segment in
bytes.</L-2>
</DESC>
<CATEGORY>INTEGER</CATEGORY>
<IS-REQUIRED>true</IS-REQUIRED>
</HW-ATTRIBUTE-DEF>
<HW-ATTRIBUTE-DEF>
<SHORT-NAME>memoryType</SHORT-NAME>
<DESC>
<L-2 L="EN">Specifies the type of memory: RAM, ROM, EEPROM,
Flash.</L-2>
</DESC>
<CATEGORY>ENUMERATION</CATEGORY>
<HW-ATTRIBUTE-LITERALS>
<HW-ATTRIBUTE-LITERAL-DEF><SHORT-NAME>RAM</SHORT-NAME></HW-
ATTRIBUTE-LITERAL-DEF>
<HW-ATTRIBUTE-LITERAL-DEF><SHORT-NAME>ROM</SHORT-NAME></HW-
ATTRIBUTE-LITERAL-DEF>
<HW-ATTRIBUTE-LITERAL-DEF><SHORT-NAME>FLASH</SHORT-NAME></
HW-ATTRIBUTE-LITERAL-DEF>
<HW-ATTRIBUTE-LITERAL-DEF><SHORT-NAME>EEPROM</SHORT-NAME></
HW-ATTRIBUTE-LITERAL-DEF>
</HW-ATTRIBUTE-LITERALS>
<IS-REQUIRED>true</IS-REQUIRED>
</HW-ATTRIBUTE-DEF>
</HW-ATTRIBUTE-DEFS>
</HW-CATEGORY>
</ELEMENTS>
</AR-PACKAGE>
Example A.9
<AR-PACKAGE>
<SHORT-NAME>VendorA</SHORT-NAME>
<ELEMENTS>
<HW-ELEMENT>
<SHORT-NAME>MemorySeg001</SHORT-NAME>
<HW-CATEGORY-REFS>
<HW-CATEGORY-REF DEST="HW-CATEGORY">/AUTOSAR/MemorySegment</HW-
CATEGORY-REF>
</HW-CATEGORY-REFS>
<HW-ATTRIBUTE-VALUES>
<HW-ATTRIBUTE-VALUE>
<HW-ATTRIBUTE-DEF-REF DEST="HW-ATTRIBUTE-DEF">/AUTOSAR/
MemorySegment/memoryType</HW-ATTRIBUTE-DEF-REF>
<VT>RAM</VT>
</HW-ATTRIBUTE-VALUE>
<HW-ATTRIBUTE-VALUE>
<HW-ATTRIBUTE-DEF-REF DEST="HW-ATTRIBUTE-DEF">/AUTOSAR/
MemorySegment/memorySize</HW-ATTRIBUTE-DEF-REF>
<V>1024</V>
</HW-ATTRIBUTE-VALUE>
</HW-ATTRIBUTE-VALUES>
</HW-ELEMENT>
</ELEMENTS>
</AR-PACKAGE>
B Glossary
Artifact This is a Work Product Definition that provides a description and definition for
tangible work product types. Artifacts may be composed of other artifacts ([8]).
At a high level, an artifact is represented as a single conceptual file.
AUTOSAR Tool This is a software tool which supports one or more tasks defined as
AUTOSAR tasks in the methodology. Depending on the supported tasks, an
AUTOSAR tool can act as an authoring tool, a converter tool, a processor tool or
as a combination of those (see separate definitions).
AUTOSAR Authoring Tool An AUTOSAR Tool used to create and modify AUTOSAR
XML Descriptions. Example: System Description Editor.
AUTOSAR Converter Tool An AUTOSAR Tool used to create AUTOSAR XML files by
converting information from other AUTOSAR XML files. Example: ECU Flattener
AUTOSAR Definition This is the definition of parameters which can have values. One
could say that the parameter values are Instances of the definitions. But in the
meta model hierarchy of AUTOSAR, definitions are also instances of the meta
model and therefore considered as a description. Examples for AUTOSAR def-
initions are: EcucParameterDef, PostBuildVariantCriterion, SwSys-
temconst.
AUTOSAR XML Description In AUTOSAR this means "filled Template". In fact an
AUTOSAR XML description is the XML representation of an AUTOSAR model.
The AUTOSAR XML description can consist of several files. Each individual file
represents an AUTOSAR partial model and shall validate successfully against the
AUTOSAR XML schema.
AUTOSAR Meta-Model This is an UML2.0 model that defines the language for de-
scribing AUTOSAR systems. The AUTOSAR meta-model is an UML represen-
tation of the AUTOSAR templates. UML2.0 class diagrams are used to describe
the attributes and their interrelationships. Stereotypes, UML tags and OCL ex-
pressions (object constraint language) are used for defining specific semantics
and constraints.
AUTOSAR Meta-Model Tool The AUTOSAR Meta-Model Tool is the tool that gener-
ates different views (class tables, list of constraints, diagrams, XML Schema etc.)
on the AUTOSAR meta-model.
AUTOSAR Model This is a representation of an AUTOSAR product. The AUTOSAR
model represents aspects suitable to the intended use according to the
AUTOSAR methodology.
Strictly speaking, this is an instance of the AUTOSAR meta-model. The infor-
mation contained in the AUTOSAR model can be anything that is representable
according to the AUTOSAR meta-model.
Profile Authoring Support Data Data that is used for efficient authoring of a profile.
E.g. list of referable constraints, meta-classes, meta-attributes or other reusable
model assets (blueprints)
Profile Authoring Tool A specialized AUTOSAR Tool which focuses on the authoring
of profiles for data exchange points. It e.g. provides support for the creation of
profiles from scratch, modification of existing profiles or composition of existing
profiles.
Profile Compatibility Checker Tool A specialized AUTOSAR Tool which focuses on
checking the compatibility of profiles for data exchange. Note that this compat-
ibility check includes manual compatibility checks by engineers and automated
assistance using more formal algorithms.
Profile Consistency Checker Tool A specialized AUTOSAR Tool which focuses on
checking the consistency of profiles.
Property A property is a structural feature of an object. As an example a “connector”
has the properties “receive port” and “send port”
Properties are made variant by the atpVariation.
Prototype This is the implementation of a role of a type within the definition of another
type. In other words a type may contain Prototypes that in turn are typed by
"Types". Each one of these prototypes becomes an instance when this type is
instantiated.
Type A type provides features that can appear in various roles of this type.
Value This is a particular value assigned to a “Definition”.
Variability Variability of a system is its quality to describe a set of variants. These
variants are characterized by variant specific property settings and / or selections.
As an example, such a system property selection manifests itself in a particular
“receive port” for a connection.
This is implemented using the atpVariation.
Variant A system variant is a concrete realization of a system, so that all its proper-
ties have been set respectively selected. The software system has no variability
anymore with respect to the binding time.
This is implemented using EvaluatedVariantSet.
Variation Binding A variant is the result of a variation binding process that resolves
the variability of the system by assigning particular values/selections to all the
system’s properties.
This is implemented by VariationPoint.
Variation Binding Time The variation binding time determines the step in the method-
ology at which the variability given by a set of variable properties is resolved.
Number Heading
[constr_3500] category of HwAttributeDef shall not be extended
Number Heading
[constr_3511] HwType shall not have a reference to another HwType
[constr_3512] No support of multiple instantiation
[constr_3513] Scope of connections
[TPS_ECUR_01008] The special attributes which are applicable for the category MemorySegment
hardware elements are defined in table 3.2.
[TPS_ECUR_01009] The category of a communication controller is CommunicationCon-
troller.
[TPS_ECUR_01010] The category of a communication transceiver is defined as Communica-
tionTransceiver.
[TPS_ECUR_01011] The category of a digital IO hardware element is defined as Digital.
[TPS_ECUR_01012] The category of a sensor/actuator is defined as SensorActuator.
[TPS_ECUR_01013] The category of a Communication Port is defined as CommunicationPort.
[TPS_ECUR_01014] Definition of HwAttributeValue
[TPS_ECUR_01015] Support of AUTOSAR Basic Software configuration
[TPS_ECUR_01016] Definition of HwType
[TPS_ECUR_01017] Attribute values defined in the HwType are applicable for all occurrences of
this HwType
[TPS_ECUR_01018] HwElement is self contained
[TPS_ECUR_01019] HwElement can refer to a HwType
[TPS_ECUR_01020] Hierarchy of hardware
[TPS_ECUR_01021] Definition of new hardware categories
[TPS_ECUR_01022] Extension of existing hardware categories
[TPS_ECUR_01023] No redefinition of hardware attributes
[TPS_ECUR_01024] Extension of enumeration
[TPS_ECUR_01025] No removal od existing enumeration literals
[TPS_ECUR_01026] No change of category
[TPS_ECUR_01027] No change of isRequired value
[TPS_ECUR_01028] No change of Unit value
[TPS_ECUR_01029] Support for variant handling
[TPS_ECUR_01030] Documentation support
[TPS_ECUR_01031] Definition of attribute unit
[TPS_ECUR_01032] Modeling of ECU Resource metamodel
[TPS_ECUR_01033] Transformation of the ECU Resource metamodel to schema definition
[TPS_ECUR_01034] Category of an Ecu
[TPS_ECUR_01035] Category of a micro-controller
[TPS_ECUR_01036] Category of an analog IO
[TPS_ECUR_01037] Category of a timer
[TPS_ECUR_01038] Category of a watchdog
Class ARPackage
Package M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::ARPackage
Note AUTOSAR package, allowing to create top level packages to structure the contained ARElements.
ARPackages are open sets. This means that in a file based description system multiple files can be used
to partially describe the contents of a package.
This is an extended version of MSR’s SW-SYSTEM.
Base ARObject, AtpBlueprint, AtpBlueprintable, CollectableElement, Identifiable, MultilanguageReferrable,
Referrable
Attribute Type Mult. Kind Note
5
4
Class ARPackage
arPackage ARPackage * aggr This represents a sub package within an ARPackage,
thus allowing for an unlimited package hierarchy.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=arPackage.shortName, arPackage.variation
Point.shortLabel
vh.latestBindingTime=blueprintDerivationTime
xml.sequenceOffset=30
element PackageableElement * aggr Elements that are part of this package
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=element.shortName, element.variation
Point.shortLabel
vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=20
referenceBase ReferenceBase * aggr This denotes the reference bases for the package. This is
the basis for all relative references within the package.
The base needs to be selected according to the base
attribute within the references.
Stereotypes: atpSplitable
Tags:
atp.Splitkey=referenceBase.shortLabel
xml.sequenceOffset=10
4
Class Describable (abstract)
introduction DocumentationBlock 0..1 aggr This represents more information about how the object in
question is built or is used. Therefore it is a
DocumentationBlock.
Tags:xml.sequenceOffset=-30
4
Class Identifiable (abstract)
adminData AdminData 0..1 aggr This represents the administrative data for the identifiable
object.
Tags:xml.sequenceOffset=-40
annotation Annotation * aggr Possibility to provide additional notes while defining a
model element (e.g. the ECU Configuration Parameter
Values). These are not intended as documentation but
are mere design notes.
Tags:xml.sequenceOffset=-25
category CategoryString 0..1 attr The category is a keyword that specializes the semantics
of the Identifiable. It affects the expected existence of
attributes and the applicability of constraints.
Tags:xml.sequenceOffset=-50
desc MultiLanguageOverview 0..1 aggr This represents a general but brief (one paragraph)
Paragraph description what the object in question is about. It is only
one paragraph! Desc is intended to be collected into
overview tables. This property helps a human reader to
identify the object in question.
More elaborate documentation, (in particular how the
object is built or used) should go to "introduction".
Tags:xml.sequenceOffset=-60
introduction DocumentationBlock 0..1 aggr This represents more information about how the object in
question is built or is used. Therefore it is a
DocumentationBlock.
Tags:xml.sequenceOffset=-30
uuid String 0..1 attr The purpose of this attribute is to provide a globally
unique identifier for an instance of a meta-class. The
values of this attribute should be globally unique strings
prefixed by the type of identifier. For example, to include a
DCE UUID as defined by The Open Group, the UUID
would be preceded by "DCE:". The values of this attribute
may be used to support merging of different AUTOSAR
models. The form of the UUID (Universally Unique
Identifier) is taken from a standard defined by the Open
Group (was Open Software Foundation). This standard is
widely used, including by Microsoft for COM (GUIDs) and
by many companies for DCE, which is based on CORBA.
The method for generating these 128-bit IDs is published
in the standard and the effectiveness and uniqueness of
the IDs is not in practice disputed. If the id namespace is
omitted, DCE is assumed. An example is
"DCE:2fac1234-31f8-11b4-a222-08002b34c003". The
uuid attribute has no semantic meaning for an AUTOSAR
model and there is no requirement for AUTOSAR tools to
manage the timestamp.
Tags:xml.attribute=true
4
Class Referrable (abstract)
Subclasses AtpDefinition, BswDistinguishedPartition, BswModuleCallPoint, BswModuleClientServerEntry, Bsw
VariableAccess, CouplingPortTrafficClassAssignment, DiagnosticDebounceAlgorithmProps, Diagnostic
EnvModeElement, EthernetPriorityRegeneration, EventHandler, ExclusiveAreaNestingOrder, Hw
DescriptionEntity , ImplementationProps, LinSlaveConfigIdent, ModeTransition, MultilanguageReferrable,
PduActivationRoutingGroup, PncMappingIdent, SingleLanguageReferrable, SoConIPduIdentifier, Socket
ConnectionBundle, TimeSyncServerConfiguration, TpConnectionIdent
Attribute Type Mult. Kind Note
shortName Identifier 1 attr This specifies an identifying shortName for the object. It
needs to be unique within its context and is intended for
humans but even more for technical reference.
Stereotypes: atpIdentityContributor
Tags:
xml.enforceMinMultiplicity=true
xml.sequenceOffset=-100
shortName ShortNameFragment * aggr This specifies how the Referrable.shortName is
Fragment composed of several shortNameFragments.
Tags:xml.sequenceOffset=-90
Class Unit
Package M2::MSR::AsamHdo::Units
Note This is a physical measurement unit. All units that might be defined should stem from SI units. In order to
convert one unit into another factor and offset are defined.
For the calculation from SI-unit to the defined unit the factor (factorSiToUnit ) and the offset (offsetSiTo
Unit ) are applied as follows:
x [{unit}] := y * [{siUnit}] * factorSiToUnit [[unit]/{siUnit}] + offsetSiToUnit [{unit}]
For the calculation from a unit to SI-unit the reciprocal of the factor (factorSiToUnit ) and the negation of
the offset (offsetSiToUnit ) are applied.
y {siUnit} := (x*{unit} - offsetSiToUnit [{unit}]) / (factorSiToUnit [[unit]/{siUnit}]
Tags:atp.recommendedPackage=Units
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
displayName SingleLanguageUnit 0..1 aggr This specifies how the unit shall be displayed in
Names documents or in user interfaces of tools.The displayName
corresponds to the Unit.Display in an ASAM MCD-2MC
file.
Tags:xml.sequenceOffset=20
factorSiToUnit Float 0..1 attr This is the factor for the conversion from SI Units to units.
The inverse is used for conversion from units to SI Units.
Tags:xml.sequenceOffset=30
offsetSiToUnit Float 0..1 attr This is the offset for the conversion from and to siUnits.
Tags:xml.sequenceOffset=40
physical PhysicalDimension 0..1 ref This association represents the physical dimension to
Dimension which the unit belongs to. Note that only values with units
of the same physical dimensions might be converted.
Tags:xml.sequenceOffset=50