AUTOSAR TPS SystemTemplate
AUTOSAR TPS SystemTemplate
AUTOSAR CP R21-11
• Set
CanNmCluster.nmChannelActive,
FlexrayArTpChannel.timeFrIf and
FlexrayArTpChannel.maxFrIf to
deprecated
• Added SoAd Pdu Collection
attributes to SocketConnection
• Added SoAdRouting-
AUTOSAR Group.eventGroupControlType
2013-10-31 4.1.2 Release • Introduced
Management SocketAddress.multicastConnector
• Clarified usage of
ISignal.dataTypePolicy
• Described the handling of
ComSpecs during flattening
• Introduced new Pdu types:
GeneralPurposePdu and
GeneralPurposeIPdu
• Made RootSwCompositionProto-
type.calibrationParameterValueSet
"atpSplitable"
• Made RootSwCompositionProto-
type.flatMap
"atpSplitable"
• Added new Ethernet addressing
attributes to SocketConnection to
help to derive the Ecu Configurations
for the Server and the Clients
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 26
1.1 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2 Requirements Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3 Requirements not fulfilled by TPS requirements . . . . . . . . . . . . . 31
1.4 Methodology for Defining Formal Template . . . . . . . . . . . . . . . . 33
1.5 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.6 UML Meta-Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.7 Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.7.1 Detailed Representation of InstanceRef Associations . . . . 42
1.7.2 Variant Handling . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.7.3 Timing Extensions . . . . . . . . . . . . . . . . . . . . . . . . 42
1.7.4 Documentation Support . . . . . . . . . . . . . . . . . . . . . 42
1.7.5 Stereotype atpSplitable in the System Template . . . . . . . 44
1.8 AUTOSAR System Template and ASAM FIBEX . . . . . . . . . . . . . 44
2 System 46
2.1 Data interpretation of bus content in different contexts . . . . . . . . . 50
2.1.1 Nm NID/CBV . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2 ClientIdDefinitionSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3 InterpolationRoutingMappingSet . . . . . . . . . . . . . . . . . . . . . 51
3 Topology 54
3.1 ECUs and their communication capabilities . . . . . . . . . . . . . . . 55
3.1.1 ECU Instance . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1.2 Communication Controller . . . . . . . . . . . . . . . . . . . 58
3.1.3 Communication Connector . . . . . . . . . . . . . . . . . . . 59
3.2 Communication Clustering . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.1 Communication Cluster . . . . . . . . . . . . . . . . . . . . . 61
3.2.2 Physical Channel . . . . . . . . . . . . . . . . . . . . . . . . 62
3.3 Specialized Attributes of the Topology Entities . . . . . . . . . . . . . . 64
3.3.1 CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3.1.1 CAN Cluster . . . . . . . . . . . . . . . . . . . . . . . 66
3.3.1.2 CAN Communication Controller . . . . . . . . . . . . 67
3.3.1.3 CAN Physical Channel . . . . . . . . . . . . . . . . . 71
3.3.1.4 CAN Communication Connector . . . . . . . . . . . 71
3.3.2 TTCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.3.2.1 TTCAN Cluster . . . . . . . . . . . . . . . . . . . . . 73
3.3.2.2 TTCAN Communication Controller . . . . . . . . . . 74
3.3.2.3 TTCAN Physical Channel . . . . . . . . . . . . . . . 75
3.3.2.4 TTCAN Communication Connector . . . . . . . . . . 75
3.3.3 SAE J1939 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.3.4 FlexRay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.3.4.1 FlexRay Cluster . . . . . . . . . . . . . . . . . . . . . 77
3.3.4.2 FlexRay Communication Controller . . . . . . . . . . 79
5 Mapping 155
5.1 Software Component Mapping . . . . . . . . . . . . . . . . . . . . . . . 160
5.1.1 SW Component to ECU Mapping . . . . . . . . . . . . . . . 161
5.1.2 Software Component to Implementation Mapping . . . . . . 165
5.1.3 SW Component to Partition Mapping . . . . . . . . . . . . . 166
5.1.4 Software Component Mapping Constraints . . . . . . . . . . 169
5.1.4.1 ComponentClustering . . . . . . . . . . . . . . . . . 170
5.1.4.2 ComponentSeparation . . . . . . . . . . . . . . . . . 171
5.1.5 J1939 Controller Application Mapping . . . . . . . . . . . . . 173
5.1.6 Affinity Constraints . . . . . . . . . . . . . . . . . . . . . . . . 174
5.1.6.1 RteEvent to OsTaskProxy mapping constraints in the
context of a Software Composition . . . . . . . . . . 177
5.1.6.2 RteEvent to OsTaskProxy mapping constraints in the
context of the System . . . . . . . . . . . . . . . . . 179
5.2 Data Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.2.1 Mapping of Variable Data Prototypes on System Signals . . 188
5.2.1.1 Mapping of Variable Data Prototypes with primi-
tive datatypes on System Signals (Sender-Receiver
Communication) . . . . . . . . . . . . . . . . . . . . 191
References
[1] Requirements on System Template
AUTOSAR_RS_SystemTemplate
[2] Generic Structure Template
AUTOSAR_TPS_GenericStructureTemplate
[3] AUTOSAR XML Schema Production Rules
AUTOSAR_TPS_XMLSchemaProductionRules
[4] Methodology for Classic Platform
AUTOSAR_TR_Methodology
[5] Software Component Template
AUTOSAR_TPS_SoftwareComponentTemplate
[6] Specification of ECU Resource Template
AUTOSAR_TPS_ECUResourceTemplate
[7] Standardization Template
AUTOSAR_TPS_StandardizationTemplate
[8] Specification of Timing Extensions
AUTOSAR_TPS_TimingExtensions
[9] ASAM Fibex – Field Bus Exchange Format, Version 3.1
http://www.asam.net
[10] ISO 17987:2016 (all parts), Road vehicles – Local Interconnect Network (LIN)
http://www.iso.org
[11] CAN specifications
http://www.can-cia.org
[12] MOST Specification, Version 2.5
http://www.mostnet.de
[13] FlexRay Protocol Specification
http://www.flexray.com
[14] Serial Data Communications between Microcomputer Systems in heavy-duty Ve-
hicle Applications
[15] Layered Software Architecture
AUTOSAR_EXP_LayeredSoftwareArchitecture
[16] Specification of LIN Interface
AUTOSAR_SWS_LINInterface
[17] OPEN Sleep/Wake-up Specification for Automotive Ethernet
http://www.opensig.org/Automotive-Ethernet-Specifications/
1 Introduction
1.1 Abbreviations
4
Requirement Description Satisfied by
[RS_SYST_00031] Distribution of Application and [TPS_SYST_01023]
Vehicle Mode Requests
[RS_SYST_00033] Software-to-ECU mapping variants [TPS_SYST_01001]
[RS_SYST_00037] Timing properties [TPS_SYST_01075] [TPS_SYST_01076]
[TPS_SYST_01077]
[RS_SYST_00038] Support of SAE J1939 Protocol [TPS_SYST_01106] [TPS_SYST_01132]
Features [TPS_SYST_02107] [TPS_SYST_02108]
[TPS_SYST_02109] [TPS_SYST_02190]
[TPS_SYST_02191] [TPS_SYST_02192]
[TPS_SYST_02193]
[RS_SYST_00039] ECU Communication via Ethernet [TPS_SYST_01086] [TPS_SYST_01088]
[TPS_SYST_01089] [TPS_SYST_01090]
[TPS_SYST_01091] [TPS_SYST_01094]
[TPS_SYST_01095] [TPS_SYST_01096]
[TPS_SYST_01097] [TPS_SYST_01098]
[TPS_SYST_01108] [TPS_SYST_01131]
[TPS_SYST_02156] [TPS_SYST_02217]
[TPS_SYST_02218] [TPS_SYST_02219]
[TPS_SYST_02220] [TPS_SYST_02221]
[TPS_SYST_02222] [TPS_SYST_02223]
[TPS_SYST_02224] [TPS_SYST_02225]
[TPS_SYST_02226] [TPS_SYST_02227]
[TPS_SYST_02228] [TPS_SYST_02229]
[TPS_SYST_02232] [TPS_SYST_02233]
[TPS_SYST_02234] [TPS_SYST_02235]
[TPS_SYST_02236] [TPS_SYST_02237]
[TPS_SYST_02238] [TPS_SYST_02239]
[TPS_SYST_02240] [TPS_SYST_02241]
[TPS_SYST_02242] [TPS_SYST_02243]
[TPS_SYST_02244] [TPS_SYST_02245]
[TPS_SYST_02247] [TPS_SYST_02248]
[TPS_SYST_02302]
[RS_SYST_00042] Support for Partial Networking [TPS_SYST_01133] [TPS_SYST_03073]
[RS_SYST_00043] Communication via Complex [TPS_SYST_01115]
Drivers
[RS_SYST_00044] Description of custom bus systems [TPS_SYST_01127]
[RS_SYST_00045] Co-existing System artifacts in the [TPS_SYST_03000]
same model
[RS_SYST_00047] Network and physical [TPS_SYST_01062] [TPS_SYST_01063]
representation on signal level
[RS_SYST_00048] CAN with Flexible Data-Rate [TPS_SYST_01154]
[RS_SYST_00049] Support of Efficient COM for large [TPS_SYST_02015] [TPS_SYST_02016]
data configuration [TPS_SYST_02017] [TPS_SYST_02018]
[TPS_SYST_02019] [TPS_SYST_02020]
[TPS_SYST_02021] [TPS_SYST_02022]
[TPS_SYST_02023] [TPS_SYST_02024]
[TPS_SYST_02025] [TPS_SYST_02026]
[TPS_SYST_02027] [TPS_SYST_02028]
[TPS_SYST_02164] [TPS_SYST_03001]
[RS_SYST_00050] Data transformation of inter-ECU [TPS_SYST_02030] [TPS_SYST_02031]
communication [TPS_SYST_02032] [TPS_SYST_02033]
[TPS_SYST_02034] [TPS_SYST_02035]
[TPS_SYST_02036] [TPS_SYST_02037]
[TPS_SYST_02038] [TPS_SYST_02039]
[TPS_SYST_02040] [TPS_SYST_02041]
[TPS_SYST_02042] [TPS_SYST_02044]
[TPS_SYST_02045] [TPS_SYST_02046]
[TPS_SYST_02047] [TPS_SYST_02048]
5
4
Requirement Description Satisfied by
4
[TPS_SYST_02049] [TPS_SYST_02050]
[TPS_SYST_02051] [TPS_SYST_02052]
[TPS_SYST_02053] [TPS_SYST_02054]
[TPS_SYST_02055] [TPS_SYST_02056]
[TPS_SYST_02057] [TPS_SYST_02074]
[TPS_SYST_02075] [TPS_SYST_02080]
[TPS_SYST_02092] [TPS_SYST_02093]
[TPS_SYST_02094] [TPS_SYST_02121]
[TPS_SYST_02123] [TPS_SYST_02124]
[TPS_SYST_02125] [TPS_SYST_02126]
[TPS_SYST_02127] [TPS_SYST_02128]
[TPS_SYST_02129] [TPS_SYST_02130]
[TPS_SYST_02131] [TPS_SYST_02132]
[TPS_SYST_02156] [TPS_SYST_02195]
[TPS_SYST_02212] [TPS_SYST_02213]
[TPS_SYST_02214] [TPS_SYST_02359]
[TPS_SYST_02360]
[RS_SYST_00051] Support of COM Based Data [TPS_SYST_02058]
Transformation
[RS_SYST_00052] Ethernet Switch Configuration [TPS_SYST_03002] [TPS_SYST_03003]
[TPS_SYST_03004] [TPS_SYST_03005]
[TPS_SYST_03006] [TPS_SYST_03007]
[TPS_SYST_03008] [TPS_SYST_03009]
[TPS_SYST_03010] [TPS_SYST_03011]
[TPS_SYST_03013]
[RS_SYST_00053] The System Template shall provide [TPS_SYST_05015]
the ability to define naming
conventions for public symbols
[RS_SYST_00054] Support of Secured Pdus [TPS_SYST_02059] [TPS_SYST_02060]
[TPS_SYST_02148] [TPS_SYST_02149]
[TPS_SYST_02152] [TPS_SYST_02153]
[TPS_SYST_02154] [TPS_SYST_02171]
[TPS_SYST_02172] [TPS_SYST_02173]
[TPS_SYST_02189] [TPS_SYST_05020]
[TPS_SYST_05021] [TPS_SYST_05022]
[TPS_SYST_05023] [TPS_SYST_05024]
[TPS_SYST_05025] [TPS_SYST_05026]
[TPS_SYST_05027] [TPS_SYST_05028]
[RS_SYST_00055] Support of Container Pdus [TPS_SYST_01056] [TPS_SYST_02061]
[TPS_SYST_02062] [TPS_SYST_02063]
[TPS_SYST_02064] [TPS_SYST_02065]
[TPS_SYST_02066] [TPS_SYST_02097]
[TPS_SYST_02098] [TPS_SYST_02099]
[TPS_SYST_02100] [TPS_SYST_02196]
[TPS_SYST_03014]
[RS_SYST_00056] E2E-protected communication [TPS_SYST_02067] [TPS_SYST_02068]
[TPS_SYST_02069] [TPS_SYST_02070]
[TPS_SYST_02071] [TPS_SYST_02072]
[TPS_SYST_02073] [TPS_SYST_02134]
[TPS_SYST_02135] [TPS_SYST_02155]
[TPS_SYST_02275] [TPS_SYST_02349]
[TPS_SYST_02350]
[RS_SYST_00057] Assigning communication graphs [TPS_SYST_02197]
to particular RTE Implementation
Plug-Ins
[RS_SYST_00058] The System Template shall support [TPS_SYST_02211] [TPS_SYST_05016]
the usage of the TLV encoding in [TPS_SYST_05017]
SOME/IP messages
5
4
Requirement Description Satisfied by
[RS_SYST_00059] The System Template shall support [TPS_SYST_03022] [TPS_SYST_03023]
the translation between [TPS_SYST_03024] [TPS_SYST_03025]
signal-based and service-oriented [TPS_SYST_03026] [TPS_SYST_03027]
communication. [TPS_SYST_03028] [TPS_SYST_03029]
[TPS_SYST_03030] [TPS_SYST_03031]
[TPS_SYST_03032] [TPS_SYST_03033]
[TPS_SYST_03034] [TPS_SYST_03036]
[TPS_SYST_03037] [TPS_SYST_03038]
[TPS_SYST_03039] [TPS_SYST_03040]
[TPS_SYST_03041] [TPS_SYST_03042]
[TPS_SYST_03043] [TPS_SYST_03044]
[TPS_SYST_03045] [TPS_SYST_03046]
[TPS_SYST_03047] [TPS_SYST_03048]
[TPS_SYST_03049] [TPS_SYST_03051]
[TPS_SYST_03056] [TPS_SYST_03057]
[TPS_SYST_03058] [TPS_SYST_03059]
[TPS_SYST_03060] [TPS_SYST_03061]
[TPS_SYST_03062] [TPS_SYST_03063]
[RS_SYST_00060] The System Template shall support [TPS_SYST_02315] [TPS_SYST_02316]
the modeling of Software Clusters [TPS_SYST_02317] [TPS_SYST_02318]
[TPS_SYST_02319] [TPS_SYST_02320]
[TPS_SYST_02321] [TPS_SYST_02322]
[TPS_SYST_02323] [TPS_SYST_02324]
[TPS_SYST_02325] [TPS_SYST_02326]
[TPS_SYST_02343] [TPS_SYST_02344]
[TPS_SYST_02345] [TPS_SYST_02346]
[RS_SYST_00061] The System Template shall provide [TPS_SYST_02327] [TPS_SYST_02328]
means to describe the interface of [TPS_SYST_02329] [TPS_SYST_02330]
the Software Clusters binary object [TPS_SYST_02331] [TPS_SYST_02332]
[TPS_SYST_02333] [TPS_SYST_02334]
[TPS_SYST_02335] [TPS_SYST_02336]
[TPS_SYST_02337] [TPS_SYST_02338]
[TPS_SYST_02339] [TPS_SYST_02340]
[TPS_SYST_02341] [TPS_SYST_02342]
[RS_SYST_00062] The System Template shall support [TPS_SYST_02320] [TPS_SYST_02321]
the modeling of Software Cluster [TPS_SYST_02322] [TPS_SYST_02323]
Resources [TPS_SYST_02324] [TPS_SYST_02325]
[TPS_SYST_02326] [TPS_SYST_02345]
[TPS_SYST_02346]
+is partly
+is described in
described
in
specifiesSerialization
+generates
4. The "Generic Structure Template" [2] describes the top level structure
which is common to all AUTOSAR templates and provides AUTOSAR standard
mechanisms of modeling elements and patterns.
5. The concrete "Template", the "Data Exchange Format" is an XML schema
which is generated out of the meta-model described in the "System Template"
using the approach and the patterns defined in the "XML Schema Production
Rules". This schema is typically used as input to tools. The M1-level system
descriptions are XML files which can be validated against the schema. In that
sense they are instances of the schema defining the XML representation of the
template.
1.5 Scope
This document describes the system template and its use for the System Constraint
Description and the System Configuration Description. In general a filled system tem-
plate defines the relationship between the pure Software View on the System (repre-
sented by a top level SW Component Composition) and a Physical System Architec-
ture with networked ECU instances. The system template is used in two stages of the
"AUTOSAR Methodology" [4] (see Figure 1.2).
• As System Constraint Description it serves as input to the AUTOSAR system
generator
• As System Configuration Description it defines the output of the AUTOSAR Sys-
tem Configuration Generator and serves as input to the AUTOSAR ECU Config-
uration Generator for the different ECUs defined in the description.
• As ECU Extract of the System Configuration Description it describes the ECU
specific view on the System Description. It is individually generated for each of
the System’s ECU as the output of the AUTOSAR ECU Configuration Generator.
Component
API ECU Configuration
Component e.g. decisions Description
(e.g. scheduling, AUTOSAR
API app.h RTE RTE
Generator ...)
Extract of Generator
System ECU Config
SW -
Component Configuration
Description Description Generator for
OS extract OS, COM, ...
of ECU config
ECU e.g.OIL
AUTOSAR ECU AUTOSAR
Resource System extract of ECU
Description Configuration System Configuration Other Basic
(HW only) Generator Configuration Generator SW Generator
Basic SW
Basic A
Module SW
ECU Basic
Module
extract SW
of A
System -
extract of ECU Module
extract of A
config
Constraint
System ECU extract of
config
Description decisions ECU config MCAL-
Configuration
(e.g. mapping) Generator
list of
inplementations
of SW
per ECU Components
Information / Database (no files)
The System Template defines five major elements: Topology, Software, Communica-
tion, Mapping and Mapping Constraints, which will be defined in detail in the following
chapters. Figure 1.3 gives an overview how these are used in the two different descrip-
tions.
SW-Components
System Configuration
ECU Resource
Software Communication
• which Application SW-C
SW -C • Communication Matrix
• Frames, Signals,
Signals Timing
•(optional) Communication • Gateway Tables
• Communication Matrix • Communication Protocols
Mapping
• Frames, Signals,
Signals Timing
• which SW on which ECU
Mapping
• Gateway tables
•• Which Data
which SW oninwhich
whichECU
Frame/Signal/Protocol
• Communication Protocols
(optional) Mapping • Which Data in which Frame/Signal/Protocol
Mapping Constraints
(optional)ifMapping
already defined
• what
Mapping must be mapped
Constraints – together, what separated
if already
• which SW-Cdefined
on which ECU etc (untouched,
• what not relevant
must be mapped for ECU
together, whatConfig
separated
which SW
•• Which data --C on which ECU
in which Generator)
etc (untouched, not relevant for ECU Config
Which data in which
• Frame/Signal
Frame/Signal Generator)
Mapping Constraints
Mapping• what must be mapped
Constraints
together,
§what mustwhat separated etc
be mapped
Figure 1.3: Scope of System Constraint Description and System Configuration Descrip-
tion
On Figure 1.3 some of the elements are marked optional for the System Constraint
Description. If one starts with a new AUTOSAR project, these elements may not be
present in the System Constraint Description. No (at least partial) functionality has
been mapped yet, thus the communication matrix is not populated. But in most cases,
many functional mappings are already predefined and contribute to the population of
the communication matrix with their associated signals, thus being present in the Sys-
tem Constraint Description.
Reasons for such a predefinition are manifold. In some cases, hardware setup dic-
tates where certain functionality resides, in some cases, a partial or complete commu-
nication matrix and/or completely configured ECUs (HW and SW) of another system
(vehicle) has to be taken over. This approach is eased by the fact that System Configu-
ration and System Constraint Description use the same format. That way it is possible
to reuse parts of a System Configuration Description of the other system/vehicle in the
actual System Constraint Description.
Furthermore, in the figure some of the elements are marked untouched for the Sys-
tem Configuration Description. This can have two reasons:
• The System Generator does not modify neither the Topology (networked ECUs)
nor the Software, so these parts are just moved from System Constraint Descrip-
tion to System Configuration Description during the generation step.
• In a completed System Configuration Description, all SW components and all
ECU-to-ECU communication have been mapped. Thus mapping constraints that
limit the flexibility in the mapping phase of the system generator are obsolete
and will not be used in subsequent generator steps. They may however still be
present for documentation and validation reasons.
Even if the communication matrix is determined as the result of the system configu-
ration, the ECUs still have to be configured. This is done by the ECU configuration
generator, which takes the System Configuration description as input and generates
the ECU configuration description. The following guiding principles have been used to
determine which information shall be part of the System Configuration Description and
which goes into the ECU Configuration Description:
• Information that is common for several ECUs and has to be agreed, shall be
part of the System Configuration Description and is thus covered by the System
Template.
• Information, that only has ECU-local relevance is part of the ECU Configuration
Description.
Thus the ECU Configuration Description will include the OS-schedule, the RTE-
configuration and last but not least the configuration of the ECU basic software in-
cluding the concrete communication drivers on that ECU.
SWComponentTemplate EcuResourceTemplate
AdaptivePlatform
SystemTemplate
DiagnosticExtract
ECUCDescriptionTemplate
ECUCParameterDefTemplate
BswModuleTemplate
• Documentation
The ECU Resource Template deals with the description of the hardware resources of
an ECU. The collection of all ECUs, which are integrated in the car, are described in
the topology part of the System Configuration Description/System Constraint Descrip-
tion. Each of these ECUInstances uses the ECU Resource Template to describe the
hardware resources. That’s the reason, why the topology part has references to the
ECU Resource Description.
The SW component description describes the SW components as well as their com-
munication by data elements. The top-level software composition (RootSwComposi-
tionPrototype) is part of the System Template (Software). This top-level software
composition contains the functionality of the full system and describes the complete
application software architecture of this system. The definition of the top level soft-
ware composition uses the elements defined in the SW Component Template, like
e.g. SwComponentType, PortInterface, AssemblySwConnector and Delega-
tionSwConnector. That’s why the System Description has references to the Soft-
ware Component Description. The top level software composition is described in more
detail in chapter 4.
Every template starts with an element AUTOSAR. While the models created in accor-
dance to this guide are independent of the used formalization, it may still help the
reader’s understanding to note that AUTOSAR would also typically be the root element
of a XML Schema generated from such a model. AUTOSAR can then contain one
or more nested packages, simply allowing to further structure the contents of the M1
model.
Please note that constraints are not supposed to be enforceable at any given time in an
AUTOSAR workflow. During the development of a model, constraints may legitimately
be violated because an incomplete model will obviously show inconsistencies.
However, at specific points in the workflow, constraints shall be enforced as a safeguard
against misconfiguration.
The points in the workflow where constraints shall be enforced, sometimes also known
as the "binding time" of the constraint, are different for each model category, e.g. on the
classic platform, the constraints defined for software-components are typically enforced
prior to the generation of the RTE while the constraints against the definition of an Ecu
extract shall be applied when the Ecu configuration for the Com stack is created.
For each document, possible binding times of constraints are defined and the binding
times are typically mentioned in the constraint themselves to give a proper orientation
for implementers of AUTOSAR authoring tools.
Let AUTOSAR be an example of a typical class table. The first rows in the table have
the following meaning:
Class: The name of the class as defined in the UML model.
Package: The UML package the class is defined in. This is only listed to help locating
the class in the overall meta model.
Note: The comment the modeler gave for the class (class note). Stereotypes and UML
tags of the class are also denoted here.
Base Classes: If applicable, the list of direct base classes.
The headers in the table have the following meaning:
Attribute: The name of an attribute of the class. Note that AUTOSAR does not distin-
guish between class attributes and owned association ends.
Type: The type of an attribute of the class.
Mul.: The assigned multiplicity of the attribute, i.e. how many instances of the given
data type are associated with the attribute.
Kind: Specifies, whether the attribute is aggregated in the class (aggr aggregation),
an UML attribute in the class (attr primitive attribute), or just referenced by it (ref
reference). Instance references are also indicated (iref instance reference) in this
field.
Note: The comment the modeler gave for the class attribute (role note). Stereotypes
and UML tags of the class are also denoted here.
Please note that the chapters that start with a letter instead of a numerical value rep-
resent the appendix of the document. The purpose of the appendix is to support the
explanation of certain aspects of the document and does not represent binding con-
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 ([7]).
The representation of requirements in AUTOSAR documents follows the table specified
in [TPS_STDT_00078], see Standardization Template, chapter Support for Traceability
([7]).
The System Template supports the creation of Variants in many of its model elements.
In the Metamodel all locations that may exhibit variability are marked with the stereo-
type atpVariation. This allows the definition of possible variation points. Tagged
Values are used to specify additional informations.
There are four types of locations in the metamodel which may exhibit variability:
• Aggregations
• Associations
• Attribute Values
• Classes providing property sets
The reasons for the attachment of the stereotype atpVariation to certain model
elements and the consequences for other model elements are explained in class tables
in the following chapters. More details about the AUTOSAR Variant Handling Concept
can be found in the AUTOSAR Generic Structure Template [2].
With AUTOSAR Release 4.0 a new set of concepts for the description and analysis of
end-to-end timing constraints is introduced by the Specification of Timing Extensions.
A subset of these extensions aims for the system level and can be used to enhance
the descriptions that are already available in the System Template.
A dedicated description of the timing extensions that can be used at system level is
given in chapter 3 (System timing) in the Specification of Timing Extensions [8].
With AUTOSAR Release 4.0 the AUTOSAR XML schema provides support for inte-
grated and well structured documentation. More details about the AUTOSAR Docu-
mentation Support concept can be found in the AUTOSAR Generic Structure Tem-
plate [2]. An optional documentation block can be applied to any identifiable element.
Furthermore, as shown in figure 1.5, the System Template provides the possibility of
adding additional documentation to several non-identifiable elements. The documen-
tation of a System is composed of several chapters.
ARElement
AtpStructureElement
System Identifiable
Paginateable
+systemDocumentation
+ containerIPduHeaderByteOrder: ByteOrderEnum [0..1] Chapter
+ ecuExtractVersion: RevisionLabelString [0..1] «atpVariation,atpSplitable»
0..*
+ pncVectorLength: PositiveInteger [0..1] + helpEntry: String [0..1]
+ pncVectorOffset: PositiveInteger [0..1]
+ systemVersion: RevisionLabelString
«atpMixed» IPduMapping
DocumentationBlock +introduction
+ pduMaxLength: PositiveInteger [0..1]
0..1 + pdurTpChunkSize: PositiveInteger [0..1]
+introduction FrameMapping
0..1
ISignalMapping
+introduction
0..1
+introduction ScheduleTableEntry
0..1
DataMapping
+introduction
0..1
MappingConstraint
+introduction
0..1
EcuResourceEstimation
+introduction
0..1
SignalPathConstraint
+introduction
In the UML Meta-Model the FIBEX contents are located in an own FIBEX UML Pack-
age. The top level FibexElement is referenced by the top level element System of
the System Template. Similar to the usage of the ARElement, specializations of the
FibexElement represent elementary building blocks within the FIBEX package. Each
of this elements will be described in more detail in the following chapters.
ARElement
AtpStructureElement
System
«atpVariation»
+fibexElement *
PackageableElement
FibexElement
IPdu NmPdu
2 System
The top level element of the System Template is the class System, as shown in figure
2.1.
SwComponentType +component AtpPrototype
CompositionSwComponentType SwComponentPrototype
«atpVariation,atpSplitable» 0..*
ARElement
+swCluster
+swComposition CpSoftwareCluster
0..*
0..* «atpVariation,atpSplitable»
«atpSplitable,atpVariation»
+softwareComposition 1
{redefines atpType}
«isOfType»
AtpPrototype
ARElement Identifiable
Identifiable
+flatMap AtpBlueprint SystemMapping
RootSwCompositionPrototype
«atpSplitable» 0..1 AtpBlueprintable
FlatMap
ARElement
AtpStructureElement
System
«atpVariation»
«atpVariation,atpSplitable»
+interpolationRoutineMappingSet
«atpVariation,atpSplitable»
Class System
Package M2::AUTOSARTemplates::SystemTemplate
Note The top level element of the System Description. The System description defines five major elements:
Topology, Software, Communication, Mapping and Mapping Constraints.
The System element directly aggregates the elements describing the Software, Mapping and Mapping
Constraints; it contains a reference to an ASAM FIBEX description specifying Communication and
Topology.
Tags:atp.recommendedPackage=Systems
Base ARElement, ARObject, AtpClassifier , AtpFeature, AtpStructureElement, CollectableElement,
Identifiable, MultilanguageReferrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
clientId ClientIdDefinitionSet * ref Set of Client Identifiers that are used for inter-ECU
DefinitionSet client-server communication in the System.
5
4
Class System
containerIPdu ByteOrderEnum 0..1 attr Defines the byteOrder of the header in ContainerIPdus.
HeaderByte
Order
ecuExtract RevisionLabelString 0..1 attr Version number of the Ecu Extract.
Version
fibexElement FibexElement * ref Reference to ASAM FIBEX elements specifying
Communication and Topology.
All Fibex Elements used within a System Description shall
be referenced from the System Element.
atpVariation: In order to describe a product-line, all Fibex
Elements can be optional.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
interpolation InterpolationRoutine * ref This reference identifies the InterpolationRoutineMapping
Routine MappingSet Sets that are relevant in the context of the enclosing
MappingSet System.
j1939Shared J1939SharedAddress * aggr Collection of J1939Clusters that share a common
AddressCluster Cluster address space for the routing of messages.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=j1939SharedAddressCluster.shortName,
j1939SharedAddressCluster.variationPoint.shortLabel
vh.latestBindingTime=postBuild
mapping SystemMapping * aggr Aggregation of all mapping aspects (mapping of SW
components to ECUs, mapping of data elements to
signals, and mapping constraints).
In order to support OEM / Tier 1 interaction and shared
development for one common System this aggregation is
atpSplitable and atpVariation. The content of System
Mapping can be provided by several parties using
different names for the SystemMapping.
This element is not required when the System description
is used for a network-only use-case.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=mapping.shortName, mapping.variation
Point.shortLabel
vh.latestBindingTime=postBuild
pncVector PositiveInteger 0..1 attr Length of the partial networking request release
Length information vector (in bytes).
pncVectorOffset PositiveInteger 0..1 attr Absolute offset (with respect to the NM-PDU) of the
partial networking request release information vector that
is defined in bytes as an index starting with 0.
rootSoftware RootSwComposition 0..1 aggr Aggregation of the root software composition, containing
Composition Prototype all software components in the System in a hierarchical
structure. This element is not required when the System
description is used for a network-only use-case.
atpVariation: The RootSwCompositionPrototype can vary.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=rootSoftwareComposition.shortName, root
SoftwareComposition.variationPoint.shortLabel
vh.latestBindingTime=systemDesignTime
5
4
Class System
swCluster CpSoftwareCluster * ref CP Software Clusters of this System
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=swCluster.cpSoftwareCluster, sw
Cluster.variationPoint.shortLabel
atp.Status=draft
vh.latestBindingTime=systemDesignTime
system Chapter * aggr Possibility to provide additional documentation while
Documentation defining the System. The System documentation can be
composed of several chapters.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=systemDocumentation.shortName, system
Documentation.variationPoint.shortLabel
vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=-10
systemVersion RevisionLabelString 1 attr Version number of the System Description.
System has relationships to all elements that define a system constraint descrip-
tion or system configuration description. It aggregates the SystemMapping and
RootSwCompositionPrototype elements. SystemMapping deals with mapping
of software components to ECUs as well as with the mapping of data elements that
are to be exchanged between software components onto signals and frames. The
RootSwCompositionPrototype element contains a reference to the top level soft-
ware composition.
[TPS_SYST_02364] Scope of the System dThe System defines a vehicle represen-
tation and describes the software related parts of the vehicle. This includes the Soft-
ware Components that are deployed to ECUs of the vehicle but also the means for the
Software to communicate with each other, such as network topology and communica-
tion matrix.c()
[constr_3028] FibexElements dEach FibexElement that is used in the System
Description shall be referenced by the System element in the role FibexElement.c()
FibexElements can be defined in a stand alone and reusable way (hence they can
simply be created in any package like ARElements), but on the other hand it shall be
clear that a certain FibexElement actually belongs to a certain System Description.
Thus, all FibexElements used within a System Description (i.e. contributing to the
specification of the System communication and topology) shall be referenced from the
System element. More details about the integration of FIBEX into the System Template
will be given in chapter 1.8.
[TPS_SYST_01002] System Category dThe System shall have a category ele-
ment defined which indicates the role of this work product.c(RS_SYST_00003, RS_-
SYST_00027)
Note: SYSTEM_EXTRACT does not prescribe the number of micro controllers / cores
for one ECU from the OEM perspective.
• Supplier decides to design one AUTOSAR ECU with multicore support leads to
one ECU_EXTRACT supporting one AUTOSAR stack
• Supplier decides to design two AUTOSAR ECUs (i.e., two micro-controllers) in
one box leads to two ECU_EXTRACTs supporting two AUTOSAR stacks
[constr_3027] Existence of ecuExtractVersion dIn case the category of the Sys-
tem is SYSTEM_EXTRACT or ECU_EXTRACT the ecuExtractVersion attribute
shall be defined.c()
2.1.1 Nm NID/CBV
2.2 ClientIdDefinitionSet
In the ClientIdDefinitionSet all Client Identifiers of the transaction handle used
for a inter-ECU client server communication can be defined that belong to the System
that refers the ClientIdDefinitionSet.
Class ClientIdDefinitionSet
Package M2::AUTOSARTemplates::SystemTemplate
Note Set of Client Identifiers that are used for inter-ECU client-server communication in the System.
Tags:atp.recommendedPackage=ClientIdDefinitionSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
clientId ClientIdDefinition * aggr Definition of a Client Identifier that will be used by the
Definition RTE in a inter-ECU client-server communication.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=clientIdDefinition.shortName, clientId
Definition.variationPoint.shortLabel
vh.latestBindingTime=postBuild
Class ClientIdDefinition
Package M2::AUTOSARTemplates::SystemTemplate
Note Several clients in one client-ECU can communicate via inter-ECU client-server communication with a
server on a different ECU, if a client identifier is used to distinguish the different clients. The Client
Identifier of the transaction handle that is used by the RTE can be defined by this element.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
clientId Numerical 1 attr The Client Identifier of the transaction handle used for an
inter-ECU client server communication is defined by this
attribute. If defined the RTE generator shall use this client
Id.
clientServer ClientServerOperation 1 iref Reference to the ClientServerOperation that is called by
Operation the client.
InstanceRef implemented by:OperationInSystem
InstanceRef
Table 2.4: ClientIdDefinition
2.3 InterpolationRoutingMappingSet
The System defines with the interpolationRoutineMappingSet reference all
InterpolationRoutineMappingSets that are relevant in the context of the Sys-
tem. More details about the InterpolationRoutineMappingSets, Interpola-
tionRoutineMappings and InterpolationRoutines can be found in the Soft-
ware Component Template [5].
Class InterpolationRoutineMappingSet
Package M2::AUTOSARTemplates::SWComponentTemplate::MeasurementAndCalibration::InterpolationRoutine
MappingSet
Note This meta-class specifies a set of interpolation routine mappings.
Tags:atp.recommendedPackage=InterpolationRoutineMappingSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
interpolation InterpolationRoutine * aggr This specifies one particular mapping of recordlayout and
Routine Mapping its matching interpolationRoutines.
Mapping
Class InterpolationRoutineMapping
Package M2::AUTOSARTemplates::SWComponentTemplate::MeasurementAndCalibration::InterpolationRoutine
MappingSet
Note This meta-class provides a mapping between one record layout and its matching interpolation routines.
This allows to formally specify the semantics of the interpolation routines.
The use case is such that the curves/Maps define an interpolation method. This mapping table specifies
which interpolation routine implements methods for a particular record layout. Using this information, the
implementer of a software-component can select the appropriate interpolation routine.
Base ARObject
Attribute Type Mult. Kind Note
interpolation InterpolationRoutine * aggr This is one particular interpolation routine which is
Routine mapped to the record layout.
swRecord SwRecordLayout 0..1 ref This refers to the record layout which is mapped to
Layout interpolation routines.
Class InterpolationRoutine
Package M2::AUTOSARTemplates::SWComponentTemplate::MeasurementAndCalibration::InterpolationRoutine
MappingSet
Note This represents an interpolation routine taken to evaluate the contents of a curve or map against a
specific input value.
Base ARObject
Attribute Type Mult. Kind Note
interpolation BswModuleEntry 0..1 ref This specifies a BswModuleEntry which implements the
Routine current interpolation method for the given record layout.
Tags:xml.sequenceOffset=30
isDefault Boolean 0..1 attr This attribute specifies whether the enclosing
InterpolationRoutine is considered the default in the
context (defined by the System Template) of a given
collection InterpolationRoutineMapping that owns the
enclosing InterpolationRoutine.
Tags:xml.sequenceOffset=20
5
4
Class InterpolationRoutine
shortLabel Identifier 0..1 attr This is the name of the interpolation method which is
implemented by the referenced bswModuleEntry. It
corresponds to swInterpolationMethod in SwDataDef
Props.
Tags:xml.sequenceOffset=10
3 Topology
This chapter explains how a vehicle’s physical System Topology is being modeled
in AUTOSAR (Example: Figure 3.1). A topology is formed by a number of EcuIn-
stances that are interconnected to each other in order to form ensembles of ECUs
and CommunicationClusters, which are further detailed by providing information
on bus-specific properties.
CAN CommunicationCluster:
1 PhysicalChannel
ECU1
ECU1 ECU2
ECU2 ECU3
ECU3 (GW)
(GW) ECU4
ECU4 ECU5
ECU5
Figure 3.1: Example for a Communication Cluster within a physical network topology
In the AUTOSAR methodology [4] the topology description is one of the inputs for the
System Generator. It serves as constraints for mapping the Software Components
(see chapter 5.1) contained in the RootSwCompositionPrototype as well as for
defining the System Communication matrix (see chapter 6). Gateways which allow
the exchange of Signals between CommunicationClusters are covered in chapter
8.
FibexElement FibexElement
EcuInstance ClientIdRange
+clientIdRange «atpVariation»
+ comConfigurationGwTimeBase: TimeValue [0..1] «atpVariation» CommunicationCluster
0..1
+ comConfigurationRxTimeBase: TimeValue [0..1] + lowerLimit: Limit
+ baudrate: PositiveUnlimitedInteger [0..1]
+ comConfigurationTxTimeBase: TimeValue [0..1] + upperLimit: Limit
+ protocolName: String [0..1]
+ comEnableMDTForCyclicTransmission: Boolean [0..1]
+ protocolVersion: String [0..1]
+ ethSwitchPortGroupDerivation: Boolean [0..1]
+ pncPrepareSleepTimer: TimeValue [0..1]
+ pncSynchronousWakeup: Boolean [0..1]
+ pnResetTime: TimeValue [0..1]
+ sleepModeSupported: Boolean
+ v2xSupported: V2xSupportEnum [0..1]
+ wakeUpOverBusSupported: Boolean
«atpVariation,atpSplitable»
«atpVariation»
+commController
«atpVariation» +physicalChannel 1..*
+commController 1..* +connector * +commConnector Identifiable
Identifiable Identifiable PhysicalChannel
0..* «atpVariation»
«atpVariation» CommunicationConnector
CommunicationController 1 + createEcuWakeupSource: Boolean [0..1]
+ wakeUpByControllerSupported: Boolean [0..1] + dynamicPncToChannelMappingEnabled: Boolean [0..1] +managedPhysicalChannel 0..*
+ pncFilterArrayMask: PositiveInteger [0..*] {ordered}
+ pncGatewayType: PncGatewayTypeEnum [0..1]
«enumeration»
«atpVariation» PncGatewayTypeEnum
none
+ecuCommPortInstance 0..* active
«enumeration» Identifiable passive
V2xSupportEnum CommConnectorPort
in
out
«enumeration»
IPduPort ISignalPort FramePort IPduSignalProcessingEnum
+ iPduSignalProcessing: IPduSignalProcessingEnum [0..1] + firstTimeout: TimeValue [0..1] deferred
+ rxSecurityVerification: Boolean [0..1] + handleInvalid: HandleInvalidEnum [0..1] immediate
+ timestampRxAcceptanceWindow: TimeValue [0..1] + timeout: TimeValue [0..1]
+ useAuthDataFreshness: Boolean [0..1]
4
Class EcuInstance
com TimeValue 0..1 attr The period between successive calls to Com_Main
ConfigurationTx FunctionTx of the AUTOSAR COM module in seconds.
TimeBase
comEnable Boolean 0..1 attr Enables for the Com module of this EcuInstance the
MDTForCyclic minimum delay time monitoring for cyclic and repeated
Transmission transmissions (TransmissionModeTiming has cyclic
Timing assigned or eventControlledTiming with numberOf
Repetitions > 0).
commController Communication 1..* aggr CommunicationControllers of the ECU.
Controller
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
connector Communication * aggr All channels controlled by a single controller.
Connector
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
dltConfig DltConfig 0..1 aggr Describes the Dlt configuration on this EcuInstance.
doIpConfig DoIpConfig 0..1 aggr DoIp configuration on this EcuInstance.
Tags:atp.Status=draft
ecuTaskProxy OsTaskProxy * ref Reference to OsTaskProxies assigned to the Ecu
Instance.
Stereotypes: atpSplitable
Tags:atp.Splitkey=ecuTaskProxy
ethSwitchPort Boolean 0..1 attr Defines whether the derivation of SwitchPortGroups
Group based on VLAN and/or CouplingPort.pncMapping shall be
Derivation performed for this EcuInstance. If not defined the
derivation shall not be done.
partition EcuPartition * aggr Optional definition of Partitions within an Ecu.
pncPrepare TimeValue 0..1 attr Time in seconds the PNC state machine shall wait in
SleepTimer PNC_PREPARE_SLEEP.
pnc Boolean 0..1 attr If this parameter is available and set to true then all
Synchronous available PNCs will be woken up as soon as a channel
Wakeup wakeup occurs. This is ensured by adding all PNCs to all
channel wakeup sources during upstream mapping.
pnResetTime TimeValue 0..1 attr Specifies the runtime of the reset timer in seconds. This
reset time is valid for the reset of PN requests in the EIRA
and in the ERA.
sleepMode Boolean 1 attr Specifies whether the ECU instance may be put to a "low
Supported power mode"
• true: sleep mode is supported
• false: sleep mode is not supported
Note: This flag may only be set to "true" if the feature is
supported by both hardware and basic software.
tcpIpIcmpProps EthTcpIpIcmpProps 0..1 ref EcuInstance specific ICMP (Internet Control Message
Protocol) attributes
tcpIpProps EthTcpIpProps 0..1 ref EcuInstance specific TcpIp Stack attributes.
v2xSupported V2xSupportEnum 0..1 attr This attribute is used to control the existence of the V2X
stack on the given EcuInstance.
wakeUpOver Boolean 1 attr Driver support for wakeup over Bus.
BusSupported
Class ClientIdRange
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreTopology
Note With this element it is possible to restrict the Client Identifier of the transaction handle that is generated
by the client RTE for inter-Ecu Client/Server communication to an allowed range of numerical values.
Base ARObject
Attribute Type Mult. Kind Note
lowerLimit Limit 1 attr This specifies the lower limit of the ClientIdRange.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
upperLimit Limit 1 attr This specifies the upper limit of the ClientIdRange.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
4
Class <<atpVariation>> CommunicationController (abstract)
wakeUpBy Boolean 0..1 attr Defines whether the ECU shall be woken up by this
Controller CommunicationController.
Supported
TRUE: wake up is possible
FALSE: wake up is not supported
Note: If wakeUpByControllerSupported is set to TRUE
the feature shall be supported by both hardware and
basic software.
Table 3.3: CommunicationController
4
Class CommunicationConnector (abstract)
commController Communication 1 ref Reference to the communication controller. The
Controller CommunicationConnector and referenced
CommunicationController shall be aggregated by the
same ECUInstance.
The communicationController can be referenced by
several CommunicationConnector elements. This is
important for the FlexRay Bus. FlexRay communicates
via two physical channels. But only one controller in an
ECU is responsible for both channels. Thus, two
connectors (for channel A and for channel B) shall
reference to the same controller.
createEcu Boolean 0..1 attr If this parameter is available and set to true then a
WakeupSource channel wakeup source shall be created for the Physical
Channel referencing this CommunicationConnector.
dynamicPncTo Boolean 0..1 attr Defines if this EcuInstance shall implement the dynamic
Channel PNC-to-channel-mapping functionality on this
Mapping CommunicationConnector and its respective Physical
Enabled Channel.
Tags:atp.Status=draft
ecuCommPort CommConnectorPort * aggr An ECUs reception or send ports.
Instance
atpVariation: If signals/PDUs/frames are variable, the
corresponding ports shall be variable, too.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
pncFilterArray PositiveInteger * attr Bit mask for NM-Pdu Payload used to configure the NM
Mask (ordered) filter mask for the Network Management.
Tags:atp.Status=draft
pncGateway PncGatewayTypeEnum 0..1 attr Defines if this EcuInstance shall implement the Pnc
Type Gateway functionality on this CommunicationConnector
and its respective PhysicalChannel. Several Ecu
Instances on the same PhysicalChannel can have the
PncGateway functionality enabled, but only one of them
shall have the pncGatewayType "active".
Enumeration PncGatewayTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreTopology
Note Defines the PncGateway roles.
Literal Description
active The active PncGateway functionality shall be performed
Tags:atp.EnumerationLiteralIndex=0
none No PncGateway functionality shall be performed
Tags:atp.EnumerationLiteralIndex=1
passive The passive PncGateway functionality shall be performed
Tags:atp.EnumerationLiteralIndex=2
be disabled and the respective Frames are blocked. The other transceiver stays active
and keeps the ECU alive for diagnostics.
The CommunicationConnector.pncFilterArrayMask is configured per commu-
nication connector. This data mask is calculated over the whole payload of the NmPdu
ignoring the leading bytes which do not contain pncVector information. The number of
leading bytes which shall be ignored is equivalent to the value of System.pncVecto-
rOffset.
The CommunicationConnector.pncFilterArrayMask is an ordered list of byte
(uint8) values which represent the PNC Vector layout.
The number of list elements corresponds to NmCluster.pncClusterVector-
Length, if defined, or System.pncVectorLength
[constr_3685] Allowed values for each element of pncFilterArrayMask dThe
value for each element of CommunicationConnector.pncFilterArrayMask shall
be in the range between 0 and 255.c()
[constr_3686] Allowed number of entries for pncFilterArrayMask dThe number
of CommunicationConnector.pncFilterArrayMask elements shall be:
• NmCluster.pncClusterVectorLength, if defined
• System.pncVectorLength, otherwise.
c()
Some communication clusters need, additional to the general attributes which are valid
for all communication clusters, specialized attributes to describe the individual commu-
nication cluster properties. The bustype-specific specializations of Communication-
Cluster (Figure 3.3) are further detailed in chapter 3.3.
4
Class PhysicalChannel (abstract)
Note A physical channel is the transmission medium that is used to send and receive information between
communicating ECUs. Each CommunicationCluster has at least one physical channel. Bus systems like
CAN and LIN only have exactly one PhysicalChannel. A FlexRay cluster may have more than one
PhysicalChannels that may be used in parallel for redundant communication.
An ECU is part of a cluster if it contains at least one controller that is connected to at least one channel of
the cluster.#
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Subclasses AbstractCanPhysicalChannel, EthernetPhysicalChannel, FlexrayPhysicalChannel, LinPhysicalChannel,
UserDefinedPhysicalChannel
Attribute Type Mult. Kind Note
comm Communication * ref Reference to the ECUInstance via a Communication
Connector Connector Connector to which the channel is connected.
atpVariation: Variable assignment of Physical Channels to
different CommunicationConnectors is expressed with
this variation.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
frameTriggering FrameTriggering * aggr One frame triggering is defined for exactly one channel.
Channels may have assigned an arbitrary number of
frame triggerings.
atpVariation: If signals/PDUs/frames are variable, the
corresponding triggerings shall be variable, too.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=frameTriggering.shortName, frame
Triggering.variationPoint.shortLabel
vh.latestBindingTime=postBuild
iSignal ISignalTriggering * aggr One ISignalTriggering is defined for exactly one channel.
Triggering Channels may have assigned an arbitrary number of
ISignaltriggerings.
atpVariation: If signals/PDUs/frames are variable, the
corresponding triggerings shall be variable, too.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=iSignalTriggering.shortName, iSignal
Triggering.variationPoint.shortLabel
vh.latestBindingTime=postBuild
managed PhysicalChannel * ref Reference between a channel with role managing
Physical channel and a channel with role managed channel.
Channel
pduTriggering PduTriggering * aggr One PduTriggering is defined for exactly one channel.
Channels may have assigned an arbitrary number of
I-Pdu triggerings.
atpVariation: If signals/PDUs/frames are variable, the
corresponding triggerings shall be variable, too.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=pduTriggering.shortName, pdu
Triggering.variationPoint.shortLabel
vh.latestBindingTime=postBuild
3.3.1 CAN
Modeling of the CAN bus is supported in the System Template by the means of four
specialized meta-model classes: CanCluster, CanCommunicationController,
CanPhysicalChannel, CanCommunicationConnector (Figure 3.4).
Identifiable FibexElement
«atpVariation» «atpVariation»
CommunicationController CommunicationCluster
AbstractCanCommunicationController
AbstractCanCluster
+canControllerAttributes 1
CanCommunicationController
AbstractCanCommunicationControllerAttributes
CanCluster
+ borCounterL1ToL2: PositiveInteger
+ borTimeL1: TimeValue
+ borTimeL2: TimeValue
+ borTimeTxEnsured: TimeValue [0..1]
CanControllerConfiguration
+ mainFunctionPeriod: TimeValue [0..1]
+ propSeg: Integer [0..1]
+ syncJumpWidth: Integer
AbstractCanPhysicalChannel + timeSeg1: Integer
+ timeSeg2: Integer
J1939Cluster
+canControllerFdRequirements 0..1
CanCommunicationConnector
CanControllerFdConfigurationRequirements
+ pncWakeupCanId: PositiveInteger [0..1]
+ maxNumberOfTimeQuantaPerBit: Integer [0..1] + pncWakeupCanIdExtended: Boolean [0..1]
+ maxSamplePoint: Float [0..1] + pncWakeupCanIdMask: PositiveInteger [0..1]
+ maxSyncJumpWidth: Float [0..1] + pncWakeupDataMask: PositiveUnlimitedInteger [0..1]
+ maxTrcvDelayCompensationOffset: TimeValue [0..1] + pncWakeupDlc: PositiveInteger [0..1]
+ minNumberOfTimeQuantaPerBit: Integer [0..1]
+ minSamplePoint: Float [0..1]
+ minSyncJumpWidth: Float [0..1]
+ minTrcvDelayCompensationOffset: TimeValue [0..1]
+ paddingValue: PositiveInteger [0..1]
+ txBitRateSwitch: Boolean [0..1]
CanCluster specifies the existence of a CAN cluster in the system’s physical topol-
ogy. It contains additional CAN-specific cluster-wide attributes. The common CAN and
TTCAN attributes are collected in the AbstractCanCluster class.
Class <<atpVariation>> AbstractCanCluster (abstract)
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note Abstract class that is used to collect the common TtCAN, J1939 and CAN Cluster attributes.
Base ARObject, CollectableElement, CommunicationCluster , FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Subclasses CanCluster, J1939Cluster, TtcanCluster
Attribute Type Mult. Kind Note
busOffRecovery CanClusterBusOff 0..1 aggr CAN bus off monitoring / recovery at system level.
Recovery
canFdBaudrate PositiveUnlimitedInteger 0..1 attr Specifies the data segment baud rate of the controller in
bits/s.
Class CanClusterBusOffRecovery
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note This element contains the attributes that are used to configure the CAN bus off monitoring / recovery at
system level.
Base ARObject
Attribute Type Mult. Kind Note
borCounterL1To PositiveInteger 1 attr This threshold defines the count of bus-offs until the
L2 bus-off recovery switches from level 1 (short recovery
time) to level 2 (long recovery time).
borTimeL1 TimeValue 1 attr This attribute defines the duration of the bus-off recovery
time in level 1 (short recovery time) in seconds.
borTimeL2 TimeValue 1 attr This attribute defines the duration of the bus-off recovery
time in level 2 (long recovery time) in seconds.
borTimeTx TimeValue 0..1 attr This attribute defines the duration of the bus-off event
Ensured check in seconds.
mainFunction TimeValue 0..1 attr This attribute defines the cycle time of the function Can
Period SM_MainFunction in seconds.
4
Class AbstractCanCommunicationControllerAttributes (abstract)
canControllerFd CanControllerFd 0..1 aggr Additional CanFD ranges of the bit timing related
Requirements Configuration configuration of a CanFD controller. If this element exists
Requirements the controller supports CanFD frames and the ECU
developer shall take these ranges as requirements for the
configuration of the CanFD controller.
Class CanControllerConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note This element is used for the specification of the exact CAN Bit Timing configuration parameter values.
Base ARObject, AbstractCanCommunicationControllerAttributes
Attribute Type Mult. Kind Note
propSeg Integer 0..1 attr Specifies propagation delay in time quantas.
syncJumpWidth Integer 1 attr The number of quanta in the Synchronization Jump
Width, SJW. The (Re-)Synchronization Jump Width
(SJW) defines how far a resynchronization may move the
Sample Point inside the limits defined by the Phase Buffer
Segments to compensate for edge phase errors.
timeSeg1 Integer 1 attr Specifies phase segment 1 in time quantas.
timeSeg1 = Phase_Seg1
timeSeg2 Integer 1 attr Specifies phase segment 2 in time quantas.
timeSeg2 = Phase_Seg2
Class CanControllerConfigurationRequirements
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note This element allows the specification of ranges for the CAN Bit Timing configuration parameters. These
ranges are taken as requirements and have to be respected by the ECU developer.
Base ARObject, AbstractCanCommunicationControllerAttributes
Attribute Type Mult. Kind Note
maxNumberOf Integer 0..1 attr Maximum number of time quanta in the bit time.
TimeQuantaPer
Bit
maxSample Float 0..1 attr The max. value of the sample point as a percentage of
Point the total bit time.
maxSyncJump Float 0..1 attr The max. Synchronization Jump Width value as a
Width percentage of the total bit time. The (Re-)Synchronization
Jump Width (SJW) defines how far a resynchronization
may move the Sample Point inside the limits defined by
the Phase Buffer Segments to compensate for edge
phase errors.
minNumberOf Integer 0..1 attr Minimum number of time quanta in the bit time.
TimeQuantaPer
Bit
minSamplePoint Float 0..1 attr The min. value of the sample point as a percentage of the
total bit time.
5
4
Class CanControllerConfigurationRequirements
minSyncJump Float 0..1 attr The min. Synchronization Jump Width value as a
Width percentage of the total bit time. The (Re-)Synchronization
Jump Width (SJW) defines how far a resynchronization
may move the Sample Point inside the limits defined by
the Phase Buffer Segments to compensate for edge
phase errors.
4
Class CanControllerFdConfiguration
txBitRateSwitch Boolean 1 attr Specifies if the bit rate switching shall be used for
transmissions.
TRUE: CAN FD frames shall be sent with bit rate
switching.
FALSE: CAN FD frames shall be sent without bit rate
switching.
Class CanControllerFdConfigurationRequirements
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note This element allows the specification of ranges for the CanFD bit timing configuration parameters. These
ranges are taken as requirements and shall be respected by the ECU developer.
Base ARObject
Attribute Type Mult. Kind Note
maxNumberOf Integer 0..1 attr Maximum number of time quanta in the bit time.
TimeQuantaPer
Bit
maxSample Float 0..1 attr The max. value of the sample point as a percentage of
Point the total bit time.
maxSyncJump Float 0..1 attr The max. Synchronization Jump Width value as a
Width percentage of the total bit time. The (Re-)Synchronization
Jump Width (SJW) defines how far a resynchronization
may move the Sample Point inside the limits defined by
the Phase Buffer Segments to compensate for edge
phase errors.
maxTrcvDelay TimeValue 0..1 attr Specifies the maximum Transceiver Delay Compensation
Compensation Offset in seconds. If not specified Transceiver Delay
Offset Compensation is disabled.
minNumberOf Integer 0..1 attr Minimum number of time quanta in the bit time.
TimeQuantaPer
Bit
minSamplePoint Float 0..1 attr The min. value of the sample point as a percentage of the
total bit time.
minSyncJump Float 0..1 attr The min. Synchronization Jump Width value as a
Width percentage of the total bit time. The (Re-)Synchronization
Jump Width (SJW) defines how far a resynchronization
may move the Sample Point inside the limits defined by
the Phase Buffer Segments to compensate for edge
phase errors.
minTrcvDelay TimeValue 0..1 attr Specifies the minimum Transceiver Delay Compensation
Compensation Offset in seconds. If not specified Transceiver Delay
Offset Compensation is disabled.
paddingValue PositiveInteger 0..1 attr Specifies the value which is used to pad unused data in
CAN FD frames which are bigger than 8 byte if the length
of a Pdu which was requested to be sent does not match
the allowed DLC values of CAN FD.
txBitRateSwitch Boolean 0..1 attr Specifies if the bit rate switching shall be used for
transmissions.
TRUE: CAN FD frames shall be sent with bit rate
switching.
FALSE: CAN FD frames shall be sent without bit rate
switching.
Class CanPhysicalChannel
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note CAN bus specific physical channel attributes.
Base ARObject, AbstractCanPhysicalChannel, Identifiable, MultilanguageReferrable, PhysicalChannel,
Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 3.19: CanPhysicalChannel
[constr_3003] Number of CAN channels dCAN clusters shall aggregate exactly one
PhysicalChannel.c()
Class CanCommunicationConnector
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanTopology
Note CAN bus specific communication connector attributes.
Base ARObject, AbstractCanCommunicationConnector , CommunicationConnector , Identifiable,
MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
pncWakeupCan PositiveInteger 0..1 attr CAN Identifier used to configure the CAN Transceiver for
Id partial network wakeup.
pncWakeupCan Boolean 0..1 attr Defines whether pncWakeupCanId and pncWakeupCanId
IdExtended Mask shall be interpreted as extended or standard CAN
ID.
pncWakeupCan PositiveInteger 0..1 attr Bit mask for CAN Identifier used to configure the CAN
IdMask Transceiver for partial network wakeup.
pncWakeup PositiveUnlimitedInteger 0..1 attr Bit mask for CAN Payload used to configure the CAN
DataMask Transceiver for partial network wakeup.
pncWakeupDlc PositiveInteger 0..1 attr Data Length of the remote data frame used to configure
the CAN Transceiver for partial network wakeup in Bytes.
3.3.2 TTCAN
PhysicalChannel CommunicationConnector
AbstractCanPhysicalChannel AbstractCanCommunicationConnector
4
Class <<atpVariation>> TtcanCommunicationController
timeTriggered Integer 1 attr One bit shall be used to distinguish between Level 1 and
CanLevel Level 2.
txEnable Integer 1 attr The length of the Tx_Enable window shall be a four (4) bit
WindowLength value specifying the length of the time period (1-16
nominal CAN bit times) in which a transmission may be
started.
Table 3.23: TtcanCommunicationController
3.3.4 FlexRay
FlexrayPhysicalChannel
+ channelName: FlexrayChannelName
FlexrayCluster FlexrayCommunicationController
4
Class <<atpVariation>> FlexrayCluster
Base ARObject, CollectableElement, CommunicationCluster , FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
actionPoint Integer 1 attr The offset of the action point in networks
Offset
bit TimeValue 1 attr Nominal bit time (= 1 / fx:SPEED). gdBit = cSamplesPer
Bit * gdSampleClockPeriod. Unit: seconds (gdBit)
casRxLowMax Integer 1 attr Upper limit of the Collision Avoidance Symbol (CAS)
acceptance window. Unit:bitDuration
coldStart Integer 1 attr The maximum number of times that a node in this cluster
Attempts is permitted to attempt to start the cluster by initiating
schedule synchronization
cycle TimeValue 1 attr Length of the cycle. Unit: seconds
cycleCountMax Integer 1 attr Maximum cycle counter value in a given cluster. Remark:
Set to 63 for FlexRay Protocol 2.1 Rev. A compliance.
detectNitError Boolean 1 attr Indicates whether NIT error status of each cluster shall be
detected or not.
dynamicSlotIdle Integer 1 attr The duration of the dynamic slot idle phase in minislots.
Phase
ignoreAfterTx Integer 1 attr Duration for which the bitstrobing is paused after
transmission [gdBit].
listenNoise Integer 1 attr Upper limit for the start up and wake up listen timeout in
the presence of noise. Expressed as a multiple of the
cluster constant pdListenTimeout. Unit microticks
macroPerCycle Integer 1 attr The number of macroticks in a communication cycle
macrotick TimeValue 1 attr Duration of the cluster wide nominal macrotick, expressed
Duration in s.
maxWithout Integer 1 attr Threshold concerning vClockCorrectionFailedCounter.
ClockCorrection Defines the number of consecutive even/odd Cycle pairs
Fatal with missing clock correction terms that will cause the
protocol to transition from the POC:normal active or
POC:normal passive state into the POC:halt state.
maxWithout Integer 1 attr Threshold concerning vClockCorrectionFailedCounter.
ClockCorrection Defines the number of consecutive even/odd Cycle pairs
Passive with missing clock correction terms that will cause the
protocol to transition from the POC:normal active state to
the POC:normal passive state.
minislotAction Integer 1 attr The Offset of the action point within a minislot. Unit:
PointOffset macroticks
minislotDuration Integer 1 attr The duration of a minislot (dynamic segment). Unit:
macroticks.
networkIdle Integer 1 attr The duration of the network idle time in macroticks
Time
network Integer 1 attr Length of the Network Management vector in a cluster
Management [bytes]
VectorLength
numberOf Integer 1 attr Number of Minislots in the dynamic segment.
Minislots
numberOfStatic Integer 1 attr The number of static slots in the static segment.
Slots
offsetCorrection Integer 1 attr Start of the offset correction phase within the Network
Start Idle Time (NIT), expressed as the number of macroticks
from the start of cycle. Unit: macroticks
payloadLength Integer 1 attr Globally configured payload length of a static frame. Unit:
Static 16-bit WORDS.
5
4
Class <<atpVariation>> FlexrayCluster
safetyMargin Integer 1 attr Additional timespan in macroticks which takes jitter into
account to be able to set the JobListPointer to the next
possible job which can be executed in case the FlexRay
Job List Execution Function has be resynchronized.
sampleClock TimeValue 0..1 attr Sample clock period. Unit: seconds
Period
staticSlot Integer 1 attr The duration of a slot in the static segment. Unit:
Duration macroticks
symbolWindow Integer 1 attr The duration of the symbol window. Unit: macroticks
symbolWindow Integer 1 attr Number of macroticks the action point offset is from the
ActionPoint beginning of the symbol window [Macroticks].
Offset
syncFrameId Integer 1 attr Maximum number of distinct syncframe identifiers present
CountMax in a given cluster. This parameter maps to FlexRay
Protocol 2.1 Rev. A parameter gSyncNodeMax.
tranceiver Float 0..1 attr The duration of timer t_TrcvStdbyDelay in seconds. The
StandbyDelay granularity of this parameter shall be restricted to full Flex
Ray cycles (cycle). The transceiver status setting to
STANDBY shall be delayed by this value.
Not specifying a value or a value of 0 shall imply that the
timer is not used.
transmission Integer 1 attr Number of bits in the Transmission Start Sequence [gd
StartSequence Bits].
Duration
wakeupRxIdle Integer 1 attr Number of bits used by the node to test the duration of
the ’idle’ or HIGH phase of a received wakeup. Unit:bit
Duration
Remarks: This parameter maps to FlexRay Protocol 2.1
Rev. A parameter gdWakeupSymbolRxIdle.
wakeupRxLow Integer 1 attr Number of bits used by the node to test the duration of
the LOW phase of a received wakeup. Unit:bitDuration
Remarks: This parameter maps to FlexRay Protocol 2.1
Rev. A parameter gdWakeupSymbolRxLow.
wakeupRx Integer 1 attr The size of the window used to detect wakeups [gdBit].
Window
Remarks: This parameter maps to FlexRay Protocol 2.1
Rev. A parameter gdWakeupSymbolRxWindow.
wakeupTxActive Integer 1 attr Number of bits used by the node to transmit the LOW
phase of awakeup symbol and the HIGH and LOW
phases of a WUDOP. Unit:bitDuration
wakeupTxIdle Integer 1 attr Number of bits used by the node to transmit the ’idle’ part
of a wakeup symbol. Unit: gDbit
4
Class <<atpVariation>> FlexrayCommunicationController
keySlotUsedFor Boolean 1 attr Flag indicating whether the Key Slot is used to transmit a
Sync sync frame.
latestTX Integer 1 attr The number of the last minislot in which a transmission
can start in the dynamic segment for the respective node
listenTimeout Integer 1 attr Value for the startup listen timeout and wakeup listen
timeout. Although this is a node local parameter, the real
time equivalent of this value should be the same for all
nodes in the cluster. Unit: Microticks
macroInitial Integer 0..1 attr Integer number of macroticks between the static slot
OffsetA boundary and the closest macrotick boundary of the
secondary time reference point based on the nominal
macrotick duration. (pMacroInitialOffset). This optional
parameter shall only be filled out if channel A is used.
macroInitial Integer 0..1 attr Integer number of macroticks between the static slot
OffsetB boundary and the closest macrotick boundary of the
secondary time reference point based on the nominal
macrotick duration. (pMacroInitialOffset). This optional
parameter shall only be filled out if channel B is used.
maximum Integer 1 attr Maximum payload length for the dynamic channel of a
Dynamic frame in 16 bit WORDS.
PayloadLength
microInitial Integer 0..1 attr Number of microticks between the closest macrotick
OffsetA boundary described by gMacroInitialOffset and the
secondary time reference point. The parameter depends
on pDelayCompensationA and therefore it has to be set
independently for each channel. This optional parameter
shall only be filled out if channel A is used.
microInitial Integer 0..1 attr Number of microticks between the closest macrotick
OffsetB boundary described by gMacroInitialOffset and the
secondary time reference point. The parameter depends
on pDelayCompensationB and therefore it has to be set
independently for each channel. This optional parameter
shall only be filled out if channel B is used.
microPerCycle Integer 1 attr The nominal number of microticks in a communication
cycle
microtick TimeValue 0..1 attr Duration of a microtick. This attribute can be derived from
Duration samplePerMicrotick and gdSampleClockPeriod. Unit:
seconds
nmVectorEarly Boolean 0..1 attr Flag indicating when the update of the Network
Update Management Vector in the CHI shall take place. If set to
false, the update shall take place after the NIT. If set to
true, the update shall take place after the end of the static
segment.
offsetCorrection Integer 1 attr Magnitude of the maximum permissible offset correction
Out value. Unit:microtick (pOffsetCorrectionOut)
rateCorrection Integer 1 attr Magnitude of the maximum permissible rate correction
Out value and the maximum drift offset between two nodes
operating with unsynchronized clocks for one
communication cycle. Unit:Microticks (pRateCorrection
Out)
Remarks: This parameter maps to FlexRay Protocol 2.1
Rev. A parameter pdMaxDrift.
samplesPer Integer 0..1 attr Number of samples per microtick
Microtick
5
4
Class <<atpVariation>> FlexrayCommunicationController
secondKeySlot PositiveInteger 0..1 attr ID of the second Key slot, in which a second startup
Id frame shall be sent in TT-L Time Triggered Local Master
Sync or TT-E Time Triggered External Sync mode. If this
parameter is set to zero the node does not have a second
key slot.
twoKeySlot Boolean 0..1 attr Flag indicating whether node operates as a startup node
Mode in a TT-E Time Triggered External Sync or TT-L Time
Triggered Local Master Sync cluster.
wakeUpPattern Integer 1 attr Number of repetitions of the Tx-wakeup symbol to be sent
during the CC_WakeupSend state of this Node in the
cluster
Table 3.28: FlexrayCommunicationController
Class FlexrayFifoConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology
Note One First In First Out (FIFO) queued receive structure, defining the admittance criteria to the FIFO, and
mandating the ability to admit messages into the FIFO based on Message Id filtering criteria.
Base ARObject
Attribute Type Mult. Kind Note
admitWithout Boolean 1 attr Boolean configuration which determines whether or not
MessageId frames received in the dynamic segment that don’t
contain a message ID will be admitted into the FIFO.
baseCycle Integer 1 attr FIFO cycle counter acceptance criteria.
channel FlexrayPhysicalChannel 0..1 ref Fifo channel admittance criteria.
cycleRepetition Integer 1 attr FIFO cycle counter acceptance criteria.
fifoDepth Integer 1 attr FrFifoDepth configures the maximum number of
rx-frames which can be contained in the FIFO.
fifoRange FlexrayFifoRange 2..* aggr FIFO Frame Id range acceptance criteria.
msgIdMask Integer 1 attr FIFO message identifier acceptance criteria (Mask filter).
msgIdMatch Integer 1 attr FIFO message identifier acceptance criteria (Match filter).
Class FlexrayFifoRange
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology
Note FIFO Frame Id range acceptance criteria.
Base ARObject
Attribute Type Mult. Kind Note
rangeMax Integer 1 attr Max Range.
rangeMin Integer 1 attr Min Range.
Enumeration FlexrayChannelName
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology
Note Name of the channel.
Literal Description
channelA Channel A
Tags:atp.EnumerationLiteralIndex=0
5
4
Enumeration FlexrayChannelName
channelB Channel B
Tags:atp.EnumerationLiteralIndex=1
3.3.5 LIN
A LinCluster consists of exactly one master node connected to several slave nodes.
The master is responsible for providing the frame headers on the bus according to a
predefined schedule, whereas the slaves send or receive the actual frame information
([10]).
[TPS_SYST_01012] Different Properties of LinMaster and LinSlave dIn the Sys-
tem Template the different properties of master and slave nodes are handled by de-
riving the LIN-specific subclasses LinMaster and LinSlave as specializations of
LinCommunicationController.c(RS_SYST_00022)
AUTOSAR supports the stand-alone definition of both LIN masters and LIN slaves.
+managedPhysicalChannel 0..*
FibexElement Identifiable
«atpVariation» +physicalChannel PhysicalChannel
CommunicationCluster «atpVariation,atpSplitable» 1..*
+ baudrate: PositiveUnlimitedInteger [0..1]
+ protocolName: String [0..1]
+ protocolVersion: String [0..1]
LinPhysicalChannel
«atpVariation» + busIdleTimeoutPeriod: TimeValue [0..1]
+commConnector 0..*
Identifiable
Identifiable
«atpVariation» CommunicationConnector
CommunicationController +commController
+ createEcuWakeupSource: Boolean [0..1]
+ wakeUpByControllerSupported: Boolean [0..1] 1 + dynamicPncToChannelMappingEnabled: Boolean [0..1]
+ pncFilterArrayMask: PositiveInteger [0..*] {ordered}
+ pncGatewayType: PncGatewayTypeEnum [0..1]
LinCluster LinCommunicationController
LinCommunicationConnector
+ protocolVersion: String
+ initialNad: Integer [0..1]
+ scheduleChangeNextTimeBase: Boolean [0..1]
«atpVariation,atpSplitable»
+ timeBase: TimeValue [0..1] + assignNad: Boolean [0..1] + messageId: PositiveInteger [0..1] + index: Integer
+ timeBaseJitter: TimeValue [0..1] + configuredNad: Integer
+ functionId: PositiveInteger
+linConfigurableFrame
0..* 0..*
+ nasTimeout: TimeValue [0..1]
+ supplierId: PositiveInteger
+ variantId: PositiveInteger
Frame
LinSlaveConfig
LinFrame
+ configuredNad: Integer
+ functionId: PositiveInteger
+ initialNad: Integer [0..1]
+ protocolVersion: String [0..1]
+ supplierId: PositiveInteger
+ variantId: PositiveInteger
0..1
LinCluster specifies the existence of a LIN cluster in the system’s physical topology.
Class <<atpVariation>> LinCluster
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note LIN specific attributes
Tags:atp.recommendedPackage=CommunicationClusters
Base ARObject, CollectableElement, CommunicationCluster , FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 3.34: LinCluster
• LIN20
• LIN21
• LIN22
• ISO17987
c(RS_SYST_00022)
LinMaster describes the existence of a LIN master task in a LIN topology node. As
such it contains the attributes specific to a LIN master task.
Class <<atpVariation>> LinMaster
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note Describing the properties of the refering ecu as a LIN master.
Base ARObject, CommunicationController , Identifiable, LinCommunicationController , Multilanguage
Referrable, Referrable
Attribute Type Mult. Kind Note
linSlave LinSlaveConfig * aggr LinSlaves that are handled by the LinMaster.
timeBase TimeValue 0..1 attr Time base is mandatory for the master. It is not used for
slaves.
LIN 2.0 Spec states: "The time_base value specifies the
used time base in the master node to generate the
maximum allowed frame transfer time."
The time base shall be specified AUTOSAR conform in
seconds.
timeBaseJitter TimeValue 0..1 attr The attribute timeBaseJitter is a mandatory attribute for
the master and not used for slaves.
LIN 2.0 Spec states: "The jitter value specifies the
differences between the maximum and minimum delay
from time base start point to the frame header sending
start point (falling edge of BREAK signal)."
The jitter shall be specified AUTOSAR conform in
seconds.
Table 3.36: LinMaster
Class LinSlaveConfig
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note Node attributes of LIN slaves that are handled by the LinMaster.
In the System Description LIN slaves may be described in the context of the Lin Master.
In an ECU Extract of the LinMaster the LinSlave Ecus shall not be available.
The information that is described here is necessary in the ECU Extract for the configuration of the Lin
Master.
The values of attributes of LinSlaveConfig and the corresponding LinSlave shall be identical (if both are
defined in a System Description).
Base ARObject
5
4
Class LinSlaveConfig
Attribute Type Mult. Kind Note
configuredNad Integer 1 attr To distinguish LIN slaves that are used twice or more
within the same cluster.
functionId PositiveInteger 1 attr LIN function ID.
ident LinSlaveConfigIdent 0..1 aggr This adds the ability to become referrable to LinSlave
Config.
initialNad Integer 0..1 attr Initial NAD of the LIN slave.
linConfigurable LinConfigurableFrame * aggr List of all frames that are processed by the slave node
Frame
linError LinErrorResponse 0..1 aggr Each slave node shall publish one response error in one
Response of its transmitted unconditional frames.
linOrdered LinOrderedConfigurable * aggr List of all frames (unconditional frames, event-triggered
Configurable Frame frames and sporadic frames) processed by the slave
Frame node. This element is necessary for the LIN 2.1
Assign-Frame-PID-Range command.
protocolVersion String 0..1 attr Version specifier for a communication protocol. Protocol
version of the LinMaster and the LinSlaves may be
different.
supplierId PositiveInteger 1 attr LIN Supplier ID.
variantId PositiveInteger 1 attr Specifies the Variant ID.
Class LinSlaveConfigIdent
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note This meta-class is created to add the ability to become the target of a reference to the non-Referrable Lin
SlaveConfig.
Base ARObject, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 3.38: LinSlaveConfigIdent
This statement is valid for both the existence of the LinMaster in a System of cat-
egory SYSTEM_DESCRIPTION or in a System of category ECU_EXTRACT.
The actual correspondence between a Lin slave described by means of the
LinSlaveConfig and the actual model of the LinSlave shall be determined by
identifying pairs of LinSlaveConfig and LinSlave with an identical set of the at-
tributes that are equally named in both meta-classes. This rule does not apply for the
shortName.
Another relevant condition for finding pairs of corresponding LinSlaveConfig and
LinSlave is obviously that the LinMaster that aggregates the LinSlaveConfig
shall be connected to the same LinCluster to which the corresponding LinSlave
is connected.
Of course, this condition can only be checked in the context of a System of category
SYSTEM_DESCRIPTION or perhaps SYSTEM_EXTRACT.
AUTOSAR supports the definition of a stand-alone LIN slave1 . In other words, it is pos-
sible to define an ECU Extract that contains the modeling of a LIN slave independently
of the modeling of the LIN master.
That said, the ability to define properties of the LIN slave in the context of the LIN mas-
ter in the form of LinMaster.linSlave still exists and can be used where applicable.
[TPS_SYST_05018] Semantics of meta-class LinSlave dMeta-class LinSlave
describes the existence of a LIN slave task in a LIN topology node. It describes the
attributes of a single LIN slave node.c(RS_SYST_00022)
[TPS_SYST_05019] Semantics of LinErrorResponse.responseError dEach Lin
slave has the ability to set an error bit in the response part of one specific LinUn-
conditionalFrame in the event of errors occurring on frame level. The error bit is
modeled by means of a reference to an ISignalTriggering in the role LinError-
Response.responseError.c(RS_SYST_00022)
Please note that because the response error bit applies for frame errors the responsi-
bility for setting the response error bit lies exclusively at the LinIf.
In the event of such an error, the LinIf on the Lin slave Ecu calls Com_SendSignal
() to set the value of the response error bit if applicable2 and thus the system model
needs to foresee the existence of an ISignalTriggering for this purpose.
1
In former versions of this specification document the properties of a LIN slave could only be defined
in the context of the corresponding LIN master
2
In principle, the LinIf on the Lin slave Ecu could directly patch the value of the response error bit
into a Tx Pdu before sending but in this case the LinIf would have to pick the correct Pdu and patch it
accordingly. In other words, the LinIf would replicate a certain amount of Com functionality. the usage
of an ISignalTriggering significantly simplifies the implementation of the LinIf.
Aside: on the Lin master, typically a piece of application software picks up the received
error bit and uses it to e.g. increment a counter for debouncing purposes. If the counter
exceeds a certain value in e.g. a given time interval the Lin master has to assume
that a serious problem exists in the communication with this specific slave and react
accordingly.
In terms of modeling, this means that if formally modeled application software on the
Lin master exists that processes the error response bit (the receiving side of the error
response bit) then a DataMapping to a SystemSignal that carries the response
error bit needs to be defined.
It is important to understand that application software on a Lin slave positively has no
business of setting the value of the response error bit. In other words: on the sending
side (i.e. the Lin slave), the application software is not affected and therefore there shall
not be a DataMapping on the sending side. This relation motivates the existence of
[constr_1656].
[constr_1656] No application-level write access to LinErrorResponse.respon-
seError on Lin slave dThe SystemSignal referenced in the role systemSig-
nal by the ISignal referenced by the ISignalTriggering that in turn is refer-
enced in the role LinErrorResponse.responseError shall not be referenced by a
DataMapping that allows for writing to the SystemSignal.c()
Class <<atpVariation>> LinSlave
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note Describing the properties of the referring ecu as a LIN slave.
Base ARObject, CommunicationController , Identifiable, LinCommunicationController , Multilanguage
Referrable, Referrable
Attribute Type Mult. Kind Note
assignNad Boolean 0..1 attr This attribute has the ability to control whether the node
configuration command ’Assign NAD’ is supported.
configuredNad Integer 1 attr To distinguish LIN slaves that are used twice or more
within the same cluster.
functionId PositiveInteger 1 attr LIN function ID
initialNad Integer 0..1 attr This attribute represents the initial NAD.
linError LinErrorResponse 1 aggr Each slave node shall publish one response error in one
Response of its transmitted unconditional frames.
nasTimeout TimeValue 0..1 attr Value of the N_AS timeout. Unit: seconds.
supplierId PositiveInteger 1 attr LIN Supplier ID
variantId PositiveInteger 1 attr Specifies the Variant ID
Class LinErrorResponse
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
5
4
Class LinErrorResponse
Note Each slave node shall publish a one bit signal, named response_error, to the master node in one of its
transmitted unconditional frames. The response_error signal shall be set whenever a frame (except for
event triggered frame responses) that is transmitted or received by the slave node contains an error in
the frame response. The response_error signal shall be cleared when the unconditional frame containing
the response_error signal is successfully transmitted.
Base ARObject
Attribute Type Mult. Kind Note
responseError ISignalTriggering 0..1 ref This ISignal shall be taken to transport the responseError
bit.
Table 3.40: LinErrorResponse
Class LinConfigurableFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note Assignment of messageIds to Frames. This element shall be used for the LIN 2.0 Assign-Frame
command.
Base ARObject
Attribute Type Mult. Kind Note
frame LinFrame 1 ref Reference to a Frame that is processed by the slave
node.
messageId PositiveInteger 0..1 attr MessageId for the referenced frame
Class LinOrderedConfigurableFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinTopology
Note With the assignment of the index to a frame a mapping of Pids to Frames is possible. This element shall
be used for the LIN 2.1 Assign-Frame-PID-Range command.
Base ARObject
Attribute Type Mult. Kind Note
frame LinFrame 1 ref Reference to a Frame that is processed by the slave
node.
index Integer 1 attr This attribute is used to order the elements and allows an
assignment of Pids to ConfigurableFrames that are
defined in the slave.
Table 3.43: LinOrderedConfigurableFrame
[constr_3015] Number of LIN channels dLIN clusters shall aggregate exactly one
LinPhysicalChannel.c()
3.3.6 Ethernet
CouplingPort CouplingPortConnection
To describe the Ethernet at the data link- and physical layer the following System
Template meta-model classes are used: EthernetCluster, EthernetCommu-
nicationController, EthernetCommunicationConnector, EthernetPhys-
icalChannel, CouplingElement, CouplingPort and CouplingPortConnec-
tion (see Figure 3.9).
AUTOSAR supports the wake-up and sleep mechanism complying with the Open Al-
liance TC10 specification (OA TC10, see [17]), which is used for a switched Ethernet
network. The details are described in chapter 3.3.6.8.
FibexElement +managedPhysicalChannel
0..*
«atpVariation»
Identifiable
CommunicationCluster +physicalChannel
PhysicalChannel
+ baudrate: PositiveUnlimitedInteger [0..1] «atpVariation,atpSplitable» 1..*
+ protocolName: String [0..1]
+ protocolVersion: String [0..1]
FibexElement
EthernetPhysicalChannel
EcuInstance
EthernetCluster
+vlanModifier
+ couplingPortSwitchoffDelay: TimeValue [0..1] «atpVariation»
+defaultVlan 0..1 0..1 +vlan 1 +ecuInstance 0..1
+vlan 0..1
1
Identifiable
+communicationCluster VlanConfig
«atpVariation»
+macMulticastGroup 0..*
Identifiable
+connector * +commConnector 0..*
MacMulticastGroup
VlanMembership Identifiable
+ macMulticastAddress: MacAddressString
CommunicationConnector
+macMulticastAddress 0..*
+secondPort
+nodePort
+couplingPort
0..1 0..1 0..* 0..*
+wakeupSleepOnDatalineConfig 0..1
Identifiable
EthernetWakeupSleepOnDatalineConfig
«atpVariation,atpSplitable»
+couplingPortConnection «atpVariation,atpSplitable»
0..*
CouplingPortConnection EthernetCommunicationController
«enumeration»
EthernetSwitchVlanIngressTagEnum
forwardAsIs
dropUntagged
Class MacMulticastGroup
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Per EthernetCluster globally defined MacMulticastGroup. One sender can handle many receivers
simultaneously if the receivers have all the same macMulticastAddress. The addresses need to be
unique for the particular EthernetCluster.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
macMulticast MacAddressString 1 attr A multicast MAC address (Media Access Control
Address address) is a identifier for a group of hosts in a network.
The Priority is a 3-bit field which refers to the IEEE 802.1Q priority. It indicates the
frame priority level. Values are from 0 (best effort) to 7 (highest); 1 represents the
lowest priority. These values can be used to prioritize different classes of traffic (voice,
video, data, etc.). The priority is contained in the Ethernet Header together with the
vlanIdentifier.
The defaultPriority can be overwritten on different levels:
1. NetworkEndpoint
2. ApplicationEndpoint
3. ProvidedServiceInstance or ConsumedEventGroup
If a priority on an ApplicationEndpoint is defined the priorities in the Network-
Endpoint and the defaultPriority in the VlanMembership would be ignored.
The following table shows two CouplingPorts. Both have two NetworkEndpoints
and for each NetworkEndpoint two ApplicationEndpoints are defined. This
means that per Port two IP Addresses and four Tcp-Ports are used. On each level a
priority may be defined.
For NEP1.1 no priority is defined. This means that the Default-Priority from Coupling-
Port1 is valid. On CouplingPort1 all messages have the Priority 0 ("‘best effort"’) except
for messages that are going over ApplicationEndpoint AEP1.1.2 and AEP 1.2.2.
These messages have the priority 1 (higher priority). On CouplingPort2 the priority is
overwritten on several levels. Please note that AEP 2.2.1 and AEP 2.2.2 are reducing
the priority that is defined on the NEP2.2.
Port (Default-Prio) NetworkEndpoint (e.g. IpAd- ApplicationEndpoint (e.g. Tcp
dress) Port)
AEP 1.1.1: Prio. —
CouplingPort1: Prio.0 NEP1.1: Prio. — AEP 1.1.2: Prio. 1
AEP 1.2.1: Prio. —
NEP1.2: Prio. 0 AEP 1.2.2: Prio. 1
AEP 2.1.1: Prio. 2
CouplingPort2: Prio.0 NEP2.1: Prio. 1 AEP 2.1.2: Prio. 3
AEP 2.2.1: Prio. 1
NEP2.2: Prio. 2 AEP 2.2.2: Prio. 0
Enumeration CouplingElementEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Identifies the Coupling type.
Literal Description
hub A device that is used to connect segments of a LAN. In Hubs frames are "broadcasted" to every one
of its ports.
Tags:atp.EnumerationLiteralIndex=0
router A device that routes frames between different networks.
Tags:atp.EnumerationLiteralIndex=1
switch A device that filters and forwards frames between different LAN segments.
Tags:atp.EnumerationLiteralIndex=2
Class CouplingPort
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note A CouplingPort is used to connect a CouplingElement with an EcuInstance or two CouplingElements with
each other via a CouplingPortConnection. Optionally, the CouplingPort may also have a reference to a
macMulticastGroup and a defaultVLAN.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
connection EthernetConnection 0..1 attr Specifies the connection negotiation of the CouplingPort.
Negotiation NegotiationEnum
Behavior
couplingPort CouplingPortDetails 0..1 aggr Defines more details of a CouplingPort in case a more
Details specific configuration is required.
couplingPort CouplingPortRoleEnum 0..1 attr Defines the role this CouplingPort takes in the context of
Role the CouplingElement.
defaultVlan EthernetPhysical 0..1 ref The vLanIdentifier of the referenced VLAN is the
Channel Default-PVID (port VLAN ID). A Port VLAN ID is a default
VLAN ID that is assigned to an access CouplingPort to
designate the VLAN segment to which this port is
connected. Also, if a CouplingPort has not been
configured with any VLAN memberships, the virtual
switch’s Port VLAN ID (pvid) becomes the default VLAN
ID for the ports connection.
This identifier/tag is added for incoming untagged
messages at the port (ingress tagging). For outgoing
messages with this identifier, the tag is removed at the
port (egress untagging, depending on the Vlan
Membership.sendActivity).
macLayerType EthernetMacLayerType 0..1 attr Specifies the mac layer type of the CouplingPort.
Enum
macMulticast MacMulticastGroup * ref Assigns a set of MAC-Multicast-Addresses which are
Address addressable via this CouplingPort. This is a static
pre-configuration and further addresses may be learned
during runtime.
physicalLayer EthernetPhysicalLayer 0..1 attr Specifies the physical layer type of the CouplingPort.
Type TypeEnum
plcaProps PlcaProps 0..1 aggr Optional properties for configuration of PLCA (Physical
Layer Collision Avoidance) in case 10-BASE-T1S
Ethernet is used and PLCA is enabled on the Coupling
Port (PHY).
pncMapping PncMappingIdent * ref Reference to the partial networks this CouplingPort
participates in.
receiveActivity EthernetSwitchVlan 0..1 attr Defines the handling of frames at the ingress port.
IngressTagEnum
vlan VlanMembership * aggr Messages of VLANs that are defined here can be
Membership communicated via the CouplingPort.
vlanModifier EthernetPhysical 0..1 ref All incoming messages at this CouplingPort shall be
Channel tagged with this VLAN Id. This tagging is performed
regardless whether the message already has a VLAN tag
or is untagged, an existing VLAN tag will be overwritten.
This feature is XOR with CoupligPort.defaultVlan.
wakeupSleep EthernetWakeupSleep 0..1 ref Optional reference to EthernetWakeupSleepOnDataline
OnDataline OnDatalineConfig Config.
Config
Enumeration EthernetConnectionNegotiationEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Specifies connection negotiation types of Ethernet transceiver links.
Literal Description
auto Automatic Negotiation
Tags:atp.EnumerationLiteralIndex=0
master Master
Tags:atp.EnumerationLiteralIndex=1
slave Slave
Tags:atp.EnumerationLiteralIndex=2
Enumeration EthernetMacLayerTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Specifies MAC (Media Access Control) Layer types.
Literal Description
xGMII Mac layer interface (data) bandwith class 1Gbit/s (e.g. GMII, RGMII, SGMII, RvGMII, USGMII)
Tags:
atp.EnumerationLiteralIndex=1
xml.name=XG-MII
xMII Mac layer interface (data) bandwith class 100Mbit/s and 10Mbit/s (e.g. RMII, RvMII, SMII, RvMII)
Tags:
atp.EnumerationLiteralIndex=0
xml.name=X-MII
xXGMII Mac layer interface (data) bandwith class 10Gbit/s
Tags:
atp.EnumerationLiteralIndex=2
xml.name=XXG-MII
Enumeration EthernetPhysicalLayerTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Specifies physical layer types of Ethernet transceiver links.
Literal Description
_1000BASE_T Ethernet Standard (IEEE 802.3ab) to support 1Gbit/s over 4 twisted pairs.
Tags:
atp.EnumerationLiteralIndex=6
xml.name=1000BASE-T
_1000BASE_T1 Ethernet Standard (IEEE 802.3bp) to support 1Gbit/s over a single twisted pair cable.
Tags:
atp.EnumerationLiteralIndex=8
xml.name=1000BASE-T1
_100BASE_T1 Ethernet Standard (IEEE 802.3bw) to support 100Mbit/s over a single twisted pair cable.
100BASE-T1 is the IEEE Standardized version of BroadRReach.
Tags:
atp.EnumerationLiteralIndex=7
xml.name=100BASE-T1
5
4
Enumeration EthernetPhysicalLayerTypeEnum
_100BASE_TX Ethernet Standard (IEEE 802.3u) to support 100Mbit/s over two twisted pairs.
Tags:
atp.EnumerationLiteralIndex=5
xml.name=100BASE-TX
_10BASE_T1S Physical layer interface 10BASE-T1S (10Mbit/s, 2 pairs). Used for automotive.
Tags:
atp.EnumerationLiteralIndex=10
atp.Status=draft
xml.name=10BASE-T1S
iEEE802_11P Ethernet Standard (IEEE 802.11p) to support wireless communication in vehicular environments.
Tags:
atp.EnumerationLiteralIndex=9
xml.name=IEEE802-11P
Enumeration EthernetSwitchVlanIngressTagEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the possible tagging behavior at an ingress port.
Literal Description
dropUntagged Drop if untagged.
Tags:atp.EnumerationLiteralIndex=1
forwardAsIs Forward with the same VLAN as received. Also untagged frames will be forwarded as untagged.
Tags:atp.EnumerationLiteralIndex=0
Class VlanMembership
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Static logical channel or VLAN binding to a switch-port.
The reference to an EthernetPhysicalChannel without a VLAN defined represents the handling of
untagged frames.
Base ARObject
Attribute Type Mult. Kind Note
defaultPriority PositiveInteger 1 attr Standard output-priority outgoing Frames will be tagged
with.
Defines the priority that received frames are assigned
together with the VLAN Id (defaultVlan). The values from
0 (best effort) to 7 (highest) are allowed.
In case modifyVlan and an already tagged received
frame, the actual priority of the received frame is not
modified.
dhcpAddress DhcpServer 0..1 aggr Specifies the IP Address which will be assigned to a
Assignment Configuration DHCP Client at this SwitchPort. If no dhcpAddress
Assignment is provided all DHCP-Discover messages
received at this Port will be discarded by the DHCP
Server.
5
4
Class VlanMembership
sendActivity EthernetSwitchVlan 0..1 attr Attribute denotes whether a VLAN tagged ethernet frame
EgressTaggingEnum will be
1. sent with its VLAN tag (sentTagged)
2. sent without a VLAN tag (sentUntagged)
3. will be dropped at this port (notSent or VLAN not
member of this list)
vlan EthernetPhysical 1 ref References a channel that represents a VLAN or an
Channel untagged channel.
Class CouplingPortConnection
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Connection between two CouplingPorts (firstPort and secondPort) or between a collection of Ports that
are all referenced by the portCollection reference.
Base ARObject
Attribute Type Mult. Kind Note
firstPort CouplingPort 0..1 ref Reference to the first CouplingPort that is connected via
the CouplingPortConnection.
nodePort CouplingPort * ref Reference to a number of CouplingPorts that are
connected via the CouplingPortConnection. This
reference shall be used to describe a 10BASE-T1S
topology architecture where several CouplingPorts of
EthernetCommunicationControllers are connected via
one CouplingPortConnection.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=nodePort.couplingPort, nodePort.variation
Point.shortLabel
vh.latestBindingTime=postBuild
plcaLocalNode PositiveInteger 0..1 attr Defines the number of communication participants in
Count case 10BASE-T1S and the nodePort reference is used.
plcaTransmit PositiveInteger 0..1 attr Timer for the transmission in bit time to evaluate if a
Opportunity Transmission Opportunity is yield or not.
Timer
secondPort CouplingPort 0..1 ref Reference to the second CouplingPort that is connected
via the CouplingPortConnection.
Switch
VLanMember: Vlan1
Vlan1, Vlan2, Vlan3,
untagged
Vlan2 Wire
Untagged
Default:
VLAN3 Port0
VLanMember: Vlan1
Vlan1, Vlan2, Vlan3,
Vlan2 Wire
Vlan3
Default:
VLAN3 Port1
4
Class <<atpVariation>> EthernetCommunicationController
slaveActAs Boolean 0..1 attr This attribute specifies if the EcuInstance is acting as a
Passive passive communication slave on the connected Physical
Communication Channel. This is used for EthernetCommunication
Slave Controllers that use Ethernet hardware which supports
wake-up and sleep on the network (e.g. Open Alliance
TC10 compliant Ethernet hardware).
Tags:atp.Status=draft
slaveQualified TimeValue 0..1 attr This attribute specifies time when an unexpected link
UnexpectedLink down is evaluated as link down and indicated to the
DownTime AUTOSAR communication stack.
Tags:atp.Status=draft
4
Class EthernetCommunicationConnector
Base ARObject, CommunicationConnector , Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
ethIpProps EthIpProps 0..1 ref EcuInstance specific IP attributes.
maximum PositiveInteger 0..1 attr This attribute specifies the maximum transmission unit in
Transmission bytes.
Unit
neighborCache PositiveInteger 0..1 attr This attribute specifies the size of neighbor cache or ARP
Size table in units of entries.
pathMtu Boolean 0..1 attr If enabled the IPv4/IPv6 processes incoming ICMP
Enabled "Packet Too Big" messages and stores a MTU value for
each destination address.
pathMtuTimeout TimeValue 0..1 attr If this value is >0 the IPv4/IPv6 will reset the MTU value
stored for each destination after n seconds.
pncFilterData PositiveUnlimitedInteger 0..1 attr Bit mask for Ethernet Payload used to configure the NM
Mask filter mask for the Network Management.
Tags:atp.Status=obsolete
Fig. 5 are meant as an example. Other structures with different FIFO numbers are
possible as well.
«enumeration» FibexElement
VlanMembership
CouplingElementEnum CouplingElement
+ defaultPriority: PositiveInteger
switch + couplingType: CouplingElementEnum + sendActivity: EthernetSwitchVlanEgressTaggingEnum [0..1]
hub
router
+vlanMembership 0..*
«atpVariation,atpSplitable»
+couplingPort 0..*
Identifiable +vlan 1
CouplingPort
+defaultVlan PhysicalChannel
+ connectionNegotiationBehavior: EthernetConnectionNegotiationEnum [0..1] EthernetPhysicalChannel
+ couplingPortRole: CouplingPortRoleEnum [0..1] 0..1
+ macLayerType: EthernetMacLayerTypeEnum [0..1]
+ physicalLayerType: EthernetPhysicalLayerTypeEnum [0..1] +vlanModifier
+ receiveActivity: EthernetSwitchVlanIngressTagEnum [0..1]
0..1
+vLan 0..*
+couplingPortDetails 0..1
+lastEgressScheduler 0..1
CouplingPortScheduler CouplingPortShaper
+predecessorFifo 1
«enumeration»
EthernetCouplingPortSchedulerEnum
CouplingPortFifo
deficitRoundRobin
+ assignedTrafficClass: PositiveInteger [0..8]
strictPriority
+ minimumFifoLength: PositiveInteger [0..1]
weightedRoundRobin
«enumeration»
EthernetSwitchVlanIngressTagEnum
forwardAsIs
dropUntagged
The structural description of an Ethernet switch is based on the already existing Cou-
plingElement in the System Template. Each CouplingElement can already have
a set of CouplingPorts.
In case a detailed Switch configuration is required, there is the configuration option to
add to the CouplingPort a CouplingPortDetails element which encapsulates
the structural description of one switch port.
The elements which one switch port consists of are (egress side):
• CouplingPortFifo
• CouplingPortShaper
• CouplingPortScheduler
The model allows to collect the egress parts of one switch port in the CouplingPort-
Details.couplingPortStructuralElements.
[TPS_SYST_03006] Ethernet switch egress port setup dTwo setups can be defined
at an egress port of a switch:
• The switch port has only one Fifo:
– the CouplingPortFifo element is aggregated at the CouplingPortDe-
tails.couplingPortStructuralElements
– no CouplingPortDetails.lastEgressScheduler is defined.
• The switch port has at least one scheduler
– the various switch port elements are all aggregated at the CouplingPort-
Details.couplingPortStructuralElements
– the CouplingPortScheduler which is the last scheduler in a chain of
structural elements is additionally referenced in the role CouplingPort-
Details.lastEgressScheduler
c(RS_SYST_00052)
The modeling approach is based on a predecessor chain model where the chain is
started by the last scheduler in the switch port and defines where the input to this
scheduler comes from. The input to a scheduler can come from several predecessor
elements which might be
• another CouplingPortScheduler
• a CouplingPortShaper
• a CouplingPortFifo.
[TPS_SYST_03007] Ethernet port scheduler algorithm dThe scheduler performs a
prioritization of the incoming frames based on the algorithm defined in the Coupling-
PortScheduler.portScheduler.c(RS_SYST_00052)
[TPS_SYST_03008] Ethernet port scheduler priority dThe first element in Cou-
plingPortScheduler.predecessor has the highest priority.Therefore, it is impor-
tant to have the predecessor definition of the scheduler ordered.c(RS_SYST_00052)
Another restriction is that a CouplingPortShaper can only have a CouplingPort-
Fifo as predecessorFifo, which is given by the model.
[TPS_SYST_03009] Ethernet port shaper idleSlope dThe idleSlope is defined
in the IEEE802.1Qav standard as a parameter for an increase of credit in bits per
second. The idleSlope can never exceed the maximal transmit rate of a port, e.g.
100MBits for BroadR-Reach and 1GBits for RTPGE. The idleSlope determines the
maximum fraction of the port transmit rate that is available for the queue associated
with the shaper: bandwidthFraction = idleSlope/portTransmitRate.c(RS_SYST_00052)
Class CouplingPortDetails
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines details of a CouplingPort.
May be used to configure the structures of a switch.
Base ARObject
Attribute Type Mult. Kind Note
couplingPort CouplingPortStructural 1..* aggr Collects all the structural parts at which a CouplingPort
Structural Element may be configurable.
Element
ethernetPriority EthernetPriority 0..8 aggr Defines a priority regeneration where the ingress priority
Regeneration Regeneration is replaced by regenerated priority.
ethernetTraffic CouplingPortTraffic 0..8 aggr Defines the ingress port to EthernetTrafficClass
Class ClassAssignment assignment.
Assignment
globalTime GlobalTimeCoupling 0..1 aggr Specifies properties for the usage of the CouplingPort in
Props PortProps the scope of Global Time Sync.
lastEgress CouplingPortScheduler 0..1 ref Defines which CouplingPortScheduler is the last in the
Scheduler egress port structure.
ratePolicy CouplingPortRatePolicy * aggr Rate policies to be applied for this CouplingPort.
Class CouplingPortScheduler
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines a scheduler for the CouplingPort egress structure.
Base ARObject, CouplingPortStructuralElement, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
portScheduler EthernetCouplingPort 1 attr Defines the schedule algorithm to be used.
SchedulerEnum
predecessor CouplingPortStructural 1..* ref Ordered List of predecessor inputs. The first element has
(ordered) Element the highest priority. The following elements have
decreasing priorities.
Enumeration EthernetCouplingPortSchedulerEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the schedule algorithm to be used.
Literal Description
deficitRoundRobin Schedule algorithm "deficit round robin"
Tags:atp.EnumerationLiteralIndex=0
strictPriority Schedule algorithm "strict priority"
Tags:atp.EnumerationLiteralIndex=1
weightedRound Schedule algorithm "weighted round robin"
Robin
Tags:atp.EnumerationLiteralIndex=2
Class CouplingPortShaper
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines a shaper for the CouplingPort egress structure.
Base ARObject, CouplingPortStructuralElement, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
idleSlope PositiveInteger 0..1 attr Defines the increase of credit in bits per second for the
AVB shaper.
predecessorFifo CouplingPortFifo 1 ref Defines the CouplingPortFifo which provides the input to
this shaper.
Class CouplingPortFifo
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines a Fifo for the CouplingPort egress structure.
Base ARObject, CouplingPortStructuralElement, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
assignedTraffic PositiveInteger 0..8 attr Defines a set of Traffic Classes which shall be handled by
Class this Fifo.
range: 0-7
5
4
Class CouplingPortFifo
minimumFifo PositiveInteger 0..1 attr FIFO minimum length in Byte. An actual configuration/
Length hardware may use a bigger value.
Enumeration CouplingPortRatePolicyActionEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the action to be performed when a rate policy is violated.
Literal Description
blockSource If the rate policy is violated the CouplingPort this CouplingPortRatePolicy is defined on shall block all
frames from the MAC-Address the violation was caused by.
Tags:atp.EnumerationLiteralIndex=1
dropFrame If the rate policy is violated the frame shall be dropped.
Tags:atp.EnumerationLiteralIndex=0
Besides the modeling of egress ports, it is necessary to specify how incoming packets
are forwarded to the egress ports. For this purpose, different assignment policies of
packets to egress port FIFOs are implemented in switches.
As an example, the Ethernet priority field can be evaluated and remapped into an re-
generated priority: Within the VLAN-tag, the PCP-field (priority code point) is a param-
eter which can be modified at an ingress port of an Ethernet switch. For this purpose
a priority regeneration table can be defined.
The CouplingPortDetails.ethernetPriorityRegeneration is optional in
case the feature of priority regeneration is not be used.
[TPS_SYST_03003] Ethernet priority regeneration dThe CouplingPortDetails.
ethernetPriorityRegeneration specifies which ingressPriority is mapped
to which regeneratedPriority.c(RS_SYST_00052)
[constr_3515] Fully filled EthernetPriorityRegeneration table dIn case
the CouplingPortDetails.ethernetPriorityRegeneration is defined it shall
contain exactly 8 elements of EthernetPriorityRegeneration, one for each
value of ingressPriority (0-7).c()
The (potentially remapped) Ethernet priority field can be evaluated and mapped to a
traffic class. Such a traffic class is again mapped to an egress FIFO. Other header
information of the Ethernet frame can be also used for the assignment of Ethernet
frames to egress FIFOs. For the mapping to a certain traffic class, the following tables
are necessary.
PORT-based Mapping Traffic Class
Port2, Port3, Port4 7
Port1 6
– 5
– 4
– 3
– 2
– 1
– 0
While the first table shows the mapping of ingress-ports to traffic classes, the second
table shows the priority-based mapping which can be defined per ingress port. Both
tables are in conflict with each other, i.e. it has to be decided which mapping is applied.
Also the mapping of a traffic class to a FIFO shall be done on a per port basis. An
example is shown in the following table.
Traffic Class FIFO (if 4 FIFOs available)
7 3
6 2
0-5 1
– 0
In order to model the relationship between the ingress port and the egress port, the
CouplingPortTrafficClassAssignment elements are used.
[TPS_SYST_03010] Ethernet switch packet to traffic class assignment dFirst the
ingress packets are assigned to traffic classes. The two use-cases from above are both
supported by this model:
• Port to traffic class mapping (only one traffic class per port possible) from table
3.69
– CouplingPortDetails has exactly one ethernetTrafficClassAs-
signment defined
– the CouplingPortTrafficClassAssignment has no priority de-
fined
• PCP-field to Traffic Class Mapping from table 3.70
– for each traffic class the CouplingPortDetails aggregate one ether-
netTrafficClassAssignment
– each CouplingPortTrafficClassAssignment element has a set of
prioritys defined which shall be mapped to the given trafficClass
c(RS_SYST_00052)
[constr_5049] Ethernet switch packet to traffic class assignment restriction dFor
one CouplingPortDetails there exists either
• one ethernetTrafficClassAssignment with no priority attribute or
• up to 8 ethernetTrafficClassAssignment elements with a set of prior-
ity attributes
c()
[TPS_SYST_03011] Ethernet switch traffic class to FIFO assignment dSecond, the
traffic classes are assigned to the switch egress FIFOs. The CouplingPortFifo has
Referrable
+ethernetTrafficClassAssignment CouplingPortTrafficClassAssignment
+couplingPortStructuralElement 1..*
Identifiable
CouplingPortStructuralElement
CouplingPortFifo
Figure 3.13: Ethernet Priority Regeneration and Ethernet Traffic Class Assignment
Class EthernetPriorityRegeneration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines a priority regeneration where the ingressPriority is replaced by regeneratedPriority.
The ethernetPriorityRegeneration is optional in case no priority regeneration shall be performed.
In case a ethernetPriorityRegeneration is defined it shall have 8 mappings, one for each priority.
Base ARObject, Referrable
Attribute Type Mult. Kind Note
ingressPriority PositiveInteger 1 attr Message priority of the incoming message.
range: 0-7
regenerated PositiveInteger 1 attr Regenerated message priority.
Priority
range: 0-7
Class CouplingPortTrafficClassAssignment
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the assignment of Traffic Class to a frame.
Base ARObject, Referrable
Attribute Type Mult. Kind Note
priority PositiveInteger 0..8 attr Defines a priority which is mapped onto a Traffic Class.
trafficClass PositiveInteger 1 attr Defines the Traffic Class which is assigned.
range: 0-7
For each VLAN identifier a table is necessary which stores at which egress port the
corresponding VLAN is tagged or untagged. For an 8-port switch, this table could look
like the following example where T stands for tagging and U for untagging:
Port number
VLAN-Id 1 2 3 4 5 6 7 8
1 T T - U - - - T
2 T U - T - - - T
...
4094
Incoming packets which contain a VLAN-ID of e.g. 1 can be forwarded to the ports 1,
2, 4, and 8. At ports 1, 2, and 8 these packets will be transmitted with the VLAN tag
and at port 4 the tag will be removed. If a broadcast message with e.g. VLAN-ID 2 will
be received at port 2 it will be forwarded to port 1, 4, and 8. The other ports 3, 5, 6, and
7 are not in the same VLAN. Thus, the packet will not be forwarded to these egress
ports. The table considers only messages which contain a VLAN-ID within the switch.
CouplingPort.vlanMembership defines specific attributes to the behavior a packet
with a specific VLAN-ID shall have on this CouplingPort.
[TPS_SYST_03004] VLAN specific sending behavior dThe VlanMembership.
sendActivity defines for a CouplingPort and VLAN the sending behavior:
• sentTagged: packet is sent at this CouplingPort with the defined VLAN-ID
• sentUntagged: packet is sent at this CouplingPort but the VLAN-ID is re-
moved before sending
• notSent: packet is not sent at this CouplingPort
c(RS_SYST_00052)
Another table specifies a port-based modification of the VLAN-ID or an insertion of the
VLAN-ID into the Ethernet message:
Port number 1 2 3 4 5 6 7 8
VLAN-Id 2 - - 6 - - - -
In this example, all incoming messages at port one will get the VLAN-Id 2 no matter
whether they already had one before. At port 4, all incoming messages will get a 6 as
their VLAN-Id. At the remaining ports, no VLAN-Ids will be inserted and an existing
VLAN-Id in the Ethernet-message will remain without modification.
VlanMembership
+ defaultPriority: PositiveInteger
+ sendActivity: EthernetSwitchVlanEgressTaggingEnum [0..1]
+vlanMembership 0..*
«enumeration»
EthernetSwitchVlanEgressTaggingEnum
Identifiable notSent
sentTagged
CouplingPort sentUntagged
+ connectionNegotiationBehavior: EthernetConnectionNegotiationEnum [0..1]
+ couplingPortRole: CouplingPortRoleEnum [0..1]
+ macLayerType: EthernetMacLayerTypeEnum [0..1]
+ physicalLayerType: EthernetPhysicalLayerTypeEnum [0..1]
+ receiveActivity: EthernetSwitchVlanIngressTagEnum [0..1]
Enumeration EthernetSwitchVlanEgressTaggingEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the VLAN tag sending behavior.
Literal Description
notSent will not be sent
Tags:atp.EnumerationLiteralIndex=0
sentTagged sent with its VLAN tag
Tags:atp.EnumerationLiteralIndex=1
sentUntagged sent without a VLAN tag
Tags:atp.EnumerationLiteralIndex=2
The ECU which manages the Ethernet switch may run a semi-static DHCP server.
[TPS_SYST_03013] Semi-static DHCP server configuration dIn order to be able
to assign always the same IP-address to a dedicated DHCP client, the DHCP server
needs the information at which switch port the DHCP request with the specific MAC ad-
dress has been received. With this switch port information the DHCP server will assign
the IP-address according to the VlanMembership.dhcpAddressAssignment.
This allows the assignment of MAC addresses by the Tier 1 and assignment of IP
addresses by the OEM. With this mechanism it is also possible to assign different IP
addresses to several VLANs at the same port.c(RS_SYST_00052)
CommunicationController
FibexElement
EthernetCommunicationController
CouplingElement
+ macLayerType: EthernetMacLayerTypeEnum [0..1]
+ couplingType: CouplingElementEnum
+ macUnicastAddress: MacAddressString [0..1]
+ maximumReceiveBufferLength: Integer [0..1]
+ maximumTransmitBufferLength: Integer [0..1]
+ slaveActAsPassiveCommunicationSlave: Boolean [0..1]
+ slaveQualifiedUnexpectedLinkDownTime: TimeValue [0..1]
«atpVariation,atpSplitable»
Identifiable
CouplingPort
+defaultVlan PhysicalChannel
+ connectionNegotiationBehavior: EthernetConnectionNegotiationEnum [0..1]
+ couplingPortRole: CouplingPortRoleEnum [0..1] 0..1 EthernetPhysicalChannel
+ macLayerType: EthernetMacLayerTypeEnum [0..1] +vlanModifier
+ physicalLayerType: EthernetPhysicalLayerTypeEnum [0..1]
+ receiveActivity: EthernetSwitchVlanIngressTagEnum [0..1] 0..1
+vlan 1
+dhcpAddressAssignment 0..1
DhcpServerConfiguration
Describable Describable
Ipv4DhcpServerConfiguration Ipv6DhcpServerConfiguration
Class DhcpServerConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the configuration of DHCP servers that are running on the network endpoint. It is possible that an
Ipv4DhcpServer and an Ipv6DhcpServer run on the same Ecu.
Base ARObject
Attribute Type Mult. Kind Note
ipv4DhcpServer Ipv4DhcpServer 0..1 aggr Configuration of a IPv4 DHCP server that runs on the
Configuration Configuration network endpoint.
ipv6DhcpServer Ipv6DhcpServer 0..1 aggr Configuration of a IPv6 DHCP server that runs on the
Configuration Configuration network endpoint.
Class Ipv4DhcpServerConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
5
4
Class Ipv4DhcpServerConfiguration
Note Defines the configuration of a IPv4 DHCP server that runs on the network endpoint.
Base ARObject, Describable
Attribute Type Mult. Kind Note
addressRange Ip4AddressString 0..1 attr Lower range of IP addresses to be issued to DHCP
LowerBound clients. IPv4 Address. Notation: 255.255.255.255.
addressRange Ip4AddressString 0..1 attr Upper range of IP addresses to be issued to DHCP
UpperBound clients. Pv4 Address. Notation: 255.255.255.255.
defaultGateway Ip4AddressString 0..1 attr IP address of the default gateway. Notation
255.255.255.255
defaultLease TimeValue 0..1 attr Amount of time in seconds that a client may keep the IP
Time address.
dnsServer Ip4AddressString * attr IP addresses of preconfigured DNS servers. Notation
Address 255.255.255.255
Tags:xml.namePlural=DNS-SERVER-ADDRESSES
networkMask Ip4AddressString 0..1 attr Default network mask to be used by DHCP clients.
Notation 255.255.255.255
Class Ipv6DhcpServerConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the configuration of a IPv6 DHCP server that runs on the network endpoint.
Base ARObject, Describable
Attribute Type Mult. Kind Note
addressRange Ip6AddressString 0..1 attr Lower range of IP addresses to be issued to DHCP
LowerBound clients. IPv6 Address. Notation: FFFF:...:FFFF.
addressRange Ip6AddressString 0..1 attr Upper range of IP addresses to be issued to DHCP
UpperBound clients. IPv6 Address. Notation: FFFF:...:FFFF.
defaultGateway Ip6AddressString 0..1 attr IP address of the default gateway. Notation
255.255.255.255
defaultLease TimeValue 0..1 attr Amount of time in seconds that a client may keep the IP
Time address.
dnsServer Ip6AddressString * attr IP addresses of preconfigured DNS servers. Notation:
Address FFFF:...:FFFF.
Tags:xml.namePlural=DNS-SERVER-ADDRESSES
networkMask Ip6AddressString 0..1 attr Default network mask to be used by DHCP clients.
Notation 255.255.255.255
The EcuInstance references the following elements and allows to set Ecu specific
TcpIp stack configuration options in the System Description:
• EthIpProps - used to configure IPv4 and IPv6
• EthTcpIpProps - used to configure TCP and UDP
• EthTcpIpIcmpProps - used to configure ICMP
CommunicationConnector
EthernetCommunicationConnector
Ipv4ArpProps
Ipv4Props +arpProps + tcpIpArpNumGratuitousArpOnStartup: PositiveInteger [0..1]
+ethIpProps 0..1 + tcpIpArpPacketQueueEnabled: Boolean [0..1]
0..1
+ tcpIpArpRequestTimeout: TimeValue [0..1]
ARElement + tcpIpArpTableEntryTimeout: TimeValue [0..1]
EthIpProps
Ipv4AutoIpProps
+autoIpProps
+ tcpIpAutoIpInitTimeout: TimeValue [0..1]
+ipv4Props 0..1
0..1
Ipv4FragmentationProps
+fragmentationProps + tcpIpIpFragmentationRxEnabled: Boolean [0..1]
0..1 + tcpIpIpNumFragments: PositiveInteger [0..1]
+ tcpIpIpNumReassDgrams: PositiveInteger [0..1]
+ tcpIpIpReassTimeout: TimeValue [0..1]
Ipv6FragmentationProps
Dhcpv6Props
Ipv6NdpProps
Class EthIpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class is used to configure the EcuInstance specific IP attributes.
Tags:atp.recommendedPackage=EthIpProps
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
ipv4Props Ipv4Props 0..1 aggr Configuration options for IPv4.
ipv6Props Ipv6Props 0..1 aggr Configuration options for IPv6.
Class Ipv4Props
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class specifies the configuration options for IPv4.
Base ARObject
Attribute Type Mult. Kind Note
arpProps Ipv4ArpProps 0..1 aggr Configuration properties for the ARP (Address Resolution
Protocol).
autoIpProps Ipv4AutoIpProps 0..1 aggr Configuration options for Auto-IP (automatic private IP
addressing).
fragmentation Ipv4Fragmentation 0..1 aggr Configuration options for IPv4 packet fragmentation/
Props Props reassembly.
Class Ipv4ArpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Specifies the configuration options for the ARP (Address Resolution Protocol).
Base ARObject
Attribute Type Mult. Kind Note
tcpIpArpNum PositiveInteger 0..1 attr This attribute specifies the number of gratuitous ARP
GratuitousArp replies which shall be sent on assignment of a new IP
OnStartup address.
tcpIpArpPacket Boolean 0..1 attr This attribute enables (TRUE) or disables (FALSE)
QueueEnabled support of the ARP Packet Queue according to IETF RFC
1122, section 2.3.2.2.
tcpIpArp TimeValue 0..1 attr This attribute specifies a timeout in seconds for the
Request validity of ARP requests. After the transmission of an
Timeout ARP request the TcpIp shall skip the transmission of any
further ARP requests to the same destination within a
duration of tcpIpArpRequestTimeout seconds. (IETF RFC
1122, section 2.3.2.1).
tcpIpArpTable TimeValue 0..1 attr This attribute specifies the timeout in seconds after which
EntryTimeout an unused ARP entry is removed.
Class Ipv4AutoIpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Specifies the configuration options for Auto-IP (automatic private IP addressing).
Base ARObject
Attribute Type Mult. Kind Note
tcpIpAutoIpInit TimeValue 0..1 attr This attribute specifies the time in seconds Auto-IP waits
Timeout at startup, before beginning with ARP probing. This delay
is used to give DHCP time to acquire a lease in case a
DHCP server is present.
Class Ipv4FragmentationProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Specifies the configuration options for IPv4 packet fragmentation/reassembly.
Base ARObject
Attribute Type Mult. Kind Note
tcpIpIp Boolean 0..1 attr Enables (TRUE) or disables (FALSE) support for
Fragmentation reassembling of incoming datagrams that are fragmented
RxEnabled according to IETF RFC 815 (IP Datagram Reassembly
Algorithms).
tcpIpIpNum PositiveInteger 0..1 attr Specifies the maximum number of IP fragments per
Fragments datagram.
tcpIpIpNum PositiveInteger 0..1 attr Specifies the maximum number of fragmented IP
ReassDgrams datagrams that can be reassembled in parallel.
tcpIpIpReass TimeValue 0..1 attr Specifies the timeout in [s] after which an incomplete
Timeout datagram gets discarded.
Class Ipv6FragmentationProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class specifies the configuration options for IPv6 packet fragmentation/reassembly.
Base ARObject
Attribute Type Mult. Kind Note
tcpIpIp PositiveInteger 0..1 attr Number of buffers that can be used for fragment
Reassembly reassembly. In case of a reassembly error or if not all
BufferCount fragments are received in time this buffer will be blocked
until the specified "Fragment Reassembly Timeout" has
been exceeded.
A value of 0 disables fragment reassembly.
tcpIpIp PositiveInteger 0..1 attr Size of each fragment tx buffer in bytes.
Reassembly
BufferSize
tcpIpIp PositiveInteger 0..1 attr Specifies the maximum number of consecutive data
Reassembly segments that can be managed in each reassembly
SegmentCount buffer. If all fragments are received in order, only one
segment will be needed.
To deal with fragments received out of order this value
should be configured bigger than 1.
tcpIpIp TimeValue 0..1 attr Specifies the timeout in seconds after which an
Reassembly incomplete datagram gets discarded.
Timeout
tcpIpIpTx PositiveInteger 0..1 attr These buffers will be used if the IpV6 receives packets
FragmentBuffer from the upper layer that do not fit into the MTU and thus
Count must be fragmented.
A value of 0 disables tx fragmentation.
tcpIpIpTx PositiveInteger 0..1 attr Size of each fragment tx buffer in bytes.
FragmentBuffer
Size
Class Ipv6NdpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class specifies the configuration options for the Neighbor Discovery Protocol for IPv6.
Base ARObject
Attribute Type Mult. Kind Note
tcpIpNdpDefault TimeValue 0..1 attr Configuration of the ReachableTime (s) specified in
ReachableTime [RFC4861 6.3.2. Host Variables].
tcpIpNdpDefault TimeValue 1 attr Configures the default value (s) for the RetransTimer
RetransTimer variable specified in [RFC4861 6.3.2. Host Variables].
tcpIpNdpDefault PositiveInteger 0..1 attr Maximum number of default router entries.
RouterListSize
tcpIpNdp Boolean 0..1 attr If enabled the NDP shall only process Neighbor
Defensive Advertisements which are received in reaction to a
Processing previously transmitted Neighbor Solicitation as well as
skipping updates to the Neighbor Cache based on
received Neighbor Solicitations. If disabled all Neighbor
Advertisements and Solicitations shall be processed as
specified in RFC4861.
tcpIpNdpDelay PositiveInteger 0..1 attr Delay before sending the first NUD probe in (s).
FirstProbeTime
tcpIpNdp PositiveInteger 0..1 attr Maximum number of entries in the destination cache.
Destination
CacheSize
tcpIpNdp Boolean 0..1 attr If enabled the default hop limit may be reconfigured
DynamicHop based on received Router Advertisements.
LimitEnabled
tcpIpNdp Boolean 0..1 attr Allow dynamic reconfiguration of link MTU via Router
DynamicMtu Advertisements.
Enabled
tcpIpNdp Boolean 0..1 attr If enabled the default Reachable Time value may be
Dynamic reconfigured based on received Router Advertisements.
ReachableTime
Enabled
tcpIpNdp Boolean 0..1 attr If enabled the default Retransmit Timer value may be
Dynamic reconfigured based on received Router Advertisements.
RetransTime
Enabled
tcpIpNdpMax PositiveInteger 0..1 attr Maximum random factor used for randomization
RandomFactor
tcpIpNdpMaxRtr TimeValue 0..1 attr Maximum delay before the first Router Solicitation will be
Solicitation sent after interface initialization in (s).
Delay
tcpIpNdpMaxRtr PositiveInteger 0..1 attr Maximum number of Router Solicitations that will be sent
Solicitations before the first Router Advertisement has been received.
tcpIpNdpMin PositiveInteger 0..1 attr Minimum random factor used for randomization
RandomFactor
tcpIpNdp Boolean 0..1 attr Neighbor Unreachability Detection is used to remove
Neighbor unused entries from the neighbor cache. This feature is a
Unreachability basic feature of NDP and should be turned on.
Detection
Enabled
tcpIpNdpNum PositiveInteger 0..1 attr Maximum number of multicast solicitations that will be
Multicast sent when performing address resolution.
Solicitations
tcpIpNdpNum PositiveInteger 0..1 attr Maximum number of unicast solicitations that will be sent
Unicast when performig Neighbor Unreachability Detection.
Solicitations
5
4
Class Ipv6NdpProps
tcpIpNdpPacket Boolean 0..1 attr Enables (TRUE) or disables (FALSE) support of a NDP
QueueEnabled Packet Queue according to IETF RFC 4861, section
7.2.2.
tcpIpNdpPrefix PositiveInteger 0..1 attr Maximum number of entries in the on-link prefix list.
ListSize
tcpIpNdp Boolean 0..1 attr If enabled the value of ReachableTime will be multiplied
Random with a random value between MIN_RANDOM_FACTOR
ReachableTime and MAX_RANDOM_FACTOR in order to prevent
Enabled multiple nodes from transmitting at exactly the same time.
tcpIpNdpRndRtr Boolean 0..1 attr If enabled the first router solicitation will be delayed
Solicitation randomly from [0...MAX_RTR_SOLICITATION_DELAY].
DelayEnabled Otherwise the first router solicitation will be sent after
exactly MAX_RTR_SOLICITATION_DELAY milliseconds.
tcpIpNdpRtr TimeValue 0..1 attr Interval between consecutive Router Solicitations in (s).
Solicitation
Interval
tcpIpNdpSlaac PositiveInteger 0..1 attr Number of Neighbor Solicitations that have to be
DadNumberOf unanswered in order to set an autoconfigurated address
Transmissions to PREFERRED (usable) state.
tcpIpNdpSlaac TimeValue 0..1 attr Sets the maximum value for the address configuration
Dad delay (s).
Retransmission
Delay
tcpIpNdpSlaac Boolean 0..1 attr If enabled transmission of the first DAD Neighbor
DelayEnabled Solicitation will be delayed by a random value from
[0...MAX_DAD_DELAY].
tcpIpNdpSlaac Boolean 0..1 attr Enable Optimistic Duplicate Address Detection (DAD)
OptimisticDad according to RFC4429.
Enabled
Table 3.88: Ipv6NdpProps
FibexElement
EcuInstance
+tcpIpProps 0..1
+udpProps
UdpProps
ARElement
0..1
EthTcpIpProps + udpTtl: PositiveInteger [0..1]
TcpProps
TcpIpIcmpv6Props
Class EthTcpIpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class is used to configure the EcuInstance specific TcpIp Stack attributes.
Tags:atp.recommendedPackage=EthTcpIpProps
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
tcpProps TcpProps 0..1 aggr TCP configuration properties
udpProps UdpProps 0..1 aggr UDP configuration properties
Class UdpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class specifies the configuration options for UDP (User Datagram Protocol).
Base ARObject
Attribute Type Mult. Kind Note
udpTtl PositiveInteger 0..1 attr Default Time-to-live value of outgoing UDP packets.
4
Class TcpProps
tcpReceive PositiveInteger 0..1 attr Default value of maximum receive window in bytes.
WindowMax
tcp TimeValue 0..1 attr Timeout in [s] before an unacknowledged TCP segment
Retransmission is sent again. If the timeout is disabled, no TCP segments
Timeout shall be retransmitted.
tcpSlowStart Boolean 0..1 attr Enables (TRUE) or disables (FALSE) support of TCP
Enabled slow start algorithm according to IETF RFC 5681.
tcpSynMaxRtx PositiveInteger 0..1 attr Maximum number of times that a TCP SYN is
retransmitted.
tcpSynReceived TimeValue 0..1 attr Timeout in [s] to complete a remotely initiated TCP
Timeout connection establishment, i.e. maximum time waiting in
SYN-RECEIVED for a confirming connection request
acknowledgement after having both received and sent a
connection request.
tcpTtl PositiveInteger 0..1 attr Default Time-to-live value of outgoing TCP packets.
Class EthTcpIpIcmpProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class is used to configure the EcuInstance specific ICMP (Internet Control Message Protocol)
attributes
Tags:atp.recommendedPackage=EthTcpIcmpProps
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
icmpV4Props TcpIpIcmpv4Props 0..1 aggr ICMPv4 configuration properties
5
4
Class EthTcpIpIcmpProps
icmpV6Props TcpIpIcmpv6Props 0..1 aggr ICMPv6 configuration properties
Class TcpIpIcmpv4Props
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class specifies the configuration options for ICMPv4 (Internet Control Message Protocol).
Base ARObject
Attribute Type Mult. Kind Note
tcpIpIcmp Boolean 0..1 attr This attribute enables or disables transmission of ICMP
V4EchoReply echo reply message in case of a ICMP echo reception.
Enabled
tcpIpIcmpV4Ttl PositiveInteger 0..1 attr This attribute is only relevant in case that ICMP (Internet
Control Message Protocol) is used. It specifies the default
Time-to-live value of outgoing ICMP packets.
Class TcpIpIcmpv6Props
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class specifies the configuration options for ICMPv6 (Internet Control Message Protocol).
Base ARObject
Attribute Type Mult. Kind Note
tcpIpIcmp Boolean 0..1 attr This attribute defines whether the echo reply is only
V6EchoReply transmitted in case that the incoming ICMPv6 Echo
Avoid Request (Pings) fits the MTU of the respective interface,
Fragmentation i.e. can be transmitted without IPv6 fragmentation.
tcpIpIcmp Boolean 0..1 attr This attribute enables or disables transmission of ICMP
V6EchoReply echo reply message in case of a ICMP echo reception.
Enabled
tcpIpIcmp PositiveInteger 0..1 attr Default Hop-Limit value of outgoing ICMPv6 packets.
V6HopLimit
tcpIpIcmp Boolean 0..1 attr This attribute Enables/Disables the transmission of
V6Msg Destination Unreachable Messages.
Destination
Unreachable
Enabled
tcpIpIcmp Boolean 0..1 attr If enabled an ICMPv6 parameter problem message will
V6Msg be sent if a received packet has been dropped due to
Parameter unknown options or headers that are found in the packet.
Problem
Enabled
Table 3.94: TcpIpIcmpv6Props
AUTOSAR supports the wake-up and sleep mechanism that complies with the Open
Alliance TC10 specification (OA TC10, see [17]).
[TPS_SYST_03052] Enabling of wake-up and sleep mechanism dThe wake-up
and sleep mechanism that complies with the Open Alliance TC10 specification (OA
TC10) is enabled by defining the reference from CouplingPort to EthernetWake-
upSleepOnDatalineConfig in the role wakeupSleepOnDatalineConfig.c()
FibexElement
EthernetWakeupSleepOnDatalineConfigSet
+ethernetWakeupSleepOnDatalineConfig 0..*
CommunicationController Identifiable
EthernetCommunicationController EthernetWakeupSleepOnDatalineConfig
+wakeupSleepOnDatalineConfig 0..1
+couplingPort 0..*
Identifiable
CouplingPort
The OA TC10 specifies service primitives to abstract the Ethernet hardware for ECUs
connected via Automotive Ethernet (<bandwith>Base-T1). Drivers use the service
primitives to trigger a wake-up and sleep on dataline and react on appropriate indi-
cations: Sleep.request, Sleep.indication, Wakeup.indication, Wakeup.request, Sleep-
Fail.indication, and SleepAbort.request.
Note:
• SleepAbort.request is not considered by AUTOSAR, as the AUTOSAR Network
Management ensures a synchronized shutdown on the network. Thus, there is
no need for an ECU to reject a Sleep.request upon the Network Management.
• Inhibit.Indication is not a service primitive, but an optional interface. This optional
interface is not considered in AUTOSAR.
Class EthernetWakeupSleepOnDatalineConfig
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note EthernetWakeupSleepOnDatalineConfigSet is the main element that aggregates different config set
regarding the wakeup and sleep on data line.
An EthernetWakeupSleepOnDatalineConfigSet could aggregate multiple different configurations
regarding the wakeup and sleep on dataline (EthernetWakeupSleepOnDatalineConfig).
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
sleepMode TimeValue 0..1 attr Delay in seconds to perform a sleep request if the
ExecutionDelay Ethernet hardware (PHY) detect a pending wake-up. This
is used to avoid the race condition, if a sleep was
requested while a wake-up of a neighboring PHY was
received via a local wake-up connection (e.g. I/O pin).
sleepRepetition TimeValue 0..1 attr Delay in seconds for a repetition of a sleep request. This
DelayOfSleep is used to retry a synchronized shutdown of the
Request connected Ethernet hardware (PHY) of the link partner.
sleep PositiveInteger 0..1 attr Count of repetitions for a sleep on dataline. If a sleep is
RepetitionsOf rejected by the linked communication partner, the sleep is
SleepRequest repeated until the count of repetitions exceed. If count of
repetitions exceed, the Ethernet hardware (PHY) transit
to sleep without acknowledgement of the connected link
partner.
wakeupForward Boolean 0..1 attr If enabled, then a remote wake-up received on the
LocalEnabled physical dataline (e.g. 100BASE-T1) is forwarded as local
wake-up (e.g. via an I/O pin). If disabled, then a remote
wake-up is not forwarded as local wake-up.
wakeupForward Boolean 0..1 attr If enabled, then a local wake-up is forwarded to the
RemoteEnabled physical dataline (e.g. 100BASE-T1). If disabled, then a
local wake-up is not forwarded to the physical dataline.
wakeupLocal TimeValue 0..1 attr Specify the detection time if a local wake-up in seconds is
DetectionTime present on the local wake-up connection (e.g. I/O pin). A
local wake-up has to be present at least for wakeupLocal
DetectionTime to be detected a valid local wake-up.
wakeupLocal TimeValue 0..1 attr Specify the duration of a local wake-up in seconds to be
DurationTime present on the local wake-up connection (e.g. I/O pin).
wakeupLocal Boolean 0..1 attr If enabled, then a local wake-up received via a local
Enabled connection (e.g. I/O pin) shall be detected by the Ethernet
hardware (PHY). If disabled, Ethernet hardware is not
reacting on a local wake-up.
wakeupRemote Boolean 0..1 attr If enabled, then a remote wake-up received via the
Enabled physical dataline (e.g. 100BASE-T1) shall be detected by
the Ethernet hardware (PHY). If disabled, Ethernet
hardware is not reaction on a remote wake-up.
wakeup TimeValue 0..1 attr Delay in seconds for a repetition of a wake-up. This is
RepetitionDelay used to increase the reliability in the network, such that
OfWakeup an ECU which initiates the wake-up does repeat the
Request wake-up and increase the probability that affected ECUs
receive the wake-up.
wakeup PositiveInteger 0..1 attr Count of repetitions for a wake-up. This is used to
RepetitionsOf increase the reliability in the network, such that an ECU
Wakeup which initiates the wake-up does repeat the wake-up and
Request increase the probability that affected ECUs receive the
wake-up.
Class EthernetWakeupSleepOnDatalineConfigSet
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class is the main element that aggregates different config set regarding the ethernet wakeup
and sleep on data line.
Tags:atp.recommendedPackage=EthernetWakeupSleepOnDatalineConfigSets
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
ethernet EthernetWakeupSleep * aggr The relationship defines a collection of EthernetWakeup
WakeupSleep OnDatalineConfig SleepOnDatalineConfig configurations which are
OnDataline available.
Config
An Ethernet ECU which wants to communicate with other ECUs within the Ether-
net switched network topology has to trigger a wake-up on the network to propagate
the communication request to the communication partners. The ECU which triggers
the wake-up is the requesting ECU. The requesting ECU calls the service primitive
Wakeup.request to trigger a wake-up. The wake-up is transmitted via the physical
dataline (e.g. 100BASE-T1) to the connected link partner. The wake-up could be a
wake-up pulse (WUP), Figure
if the 4link
PHYtoofthe connected
requesting ECUlink partner
transmit is down,
a wake-up or a
on the wake-up
network
request (WUR), if the link is up (link is already established).
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.19: While the link is down on the connected dataline, the PHY of ECU1
<< sublinetransmit
>>
22 October
2020
1
a wake-up on the network
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.20: Switch1 is woken up by the PHY that received the wake-up. <<
The
sublinereceived
>>
22 October
2020
2
wake-up on the network is forwarded as local wake-up to the neighboring PHYs
In multi-PHY and Ethernet switch scenarios, a received wake-up is most likely for-
warded to all connected link partners (other datalines) without host ECU (ECU that
maintain a Ethernet switch) involvement
Figure 6 to fulfill
The propagated wake-upis propagation
local wake-up time
forwarded by the require- PHYs as
neighboring
ments. WUP to the connected ECUs
receiving
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.21: The propagated local wake-up is forwarded by the neighboring PHYs
<< subline >>
22as
October
2020
3
WUP to the connected ECUs (ECU2, ECU3 and Switch2)
The forwarding behavior of each PHY can be modelled in the SystemTemplate. Each
PHY is modelled as CouplingPort. Each CouplingPort could enable the OA
TC10 compliant wake-up and sleep on dataline by defining a wakeupSleepOn-
DatalineConfig reference.
An ECU which is ready to go to sleep calls the service primitive Sleep.request (ECU1).
The sleep request is transmitted via the physical dataline (e.g. 100BASE-T1) to the
connected communication partner as LPS (low power sleep signal), here Switch1.
Please note: LPS are send as continues burst with respect to the specified timing
in OA TC10.
receiving
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.22: ECU1 triggers a Sleep.request and the Ethernet hardware of <<ECU1 23 October
subline >> sends
2020
4
LPS on the dataline
The receiving Ethernet hardware (PHY) generates a Sleep.indication to notify the re-
ceiving ECU (here Switch1) that the Ethernet hardware (PHY) of the requesting ECU1
is requesting to go to sleep. The receiving Ethernet hardware (PHY) of the connected
communication partner follow the defined PHY power mode sequence described in
OA TC10 and acknowledge Figurethe received Sleep.request
7 Sleep.request with a Sleep.request back to
ackknowledgement
requesting ECU (ECU1) with respect to the specified timings in OA TC10.
receiving
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.23: Ethernet hardware (PHY) of Switch1 receives LPS and acknowledges
<< subline >> the 22 October
2020
5
indicated Sleep.request of ECU1 by sending back LPS to ECU1
If the requesting ECU (ECU1) received a Sleep.request from the receiving ECU
(Switch1) within the specified time of OA TC10 the Ethernet hardware of both ECUs
(requesting and receiving ECU) transit to sleep state, i.e. the Ethernet hardware of
both, ECU1 and Switch1 transit to a low power down mode and the link connection is
down.
receiving
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.24: ECU1 send and receive LPS with respect to the specified timings
<< subline >> in OA
22 October
2020
6
TC10 and therefore the Etherent hardware (PHY) of ECU1 and Switch1 transit to a low
power sleep mode and the link of the dataline is down
ECUs which participate in an AUTOSAR network management (NM), switch off their
communication hardware according to already defined NM shutdown process. Thus,
an additional handling in the AUTOSAR stack for an Ethernet communication chan-
nel to react on a Sleep.indication upon the network management shutdown process is
superfluous. The Sleep.indication is only evaluated by ECUs which have Ethernet-
CommunicationController.slaveActAsPassiveCommunicationSlave set to
TRUE (see details in chapter 3.3.6.8.4).
If the NM decides to go to sleep, then the linked ECUs may switch off their connected
hardware at slightly different points in time (e.g. Ethernet switches switch off their Eth-
ernet switch ports with a configured time delay (see couplingPortSwitchoffDe-
lay)). The ECU which earlier switches off the communication hardware will trigger a
Sleep.request. The connected Ethernet hardware (PHY) of the communication partner
will go to sleep according to the defined PHY power mode sequence described in OA
TC10. Afterwards the ECU which later switches off its Ethernet hardware has to check
the power mode of its Ethernet hardware (PHY). If the Ethernet hardware is already in
sleep mode, then the ECU will leave the hardware state as it is and do not trigger a
Sleep.request. Otherwise the ECU will trigger a Sleep.request.
receiving
Switch1 Switch2
ECU3 ECU6
ECU2 ECU5
requesting
ECU1 ECU4
Figure 3.25: ECU1 (requesting ECU) is already in power down mode, << subline >> while
22 October
2020
7
Switch1 is waiting until couplingPortSwitchoffDelay has expired. If coupling-
PortSwitchoffDelay has expired, Switch1 will detect that the Ethernet hardware is
already in sleep state and therefore will NOT trigger a Sleep.request
10BASE-T1S is a 10Mbps Single pair Ethernet physical layer technology that is spec-
ified by IEEE 802.3cg. The multi-drop feature of 10BASE-T1S allows the usage of
a single bus-line to connect ECUs. The PLCA (Physical Layer Collision Avoidance)
mechanism avoids collision on PHY level and offers a fair medium access to every
participant.
All nodes are identified on the bus via nodeIDs (plcaLocalNodeId) starting from
0 (standardized as the referenced head-node). The Head-Node on the PLCA based
network controls the traffic on the bus.
[TPS_SYST_02299] Modeling of 10Base-T1S networks dThe modeling of a
10BASE-T1S bus in a System Description is done with a CouplingPortConnec-
tion that points with the nodePort reference to CouplingPorts that represent the
10Base-T1S PHYs connected to the network.c()
[constr_5157] Mixing of Point-To-Point and Multi-Drop is not allowed in a Cou-
plingPortConnection dThe CouplingPortConnection is allowed to reference
a CouplingPort either:
• in the role firstPort and/or secondPort or
• in the role nodePort
c()
In other words a CouplingPortConnection shall not use the firstPort and/or
secondPort reference (Point-to-Point) and the nodePort reference (Multi-Drop) at
the same time.
The PLCA runs cycles on the network. Within each cycle each node with a unique
plcaLocalNodeId is assigned with a transmit opportunity. The plcaTransmitOp-
portunityTimer is identical for all nodes and is therefore configured in the Cou-
plingPortConnection.
The cycle starts with a BEACON that is sent by the head node. During the transmit
opportunity the node is able to transmit data or to skip its transmit opportunity. If a node
does not need to transmit data the next node is allowed to start its transmit opportunity
earlier.
At each BEACON reception client nodes restart their currentNodeID counter and in-
crement it every time a Transmit Opportunity is used or yield. If the currentNodeID
matches the plcaLocalNodeId, the corresponding node is allowed to transmit an
Ethernet frame for this Transmit Opportunity. The plcaTransmitOpportunity-
Timer is reset for every Transmit Opportunity once the transceiver detects activity
on the bus and recognizes the transmission of data. At each Transmit Opportunity no
more than one single Ethernet frame will be sent. On the other hand, if a node has the
necessity to sent more packets in one Transmit Opportunity, a burst mode can be used.
The burst mode is configured by plcaMaxBurstTimer and plcaMaxBurstCount.
[TPS_SYST_02300] Enabling of PLCA on a CouplingPort dThe PLCA (Physi-
cal Layer Collision Avoidance) mechanism is enabled on a CouplingPort if the
plcaProps are aggregated by the same CouplingPort.c()
Class PlcaProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note This meta-class allows to configure the PLCA (Physical Layer Collision Avoidance) in case 10-BASE-T1S
Ethernet is used and PLCA is enabled on the CouplingPort (PHY).
Base ARObject
Attribute Type Mult. Kind Note
plcaLocalNode PositiveInteger 0..1 attr This attribute defines the node ID when the PLCA mode
Id for 10BASE-T1S is used.
plcaMaxBurst PositiveInteger 0..1 attr Defines maximum packets allowed to be transmitted
Count within a TO. This configuration can be different from one
ECU to another within the PLCA mixed segment.
plcaMaxBurst PositiveInteger 0..1 attr Limits the burst frames in bit time. This configuration can
Timer be different from one ECU to another within the PLCA
mixed segment. For PLCA burst mode to work properly
this timer should be set greater than one IPG.
:CouplingPortConnection
plcaLocalNodeCount = 4
plcaTransmitOpportunityTimer = 20
+couplingPortConnection
:EthernetCluster
3.3.8 CDD
The System Template allows the integration of custom bus systems on the topology
level.
[TPS_SYST_01127] CDD Topology support dThe elements UserDefinedClus-
ter, UserDefinedPhysicalChannel, UserDefinedCommunicationConnec-
tor and UserDefinedCommunicationController can be used to describe al-
ternative communication technologies (e.g. I2C, USB, serial line) that are integrated in
AUTOSAR as Complex Drivers.c(RS_SYST_00044)
The Pdu-based communication via Complex Drivers is described in chapter 6.14.
+managedPhysicalChannel 0..*
FibexElement
«atpVariation» Identifiable
CommunicationCluster +physicalChannel PhysicalChannel
«atpVariation»
+commConnector 0..*
Identifiable Identifiable
+commController CommunicationConnector
«atpVariation»
CommunicationController + createEcuWakeupSource: Boolean [0..1]
1
+ wakeUpByControllerSupported: Boolean [0..1] + dynamicPncToChannelMappingEnabled: Boolean [0..1]
+ pncFilterArrayMask: PositiveInteger [0..*] {ordered}
+ pncGatewayType: PncGatewayTypeEnum [0..1]
Class UserDefinedPhysicalChannel
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::CddSupport
Note This element allows the modeling of arbitrary Physical Channels.
Base ARObject, Identifiable, MultilanguageReferrable, PhysicalChannel, Referrable
5
4
Class UserDefinedPhysicalChannel
Attribute Type Mult. Kind Note
– – – – –
Table 3.99: UserDefinedPhysicalChannel
Class UserDefinedCommunicationConnector
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::CddSupport
Note This element allows the modeling of arbitrary Communication Connectors.
Base ARObject, CommunicationConnector , Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 3.100: UserDefinedCommunicationConnector
3
HwPinGroup which is of category Communication Port
4
HwElement which is of category Communication Controller
System Mapping part of the System Description, where system-wide mapping deci-
sions are described, like e.g. the the mapping of Software Components onto ECUs or
the mapping of Data Element Prototypes onto System Signals (for the System Map-
ping, see chapter 5).
Identifiable
CommunicationControllerMapping
+communicationController «atpVariation»
CommunicationController +commController
1
+ wakeUpByControllerSupported: Boolean [0..1] 1
+commControllerMapping 1..*
+commController 1..*
«atpVariation»
FibexElement
EcuInstance
«atpVariation»
«atpVariation»
+connector *
+hwPinGroup 0..* +hwPortMapping 1..* Identifiable
HwDescriptionEntity CommunicationConnector
HwPortMapping
Identifiable +hwCommunicationPort +communicationConnector
HwPinGroup + createEcuWakeupSource: Boolean [0..1]
1 1 + dynamicPncToChannelMappingEnabled: Boolean [0..1]
+ pncFilterArrayMask: PositiveInteger [0..*] {ordered}
+ pncGatewayType: PncGatewayTypeEnum [0..1]
Figure 3.28: Mapping of topology description elements in the System Template onto
hardware elements defined in the ECU Resource Template (ECUResourceMapping)
5 Mapping
A central part of the system generation process is the mapping of software components
(SwComponentPrototypes) to ECUs, and the subsequent mapping of the commu-
nication between these software components to bus frames. Input to the software
component mapping is the RootSwCompositionPrototype, which describes which
software components have to be mapped, and the System Topology, which defines the
ECU instances that are available as mapping targets. Once this mapping is done, also
the communication matrix has to be taken into account for the next mapping step, the
mapping of data elements exchanged between software components to bus frames.
This communication matrix may either be predefined, or may be generated as part of
this second mapping step. In the metamodel, different aspects of these mapping are
aggregated by the meta class SystemMapping, as shown in Figure 5.1.
Identifiable Identifiable
CpSoftwareClusterResourceToApplicationPartitionMapping ApplicationPartitionToEcuPartitionMapping
«atpVariation,atpSplitable» ComManagementMapping
«atpVariation,atpSplitable»
+comManagementMapping 0..*
«atpVariation,atpSplitable»
«atpVariation,atpSplitable»
Identifiable «atpVariation»
«atpVariation,atpSplitable» CryptoServiceMapping Identifiable
+cryptoServiceMapping 0..* SwcToImplMapping
+swImplMapping *
«atpVariation,atpSplitable»
«atpVariation»
Identifiable
SystemMapping
«atpVariation»
«atpVariation» «atpVariation»
+dataMapping * «atpVariation»
ECUMapping
+pncMapping *
+swCompToEcuMapping
Describable +mappingConstraint *
«atpVariation» PncMapping «atpVariation,atpSplitable»
MappingConstraint
«atpVariation»
0..* +swMapping *
ComponentSeparation ComponentClustering
Identifiable
SwcToEcuMapping
• The CpSoftwareClusterResourceToApplicationPartitionMapping
meta-class maps a Software Cluster resource to an Application Partition (see
chapter 5.5)
• Finally, the SwcToImplMapping meta-class is used to assign one Implemen-
tation to one or more SwComponentPrototypes (see chapter 5.1.2).
Class SystemMapping
Package M2::AUTOSARTemplates::SystemTemplate
Note The system mapping aggregates all mapping aspects (mapping of SW components to ECUs, mapping of
data elements to signals, and mapping constraints).
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
application ApplicationPartitionTo * aggr Mapping of ApplicationPartitions to EcuPartitions
PartitionToEcu EcuPartitionMapping
Stereotypes: atpSplitable; atpVariation
Partition
Tags:
Mapping
atp.Splitkey=applicationPartitionToEcuPartition
Mapping.shortName, applicationPartitionToEcuPartition
Mapping.variationPoint.shortLabel
vh.latestBindingTime=postBuild
appOsTask AppOsTaskProxyToEcu * aggr Mapping of an OsTaskProxy that was created in the
ProxyToEcu TaskProxyMapping context of a SwComponent to an OsTaskProxy that was
TaskProxy created in the context of an Ecu.
Mapping
com ComManagement * aggr Mappings between Mode Management PortGroups and
Management Mapping communication channels.
Mapping
Stereotypes: atpVariation
Tags:vh.latestBindingTime=systemDesignTime
cryptoService CryptoServiceMapping * aggr This aggregation represents the collection of crypto
Mapping service mappings in the context of the enclosing System
Mapping.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=cryptoServiceMapping.shortName, crypto
ServiceMapping.variationPoint.shortLabel
vh.latestBindingTime=postBuild
dataMapping DataMapping * aggr The data mappings defined.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
ecuResource ECUMapping * aggr Mapping of hardware related topology elements onto their
Mapping counterpart definitions in the ECU Resource Template.
atpVariation: The ECU Resource type might be variable.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=systemDesignTime
j1939Controller J1939Controller * aggr Mapping of a J1939ControllerApplication to a J1939Nm
ApplicationTo ApplicationToJ1939Nm Node.
J1939NmNode NodeMapping
Mapping
mapping MappingConstraint * aggr Constraints that limit the mapping freedom for the
Constraint mapping of SW components to ECUs.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=systemDesignTime
pncMapping PncMapping * aggr Mappings between Virtual Function Clusters and Partial
Network Clusters.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=systemDesignTime
5
4
Class SystemMapping
portElementTo PortElementTo * aggr maps a communication resource to CP Software Clusters
ComResource Communication
Stereotypes: atpSplitable; atpVariation
Mapping ResourceMapping
Tags:
atp.Splitkey=portElementToComResourceMapping.short
Name, portElementToComResourceMapping.variation
Point.shortLabel
atp.Status=draft
vh.latestBindingTime=postBuild
resource EcuResourceEstimation * aggr Resource estimations for this set of mappings, zero or
Estimation one per ECU instance.
atpVariation: Used ECUs are variable.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=systemDesignTime
resourceTo CpSoftwareCluster * aggr Maps a Software Cluster resource to an Application
Application ResourceToApplication Partition to restrict the usage.
Partition PartitionMapping
Stereotypes: atpSplitable; atpVariation
Mapping
Tags:
atp.Splitkey=resourceToApplicationPartition
Mapping.shortName, resourceToApplicationPartition
Mapping.variationPoint.shortLabel
atp.Status=draft
vh.latestBindingTime=systemDesignTime
rteEvent RteEventInSystem * aggr Separation constraint that limits the mapping freedom for
Separation Separation the mapping of RteEvents to OsTasks in the System
context.
rteEventToOs RteEventInSystemToOs * aggr Constraint that enforces a mapping of RteEvent to a
TaskProxy TaskProxyMapping particular OsTask in the System context.
Mapping
signalPath SignalPathConstraint * aggr Constraints that limit the mapping freedom for the
Constraint mapping of data elements to signals.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=systemDesignTime
softwareCluster CpSoftwareClusterTo * aggr maps a service resource to CP Software Clusters
ToResource ResourceMapping
Stereotypes: atpSplitable; atpVariation
Mapping
Tags:
atp.Splitkey=softwareClusterToResourceMapping.short
Name, softwareClusterToResourceMapping.variation
Point.shortLabel
atp.Status=draft
vh.latestBindingTime=preCompileTime
swCluster CpSoftwareClusterTo * aggr The mappings of SW cluster to ECUs.
Mapping EcuInstanceMapping
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=swClusterMapping.shortName, swCluster
Mapping.variationPoint.shortLabel
atp.Status=draft
vh.latestBindingTime=systemDesignTime
swcTo SwcToApplication * aggr Allows to map a given SwComponentPrototype to a
Application PartitionMapping formally defined partition at a point in time when the
Partition corresponding EcuInstance is not yet known or defined.
Mapping
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=swcToApplicationPartitionMapping.short
Name, swcToApplicationPartitionMapping.variation
Point.shortLabel
vh.latestBindingTime=postBuild
5
4
Class SystemMapping
swImplMapping SwcToImplMapping * aggr The mappings of AtomicSoftwareComponent Instances to
Implementations.
atpVariation: Derived, because SwcToEcuMapping is
variable.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
swMapping SwcToEcuMapping * aggr The mappings of SW components to ECUs.
atpVariation: SWC shall be mapped to other ECUs.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
c()
More information about the nature and usage of the symbolic name of a software-
component can be found in [TPS_SWCT_01110], [TPS_SWCT_01000], and [TPS_-
SWCT_01635].
The restriction in [constr_5116] does not apply for ServiceSwComponentTypes,
ComplexDeviceDriverSwComponentTypes, and EcuAbstractionSwCompo-
nentTypes. The reason is that for the Basic Software that utilizes standardized In-
terfaces and AUTOSAR Interfaces needs a SwComponentType and a Basic Software
Description to describe both kinds of Interfaces but only one header file for memory
allocation is expected. So for example the definition of a “Dem” Service SWC and a
“Dem” Basic Module Description defines a legal naming in AUTOSAR.
«atpVariation,atpSplitable»
+mapping 0..*
Identifiable
SystemMapping
«atpVariation»
+swMapping 0..*
+partition 0..*
ARElement +processingUnit Identifiable
HwDescriptionEntity EcuPartition
0..1
HwElement
+controlledHwElement + execInUserMode: Boolean
0..1
Class SwcToEcuMapping
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note Map software components to a specific ECU Instance and optionally to a processing unit and to an Ecu
Partition. For each combination of ECUInstance and the optional ProcessingUnit and the optional Ecu
Partition and the optional SensorActuator only one SwcToEcuMapping shall be used.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
component SwComponent 1..* iref References to the software component instances that are
Prototype mapped to the referenced ECUInstance. If the
component prototype referenced is a composition, this
indicates that all atomic software components within the
composition are mapped to the ECU.
If there is aditionally a mapping of some SwComponent
Prototype INSIDE the Composition to another ECU
Instance the inner mapping overrides the outer mapping.
InstanceRef implemented by:ComponentInSystem
InstanceRef
controlledHw HwElement 0..1 ref Optional mapping of SwComponentPrototypes that are
Element typed by SensorActuatorSwComponentType to a Hw
Element with category SensorActuator.
ecuInstance EcuInstance 1 ref Reference to a specific ECU Instance description.
processingUnit HwElement 0..1 ref Optional mapping of software components to individual
microcontroller cores residing in one ECU. A
microcontroller core is described in the ECU Resource
Template by the HwElement of HwCategory Processing
Unit.
«atpVariation,atpSplitable»
+mapping 0..*
Identifiable
SystemMapping
«atpVariation»
+swImplMapping *
Identifiable
SwcToImplMapping
«instanceRef»
AtpPrototype Implementation
SwComponentPrototype SwcImplementation
Identifiable
SystemMapping
«atpVariation,atpSplitable» «atpVariation,atpSplitable»
«instanceRef»
AtpPrototype Identifiable
EcuPartition +partition
SwComponentPrototype
+ execInUserMode: Boolean 0..*
Class SwcToApplicationPartitionMapping
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note Allows to map a given SwComponentPrototype to a formally defined partition at a point in time when the
corresponding EcuInstance is not yet known or defined.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
application ApplicationPartition 0..1 ref Reference to an ApplicationPartition to which a Sw
Partition ComponentPrototype is mapped.
swComponent SwComponent 0..1 iref References to the software component instances that are
Prototype Prototype mapped to the referenced ApplicationPartition. If the
component prototype referenced is a composition, this
indicates that all atomic software components within the
composition are mapped to the ApplicationPartition.
If there is additionally a mapping of some SwComponent
Prototype INSIDE the Composition to another Application
Partition the inner mapping overrides the outer mapping.
InstanceRef implemented by:ComponentInSystem
InstanceRef
Table 5.4: SwcToApplicationPartitionMapping
Class ApplicationPartition
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note ApplicationPartition to which SwComponentPrototypes are mapped at a point in time when the
corresponding EcuInstance is not yet known or defined. In a later methodology step the Application
Partition can be assigned to an EcuPartition.
Tags:atp.recommendedPackage=ApplicationPartitions
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 5.5: ApplicationPartition
Class ApplicationPartitionToEcuPartitionMapping
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note Maps ApplicationPartitions to EcuPartitions. With this mapping an OEM has the option to predefine an
allocation of Software Components to EcuPartitions in the System Design phase. The final and complete
assignment is described in the OS Configuration.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
application ApplicationPartition * ref Reference to ApplicationPartitions that are mapped to an
Partition EcuPartition.
ecuPartition EcuPartition 0..1 ref Reference to EcuPartition to which the Application
Partitions are assigned.
Class EcuPartition
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note Partitions are used as error containment regions. They permit the grouping of SWCs and resources and
allow to describe recovery policies individually for each partition. Partitions can be terminated or
restarted during run-time as a result of a detected error.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
execInUser Boolean 1 attr A partition can execute either in CPU user mode (execIn
Mode UserMode = TRUE) or supervisor mode (execInUser
Mode = FALSE). In user mode, the partition has a limited
access to memory, to memory mapped hardware and to
CPU. In user mode, the partition is mapped to a
non-trusted OS-Application.
0..1
ComponentClustering ComponentSeparation
* *
«instanceRef» «instanceRef»
5.1.4.1 ComponentClustering
Enumeration MappingScopeEnum
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note Defines the scope for the mapping constraints.
Literal Description
mappingScopeCore The mapping constraint applies to different Cores.
Tags:atp.EnumerationLiteralIndex=0
mappingScopeEcu The mapping constraint applies to different Ecus.
Tags:atp.EnumerationLiteralIndex=1
5
4
Enumeration MappingScopeEnum
mappingScope The mapping constraint applies to different Partitions.
Partition
Tags:atp.EnumerationLiteralIndex=2
5.1.4.2 ComponentSeparation
1
The only case where a component instance could be in both sets is if the ComponentSeparation
refers to two elements where one of them is a substructure of the other. Consider the case that Atomic
SW Component A is aggregated by composition B, which in turn is aggregated by composition C. Then
instance A is both in B and C. It is not a good idea to formulate a separation constraint stating that B and
C should not be on the same ECU.
Class ComponentSeparation
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note Constraint that forces the two referenced SW components (called A and B in the following) not to be
mapped to the same ECU, Core, Partition depending on the defined mappingScope attribute. If mapping
Scope is not specified then mappingScopeEcu shall be assumed.
If a SW component (e.g. A) is a composition, none of the atomic SW components making up the A
composition shall be mapped together with any of the atomic SW components making up the B
composition. Furthermore, A and B shall be disjoint.
Base ARObject, MappingConstraint
Attribute Type Mult. Kind Note
mappingScope MappingScopeEnum 0..1 attr This attribute indicates whether the Component
Separation mapping constraint applies to different ECUs,
partitions or cores. If this attribute is not specified then
mappingScopeEcu shall be assumed.
separated SwComponent 2 iref The two components that have to be mapped to different
Component Prototype ECUs
InstanceRef implemented by:ComponentInSystem
InstanceRef
Table 5.11: ComponentSeparation
J1939 is not restricted to mere communication protocols. It also specifies the com-
munication of software functions (a.k.a. J1939 Controller Applications) and thus has
a very dedicated view on the software of an automotive ECU. The approach taken by
J1939 with respect to software is very similar to the way AUTOSAR specifies software-
components.
However, J1939 uses a different terminology and associates such a software-
component with a predefined function. In addition, every function in J1939 has a stan-
dardized id. This function id is distributed by the Controller Application to the network
as part of the so-called "name" which is a unique identifier representing a Controller
Application within the J1939 network management.
Controller Applications, to some extent, fulfill the role of a "virtual ECU" since they are
visible as independent entities on a J1939 network. In terms of AUTOSAR modeling,
the role of a "virtual ECU" for J1939 Controller Applications is fulfilled by the meta-class
J1939NmNode.
In order to make use of the AUTOSAR modeling approach for J1939 it is very helpful to
associate a standardized function id with a software-component during an early phase
of a development project. This function id shall later be mapped to a J1939NmNode
with the identical J1939NmNode.nodeName.function.
Identifiable
SystemMapping
+j1939ControllerApplicationToJ1939NmNodeMapping 0..*
J1939ControllerApplicationToJ1939NmNodeMapping
+ functionId: PositiveInteger
«instanceRef»
+swComponentPrototype 0..1
AtpPrototype
SwComponentPrototype
Class J1939ControllerApplicationToJ1939NmNodeMapping
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note This meta-class represents the ability to map a J1939ControllerApplication to a J1939NmNode. Note that
this is similar but not identical to the mapping of SwComponentPrototypes to EcuInstances; for J1939 the
semantics of an EcuInstance itself is basically replaced by a J1939NmNode.
Base ARObject
Attribute Type Mult. Kind Note
j1939Controller J1939Controller 0..1 ref Reference to the J1939 Controller Application that is
Application Application mapped to the referenced J1939NmNode.
j1939NmNode J1939NmNode 0..1 ref J1939NmNode that is the target of the J1939Controller
ApplicationTo1939NmNodeMapping.
Class J1939ControllerApplication
Package M2::AUTOSARTemplates::SystemTemplate::SWmapping
Note This element represents a J1939 controller application.
Tags:atp.recommendedPackage=J1939ControllerApplications
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
functionId PositiveInteger 1 attr This attribute represents the numerical function id of the
J1939 controller application.
swComponent SwComponent 0..1 iref This represents the SwComponentPrototype (which is
Prototype Prototype typically typed by a CompositionSwComponentType) that
corresponds to the J1939ControllerApplication.
InstanceRef implemented by:ComponentInSystem
InstanceRef
Table 5.13: J1939ControllerApplication
This chapter defines the possibility to describe constraints for the mapping of
RTEEvents to OsTasks. The meta-class OsTaskProxy is used in the System De-
scription to represent an OsTask that is defined in the Ecu Configuration of the OS.
Class OsTaskProxy
Package M2::AUTOSARTemplates::SystemTemplate::RteEventToOsTaskMapping
Note This meta-class represents a proxy for an OsTask in the System Description.
Tags:atp.recommendedPackage=OsTaskProxies
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
period TimeValue 0..1 attr This attribute specifies the period in seconds of this task
in case of a cyclically activated task. Please note that this
attribute is informative and not directly relevant for the
AUTOSAR OS. But the attribute value can be mapped
into the OS configuration to support configuration work
flows using a fixed set of OsTasks.
preemptability OsTaskPreemptability 0..1 attr This attribute defines the preemptability of the task.
Enum
priority PositiveInteger 0..1 attr This attribute defines the priority of a task as a relative
value, i.e. the values show only the relative ordering of
the tasks.
Table 5.15: OsTaskProxy
Enumeration OsTaskPreemptabilityEnum
Package M2::AUTOSARTemplates::SystemTemplate::RteEventToOsTaskMapping
Note Enumeration that defines the possible preemptability values for OsTask.
Literal Description
5
4
Enumeration OsTaskPreemptabilityEnum
full Task is preemptable.
Tags:atp.EnumerationLiteralIndex=1
none Task is not preemptable.
Tags:atp.EnumerationLiteralIndex=0
The following figure shows the mapping approach where RTEEvents of Software Com-
ponent A are mapped to TaskProxy1 with offset 1 and 4 and RTEEvents of Software
Component B are mapped to TaskProxy2 with offset 2 and 3.
Both Software Components are mapped to the same EcuInstance and
AppOsTaskProxyToEcuTaskProxyMappings that are referencing the ecu-
TaskProxy are defining the execution order on the EcuInstance with the offset
attribute. According to the definition the RTEEvents of Software Component A (with
offset 1 and 4) are executed first. And the RTEEvents of Software Component B (with
offset 2 and 3) are executed afterwards.
offset = 1 offset = 2
SwcToEcuMapping EcuInstance
RteEventInCompositionTo RteEventInCompositionTo
OsTaskProxyMapping OsTaskProxyMapping
offset = 4 Offset = 3
This section describes constraints for the mapping of RTEEvents to OsTasks in the
context of a Software Composition.
[TPS_SYST_02368] RTEEvent pairing constraint in Software Composition con-
text dRTEEvents defined in the context of a CompositionSwComponentType that
are mapped by RteEventInCompositionToOsTaskProxyMappings to the same
OsTaskProxy shall be mapped together to the same OsTask. Optionally an order of
the RTEEvents in the OsTaskProxy can be defined with the offset attribute.c()
[TPS_SYST_02369] RTEEvent separation constraint in Software Composition
context dRTEEvents defined in the context of a CompositionSwComponentType
that are referenced by RteEventInCompositionSeparation are not allowed to be
mapped to the same OsTask.c()
ARElement
ARElement AtpBlueprint
SwComponentMappingConstraints AtpBlueprintable
AtpType
+swcMappingConstraint
SwComponentType
0..*
+rteEventToOsTaskProxyMapping 0..*
Identifiable
RteEventInCompositionToOsTaskProxyMapping FibexElement
EcuInstance
+ offset: PositiveInteger [0..1]
«atpSplitable»
Identifiable Identifiable
+rteEventSeparation RteEventInCompositionSeparation AppOsTaskProxyToEcuTaskProxyMapping
0..* + offset: Integer [0..1]
0..* +appOsTaskProxyToEcuTaskProxyMapping
Identifiable «enumeration»
OsTaskPreemptabilityEnum
SystemMapping
none
full
Class RteEventInCompositionToOsTaskProxyMapping
Package M2::AUTOSARTemplates::SystemTemplate::RteEventToOsTaskMapping
Note This meta-class is used to map an RteEvent to an OsTaskProxy in the context of a SwComposition.
Several RteEventInCompositionToOsTaskProxyMappings can be used to define a pairing constraint that
describes which RteEvents shall be mapped together into an OsTask. Optionally the relative position of
the RteEvents in the OsTask can be defined in the mapping.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
offset PositiveInteger 0..1 attr This attribute is used to describe the position of the Rte
Event in the OsTask as a relative value, i.e. the values
show only the relative position of the RteEvent in the Os
Task.
5
4
Class RteEventInCompositionToOsTaskProxyMapping
osTaskProxy OsTaskProxy 0..1 ref Reference to OsTaskProxy to which the RteEvent is
mapped.
rteEvent RTEEvent 0..1 iref Reference to RteEvent that is mapped to the OsTask
Proxy.
InstanceRef implemented by:RteEventInComposition
InstanceRef
Table 5.18: RteEventInCompositionToOsTaskProxyMapping
Class RteEventInCompositionSeparation
Package M2::AUTOSARTemplates::SystemTemplate::RteEventToOsTaskMapping
Note This meta-class is used to define a separation constraint in the context of a SwComposition. The
referenced RteEvents are not allowed to be mapped into the same OsTask.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
rteEvent RTEEvent * iref Reference to RteEvents that are not allowed to be
mapped into the same OsTask.
InstanceRef implemented by:RteEventInComposition
InstanceRef
Table 5.19: RteEventInCompositionSeparation
Identifiable FibexElement
RteEventInSystemToOsTaskProxyMapping EcuInstance
+ offset: Integer [0..1]
+rteEventToOsTaskProxyMapping 0..*
«atpSplitable»
«instanceRef»
Identifiable Identifiable
RteEventInSystemSeparation AppOsTaskProxyToEcuTaskProxyMapping
«enumeration»
Identifiable
OsTaskPreemptabilityEnum
SystemMapping
none
full
Class RteEventInSystemToOsTaskProxyMapping
Package M2::AUTOSARTemplates::SystemTemplate::RteEventToOsTaskMapping
Note This meta-class is used to map an RteEvent to an OsTaskProxy in the context of the System. Several Rte
EventToOsTaskProxyMappings can be used to define a pairing constraint that describes which Rte
Events shall be mapped together into an OsTask. Optionally the position of the RteEvents in the OsTask
can be defined.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
offset Integer 0..1 attr This attribute is used to describe the position of the Rte
Event in the OsTask as a relative value, i.e. the values
show only the relative position of the RteEvent in the Os
Task.
osTaskProxy OsTaskProxy 0..1 ref Reference to OsTaskProxy to which the RteEvent is
mapped.
5
4
Class RteEventInSystemToOsTaskProxyMapping
rteEvent RTEEvent 0..1 iref Reference to RteEvent that is mapped to the OsTask
Proxy.
InstanceRef implemented by:RteEventInSystem
InstanceRef
Table 5.20: RteEventInSystemToOsTaskProxyMapping
Class RteEventInSystemSeparation
Package M2::AUTOSARTemplates::SystemTemplate::RteEventToOsTaskMapping
Note This meta-class is used to define a separation constraint in the context of the System. The referenced
RteEvents are not allowed to be mapped into the same OsTask.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
rteEvent RTEEvent * iref Reference to RteEvents that are not allowed to be
mapped into the same OsTask.
InstanceRef implemented by:RteEventInSystem
InstanceRef
Table 5.21: RteEventInSystemSeparation
ARElement
AtpStructureElement
System
+mapping 0..*
Identifiable
SystemMapping
«atpVariation»
+dataMapping *
«enumeration» DataMapping
CommunicationDirectionType
in
out
SenderReceiverToSignalMapping SenderReceiverToSignalGroupMapping
TriggerToSignalMapping
SenderReceiverCompositeElementToSignalMapping ClientServerToSignalMapping
SenderReceiverTo SenderReceiverTo
ApplicationSwComponentType
SignalMapping SignalMapping
ApplicationSwComponentType
SenderReceiver
Interface
NvDataInterface
ApplicationSwComponentType NvBlockSwComponentType NvBlockSwComponentType
The figure 5.11 shows the scenario that is forbidden by [constr_5267]. The Port of
the NvBlockSwComponentType is delegated to the Ecu Root Composition by the
red connector. The VariableDataPrototype of the outer Port that is typed by
a SenderReceiverInterface is mapped to a SystemSignal for communication
over the network.
A scenario that would be allowed is shown in figure 5.12. Here the NvBlockSwCom-
ponentType is connected to an ApplicationSwComponentType in the same Ecu
Root Composition. Data that is communicated over the network is contained in an
additional Port of the ApplicationSwComponentType that is delegated to the outer
Port of the Composition for the definition of the DataMapping. In this scenario [con-
str_5266] and [constr_5267] are not violated.
SenderReceiver
Interface
Class SystemSignal
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note The system signal represents the communication system’s view of data exchanged between SW
components which reside on different ECUs. The system signals allow to represent this communication
in a flattened structure, with exactly one system signal defined for each data element prototype sent and
received by connected SW component instances.
Tags:atp.recommendedPackage=SystemSignals
5
4
Class SystemSignal
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
dynamicLength Boolean 1 attr The length of dynamic length signals is variable in
run-time. Only a maximum length of such a signal is
specified in the configuration (attribute length in ISignal
element).
physicalProps SwDataDefProps 0..1 aggr Specification of the physical representation.
SWC1 SWC2
SenderReceiverTo SenderReceiverTo
SignalMapping SignalMapping
SystemSignal
ISignal ISignal
ISignalToIPdu ISignalToIPdu
Mapping Mapping
CAN FlexRay
Please note that the term “effectively mapped” refers to the fact that the DataMapping
can refer to a dataElement in a "delegation" PortPrototype on the surface of a
rootSoftwareComposition of an Ecu Extract OR to PortPrototypes inside the
rootSoftwareComposition. Both ways shall be considered.
Figure 5.14: Example for data elements that are effectively mapped to the same System-
Signal
The different kinds of data mapping are described in the following sections in detail.
Please note that the usage of ImplementationDataTypes within an AnyIn-
stanceRef is described in detail in [2].
This section describes the relation between the VariableDataPrototype with prim-
itive datatypes and the SystemSignal (see Figure 5.15).
[TPS_SYST_02082] SenderReceiverInterface.dataElement is typed by an
ApplicationPrimitiveDataType of category VALUE or BOOLEAN and a
DataTypeMap exists dIf a SenderReceiverInterface.dataElement is typed by
an ApplicationPrimitiveDataType of category VALUE or BOOLEAN and a
DataTypeMap exists that points to the ApplicationPrimitiveDataType and an
ImplementationDataType of category VALUE or TYPE_REFERENCE that eventu-
ally references (via the SwDataDefProps.implementationDataType) an Imple-
mentationDataType of category VALUE, then this SenderReceiverInterface.
dataElement is a candidate for a primitive Data Mapping.c()
[TPS_SYST_02083] SenderReceiverInterface.dataElement is typed by an
ApplicationPrimitiveDataType of category STRING and a DataTypeMap
exists dIf a SenderReceiverInterface.dataElement is typed by an Appli-
cationPrimitiveDataType of category STRING and a DataTypeMap exists
that points to the ApplicationPrimitiveDataType and an Implementation-
DataType of category ARRAY or TYPE_REFERENCE that eventually references
(via the SwDataDefProps.implementationDataType) an Implementation-
DataType of category ARRAY with a subElement that either
• represents the platform type uint8 or
• references a SwBaseType with a SwBaseType.baseTypeDefinition.base-
TypeSize set to the value 8 and the SwBaseType.baseTypeDefinition.
baseTypeEncoding set to NONE,
then this SenderReceiverInterface.dataElement is a candidate for a primitive
Data Mapping.c()
[TPS_SYST_02084] SenderReceiverInterface.dataElement is typed by an
ApplicationArrayDataType and a DataTypeMap exists dIf a Sender-
ReceiverInterface.dataElement is typed by an ApplicationArrayDataType
and a DataTypeMap exists that points to the ApplicationArrayDataType and an
ImplementationDataType of category ARRAY or TYPE_REFERENCE that eventu-
ally references (via the SwDataDefProps.implementationDataType) an Imple-
mentationDataType of category ARRAY with a subElement that either
• represents the platform type uint8 or
• references a SwBaseType with a SwBaseType.baseTypeDefinition.base-
TypeSize set to the value 8 and the SwBaseType.baseTypeDefinition.
baseTypeEncoding set to NONE,
then this SenderReceiverInterface.dataElement is a candidate for a primitive
Data Mapping.c()
Please note that the mapping of an “old-world” variable-size array (see definition in
Software Component Template [5]) to a single SystemSignal is not supported by
AUTOSAR since the Rte_Send call does not include the IN parameter [length] and the
Rte_Receive API does not include the OUT parameter [length] any longer that was
used in former releases to pass the number of elements in the data element.
[constr_5113] Mapping of “old-world” variable size arrays to a single System-
Signal is not supported. dThe SenderReceiverToSignalMapping is not al-
lowed to map a dataElement that is typed by an “old-world” variable size array
defined by [TPS_SWCT_01641] and [TPS_SWCT_01642] (see definition in Software
Component Template [5]) to a single SystemSignal.c()
ARElement
AtpStructureElement
System
«atpVariation,atpSplitable»
+mapping 0..*
Identifiable
SystemMapping
«atpVariation»
+dataMapping *
DataMapping
ARElement
SenderReceiverToSignalMapping +systemSignal
SystemSignal
1
+ dynamicLength: Boolean
+dataElement AutosarDataPrototype
«instanceRef» 1 VariableDataPrototype
+signalToReceiverTextTableMapping
+senderToSignalTextTableMapping
0..1 0..1
TextTableMapping
Class SenderReceiverToSignalMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note Mapping of a sender receiver communication data element to a signal.
Base ARObject, DataMapping
Attribute Type Mult. Kind Note
dataElement VariableDataPrototype 1 iref Reference to the data element.
InstanceRef implemented by:VariableDataPrototypeIn
SystemInstanceRef
senderToSignal TextTableMapping 0..1 aggr This mapping allows for the text-table translation between
TextTable the sending DataPrototype that is defined in the Port
Mapping Prototype and the physicalProps defined for the System
Signal.
signalTo TextTableMapping 0..1 aggr This mapping allows for the text-table translation between
ReceiverText the physicalProps defined for the SystemSignal and a
TableMapping receiving DataPrototype that is defined in the Port
Prototype.
systemSignal SystemSignal 1 ref Reference to the system signal used to carry the data
element.
Table 5.24: SenderReceiverToSignalMapping
Class TextTableMapping
Package M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
Note Defines the mapping of two DataPrototypes typed by AutosarDataTypes that refer to CompuMethods of
category TEXTTABLE, SCALE_LINEAR_AND_TEXTTABLE or BITFIELD_TEXTTABLE.
Base ARObject
Attribute Type Mult. Kind Note
bitfieldTextTable PositiveInteger 0..1 attr This attribute can be used to support the mapping of bit
MaskFirst field to bit field, boolean values to bit fields, and vice
versa. The attribute defines the bit mask for the first
element of the TextTableMapping.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
bitfieldTextTable PositiveInteger 0..1 attr This attribute can be used to support the mapping of bit
MaskSecond field to bit field, boolean values to bit fields, and vice
versa. The attribute defines the bit mask for the second
element of the TextTableMapping.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
identical Boolean 0..1 attr If identicalMapping is set == true the values of the two
Mapping referenced DataPrototypes do not need any conversion of
the values.
mapping MappingDirectionEnum 0..1 attr Specifies the conversion direction for which the TextTable
Direction Mapping is applicable.
valuePair TextTableValuePair * aggr Defines a pair of values which are translated into each
other.
Table 5.25: TextTableMapping
If data transformation is used, the consistency of the composite data is assured by the
transformation.
A VariableDataPrototype typed by composite data type can be mapped to one
SystemSignal without any SystemSignalGroup if data transformation is used.
In that case any required mapping between the ApplicationCompositeElement-
DataPrototypes of the VariableDataPrototype of the connected PortProto-
types needs to be expressed by means of a PortInterfaceMapping attached to
the SwConnector connecting the two PortPrototypes and not by means of two
separated DataMappings (one referencing the VariableDataPrototype at the
PPortPrototype and the other one referencing the VariableDataPrototype at
the RPortPrototype).
During creation of a System Extract of the System Configuration Description or the
creation of an ECU Extract of the System Configuration Description, this PortInter-
faceMapping needs to be preserved in order to support proper deserializing trans-
formation at the receiver side (see chapter 13.4 and 14.2).
See chapter 7 for details how to enable data transformation.
In case the COM Based Transformer [18] is used the mapping from section 7.3.3 is
required.
DataMapping
+typeMapping 1
+complexTypeMapping +complexTypeMapping
SenderRecCompositeTypeMapping
0..1 0..1
SenderRecRecordTypeMapping SenderRecArrayTypeMapping
+senderToSignalTextTableMapping 0..1
TextTableMapping
0..1 0..1
AbstractImplementationDataTypeElement
ImplementationDataTypeElement
+implementationArrayElement
+implementationRecordElement
0..1
0..1
+recordElementMapping
*
IndexedArrayElement
SenderRecRecordElementMapping
+ index: Integer
+indexedArrayElement 1
+applicationRecordElement 0..1
ApplicationCompositeElementDataPrototype
ApplicationRecordElement
+applicationArrayElement 0..1
ApplicationCompositeElementDataPrototype
ApplicationArrayElement
Figure 5.16: Mapping of data elements with composite data types (SenderRecCompos-
iteTypeMapping)
4
Class SenderRecCompositeTypeMapping (abstract)
Base ARObject
Subclasses SenderRecArrayTypeMapping, SenderRecRecordTypeMapping
Attribute Type Mult. Kind Note
– – – – –
Table 5.27: SenderRecCompositeTypeMapping
Class SenderRecArrayTypeMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note If the ApplicationCompositeDataType is an Array, the "ArrayTypeMapping" will be used.
Base ARObject, SenderRecCompositeTypeMapping
Attribute Type Mult. Kind Note
arrayElement SenderRecArray * aggr Each ApplicationArrayElement shall be mapped on a
Mapping ElementMapping SystemSignal.
senderToSignal TextTableMapping 0..1 aggr This mapping allows for the text-table translation between
TextTable the sending DataPrototype that is defined in the Port
Mapping Prototype and the physicalProps defined for the System
Signal.
signalTo TextTableMapping 0..1 aggr This mapping allows for the text-table translation between
ReceiverText the physicalProps defined for the SystemSignal and a
TableMapping receiving DataPrototype that is defined in the Port
Prototype.
Class SenderRecRecordTypeMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note If the ApplicationCompositeDataType is a Record, the "RecordTypeMapping" will be used.
Base ARObject, SenderRecCompositeTypeMapping
Attribute Type Mult. Kind Note
recordElement SenderRecRecord * aggr Each ApplicationRecordElement shall be mapped on a
Mapping ElementMapping SystemSignal.
Class SenderRecRecordElementMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note Mapping of a primitive record element to a SystemSignal. If the VariableDataPrototype that is referenced
by SenderReceiverToSignalGroupMapping is typed by an ApplicationDataType the reference application
RecordElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the
reference implementationRecordElement shall be used. Either the implementationRecordElement or
applicationRecordElement reference shall be used.
If the element is composite, there will be no mapping to the SystemSignal (multiplicity 0). In this case the
RecordElementMapping element will aggregate the complexTypeMapping element. In that way also the
composite datatypes can be mapped to SystemSignals.
Base ARObject
Attribute Type Mult. Kind Note
application ApplicationRecord 0..1 ref Reference to an ApplicationRecordElement in the context
RecordElement Element of the dataElement or in the context of a composite
element.
complexType SenderRecComposite 0..1 aggr This aggregation will be used if the element is composite.
Mapping TypeMapping
implementation ImplementationData 0..1 ref Reference to an ImplementationRecordElement in the
RecordElement TypeElement context of the dataElement or in the context of a
composite element.
5
4
Class SenderRecRecordElementMapping
senderToSignal TextTableMapping 0..1 aggr This mapping allows for the text-table translation between
TextTable the sending DataPrototype that is defined in the Port
Mapping Prototype and the physicalProps defined for the System
Signal.
signalTo TextTableMapping 0..1 aggr This mapping allows for the text-table translation between
ReceiverText the physicalProps defined for the SystemSignal and a
TableMapping receiving DataPrototype that is defined in the Port
Prototype.
systemSignal SystemSignal 0..1 ref Reference to the system signal used to carry the primitive
ApplicationRecordElement.
Class IndexedArrayElement
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note This element represents exactly one indexed element in the array. Either the applicationArrayElement or
implementationArrayElement reference shall be used.
Base ARObject
Attribute Type Mult. Kind Note
applicationArray ApplicationArray 0..1 ref Reference to an ApplicationArrayElement in an array.
Element Element
implementation ImplementationData 0..1 ref Reference to an ImplementationDataTypeElement in an
ArrayElement TypeElement array.
index Integer 1 attr Position of an element in an array. Starting position is 0.
Record a
SystemSignalGroup a
Record b
Integer c SystemSignal c
Integer d
SystemSignal d
Record c SystemSignal f
Integer f SystemSignal g
Integer g
Figure 5.17: Mapping example for nested composite data types
- AUTOSAR Confidential -
205 of 2391 Document ID 63: AUTOSAR_TPS_SystemTemplate
1 20.03.2007 AUTOSAR_SystemTemplate
System Template
AUTOSAR CP R21-11
because signals apply only to atomic data items. Instead it contains a complex-
TypeMapping with two SenderRecRecordElementMappings for Integer c and In-
teger d. These two elements are mapped to SystemSignals.
Please note that a partial mapping of a data element typed by composite data type
in a PPortPrototype is also supported. If a VariableDataPrototype with a
composite data type in a PPortPrototype is mapped to a SystemSignalGroup
then it is allowed to map only a subset of elements of the composite data type that
are primitives to separate SystemSignals of the SystemSignalGroup. This means
that it is possible to transmit a subset of a composite data element in a ISignalGroup
over the network. Figure 5.18 shows a partial mapping example for nested composite
data types.
Figure 5.18: Partial mapping example for nested composite data types
(i.e. the direction is “in”) and the ArgumentDataPrototypes that are passed to
and returned from the operation (i.e. the direction is “inout”) are expected to be
mapped to the callSignal by the serializer.c()
[TPS_SYST_01149] Mapping of OUT and INOUT ArgumentDataPrototypes to
returnSignals dThe ArgumentDataPrototypes that are returned from the op-
eration (i.e. the direction is “out”) and the ArgumentDataPrototypes that are
passed to and returned from the operation (i.e. the direction is “inout”) are expected
to be mapped to the returnSignal by the serializer.c()
Please note that due to DataMapping restrictions the client-server communication
is only supported in AUTOSAR if the SOME/IP Transformer is used as serializer. In
SOME/IP the ApplicationErrors are part of the SOME/IP Header as Return Code
as described by [PRS_SOMEIP_00030] in [19]. This is the reason why the Applica-
tionErrors are not considered in the ClientServerToSignalMapping.
[TPS_SYST_01150] Mapping of returnSignal and callSignal to COM Signal
dIn the ECU Configuration of the AUTOSAR COM module the returnSignal and the
callSignal are expected to be mapped to COM Signals with the ComSignalType
UINT8_N or UINT8_DYN.c()
The ClientServerToSignalMapping can only map transformed data to System-
Signals because it contains no information how data shall be serialized, it only ref-
erences the primitive SystemSignal which shall contain the serialized data. How to
define the necessary information which serialization algorithm shall be applied can be
found in chapter 7. The implementation of this algorithm is provided via a BSW module.
DataMapping
ClientServerToSignalMapping
«instanceRef»
+clientServerOperation 1 +returnSignal 0..1 +callSignal 1
AtpStructureElement ARElement
Identifiable SystemSignal
ClientServerOperation
+ dynamicLength: Boolean
+ diagArgIntegrity: Boolean [0..1]
Class ClientServerToSignalMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note This element maps the ClientServerOperation to call- and return-SystemSignals.
5
4
Class ClientServerToSignalMapping
Base ARObject, DataMapping
Attribute Type Mult. Kind Note
callSignal SystemSignal 1 ref Reference to the callSignal to which the IN and INOUT
ArgumentDataPrototypes are mapped.
clientServer ClientServerOperation 1 iref Reference to a ClientServerOperation, which is mapped
Operation to a call SystemSignal and a return SystemSignal.
InstanceRef implemented by:OperationInSystem
InstanceRef
returnSignal SystemSignal 0..1 ref Reference to the returnSignal to which the OUT and
INOUT ArgumentDataPrototypes are mapped.
ClientServerToSignalMapping
returnSignal callSignal
VLAN 1 VLAN 2
(PhysicalChannel) (PhysicalChannel)
In the example in figure 5.20 a server offers his service on two VLANs (could be ac-
tual VLAN or dedicated EthernetCluster). When a call arrives at the server from
VLAN1 it will be propagated in the “CallISignal_VLAN1” to the RTE. The RTE takes
the call message and de-serializes the payload and calls the Server. The result of the
server is serialized and needs to be put into a return ISignal. But from just look-
ing at the available ISignals for the return it is not possible to determine whether
the result message has to be put into the result ISignal “ReturnISignal_VLAN1” or
“ReturnISignal_VLAN2”.
Thus the RTE needs to determine to which PhysicalChannel the call ISignal be-
longs and choose the return ISignal which is defined on the same PhysicalChan-
nel. The ISignalTriggering defines on which PhysicalChannel an ISig-
nal is transported, thus by determining which ISignalTriggering refers to the
ISignal (in the call example ISignal: “CallISignal_VLAN1”, ISignalTriggering:
“IST_CallVLAN1” ) it is clear that the PhysicalChannel “VLAN 1” is the source of
the call and thus the return message needs to go to an ISignal which is transported
on that PhysicalChannel.
If a Server offers a service on several PhysicalChannels then there are some con-
straints to be respected in order for the RTE, Com, and LdCom to work together prop-
erly:
• Define an own ISignal-Pair (call and return) for each PhysicalChannel the
service shall be offered on. These ISignals refer to the respective call and
return SystemSignals.
• Only one ISignalTriggering per ISignal: each ISignal shall only be ref-
erenced by up to one ISignalTriggering.
DataMapping
+dataElement AutosarDataPrototype
SenderReceiverCompositeElementToSignalMapping
«instanceRef» 0..1 VariableDataPrototype
+typeMapping 1
+complexTypeMapping +complexTypeMapping
SenderRecCompositeTypeMapping
0..1 0..1
SenderRecRecordTypeMapping SenderRecArrayTypeMapping
+senderToSignalTextTableMapping 0..1
TextTableMapping
0..1 0..1
AbstractImplementationDataTypeElement
ImplementationDataTypeElement
+implementationArrayElement
+implementationRecordElement
0..1
0..1
+recordElementMapping
SenderRecRecordElementMapping IndexedArrayElement
+ index: Integer
+indexedArrayElement
+applicationRecordElement 0..1 1
ApplicationCompositeElementDataPrototype
ApplicationRecordElement
+applicationArrayElement 0..1
ApplicationCompositeElementDataPrototype
+arrayElementMapping
ApplicationArrayElement
+systemSignal
Figure 5.21: Mapping of a Variable Data Prototype which is aggregated within a compos-
ite data type on a System Signal
ARElement
AtpStructureElement
System
«atpVariation,atpSplitable»
+mapping 0..*
Identifiable
SystemMapping
«atpVariation»
+dataMapping *
DataMapping
TriggerToSignalMapping
«instanceRef»
+trigger 1 +systemSignal 1
AtpStructureElement ARElement
Identifiable SystemSignal
Trigger
+ dynamicLength: Boolean
+ swImplPolicy: SwImplPolicyEnum [0..1]
Class TriggerToSignalMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note This meta-class represents the ability to map a trigger to a SystemSignal of size 0. The Trigger does not
transport any other information than its existence, therefore the limitation in terms of signal length.
Base ARObject, DataMapping
Attribute Type Mult. Kind Note
systemSignal SystemSignal 1 ref This is the SystemSignal taken to transport the Trigger
over the network.
Tags:xml.sequenceOffset=20
trigger Trigger 1 iref This represents the Trigger that shall be used to trigger
RunnableEntities deployed to a remote ECU.
Tags:xml.sequenceOffset=10
InstanceRef implemented by:TriggerInSystemInstance
Ref
Table 5.35: TriggerToSignalMapping
One task of the System Generator is to define the needed communication infrastructure
(e.g. ISignals, Pdus, Frames) between ECUs. The System Generator often has the
choice between alternative paths through the topology. In the example shown in Figure
5.23 the System Generator would have the choice between two paths (Path1: CAN3 or
Path2: CAN1-GW-CAN2) for a signal that is send by ECU2 and is received by ECU4.
If no further information is given the decision will be made e.g. by means of boundary
conditions like busload, transmissions speed, etc.
Path 2
Signal Mapping Constraints allow to further restrict or specify the path(s) a signal is
allowed to be transmitted over. A path is specified by an list of PhysicalChannels.
There exist four different constraints for signals regarding the signal path (see Figure
5.24):
[TPS_SYST_01041] CommonSignalPath definition dThe CommonSignalPath de-
scribes that two or more signals shall take the same path in the topology.c(RS_SYST_-
00017)
[TPS_SYST_01042] ForbiddenSignalPath definition dThe ForbiddenSignal-
Path describes the path that one or more signals shall not take in the topology, e.g. in
case of safety critical transmission.c(RS_SYST_00020)
[TPS_SYST_01043] PermissibleSignalPath definition dThe PermissibleSig-
nalPath describes the path one or more signals may take in the topology. If more than
one PermissibleSignalPath is defined for the same signal/operation attributes,
any of them may be chosen.c(RS_SYST_00019, RS_SYST_00016)
[TPS_SYST_01044] SeparateSignalPath definition dThe SeparateSignalPath
describes that two or more signals shall take separate paths in the topology e.g. in
case of redundant transmission.c(RS_SYST_00018)
It is also possible that the same signal is aggregated two times by the SeparateSig-
nalPath element to indicate that this signal should be transmitted redundantly over
two different paths.
The meta-model part, which describes the Communication Path constraints, will be
explained in the following sections.
ARElement
AtpStructureElement
System
«atpVariation,atpSplitable»
+mapping 0..*
Identifiable
SystemMapping
«atpVariation»
+signalPathConstraint *
SignalPathConstraint
5.2.2.1 CommonSignalPath
SignalPathConstraint
CommonSignalPath
+signal * +operation *
SwcToSwcSignal SwcToSwcOperationArguments
+ direction: SwcToSwcOperationArgumentsDirectionEnum
«instanceRef»
«instanceRef»
+dataElement 1 +operation 1
AutosarDataPrototype AtpStructureElement
VariableDataPrototype Identifiable
ClientServerOperation
«enumeration»
SwcToSwcOperationArgumentsDirectionEnum
in
out
Figure 5.25: Description of signals that shall take the same way in the topology (Com-
monSignalPath)
Class CommonSignalPath
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note The CommonSignalPath describes that two or more SwcToSwcSignals and/or SwcToSwcOperation
Arguments shall take the same way (Signal Path) in the topology.
Base ARObject, SignalPathConstraint
Attribute Type Mult. Kind Note
operation SwcToSwcOperation * aggr The arguments sent in one direction (either from client to
Arguments server or server to client) of the operations that shall take
the same signal path.
signal SwcToSwcSignal * aggr The SwcToSwcSignals that shall take the same way
(Signal Path) in the topology.
Class SwcToSwcSignal
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note The SwcToSwcSignal describes the information (data element) that is exchanged between two SW
Components. On the SWC Level it is possible that a SW Component sends one data element from one
P-Port to two different SW Components (1:n Communication). The SwcToSwcSignal describes exactly
the information which is exchanged between one P-Port of a SW Component and one R-Port of another
SW Component.
Base ARObject
Attribute Type Mult. Kind Note
dataElement VariableDataPrototype 2 iref Reference to a data element on the PPortPrototype and
to the same data element on the RPortPrototype.
InstanceRef implemented by:VariableDataPrototypeIn
SystemInstanceRef
Class SwcToSwcOperationArguments
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note The SwcToSwcOperationArguments describes the information (client server operation arguments, plus
the operation identification, if required) that are exchanged between two SW Components from exactly
one client to one server, or from one server back to one client. The direction attribute defines which
direction is described. If direction == IN, all arguments sent from the client to the server are described by
the SwcToSwcOperationArguments, in direction == OUT, it’s the arguments sent back from server to
client.
Base ARObject
Attribute Type Mult. Kind Note
direction SwcToSwcOperation 1 attr Direction addressed by this SwcToSwcClientServer
ArgumentsDirection Operation element.
Enum
operation ClientServerOperation 2 iref Reference to the operation at the client and at the server
side whose arguments are described by SwcToSwc
OperationArguments. The two ports referenced shall be
connected by a connector in the software component
description.
InstanceRef implemented by:OperationInSystem
InstanceRef
Table 5.38: SwcToSwcOperationArguments
Enumeration SwcToSwcOperationArgumentsDirectionEnum
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note Direction addressed by this element.
Literal Description
in IN (all IN and INOUT arguments)
Tags:atp.EnumerationLiteralIndex=0
out OUT (all OUT and INOUT arguments) .
Tags:atp.EnumerationLiteralIndex=1
5.2.2.2 ForbiddenSignalPath
SignalPathConstraint
ForbiddenSignalPath
+managedPhysicalChannel 0..*
«instanceRef» «instanceRef»
+dataElement 1 +operation 1
AutosarDataPrototype AtpStructureElement
VariableDataPrototype Identifiable
ClientServerOperation
Figure 5.26: Description of the signal path that a signal shall not take in the topology
(ForbiddenSignalPath)
Class ForbiddenSignalPath
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note The ForbiddenSignalPath describes the physical channels which an element shall not take in the
topology. Such a signal path can be a constraint for the communication matrix, because such a path has
an effect on the frame generation and the frame path.
Base ARObject, SignalPathConstraint
Attribute Type Mult. Kind Note
operation SwcToSwcOperation * aggr Reference to the operation arguments of one operation
Arguments which shall not take the predefined way in the topology.
physical PhysicalChannel 1..* ref The SwcToSwcSignal shall not be transmitted on one of
Channel these physical channels.
signal SwcToSwcSignal * aggr The data element which shall not take the predefined way
in the topology.
5.2.2.3 PermissibleSignalPath
SignalPathConstraint
PermissibleSignalPath
1..*
+physicalChannel {ordered} +signal * +operation *
Identifiable
SwcToSwcSignal SwcToSwcOperationArguments
PhysicalChannel
+ direction: SwcToSwcOperationArgumentsDirectionEnum
+managedPhysicalChannel 0..*
«instanceRef» «instanceRef»
+dataElement 1 +operation 1
AutosarDataPrototype AtpStructureElement
VariableDataPrototype Identifiable
ClientServerOperation
Figure 5.27: Description of the signal path that a signal shall take in the topology (Per-
missibleSignalPath)
Class PermissibleSignalPath
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note The PermissibleSignalPath describes the way a data element shall take in the topology. The path is
described by ordered references to PhysicalChannels.
If more than one PermissibleSignalPath is defined for the same signal/operation attributes, any of them
can be chosen. Such a signal path can be a constraint for the communication matrix . This path
describes that one data element should take path A (e.g. 1. CAN channel, 2. LIN channel) and not path
B (1. CAN channel, FlexRay channel A).
This has an effect on the frame generation and the frame path.
Base ARObject, SignalPathConstraint
Attribute Type Mult. Kind Note
operation SwcToSwcOperation * aggr The arguments of an operation that can take the
Arguments predefined way in the topology.
physical PhysicalChannel 1..* ref The SwcToSwcSignal can be transmitted on one of these
Channel physical channels.
(ordered)
signal SwcToSwcSignal * aggr The data element which can take the predefined way in
the topology.
5.2.2.4 SeparateSignalPath
SignalPathConstraint
SeparateSignalPath
+signal * +operation *
SwcToSwcSignal SwcToSwcOperationArguments
+ direction: SwcToSwcOperationArgumentsDirectionEnum
«instanceRef»
«instanceRef»
+dataElement 1 +operation 1
AutosarDataPrototype AtpStructureElement
Identifiable
VariableDataPrototype
ClientServerOperation
Figure 5.28: Description of signals that shall not take the same way in the topology
(SeparateSignalPath)
Class SeparateSignalPath
Package M2::AUTOSARTemplates::SystemTemplate::SignalPaths
Note The SeparateSignalPath describes that two SwcToSwcSignals and/or SwcToSwcOperationArguments
shall not take the same way (Signal Path) in the topology (e.g. Redundancy). This means that the signals
are not allowed to share even a single physical channel in their path.
Base ARObject, SignalPathConstraint
Attribute Type Mult. Kind Note
operation SwcToSwcOperation * aggr The SwcToSwcOperationArguments that shall not take
Arguments the same way (Signal Path) in the topology.
signal SwcToSwcSignal * aggr The SwcToSwcSignals that shall not take the same way
(Signal Path) in the topology.
ARElement
AtpStructureElement
System
«atpVariation,atpSplitable»
+mapping 0..* Identifiable
Identifiable SwcToEcuMapping
+swMapping
SystemMapping
«atpVariation» 0..*
«atpVariation» +swCompToEcuMapping *
+resourceEstimation *
EcuResourceEstimation
Identifiable
ExecutableEntity
4
Class EcuResourceEstimation
Base ARObject
Attribute Type Mult. Kind Note
bswResource ResourceConsumption 0..1 aggr Estimation for the resource consumption of the basic
Estimation software.
ecuInstance EcuInstance 1 ref Reference to the ECU this estimation is done for.
introduction DocumentationBlock 0..1 aggr This represents introductory documentation about the ecu
resource estimation
Tags:xml.sequenceOffset=-10
rteResource ResourceConsumption 0..1 aggr Estimation for the resource consumption of the run time
Estimation environment.
swCompToEcu SwcToEcuMapping * ref References to SwcToEcuMappings that have been taken
Mapping into account for the resource estimations. This way it is
possible to define dfferent EcuResourceEstimations with
diifferent mappings, e.g. before and after mapping an
additional SW component.
Class ResourceConsumption
Package M2::AUTOSARTemplates::CommonStructure::ResourceConsumption
Note Description of consumed resources by one implementation of a software.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
accessCount AccessCountSet * aggr Set of access count values
Set
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=accessCountSet, accessCountSet.variation
Point.shortLabel
vh.latestBindingTime=preCompileTime
executionTime ExecutionTime * aggr Collection of the execution time descriptions for this
implementation. The aggregation of executionTime is
subject to variability with the purpose to support the
conditional existence of runnable entities.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=executionTime.shortName, execution
Time.variationPoint.shortLabel
vh.latestBindingTime=preCompileTime
heapUsage HeapUsage * aggr Collection of the heap memory allocated by this
implementation.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=heapUsage.shortName, heap
Usage.variationPoint.shortLabel
vh.latestBindingTime=preCompileTime
memorySection MemorySection * aggr An abstract memory section required by this
Implementation.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=memorySection.shortName, memory
Section.variationPoint.shortLabel
vh.latestBindingTime=preCompileTime
5
4
Class ResourceConsumption
sectionName SectionNamePrefix * aggr A prefix to be used for the memory section symbol in the
Prefix code.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=preCompileTime
stackUsage StackUsage * aggr Collection of the stack memory usage for each runnable
entity of this implementation. The aggregation of Stack
Usage is subject to variability with the purpose to support
the conditional existence of runnable entities.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=stackUsage.shortName, stack
Usage.variationPoint.shortLabel
vh.latestBindingTime=preCompileTime
The AUTOSAR BSW stack supports power saving during vehicle operation time with
the partial networking mechanism. This mechanism allows to shut down and startup
the bus communication interfaces of groups of ECUs (Partial Network Cluster) during
normal bus communication.
On the VFB Level Partial Networks are represented by Virtual Function Clusters and
are described with PortGroups. The Virtual Function Cluster groups the communica-
tion necessary to realize one or more vehicle functions that can become activated/de-
activated during normal vehicle operation. Virtual Function Clusters are described in
more detail in [5]. The Virtual Function Clusters are mapped onto Partial Network
Clusters.
There are two variants of the partial networking mechanism:
• The static partial networking mechanism where the mapping of Partial Network
Clusters (PNCs) to Virtual Function Clusters (and thus ECUs) is defined statically
during vehicle development and does not change afterwards.
• The dynamic partial networking mechanism that enables changes of the mapping
between PNCs and ECUs during life time of a vehicle by introducing a learning
algorithm (for details, see chapter 5.4.1.3).
The use of partial networking in general is defined based on the element PncMap-
ping. If partial networking is used, the dynamic partial networking is then further
defined by the attribute dynamicPncToChannelMappingEnabled of the element
CommunicationConnector.
[TPS_SYST_01133] Partial Network Clusters dPartial Network Clusters are realized
with ISignalIPduGroups using PncMapping.c(RS_SYST_00042)
Each PncMapping has the ability to define relations to ISignalIPduGroups,
PdurIPduGroups, and PhysicalChannels. These relations are used to describe
the impact of a PNC on the respective networking artifacts. The realization of those re-
lationships is typically to be implemented in the Basic Software Mode Manager (BswM).
• PncMapping.pncGroup (referring to ISignalIPduGroup) is used to define
which Com ISignalIPduGroups shall be enabled when this PNC is active. The
use-case is to enable/disable Com ISignalIPdus, especially periodic behavior
like cyclic sending and time-out monitoring.
• PncMapping.pncPdurGroup (referring to PdurIPduGroup) is used to define
which PdurIPduGroups shall be enabled when this PNC is active. The use-
case is to enable/disable Pdus which typically are not passing the Com module
(e.g. Pdus going through LdCom, Diagnostic IPdus, Gatewayed IPdus).
• PncMapping.physicalChannel (referring to PhysicalChannel) is used to
define which PhysicalChannels shall be enabled when this PNC is active.
The use-case is to enable/disable the whole PhysicalChannel and allows to
also cover Pdus which neither pass the Com module nor the Pdu Router module
(e.g. NM).
+managedPhysicalChannel 0..*
Identifiable Identifiable
PhysicalChannel SystemMapping
+physicalChannel 0..*
«atpVariation,atpSplitable» «atpVariation»
+frameTriggering 0..* +pncMapping *
Identifiable Describable «atpVariation»
+wakeupFrame
FrameTriggering PncMapping 0..* +pncConsumedProvidedServiceInstanceGroup
0..*
+ pncIdentifier: PositiveInteger FibexElement
+ pncWakeupEnable: Boolean [0..1] ConsumedProvidedServiceInstanceGroup
AtpStructureElement + shortLabel: Identifier [0..1]
+vfc
Identifiable
«instanceRef»
PortGroup «instanceRef»
0..*
+associatedConsumedProvidedServiceInstanceGroup
+innerGroup 0..*
0..*
FibexElement FibexElement
+relevantForDynamicPncMapping
PdurIPduGroup ISignalIPduGroup
+associatedPdurIPduGroup *
+containedISignalIPduGroup * +associatedComIPduGroup
0..*
«atpVariation»
0..*
FibexElement
EcuInstance
Figure 5.30: Mapping of Virtual Function Clusters onto Partial Network Clusters
Class PncMapping
Package M2::AUTOSARTemplates::SystemTemplate::PncMapping
Note Describes a mapping between one or several Virtual Function Clusters onto Partial Network Clusters. A
Virtual Function Cluster is realized by a PortGroup. A Partial Network Cluster is realized by one or more
IPduGroups.
Base ARObject, Describable
Attribute Type Mult. Kind Note
dynamicPnc ISignalIPduGroup * ref Reference to an ISignalIPduGroup that allows mapping of
MappingPdu this PNC without statically mapping this PNC directly to a
Group channel. This is needed to describe dynamic PNCs that
can be learned only at run-time and which have also a
relation to an ISignalIPduGroup.
Tags:atp.Status=draft
ident PncMappingIdent 0..1 aggr This adds the ability to become referrable to PncMapping.
5
4
Class PncMapping
physical PhysicalChannel * ref This reference maps the partial network to a
Channel communication channel.
pncConsumed ConsumedProvided * ref ConsumedProvidedServiceInstanceGroup used in a
Provided ServiceInstanceGroup Partial Network Cluster. This reference is optional, since
ServiceInstance this could be used for starting and stopping Consumed
Group ProvidedServiceInstanceGroup according the requested
partial network, but is not necessarily needed.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
pncGroup ISignalIPduGroup * ref IPduGroup participating in a Partial Network Cluster. This
reference is optional in case an ecu extract has only
indirect pnc access, i.e. ecu is not directly connected to a
network which supports partial network.
pncIdentifier PositiveInteger 1 attr Identifer of the Partial Network Cluster. This number
represents the absolute bit position of this Partial Network
Cluster in the NM Pdu.
pncPdurGroup PdurIPduGroup * ref This reference maps the Partial Network Cluster to a set
of PdurIpduGroups.
pncWakeup Boolean 0..1 attr If this parameter is available and set to true then this PNC
Enable will be woken up as soon as a channel wakeup occurs on
a channel where this PNC is assigned to. This is ensured
by adding this PNC to the corresponding channel wakeup
sources during upstream mapping.
relevantFor EcuInstance * ref Reference to a PNC Gateway ECU for PNCs which do
DynamicPnc not have a static channel mapping. This is needed to
Mapping describe dynamic PNCs that can be learned only at
run-time and which have no relation to an ISignalIPdu
Group.
Tags:atp.Status=draft
shortLabel Identifier 0..1 attr This attribute specifies an identifying shortName for the
PncMapping. It shall be unique in the System scope.
vfc PortGroup * iref Virtual Function Cluster to be mapped onto a Partial
Network Cluster. This reference is optional in case that
the System Description doesn’t use a complete Software
Component Description (VFB View). This supports the
inclusion of legacy systems.
InstanceRef implemented by:PortGroupInSystem
InstanceRef
wakeupFrame FrameTriggering * ref Reference to collection of FrameTriggerings that are used
for the wakeup of this PNC (Application Frames or Nm
Frames can be used). This reference is only valid if this
EcuExtract represents an ECU which has direct PNC
access, i.e. ECU is directly connected to a network which
supports partial network.
Identifiable FibexElement
PduTriggering +iPdu Pdu
+pduTriggering 0..*
«atpVariation,atpSplitable»
Describable
+physicalChannel
Identifiable PncMapping
0..*
PhysicalChannel + pncIdentifier: PositiveInteger
+managedPhysicalChannel
0..* + pncWakeupEnable: Boolean [0..1]
+ shortLabel: Identifier [0..1]
IPdu
+physicalChannel 1..*
«atpVariation,atpSplitable»
Identifiable
NmCluster
Note that only pncIdentifier =< 63 can be used for the Filter mask, even if NM
PDUs are configured to be larger than 8 Byte and the PncVector defined in NM user
data exceeds the first 8 Byte.
«atpVariation»
«enumeration»
CouplingPortRoleEnum +pncMapping *
+pncMapping 0..* +managedPhysicalChannel 0..*
hostPort Describable
upLinkPort Referrable +ident +physicalChannel Identifiable
PncMapping
standardPort PhysicalChannel
PncMappingIdent 0..*
0..1 + pncIdentifier: PositiveInteger
+ pncWakeupEnable: Boolean [0..1]
+ shortLabel: Identifier [0..1]
FibexElement +containedISignalIPduGroup
ISignalIPduGroup 0..*
+ communicationDirection: CommunicationDirectionType
+ communicationMode: String
+associatedComIPduGroup *
CommunicationCluster FibexElement
EthernetCluster EcuInstance
The example in figure 5.34 illustrates the setup of an host ECU which manages 2
Ethernet switches.
AUTOSAR Ethernet
stack
0
1 1
Switch 1 Switch 2
2 3 4 5 2 3 4 5
As Partial Networks are spread over multiple networks their state has to be synchro-
nized by gateway ECUs connected to a Partial Network on more than one network.
Therefore a gateway mechanism is available where per network it can be configured if
the network takes part in Partial network gateway algorithm or not. When more than
one gateway is connected to one network then only one gateway shall be configured
as main gateway.
[constr_5093] pncGatewayType and PhysicalChannel dWhen multiple Commu-
nicationConnectors with pncGatewayType set to a value other than none are
referenced by the same PhysicalChannel then only up to one Communication-
Connector shall have the pncGatewayType set to active.c()
An ECU having a Partial Network connected to more than one network may not neces-
sarily coordinate this Partial Network. There can be uses-cases where such an ECU
is connected to multiple networks where this Partial Network is relevant but all of these
networks are handled by the same gateway or by various gateways connected on an-
other network. In this case the ECU does not coordinate the Partial Network.
[constr_5094] pncGatewayType and ECU dWhen an ECU is connected to more than
one PhysicalChannel and has a relation to a Partial Network then all Communica-
tionConnectors of this ECU where this Partial Network is related to shall have the
pncGatewayType value either set to none or to a value different than none (i.e.
active or passive).c()
Hint: This constraint ensures that an ECU either coordinates a Partial Network on all
of its connected channels or on none.
PN-Cluster N
PN-Cluster 1
PN-Cluster 2
PN-Cluster 3
PN-Cluster 4
PN-Cluster 5
…
Bus X S S
Bus Y S
Bus Z
PN-Cluster N
PN-Cluster 1
PN-Cluster 2
PN-Cluster 3
PN-Cluster 4
PN-Cluster 5
Bus X S S S …
Bus Y L S
Bus Z L
There are two different kinds of mapping table entries as shown in Figure 5.35.
• Static PNC Mapping (S): Entries in PNC-to-channel-mapping are defined in
ARXML and stored in nonvolatile memory of the ECU.
• Configurable PNC Mapping (L): Entries in PNC-to-channel-mapping can be
added dynamically via PNC learning mechanism but can also be reset.
Mappings can only be added to already existing PNCs. New PNCs cannot be intro-
duced dynamically, but it shall be possible to have PNCs available even without existing
mapping/actual usage. Note that even if a PNC has at least one static relation it is still
learnable to additional channel relations.
“Static” entries of the PNC-to-channel-mapping (black “S” in Figure 5.35) can be de-
fined via the PncMapping attributes pncGroup, wakeupFrame or physicalChan-
nel.
If a PNC has no “static” mapping and therefore no entries within the PNC-to-channel-
mapping, but entries shall be learnable (blue “L” in Figure 5.35), even if there is no
Tx-/Rx-Relation to the Gateway running the PNC Gateway, then the PNC could be
defined in System Description via the PncMapping attributes relevantForDynam-
icPncMapping or dynamicPncMappingPduGroup.
Note: Defining such dynamic PNC-to-channel-mapping entries makes only sense if
the PNC is assigned to a CommunicationConnector where dynamicPncToChan-
nelMappingEnabled is set to TRUE. Otherwise those dynamic mappings will not be
handled by the ECU on this channel. Learning of dynamic PNC-to-channel-mapping
is started by an explicit trigger. The node that starts this algorithm sends a Partial
Network Learning request, which is then responded by all nodes with their current
PNC Membership. PNC Gateways will forward this request to other channels. During
this learning phase the PNC Gateway observes all responses and updates the PNC-
to-channel-mapping accordingly, depending on which channels a PNC member was
observed/received.
Note: While the PNC-to-channel-mapping could be dynamically re-configured, all rout-
ing paths (including source and target I-PDUs) within a Gateway are still configured
statically. Therefore it is expected that the design of the SystemDescription ensure
that all routing paths of all potentially expected PNC-to-channel-mappings are provided
statically. For this dynamic PNC-to-channel-mapping some configurations restrictions
and design limitations are needed to ensure proper functionality. These are provided
in the following either as constraints or as text if a constraint is not feasible.
[constr_5167]{DRAFT} pncGatewayType and ECU over the whole system dOnly
one PNC Gateway ECU in the whole System shall exist that sets on all its Communi-
cationConnectors the pncGatewayType to active.c()
This constraint ensures that only one top level PNC coordinator exists. This is crucial
as otherwise PNC system is either completely split in several parts over the system or
connected in a way that would lead to cycles.
[constr_5168]{DRAFT} pncGatewayType passive and connected ECUs dFor all
CommunicationConnectors with pncGatewayType set to passive belonging to
one PNC Gateway ECU, all connected counterpart CommunicationConnectors
where pncGatewayType is set to active shall belong to one ECU.c()
This constraint ensures that one ECU cannot be passively connected to two different
coordinators. This avoids coordination problems in normal systems as there is no coor-
dination from passive to passive. For dynamic PNC-to-channel mapping it is essential
to avoid cycles in the forwarding of the learning request.
[constr_5169]{DRAFT} pncGatewayType and (routing) paths dNo path over all net-
works shall exist that connects a CommunicationConnector with pncGateway-
Type active to a CommunicationConnector with pncGatewayType passive where
both CommunicationConnectors belong to the same ECU.c()
This constraint ensures that PNC Gateways have no cyclic connections which would
lead to a blocking request keeping the whole system awake.
The AUTOSAR BSW stack supports the configuration of the ComM module which en-
capsulates the control of the underlying communication services. The ComM module
collects the bus communication access requests from communication requestors and
coordinates the bus communication access requests. In order to utilize the communi-
cation requests from application software the Software Component Template supports
the definition of PortGroups with the category MODE_MANAGEMENT. In this sec-
tion it is described how PortGroups with the category MODE_MANAGEMENT are
mapped to communication channels.
Identifiable
SystemMapping
«atpVariation»
0..*
+comManagementMapping +managedPhysicalChannel 0..*
Identifiable Identifiable
ComManagementMapping +physicalChannel PhysicalChannel
0..*
«instanceRef»
+comManagementPortGroup 0..* +comManagementGroup 0..*
AtpStructureElement FibexElement
Identifiable ISignalIPduGroup
PortGroup
+ communicationDirection: CommunicationDirectionType
+ communicationMode: String
+innerGroup 0..*
«instanceRef»
Class ComManagementMapping
Package M2::AUTOSARTemplates::SystemTemplate
Note Describes a mapping between one or several Mode Management PortGroups and communication
channels.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
com ISignalIPduGroup * ref IPduGroup participating in a Mode Management Port
Management Group.
Group
com PortGroup * iref Mode Management PortGroup to be mapped onto a
Management communication channel. This reference is optional in
PortGroup case that the System Description doesn’t use a complete
Software Component Description (VFB View). This
supports the inclusion of legacy systems.
InstanceRef implemented by:PortGroupInSystem
InstanceRef
physical PhysicalChannel * ref This reference maps the Mode Management PortGroup
Channel partial network to communication channels.
ARElement
AtpStructureElement
System
«atpVariation,atpSplitable»
+mapping 0..*
Identifiable
SystemMapping
«atpVariation,atpSplitable»
+swClusterMapping 0..*
Identifiable
CpSoftwareClusterToEcuInstanceMapping
+ecuInstance 0..1
FibexElement
EcuInstance
Class CpSoftwareClusterToEcuInstanceMapping
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This meta class maps a CpSoftwareCluster to a EcuInstance.
Tags:atp.Status=draft
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
ecuInstance EcuInstance 0..1 ref Reference to a specific ECU Instance description.
Tags:atp.Status=draft
swCluster CpSoftwareCluster * ref The mapped CP Software Cluster
Tags:atp.Status=draft
Identifiable ARElement
SystemMapping CpSoftwareClusterMappingSet
«atpVariation,atpSplitable» «atpVariation,atpSplitable»
+resourceToApplicationPartitionMapping 0..* +resourceToApplicationPartitionMapping 0..*
Identifiable
CpSoftwareClusterResourceToApplicationPartitionMapping
Identifiable ARElement
CpSoftwareClusterResource ApplicationPartition
Class CpSoftwareClusterResourceToApplicationPartitionMapping
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This meta class maps a Software Cluster resource to an Application Partition to restrict the usage.
Tags:atp.Status=draft
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
application ApplicationPartition 0..1 ref ApplicationPartition for which the mapping applies.
Partition
Tags:atp.Status=draft
resource CpSoftwareCluster 0..1 ref Software Cluster Resource for which the mapping applies.
Resource
Tags:atp.Status=draft
Class CpSoftwareClusterMappingSet
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This meta-class represents the ability to aggregate a collection of CP Software Cluster relevant
mappings. This is applicable if a CP Software Cluster is described besides a concrete System, e.g. a
reusable CP Software Cluster.
Tags:
atp.Status=draft
atp.recommendedPackage=CpSoftwareClusterMappingSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
portElementTo PortElementTo * aggr maps a communication resource to CP Software Clusters
ComResource Communication
Stereotypes: atpSplitable; atpVariation
Mapping ResourceMapping
Tags:
atp.Splitkey=portElementToComResourceMapping.short
Name, portElementToComResourceMapping.variation
Point.shortLabel
atp.Status=draft
vh.latestBindingTime=postBuild
5
4
Class CpSoftwareClusterMappingSet
resourceTo CpSoftwareCluster * aggr Maps a Software Cluster resource to an Application
Application ResourceToApplication Partition to restrict the usage.
Partition PartitionMapping
Stereotypes: atpSplitable; atpVariation
Mapping
Tags:
atp.Splitkey=resourceToApplicationPartition
Mapping.shortName, resourceToApplicationPartition
Mapping.variationPoint.shortLabel
atp.Status=draft
vh.latestBindingTime=systemDesignTime
softwareCluster CpSoftwareClusterTo * aggr maps a service resource to CP Software Clusters
ToResource ResourceMapping
Stereotypes: atpSplitable; atpVariation
Mapping
Tags:
atp.Splitkey=softwareClusterToResourceMapping.short
Name, softwareClusterToResourceMapping.variation
Point.shortLabel
atp.Status=draft
vh.latestBindingTime=preCompileTime
swcTo SwcToApplication * aggr maps SwComponentPrototypes in a CP Software Cluster
Application PartitionMapping to ApplicationPartitions
Partition
Stereotypes: atpSplitable; atpVariation
Mapping
Tags:
atp.Splitkey=swcToApplicationPartitionMapping.short
Name, swcToApplicationPartitionMapping.variation
Point.shortLabel
vh.latestBindingTime=postBuild
ARElement
AtpStructureElement
System
«atpSplitable,atpVariation» «atpVariation,atpSplitable»
+swCluster 0..* +mapping 0..*
ARElement Identifiable
CpSoftwareCluster SystemMapping
+swCluster 0..*
«atpVariation,atpSplitable» «atpVariation»
+swClusterMapping 0..* +swMapping 0..*
Identifiable Identifiable
CpSoftwareClusterToEcuInstanceMapping SwcToEcuMapping
«atpVariation,atpSplitable» «instanceRef»
FibexElement AtpPrototype
EcuInstance SwComponentPrototype
0..* +swComponentAssignment
SwComponentPrototypeAssignment
6 Communication
This chapter describes all topics that deal with constraints or configurations that de-
scribe the information exchange between the ECUs. The description of communica-
tion matrices in the System Template is based on the description in ASAM FIBEX [9].
Because of the requirements of AUTOSAR some extensions were made to the original
FIBEX model.
The main elements to describe communication in the System Template are System-
Signals, ISignals, Pdus and Frames, as it can be seen on Figure 6.1.
Frames can be defined independently of communication clusters. On the communica-
tion channel the Frame is represented by the referencing FrameTriggering.
A Frame has a payload section of a certain length in bytes, which contains an arbitrary
number of non-overlapping Pdus. In AUTOSAR only FlexRay supports the packing and
unpacking of multiple Pdus into/out of one FlexRay Frame. The AUTOSAR CanIf and
LinIf are not capable of packing multiple Pdus into one Frame.
[constr_3036] Pdus in CAN and LIN Frames dCAN Frames and LIN Frames shall
only contain one Pdu.c()
Note that via the ContainerIPdu it is possible to transport several IPdus in one
ContainerIPdu in order to support CAN FD.
A Pdu (Protocol Data Unit) is the information delivered through a network layer. For the
network to understand which layer is being discussed, a single-letter prefix is added to
the PDU.
• IPdu - Interaction Layer Protocol Data Unit (assembled and disassembled in
Com). In the case of external communication the Interaction Layer packs one or
more signals into assigned IPdus and passes them to the underlying layer for
transfer between nodes in a network.
• NPdu - Network Layer Protocol Data Unit (assembled and disassembled in a
Transport Protocol module). The TP module0 s main purpose is the segmentation
and reassembly of IPdus that do not fit in one of the assigned NPdus.
• LPdu - Data Link Layer Protocol Data Unit (assembled and disassembled in
AUTOSAR Hardware Abstraction layer). The element Frame in the System Tem-
plate represents the AUTOSAR Layered Architectures LSdu. Sdu is the abbre-
viation of "Service Data Unit". The Data Link Layers LPdu contains the LSdu
and PCI (Protocol Control Information). The LPdu is not described in the System
Template.
Application Layer
ARElement ARElement
SystemSignal +systemSignal SystemSignalGroup
*
+systemSignal 1 +systemSignalGroup 1
+pdu
FibexElement FibexElement FibexElement
+iSignal
ISignal ISignalGroup Pdu 1
0..*
+iPdu
0..1 +iSignal 0..1 1
+iSignal +iSignalGroup
0..1
+iSignalGroup 0..1
FibexElement +iSignalIPdu
ISignalIPduGroup
«atpVariation» 0..*
Describable +iPduTimingSpecification
IPduTiming GeneralPurposeIPdu
0..1 «atpVariation»
FibexElement
Frame
Identifiable +frame 1
ISignalTriggering
+managedPhysicalChannel
Identifiable
0..*
PhysicalChannel
In case no multiplexing is performed the IPdus of Com that fit into one frame can be
passed directly via the PDU Router to the communication interfaces.
[constr_3037] maximum Frame frameLength for CAN and LIN dFor CAN and LIN
the maximum frameLength is 8 bytes and 64 bytes in case of CAN FD.c()
[constr_3038] maximum Frame frameLength for FlexRay dFor FlexRay the maxi-
mum frameLength is 254 bytes.c()
[TPS_SYST_01048] Handling of large IPdus dLarge IPdus that are too long to
fit into one Frame of the respective subclass of CommunicationCluster shall be
routed via a Transport Protocol to the communication interfaces.c()
For example an IPdu with the length of 10 bytes needs to be routed via a Transport
Protocol on CAN but on FlexRay this is not required.
The Transport Protocols are described in more detail in chapter 6.8.
If multiplexing is performed an IPdu is routed between the IPdu Multiplexer and the
Interface Layer or Transport Layer. To distinguish these two different cases two spe-
cializations ISignalIPdu and MultiplexedIPdu are introduced. A ISignalIPdu
represents an IPdu handled by AUTOSAR Com. The AUTOSAR IPduM is responsible
to combine Com ISignalIPdus to MultiplexedIPdus. On receiver-side the IPduM
is responsible to interpret the content of MultiplexedIPdus and provide Com sepa-
rated ISignalIPdus by taking into account the value of the selector field. The IPdu
Multiplexer is described in more detail in chapter 6.5.
AUTOSAR Com provides the possibility to define Transmission Modes for each Com
ISignalIPdu. For this reason the ISignalIPdu aggregates the IPduTiming. The
Transmission Modes are described in more detail in chapter 6.4.
+managedPhysicalChannel 0..*
«atpVariation»
+ecuCommPortInstance 0..*
CommConnectorPort
+ communicationDirection: CommunicationDirectionType
«atpVariation,atpSplitable»
+iSignalTriggering
«atpVariation,atpSplitable»
0..*
ISignalPort
ISignalTriggering «atpVariation,atpSplitable»
+iSignalPort
+ firstTimeout: TimeValue [0..1]
+ handleInvalid: HandleInvalidEnum [0..1] *
+ timeout: TimeValue [0..1]
+iSignalTriggering
0..*
+pduTriggering 0..*
IPduPort
«enumeration» «enumeration»
IPduSignalProcessingEnum CommunicationDirectionType
deferred in
immediate out
Figure 6.2 shows the relationship between the CommConnectorPort and the
FrameTriggering, PduTriggering and ISignalTriggering. This relationship
allows to specify explicitly which Frames, Pdus, ISignals are received/sent by the
connected ECU on the connected channel.
[constr_3243] FrameTriggering.pduTriggering condition dA FrameTrigger-
ing shall reference a PduTriggering if the PduTriggering references a Pdu that
is referenced by a PduToFrameMapping which in turn is aggregated by the Frame
that is referenced by that FrameTriggering.c()
[constr_3250] PduTriggering.iSignalTriggering condition dA PduTrigger-
ing shall reference an ISignalTriggering if the ISignalTriggering references
an ISignal or an ISignalGroup that is referenced by an ISignalToIPduMap-
ping which in turn is aggregated by the Pdu that is referenced by that PduTrigger-
ing.c()
RTE
Signals
Diagnostic
AUTOSAR Communi-
IPDU multiplexer CDD
COM cation
Manager
MULTIPLEXED- CONTAINER-
I-SIGNAL-I-PDU I-SIGNAL-I-PDU DCM-I-PDU USER-DEFINED-I-PDU
I-PDU I-PDU
I-SIGNAL-I-PDU
SecOC
PDU Router SECURED-I-PDU
UserData NM-PDU
NM
NM
Module
NM
Module
NM
I-PDU Module
I-PDU I-PDU I-PDU I-PDU I-PDU I-PDU Module
CAN Tp
FlexRay Tp J1939Tp CDD
Communication Drivers
Class FramePort
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Connectors reception or send port on the referenced channel referenced by a FrameTriggering.
Base ARObject, CommConnectorPort, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.2: FramePort
Class IPduPort
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Connectors reception or send port on the referenced channel referenced by a PduTriggering.
Base ARObject, CommConnectorPort, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
iPduSignal IPduSignalProcessing 0..1 attr Definition of the two signal processing modes Immediate
Processing Enum and Deferred for both Tx and Rx IPdus.
rxSecurity Boolean 0..1 attr This attribute defines the bypassing of signature
Verification authentication or MAC verification in the receiving ECU. If
not defined or set to true the signature authentication or
MAC verification shall be performed for the SecuredIPdu.
If set to false the signature authentication or MAC
verification shall not be performed for the SecuredIPdu.
timestampRx TimeValue 0..1 attr This attribute is used to define the maximum allowed
Acceptance deviation in seconds from the expected timestamp for
Window which a SecuredIPdu is still deemed authentic. Please
note that this attribute is for documentation only to allow
the configuration of required freshness value manager
and no upstream mapping is defined for it.
useAuthData Boolean 0..1 attr This attribute describes whether a part of AuthenticPdu
Freshness contained in a SecuredIPdu shall be passed on to the
SWC that verifies and generates the Freshness. The part
of the Authentic-PDU is defined by the authData
FreshnessStartPosition and authDataFreshnessLength.
Enumeration IPduSignalProcessingEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Definition of signal processing modes.
Literal Description
deferred The signal indications / confirmations are deferred.
Tags:atp.EnumerationLiteralIndex=0
immediate The signal indications / confirmations are performed.
Tags:atp.EnumerationLiteralIndex=1
Class ISignalPort
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Connectors reception or send port on the referenced channel referenced by an ISignalTriggering. If
different timeouts or DataFilters for ISignals need to be specified several ISignalPorts may be created.
Base ARObject, CommConnectorPort, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
dataFilter DataFilter 0..1 aggr Optional specification of a signal COM filter at the
receiver side in case that the System Description doesn’t
use a complete Software Component Description (VFB
View). This supports the inclusion of legacy system
signals. If a full DataMapping exist for the SystemSignal
this information may be available from a configured
ReceiverComSpec. In this case the ReceiverComSpec
overrides this optional specification.
firstTimeout TimeValue 0..1 attr • ISignalPort with communicationDirection = in:
Optional first timeout value in seconds for the reception of
the ISignal.
• ISignalPort with communicationDirection = out:
Optional first timeout value in seconds for transmission
deadline monitoring.
handleInvalid HandleInvalidEnum 0..1 attr This attribute defines how invalidation is applied to the
ISignals received in the context of this ISignalPort.
timeout TimeValue 0..1 attr • ISignalPort with communicationDirection = in:
Optional timeout value in seconds for the reception of the
ISignal. The attribute value is used to configure the Com
Timeout in the COM module. The RTE ignores this
attribute. The timeout can also be specified with the
NonqueuedReceiverComSpec.aliveTimeout attribute. If a
full DataMapping exists for the SystemSignal and the
value is available in the configured ReceiverComSpec,
then the timeout value in the ReceiverComSpec overrides
this optional timeout specification during the creation of
the Base Ecu Configuration of the COM module.
• ISignalPort with communicationDirection = out:
Optional timeout value in seconds for the transmission of
the ISignal. The attribute value is used to configure the
ComTimeout in the COM module. The RTE ignores this
attribute. The timeout can also be specified with the ender
ComSpec.transmissionAcknowledge.timeout attribute. If
a full DataMapping exists for the SystemSignal and the
value is available in the configured SenderComSpec, then
the timeout value in the SenderComSpec overrides this
5
4
Class ISignalPort
4
optional timeout specification during the creation of the
Base Ecu Configuration of the COM module.
This attribute can be used in the following cases:
• legacy signal where the System Description
doesn’t use a complete Software Component
Description (VFB View) and where the Data
Mapping is missing.
• bus monitoring use cases in which the Data
Mapping is ignored.
Enumeration HandleInvalidEnum
Package M2::AUTOSARTemplates::SWComponentTemplate::Communication
Note Strategies of handling the reception of invalidValue.
Literal Description
dontInvalidate Invalidation is switched off.
Tags:atp.EnumerationLiteralIndex=0
external Replace a received invalidValue. The replacement value is sourced from the externalReplacement.
Replacement
Tags:atp.EnumerationLiteralIndex=1
keep The application software is supposed to handle signal invalidation on RTE API level either by Data
ReceiveErrorEvent or check of error code on read access.
Tags:atp.EnumerationLiteralIndex=2
replace Replace a received invalidValue. The replacement value is specified by the initValue.
Tags:atp.EnumerationLiteralIndex=3
c()
[TPS_SYST_01061] Relationship between ISignalTriggering and CommCon-
nectorPort dFor the reference between ISignalTriggering and ISignalPort
two approaches are supported:
• One to One relationship between ISignalTriggering and ISignalPort per
EcuInstance
• One ISignalPort per communicationDirection per timeout per EcuIn-
stance exists and is referenced by all applicable PduTriggerings (n to 1).
c()
[TPS_SYST_02208] ISignalPort.handleInvalid defines the reception invali-
dation behavior dThe attribute ISignalPort.handleInvalid defines the behavior
during signal reception if the respective ISignal’s invalidValue is received. The
ISignal is assigned to this ISignalPort via the ISignalTriggering.c()
[TPS_SYST_02209] Not defined ISignalPort.handleInvalid behavior dIf the
attribute ISignalPort.handleInvalid is not defined then the value dontInval-
idate shall be assumed.c()
[constr_5053] Existence of ISignalPort.handleInvalid dIf the ISignalPort
has a networkRepresentationProps.invalidValue defined then the ISignal-
Port.communicationDirection shall equal in.c()
[constr_5054] externalReplacement not applicable for ISignalPort.han-
dleInvalid dIn the context of ISignalPort.handleInvalid the value exter-
nalReplacement shall not be used.c()
The action externalReplacement can only be implemented by the RTE. Thus it is
required to have a ComSpec definition.
[TPS_SYST_02210] Data invalidation in case the dataTypePolicy is set to
override or legacy dIf the dataTypePolicy of an ISignal is set to override or
legacy, the ISignalPort.handleInvalid attribute defines the data invalidation.c
()
6.2 ISignals
SystemSignals can be defined independently of CommunicationClusters and
are representing the VariableDataPrototypes, ArgumentDataPrototypes,
Triggers and ModeDeclarationGroupPrototypes in the communication de-
scription.
The RTE supports a "signal fan-out" where the same signal (System Signal) is sent
in different IPdus to multiple receivers. The Pdu Router supports the "PDU fan-out"
where the same IPdu is sent to multiple destinations.
To support the "signal fan-out" ISignals and ISignalGroups are introduced. An
ISignal(ISignalGroup) represents the SystemSignal(SystemSignalGroup) of
the Interaction Layer.
In case of "signal fan-out", several ISignals in different IPdus refer to the same
SystemSignal. The "Signal fan-out" will be executed by the RTE. ISignals describe
the Interface between the precompile configured RTE and the potentially postbuild
configured Com Stack.
The ISignalToIPduMapping element describes the mapping of ISignals to
ISignalIPdus and defines the position of an ISignal within an ISignalIPdu.
[constr_3009] Overlapping of ISignals is prohibited dISignals mapped to an
ISignalIPdu shall not overlap.c()
[constr_5253] Value range of ISignal.length dThe value of ISignal.length
shall be in the range of 0..34359738360 Bits.c()
[constr_3010] ISignalIPdu length shall not be exceeded dThe combined length
of all ISignals and updateIndicationBitPositions that are mapped into an
ISignalIPdu shall not exceed the defined Pdu length.c()
[constr_3011] Overlapping of updateIndicationBits of ISignals is prohib-
ited dThe updateIndicationBitPosition for an ISignal in an ISignalIPdu
shall not overlap with other updateIndicationBitPositions or ISignal loca-
tions.c()
[TPS_SYST_01062] Network representation of an ISignal dWith the aggregation
of SwDataDefProps in the role networkRepresentationProps the actual repre-
sentation of the ISignal on the network can be specified.c(RS_SYST_00047)
[TPS_SYST_01063] Context of network representation of an ISignal dThe
dataTypePolicy defines from which context the network representation specifica-
tion shall be taken.c(RS_SYST_00001, RS_SYST_00047)
For an alternative network representation it is important to define an alternative Sw-
DataDefProps especially SwBaseType defining alternative encoding (e.g. from float
in PortInterface to integer on bus).
Table 6.7: Allowed SwDataDefProps Attributes for the ISignal and SystemSignal
SystemSig-
ISignal.
BaseTypeEncod- nal.
BaseTypeSize iSignal- ComSignalType
ing dynami-
Type
cLength
SINT8, ComBit-
2C 8 Bits primitive not applicable Size derived from
ISignal.length
SINT8 if ISig-
nal.length <=
2C not available primitive not applicable 8. ComBitSize de-
rived from ISig-
nal.length
SINT16, ComBit-
2C 16 Bits primitive not applicable Size derived from
ISignal.length
SINT16 if ISig-
nal.length > 8
and <= 16. Com-
2C not available primitive not applicable
BitSize derived
from ISignal.
length
SINT32, ComBit-
2C 32 Bits primitive not applicable Size derived from
ISignal.length
SINT32 if ISig-
nal.length > 16
and <= 32. Com-
2C not available primitive not applicable
BitSize derived
from ISignal.
length
SINT64, ComBit-
2C 64 Bits primitive not applicable Size derived from
ISignal.length
SINT64 if ISig-
nal.length > 32
and <= 64. Com-
2C not available primitive not applicable
BitSize derived
from ISignal.
length
UINT8, ComBit-
NONE 8 Bits primitive not applicable Size derived from
ISignal.length
5
4
SystemSig-
ISignal.
BaseTypeEncod- nal.
BaseTypeSize iSignal- ComSignalType
ing dynami-
Type
cLength
UINT8 if ISig-
nal.length <=
NONE not available primitive not applicable 8. ComBitSize de-
rived from ISig-
nal.length
UINT16, ComBit-
NONE 16 Bits primitive not applicable Size derived from
ISignal.length
UINT16 if ISig-
nal.length > 8
and <= 16. Com-
NONE not available primitive not applicable
BitSize derived
from ISignal.
length
UINT32, ComBit-
NONE 32 Bits primitive not applicable Size derived from
ISignal.length
UINT32 if ISig-
nal.length > 16
and <= 32. Com-
NONE not available primitive not applicable
BitSize derived
from ISignal.
length
UINT64, ComBit-
NONE 64 Bits primitive not applicable Size derived from
ISignal.length
UINT64 if ISig-
nal.length > 32
and <= 64. Com-
NONE not available primitive not applicable
BitSize derived
from ISignal.
length
FLOAT32, ComBit-
IEEE754 32 Bits primitive not applicable Size derived from
ISignal.length
FLOAT32, ISig-
nal.length = 32.
IEEE754 not available primitive not applicable ComBitSize de-
rived from ISig-
nal.length
5
4
SystemSig-
ISignal.
BaseTypeEncod- nal.
BaseTypeSize iSignal- ComSignalType
ing dynami-
Type
cLength
FLOAT64, ComBit-
IEEE754 64 Bits primitive not applicable Size derived from
ISignal.length
FLOAT64, ISig-
nal.length = 64.
IEEE754 not available primitive not applicable ComBitSize de-
rived from ISig-
nal.length
NONE,
ISO-8859-1, UINT8_N, Com-
ISO-8859-2, SignalLength de-
8 Bits array false
WINDOWS-1252, rived from ISig-
UTF-8, UTF-16, nal.length
UCS-2
NONE,
ISO-8859-1, UINT8_N, Com-
ISO-8859-2, SignalLength de-
not available array false
WINDOWS-1252, rived from ISig-
UTF-8, UTF-16, nal.length
UCS-2
NONE,
ISO-8859-1, UINT8_DYN,
ISO-8859-2, ComSignalLength
8 Bits array true
WINDOWS-1252, derived from
UTF-8, UTF-16, ISignal.length
UCS-2
NONE,
ISO-8859-1, UINT8_DYN,
ISO-8859-2, ComSignalLength
not available array true
WINDOWS-1252, derived from
UTF-8, UTF-16, ISignal.length
UCS-2
BOOLEAN ignored primitive not applicable BOOLEAN
Table 6.8: SwBaseType to ComSignalType Mapping
The setting "not applicable" for an Attribute in Table 6.8 means that no value shall be
set for this Attribute. The setting "ignored" for an Attribute in Table 6.8 means than any
value is accepted for this Attribute, but the value will be ignored in creation of the ECU
configuration value file.
«atpVariation,atpSplitable»
+iSignalTriggering 0..*
Identifiable ISignalIPdu
ISignalProps
ISignalTriggering
+ handleOutOfRange: HandleOutOfRangeEnum + unusedBitPattern: Integer
+iSignalProps 0..1
«atpSplitable» «atpVariation»
+iSignal
0..1
+iSignalToPduMapping 0..*
FibexElement +iSignal
Identifiable
ISignal 0..1 ISignalToIPduMapping
+iSignalGroup 0..1
+ dataTypePolicy: DataTypePolicyEnum
+iSignal + packingByteOrder: ByteOrderEnum [0..1]
+ iSignalType: ISignalTypeEnum [0..1] FibexElement
+iSignalGroup + startPosition: UnlimitedInteger [0..1]
+ length: UnlimitedInteger ISignalGroup
0..* + transferProperty: TransferPropertyEnum [0..1]
0..1 + updateIndicationBitPosition: UnlimitedInteger [0..1]
Figure 6.4: ISignals and the mapping into IPdus (FibexCore: SignalOverview)
The configuration of the COM Module for atomic signals can largely be derived from
the System Template.
[TPS_SYST_01066] Derivation of Tx COM Signals dA ComSignal shall be defined
in the COM module configuration for each ISignalToIPduMapping that is aggre-
gated by ISignalIPdu that in turn is referenced by a PduTriggering that in turn
references an IPduPort where the communicationDirection is set to out of the
regarded ECU.
RTE Fanout
ISignalGroupA_1 ISignalGroupA_2
ISignal X_1 ISignal X_2
ISignal Y_1 ISignal Y_2
ISignal Z_1 ISignal Z_3
Figure 6.5: ISignal example
The example in Figure 6.5 shows the usage of ISignalGroups and ISignals. In
this example a record is mapped to a SystemSignalGroup. All Application-
RecordElements with ApplicationPrimitiveDataType are mapped to individ-
ual SystemSignals. If the same SystemSignalGroup is sent to different receivers
(RTE Fanout) then two different ISignalGroups are created. For each SystemSig-
nal within the SystemSignalGroup an ISignal is created. The different ISignals
of the same SystemSignal can have different network representations.
[TPS_SYST_01156] Definition of ISignalTriggerings is allowed for ISig-
nalGroups and for GroupSignals dIf an ISignalGroup is referenced by an
ISignalTriggering then the ISignals that are contained in the ISignalGroup
(GroupSignals) may be referenced as well by ISignalTriggerings.c()
[constr_3094] Consistent ISignalPort.communicationDirection for
ISignalTriggerings of ISignalGroups and contained ISignals dIn case the
ISignals contained in an ISignalGroup are referenced by an ISignalTrig-
gering, the communicationDirection of the ISignalPort referenced by the
ISignal’s ISignalTriggering shall be identical to the communicationDi-
rection of the ISignalPort referenced by the containing ISignalGroup’s
ISignalTriggering.c()
Please note that not all ISignals that are part of the ISignalGroup need to
have a reference to an ISignalPort via an ISignalTriggering as described by
[TPS_SYST_02106].
Table 6.9: Allowed usage of attributes for ISignals, ISignalGroups and GroupSig-
nals
Class ISignal
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Signal of the Interaction Layer. The RTE supports a "signal fan-out" where the same System Signal is
sent in different SignalIPdus to multiple receivers.
To support the RTE "signal fan-out" each SignalIPdu contains ISignals. If the same System Signal is to
be mapped into several SignalIPdus there is one ISignal needed for each ISignalToIPduMapping.
ISignals describe the Interface between the Precompile configured RTE and the potentially Postbuild
configured Com Stack (see ECUC Parameter Mapping).
In case of the SystemSignalGroup an ISignal shall be created for each SystemSignal contained in the
SystemSignalGroup.
Tags:atp.recommendedPackage=ISignals
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
data DataTransformation 0..1 ref Optional reference to a DataTransformation which
Transformation represents the transformer chain that is used to transform
the data that shall be placed inside this ISignal.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=dataTransformation.dataTransformation,
dataTransformation.variationPoint.shortLabel
vh.latestBindingTime=codeGenerationTime
dataTypePolicy DataTypePolicyEnum 1 attr With the aggregation of SwDataDefProps an ISignal
specifies how it is represented on the network. This
representation follows a particular policy. Note that this
causes some redundancy which is intended and can be
used to support flexible development methodology as well
as subsequent integrity checks.
If the policy "networkRepresentationFromComSpec" is
chosen the network representation from the ComSpec
that is aggregated by the PortPrototype shall be used. If
the "override" policy is chosen the requirements specified
in the PortInterface and in the ComSpec are not fulfilled
by the networkRepresentationProps. In case the System
Description doesn’t use a complete Software Component
Description (VFB View) the "legacy" policy can be
chosen.
initValue ValueSpecification 0..1 aggr Optional definition of a ISignal’s initValue in case the
System Description doesn’t use a complete Software
Component Description (VFB View). This supports the
inclusion of legacy system signals.
This value can be used to configure the Signal’s "Init
Value".
If a full DataMapping exist for the SystemSignal this
information may be available from a configured Sender
ComSpec and ReceiverComSpec. In this case the
initvalues in SenderComSpec and/or ReceiverComSpec
override this optional value specification. Further
restrictions apply from the RTE specification.
iSignalProps ISignalProps 0..1 aggr Additional optional ISignal properties that may be stored
in different files.
Stereotypes: atpSplitable
Tags:atp.Splitkey=iSignalProps
iSignalType ISignalTypeEnum 0..1 attr This attribute defines whether this iSignal is an array that
results in a UINT8_N / UINT8_DYN ComSignalType in the
COM configuration or a primitive type.
5
4
Class ISignal
length UnlimitedInteger 1 attr Size of the signal in bits. The size needs to be derived
from the mapped VariableDataPrototype according to the
mapping of primitive DataTypes to BaseTypes as used in
the RTE. Indicates maximum size for dynamic length
signals.
The ISignal length of zero bits is allowed.
network SwDataDefProps 0..1 aggr Specification of the actual network representation. The
Representation usage of SwDataDefProps for this purpose is restricted to
Props the attributes compuMethod and baseType. The optional
baseType attributes "memAllignment" and "byteOrder"
shall not be used.
The attribute "dataTypePolicy" in the SystemTemplate
element defines whether this network representation shall
be ignored and the information shall be taken over from
the network representation of the ComSpec.
If "override" is chosen by the system integrator the
network representation can violate against the
requirements defined in the PortInterface and in the
network representation of the ComSpec.
In case that the System Description doesn’t use a
complete Software Component Description (VFB View)
this element is used to configure "ComSignalDataInvalid
Value" and the Data Semantics.
systemSignal SystemSignal 1 ref Reference to the System Signal that is supposed to be
transmitted in the ISignal.
timeout ValueSpecification 0..1 aggr Defines and enables the ComTimeoutSubstituition for this
Substitution ISignal.
Value
transformation TransformationISignal * aggr A transformer chain consists of an ordered list of
ISignalProps Props transformers. The ISignal specific configuration
properties for each transformer are defined in the
TransformationISignalProps class. The transformer
configuration properties that are common for all ISignals
are described in the TransformationTechnology class.
Enumeration DataTypePolicyEnum
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note This class lists the supported DataTypePolicies.
Literal Description
legacy In case the System Description doesn’t use a complete Software Component Description (VFB View)
this value can be chosen. This supports the inclusion of legacy signals.
The aggregation of SwDataDefProps shall be used to configure the "ComSignalDataInvalidValue"
and the Data Semantics.
Tags:atp.EnumerationLiteralIndex=0
network Ignore any networkRepresentationProps of this ISignal and use the networkRepresentation from the
Representation ComSpec.
FromComSpec
Please note that the usage does not imply the existence of the SwDataDefProps in the role network
Representation aggregated by the SenderComSpec or ReceiverComSpec if an ImplementationData
Type is defined.
Tags:atp.EnumerationLiteralIndex=1
5
4
Enumeration DataTypePolicyEnum
override If this value is chosen the requirements specified in the ComSpec (networkRepresentationFromCom
Spec) are not fullfilled by the aggregated SwDataDefProps. In this case the networkRepresentation is
specified by the aggregated swDataDefProps.
Tags:atp.EnumerationLiteralIndex=2
transformingISignal This literal indicates that a transformer chain shall be used to communicate the ISignal as UINT8_N
over the bus.
Tags:atp.EnumerationLiteralIndex=4
Enumeration ISignalTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note This enumeration defines ISignal types that are used for derivation of the ComSignalType in the COM
configuration.
Literal Description
array ISignal shall be interpreted as an array (UINT8_N, UINT8_DYN)
Tags:atp.EnumerationLiteralIndex=0
primitive ISignal shall be interpreted as a primitive type (e.g. UINT_8, SINT_32)
Tags:atp.EnumerationLiteralIndex=1
Class ISignalProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Additional ISignal properties that may be stored in different files.
Base ARObject
Attribute Type Mult. Kind Note
handleOutOf HandleOutOfRange 1 attr This attribute defines the outOfRangeHandling for
Range Enum received and sent signals.
Enumeration HandleOutOfRangeEnum
Package M2::AUTOSARTemplates::SWComponentTemplate::Communication
Note A value of this type is taken for controlling the range checking behavior of the AUTOSAR RTE.
Literal Description
default The RTE will use the initValue if the actual value is out of the specified bounds.
Tags:atp.EnumerationLiteralIndex=0
external This indicates that the value replacement is sourced from the attribute replaceWith.
Replacement
Tags:atp.EnumerationLiteralIndex=1
ignore The RTE will ignore any attempt to send or receive the corresponding dataElement if the value is out
of the specified range.
Tags:atp.EnumerationLiteralIndex=2
invalid The RTE will use the invalidValue if the value is out of the specified bounds.
Tags:atp.EnumerationLiteralIndex=3
5
4
Enumeration HandleOutOfRangeEnum
none A range check is not required.
Tags:atp.EnumerationLiteralIndex=4
saturate The RTE will saturate the value of the dataElement such that it is limited to the applicable upper
bound if it is greater than the upper bound. Consequently, it is limited to the applicable lower bound if
the value is less than the lower bound.
Tags:atp.EnumerationLiteralIndex=5
Class ISignalGroup
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note SignalGroup of the Interaction Layer. The RTE supports a "signal fan-out" where the same System
Signal Group is sent in different SignalIPdus to multiple receivers.
An ISignalGroup refers to a set of ISignals that shall always be kept together. A ISignalGroup represents
a COM Signal Group.
Therefore it is recommended to put the ISignalGroup in the same Package as ISignals (see
atp.recommendedPackage)
Tags:atp.recommendedPackage=ISignalGroup
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
comBased DataTransformation 0..1 ref Optional reference to a DataTransformation which
SignalGroup represents the transformer chain that is used to transform
Transformation the data that shall be placed inside this ISignalGroup
based on the COMBasedTransformer approach.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=comBasedSignalGroupTransformation.data
Transformation, comBasedSignalGroup
Transformation.variationPoint.shortLabel
vh.latestBindingTime=codeGenerationTime
iSignal ISignal * ref Reference to a set of ISignals that shall always be kept
together.
systemSignal SystemSignalGroup 1 ref Reference to the SystemSignalGroup that is defined on
Group VFB level and that is supposed to be transmitted in the
ISignalGroup.
transformation TransformationISignal * aggr A transformer chain consists of an ordered list of
ISignalProps Props transformers. The ISignalGroup specific configuration
properties for each transformer are defined in the
TransformationISignalProps class. The transformer
configuration properties that are common for all ISignal
Groups are described in the TransformationTechnology
class.
Table 6.15: ISignalGroup
Class SystemSignalGroup
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
5
4
Class SystemSignalGroup
Note A signal group refers to a set of signals that shall always be kept together. A signal group is used to
guarantee the atomic transfer of AUTOSAR composite data types.
The SystemSignalGroup defines a signal grouping on VFB level. On cluster level the Signal grouping is
described by the ISignalGroup element.
Tags:atp.recommendedPackage=SystemSignalGroups
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
systemSignal SystemSignal * ref Reference to a set of SystemSignals that shall always be
kept together.
transforming SystemSignal 0..1 ref Optional reference to the SystemSignal which shall
SystemSignal contain the transformed (linear) data.
Class ISignalToIPduMapping
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note An ISignalToIPduMapping describes the mapping of ISignals to ISignalIPdus and defines the position of
the ISignal within an ISignalIPdu.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
iSignal ISignal 0..1 ref Reference to a ISignal that is mapped into the ISignal
IPdu.
Each ISignal contained in the ISignalGroup shall be
mapped into an IPdu by an own ISignalToIPduMapping.
The references to the ISignal and to the ISignalGroup in
an ISignalToIPduMapping are mutually exclusive.
iSignalGroup ISignalGroup 0..1 ref Reference to an ISignalGroup that is mapped into the
SignalIPdu. If an ISignalToIPduMapping for an ISignal
Group is defined, only the UpdateIndicationBitPosition
and the transferProperty is relevant. The startPosition
and the packingByteOrder shall be ignored.
Each ISignal contained in the ISignalGroup shall be
mapped into an IPdu by an own ISignalToIPduMapping.
The references to the ISignal and to the ISignalGroup in
an ISignalToIPduMapping are mutually exclusive.
packingByte ByteOrderEnum 0..1 attr This parameter defines the order of the bytes of the signal
Order and the packing into the SignalIPdu. The byte ordering
"Little Endian" (MostSignificantByteLast), "Big Endian"
(MostSignificantByteFirst) and "Opaque" can be selected.
For opaque data endianness conversion shall be
configured to Opaque. The value of this attribute impacts
the absolute position of the signal into the SignalIPdu
(see the startPosition attribute description).
For an ISignalGroup the packingByteOrder is irrelevant
and shall be ignored.
5
4
Class ISignalToIPduMapping
startPosition UnlimitedInteger 0..1 attr This parameter is necessary to describe the bitposition of
a signal within an SignalIPdu. It denotes the least
significant bit for "Little Endian" and the most significant
bit for "Big Endian" packed signals within the IPdu (see
the description of the packingByteOrder attribute). In
AUTOSAR the bit counting is always set to "sawtooth"
and the bit order is set to "Decreasing". The bit counting
in byte 0 starts with bit 0 (least significant bit). The most
significant bit in byte 0 is bit 7.
Please note that the way the bytes will be actually sent on
the bus does not impact this representation: they will
always be seen by the software as a byte array.
If a mapping for the ISignalGroup is defined, this attribute
is irrelevant and shall be ignored.
transferProperty TransferPropertyEnum 0..1 attr Defines how the referenced ISignal contributes to the
send triggering of the ISignalIPdu.
update UnlimitedInteger 0..1 attr The UpdateIndicationBit indicates to the receivers that the
IndicationBit signal (or the signal group) was updated by the sender.
Position Length is always one bit. The UpdateIndicationBitPosition
attribute describes the position of the update bit within the
SignalIPdu. For Signals of a ISignalGroup this attribute is
irrelevant and shall be ignored.
Note that the exact bit position of the updateIndicationBit
Position is linked to the value of the attribute packingByte
Order because the method of finding the bit position is
different for the values mostSignificantByteFirst and most
SignificantByteLast. This means that if the value of
packingByteOrder is changed while the value of update
IndicationBitPosition remains unchanged the exact bit
position of updateIndicationBitPosition within the
enclosing ISignalIPdu still undergoes a change.
This attribute denotes the least significant bit for "Little
Endian" and the most significant bit for "Big Endian"
packed signals within the IPdu (see the description of the
packingByteOrder attribute). In AUTOSAR the bit
counting is always set to "sawtooth" and the bit order is
set to "Decreasing". The bit counting in byte 0 starts with
bit 0 (least significant bit). The most significant bit in byte
0 is bit 7.
AUTOSAR defines an alternative communication path between the RTE and the Com-
munication Stack called Efficient COM for large data module (LdCom). The System
Template does not define specific attributes which would distinguish whether the tradi-
tional Com or the LdCom shall be used. The idea behind this feature is rather that
• IF the LdCom module is integrated in an Ecu
• AND the specific interaction fulfills certain properties
• THEN LdCom shall be used.
Thus the usage of LdCom inside an ECU is project specific and is not derived from
system description properties.
Note: even when all requirements for usage of LdCom are fulfilled it is not necessarily
required to actually have an LdCom module inside the respective Ecu. It is rather a
project specific decision whether LdCom module is integrated.
All of the following requirements need to be fulfilled in order to allow the usage of
LdCom for the specific ISignal / ISignalIPdu combination.
[TPS_SYST_02015] LdCom: only one ISignal mapped to the ISignalIPdu
dOnly if exactly one ISignal is mapped into an ISignalIPdu and the LdCom mod-
ule is present, this ISignal shall be handled by LdCom.c(RS_SYST_00049)
[TPS_SYST_02016] LdCom: only Transformer output and UINT8_N or
UINT8_DYN supported dOnly if
• the data type of the ISignal is either UINT8_N or UINT8_DYN
• or the ISignal has a reference to the DataTransformation in the role data-
Transformation
and the LdCom module is present, this ISignal shall be handled by LdCom.c(RS_-
SYST_00049)
[TPS_SYST_02017] LdCom: Opaque ISignalToIPduMapping.packingByte-
Order dOnly if packingByteOrder has the value "Opaque" and the LdCom module
is present, this ISignal shall be handled by LdCom.c(RS_SYST_00049)
[TPS_SYST_02018] LdCom: ISignalToIPduMapping.startPosition shall be
0 dOnly if ISignalToIPduMapping.startPosition equals 0 (zero) and the LdCom
module is present, this ISignal shall be handled by LdCom.c(RS_SYST_00049)
[TPS_SYST_02019] LdCom: ISignalToIPduMapping.transferProperty shall
be triggered or triggeredWithoutRepetition for sent ISignals dOnly if ISignal-
ToIPduMapping.transferProperty equals triggered or triggeredWithoutRepeti-
tion for a Signal that is sent by the EcuInstance and the LdCom module is present,
this ISignal shall be handled by LdCom.c(RS_SYST_00049)
TransmissionModeTiming TransmissionModeDeclaration
+transmissionModeTrueTiming
0..1
+transmissionModeDeclaration 0..1
+eventControlledTiming 0..1
Describable FibexElement
Describable
EventControlledTiming CoreCommunication::ISignal
CoreCommunication::IPduTiming
+ numberOfRepetitions: Integer + dataTypePolicy: DataTypePolicyEnum
+ minimumDelay: TimeValue [0..1]
+ iSignalType: ISignalTypeEnum [0..1]
0..1 +iPduTimingSpecification + length: UnlimitedInteger
+iSignal 0..1
«atpVariation»
IPdu Identifiable
CoreCommunication::ISignalIPdu CoreCommunication::ISignalToIPduMapping
Figure 6.6: Pdu Timing excerpt that may be used to configure LdCom
4
Spec Item Number Spec Item Headline Motivation Applies to Model element
LdCom: Opaque ISignalToIP- LdCom only supports Byte Array
[TPS_SYST_02017] Rx + Tx ISignalToIPduMapping
duMapping.packingByteOrder. Signals.
LdCom: ISignalToIPduMap-
[TPS_SYST_02021] LdCom does not support update
ping.updateIndicationBit- Rx + Tx ISignalToIPduMapping
bits.
Position shall not be defined.
LdCom: Only the transmission- LdCom does not support transmis-
[TPS_SYST_02022] Tx ISignalIPdu
ModeTrueTiming defined. sion modes.
LdCom: DataFilter "always" if
[TPS_SYST_02023] LdCom does not support transmis-
TransmissionModeCondition Tx ISignalIPdu
sion modes.
defined.
LdCom: No ModeDrivenTrans-
[TPS_SYST_02024] LdCom does not support transmis-
missionModeCondition de- Tx ISignalIPdu
sion modes.
fined.
LdCom: Only EventCon- LdCom does not support cyclic
[TPS_SYST_02025] Tx ISignalIPdu
trolledTiming defined. transmission.
LdCom: Only EventCon- LdCom does not support cyclic
[TPS_SYST_02026] trolledTiming with no repetition transmission nor repeated trans- Tx ISignalIPdu
defined. mission.
LdCom: No ISignalPort.time- LdCom does not support timeout
[TPS_SYST_02027] Rx ISignalPort
out reception timeout defined. handling.
6.2.2 Big Endian and Little Endian memory layout of Pdus and Frames
The AUTOSAR system description provide means to specify how the memory layout
looks like when signals are packed into Pdus and Pdus are packed into Frames. The
layout of Pdus and Frames on different communication systems is out of scope of
AUTOSAR. The specification of attributes Bit counting (monotone or sawtooth) and Bit
order (decreasing or increasing)1 is not supported by AUTOSAR. In AUTOSAR these
attributes are fixed.
[TPS_SYST_01068] Bit Counting in AUTOSAR dThe Bit counting shall always be
considered as "sawtooth".c()
[TPS_SYST_01069] Bit Order in AUTOSAR dThe bit order shall always be considered
as "Decreasing".c()
When a signal is mapped into a Pdu only the packingByteOrder affects the memory
layout of the signal inside the Pdu beginning with it’s start bit position.
1
More details about Bit counting and Bit order can be found in ASAM FIBEX [9].
Little endian stores the least significant byte first and begins with the least significant
bit, i.e. loworder bit in the sequence (the least significant bit serves as start bit).
Big endian stores the most significant byte first and begins with the most significant bit,
i.e. the bit with the greatest numerical value (the most significant bit serves as start
bit).
In both cases the bit positions in the mapped signals increase with the bit positions in
the ISignalIPdu such that the bit 20 is mapped to position n in the ISignalIPdu
and bit 21 is mapped to position n+1 and so on.
Example 6.7 shows the memory layout for Little Endian and Big Endian if an ISig-
nal with a length of 10 bits is mappped into a Pdu. The start bit position is 5.
The following examples are showing the mapping of Pdus into Frames.
The first example in Figure 6.8 for little endian shows a Frame with four bytes that
contains a single Pdu that is two bytes long. The PduToFrameMapping.startPo-
sition is defined with 8 and since the packingByteOrder is set to mostSignif-
icantByteLast the startPosition denotes the least significant bit of the Pdu in
the Frame. The bit position of the mapped Pdu increases with the bit positions in the
Frame such that the bit 20 is mapped to position n in the ISignalIPdu and bit 21 is
mapped to position n+1 and so on.
Please note that the Pdus are byte aligned in a Frame and only the values 0, 8, 16,
24,... (for little endian) and 7, 15, 23, ... (for big endian) for PduToFrameMapping.
startPosition are allowed.
Figure 6.8 also shows that the Pdu contains three ISignals. The first ISignal has
the ISignalToIPduMapping.startPosition defined as 0 and is 5 bits long. The
bitposition of the second signal is 5 and the length is 10 bits. And the third signal has
the bitposition 15 and is only 1 bit long. Since the ISignalToIPduMapping.pack-
ingByteOrder is defined with mostSignificantByteLast as well the startPo-
sition of the ISignals denotes the least significant bit of the ISignal in the Pdu.
Byte 1 2
Bit 15 14 13 12 11 10 9 8 23 22 21 20 19 18 17 16
Signal 22 21 20 2-4 2-3 22 - 2-1 2-0 2-0 29 28 27 26 25 24 23
Pdu bit 7 6 5 4- 3- 2- 1- 0- 15
- 14 13 12 11 10 9 8
Byte 0 1 2 3
Bit 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
The second example in Figure 6.9 for big endian shows again a Frame with four bytes
that contains a single Pdu that is two bytes long. The PduToFrameMapping.start-
Position is defined with 15 and since the packingByteOrder is set to mostSig-
nificantByteFirst the startPosition denotes the most significant bit of the
Pdu in the Frame.
Figure 6.9 also shows that the Pdu contains three ISignals. The first ISignal has
the ISignalToIPduMapping.startPosition defined as 7 and is 5 bits long. The
bitposition of the second signal is 2 and the length is 10 bits. And the third signal has
the bitposition 8 and is only 1 bit long. Since the ISignalToIPduMapping.pack-
ingByteOrder is defined with mostSignificantByteFirst as well the start-
Position of the ISignals denotes the most significant bit of the ISignal in the
PduToFrameMapping
Pdu.
Big Endian byte order:
Signal layout in Pdu:
Byte 1 2
Frame bit 15 14 13 12 11 10 9 8 23 22 21 20 19 18 17 16
Signal 24 23 22 2-1 2-0 2-9 2-8 2-7 2-6 25 24 23 22 21 20 20
Pdu bit 7 6 5 4- 3- 2- 1- 0- 15
- 14 13 12 11 10 9 8
Byte 0 1 2 3
Bit 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
the selectorField and the other two signals represent segments defined for the Dynam-
icPart.
6.3 PDUs
The chapter introduces the different Pdu types that are supported in the AUTOSAR
Architecture and by the AUTOSAR Meta-Model.
The PDU Router is responsible only for the routing of IPdus. Other Pdus that are
direct specializations of the Pdu meta-class are not routed by the PDU Router.
UserDefinedPdus and UserDefinedIPdus are used to describe PDU-based com-
munication over Complex Drivers. Chapter 6.14 provides a more detailed description
of CDDs.
0..*
+nmPdu
DcmIPdu SecuredIPdu
NPdu GeneralPurposeIPdu
+ diagPduType: DiagPduType + useAsCryptographicIPdu: Boolean [0..1]
+ useSecuredPduHeader: SecuredPduHeaderEnum [0..1]
MultiplexedIPdu UserDefinedIPdu
+ selectorFieldByteOrder: ByteOrderEnum [0..1] ISignalIPdu
+ cddType: String [0..1]
+ selectorFieldLength: Integer [0..1] + unusedBitPattern: Integer
+ selectorFieldStartPosition: Integer [0..1]
+ triggerMode: TriggerMode [0..1]
+ unusedBitPattern: Integer [0..1] ContainerIPdu
+iSignalIPdu 0..*
«atpVariation»
+associatedComIPduGroup *
FibexElement
ISignalIPduGroup
«atpVariation» + communicationDirection: CommunicationDirectionType
+ communicationMode: String
+containedISignalIPduGroup
0..*
Figure 6.10: Pdus and the mapping into Frames (FibexCore: PDUOverview)
[constr_5249] Existence of Pdu.length dFor each Pdu, attribute length shall exist
at the time when the Ecu configuration of the COM stack is created.c()
Reason: Bsw modules might buffer the payload of the Pdu and for this purpose the
Pdu.length needs to be provided. A second reason is that future extensions of the
Pdu can be prepared by setting the length to an appropriate value.
[constr_5321] Value range of Pdu.length dThe value of Pdu.length shall be in the
range of 0..4294967295 Bytes.c()
[constr_3448] Restriction for usage of Pdu.hasDynamicLength dThe Pdu.hasDy-
namicLength attribute is only relevant for UserDefinedPdus, UserDefinedIPdus,
J1939DcmIPdus.c()
For the remaining (I)Pdus, the fact whether they are dynamic or not should be derivable
from the configuration of the upper layer:
• ISignalIPdu: At least one dynamic signal mapped to the PDU.
Class ISignalIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Represents the IPdus handled by Com. The ISignalIPdu assembled and disassembled in AUTOSAR
COM consists of one or more signals. In case no multiplexing is performed this IPdu is routed to/from the
Interface Layer.
A maximum of one dynamic length signal per IPdu is allowed.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
iPduTiming IPduTiming 0..1 aggr Timing specification for Com IPdus (Transmission
Specification Modes). This information is mandatory for the sender in a
System Extract. This information may be omitted on
receivers in a System Extract.
atpVariation: The timing of a Pdu can vary.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
5
4
Class ISignalIPdu
iSignalToPdu ISignalToIPduMapping * aggr Definition of SignalToIPduMappings included in the Signal
Mapping IPdu.
atpVariation: The content of a PDU can be variable.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
unusedBit Integer 1 attr AUTOSAR COM and AUTOSAR IPDUM are filling not
Pattern used areas of an IPDU with this bit-pattern. This attribute
is mandatory to avoid undefined behavior. This
byte-pattern will be repeated throughout the IPdu.
Class NmPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Network Management Pdu
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
iSignalToIPdu ISignalToIPduMapping * aggr This optional aggregation is used to describe NmUser
Mapping Data that is transmitted in the NmPdu. The counting of
the startPosition starts at the beginning of the NmPdu
regardless whether Cbv or Nid are used.
nmData Boolean 0..1 attr Defines if the Pdu contains NM Data. If the NmPdu does
Information not aggregate any ISignalToIPduMappings it still may
contain UserData that is set via Nm_SetUserData(). If the
ISignalToIPduMapping exists then the nmDataInformation
attribute shall be ignored.
nmVote Boolean 0..1 attr Defines if the Pdu contains NM Vote information.
Information
unusedBit Integer 0..1 attr AUTOSAR COM is filling not used areas of an Pdu with
Pattern this bit-pattern. This attribute can only be used if the nm
DataInformation attribute is set to true.
Table 6.24: NmPdu
Please note that in AUTOSAR only FrNm is able to send out NmPdus with and without
voting information:
[constr_3073] nmVoteInformation only valid for FrNm dThe nmVoteInforma-
tion attribute is only valid for FrNm.c()
Class NPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note This is a Pdu of the Transport Layer. The main purpose of the TP Layer is to segment and reassemble
IPdus.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
5
4
Class NPdu
– – – – –
Table 6.25: NPdu
Class DcmIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Represents the IPdus handled by Dcm.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
diagPduType DiagPduType 1 attr Attribute is used to distinguish a request from a response.
Enumeration DiagPduType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Used to distinguish a diagnostic request from a response.
Literal Description
diagRequest Diagnostic Request
Tags:atp.EnumerationLiteralIndex=0
diagResponse Diagnostic Response
Tags:atp.EnumerationLiteralIndex=1
Class J1939DcmIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Represents the IPdus handled by J1939Dcm.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
diagnostic PositiveInteger 0..1 attr This attribute is used to identify the actual DMx message,
MessageType e.g 1 means DM01, etc.
Class UserDefinedIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
5
4
Class UserDefinedIPdu
Note UserDefinedIPdu allows to describe PDU-based communication over Complex Drivers. If a new BSW
module is added above the PduR (e.g. a Diagnostic Service ) then this IPdu element shall be used to
describe the communication.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
cddType String 0..1 attr This attribute defines the CDD that transmits or receives
the UserDefinedPdu. If several CDDs are defined this
attribute is used to distinguish between them.
4
Class <<atpPrototype>> PduToFrameMapping
4
packingByteOrder attribute). In AUTOSAR the bit
counting is always set to "sawtooth" and the bit order is
set to "Decreasing". The bit counting in byte 0 starts with
bit 0 (least significant bit). The most significant bit in byte
0 is bit 7.
Class IPduTiming
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note AUTOSAR COM provides the possibility to define two different TRANSMISSION MODES for each IPdu.
The Transmission Mode of an IPdu that is valid at a specific point in time is selected using the values of
the signals that are mapped to this IPdu. For each IPdu a Transmission Mode Selector is defined. The
Transmission Mode Selector is calculated by evaluating the conditions for a subset of signals (class
TransmissionModeCondition in the System Template).
The Transmission Mode Selector is defined to be true, if at least one Condition evaluates to true and is
defined to be false, if all Conditions evaluate to false.
Base ARObject, Describable
Attribute Type Mult. Kind Note
minimumDelay TimeValue 0..1 attr Minimum Delay in seconds between successive
transmissions of this I-PDU, independent of the
Transmission Mode.
transmission TransmissionMode 0..1 aggr AUTOSAR COM allows configuring statically two different
Mode Declaration transmission modes for each I-PDU (True and False). The
Declaration Transmission Mode Selector evaluates the conditions for
a subset of signals and decides the transmission mode. It
is possible to switch between the transmission modes
during runtime.
Class PduTriggering
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note The PduTriggering describes on which channel the IPdu is transmitted. The Pdu routing by the PduR is
only allowed for subclasses of IPdu.
Depending on its relation to entities such channels and clusters it can be unambiguously deduced
whether a fan-out is handled by the Pdu router or the Bus Interface.
If the fan-out is specified between different clusters it shall be handled by the Pdu Router. If the fan-out is
specified between different channels of the same cluster it shall be handled by the Bus Interface.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
iPdu Pdu 1 ref Reference to the Pdu for which the PduTriggering is
defined. One I-Pdu can be triggered on different channels
(PduR fan-out). The Pdu routing by the PduR is only
allowed for subclasses of IPdu.
Nevertheless is the reference to the Pdu element
necessary since the PduTriggering element is also used
to specify the sending and receiving connections to Ecu
Ports.
iPduPort IPduPort * ref References to the IPduPort on every ECU of the system
which sends and/or receives the I-PDU.
References for both the sender and the receiver side
shall be included when the system is completely defined.
iSignal ISignalTriggering * ref This reference provides the relationship to the ISignal
Triggering Triggerings that are implemented by the PduTriggering.
The reference is optional since no ISignalTriggering can
be defined for DCM and Multiplexed Pdus.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
5
4
Class PduTriggering
secOcCrypto SecOcCryptoService 0..1 ref This reference identifies the crypto profile applicable to
Mapping Mapping the usage (send, receive) of the also referenced Secured
IPdu.
Obviously, this reference is only applicable if the
Pdutriggering also references a SecuredIPdu in the role i
Pdu.
triggerIPduSend TriggerIPduSend * aggr Defines the trigger for the Com_TriggerIPDUSend API
Condition Condition call. Only if all defined TriggerIPduSendConditions
evaluate to true (AND associated) the Com_Trigger
IPDUSend API shall be called.
ECU 1 ECU 2
ISignalIPduGroup ISignalIPduGroup
1A1 2C1
Class ISignalIPduGroup
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note The AUTOSAR COM Layer is able to start and to stop sending and receiving configurable groups of
I-Pdus during runtime. An ISignalIPduGroup contains either ISignalIPdus or ISignalIPduGroups.
Tags:atp.recommendedPackage=ISignaliPduGroup
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
communication Communication 1 attr This attribute determines in which direction IPdus that are
Direction DirectionType contained in this IPduGroup will be transmitted
(communication direction can be either In or Out).
communication String 1 attr This attribute defines the use-case for this ISignalIPdu
Mode Group (e.g. diagnostic, debugging etc.). For example, in a
diagnostic mode all IPdus - which are not involved in
diagnostic - are disabled. The use cases are not limited to
a fixed enumeration and can be specified as a string.
contained ISignalIPduGroup * ref An I-Pdu group can be included in other I-Pdu groups.
ISignalIPdu Contained I-Pdu groups shall not be referenced by the
Group EcuInstance.
iSignalIPdu ISignalIPdu * ref Reference to a set of Signal I-Pdus, which are contained
in the ISignal I-Pdu Group.
atpVariation: The content of a ISignal I-Pdu group can
vary (->vehicle modes).
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
nmPdu NmPdu * ref Reference to a set of NmPdus with NmUserData, which
are contained in the ISignalIPduGroup.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
Enumeration CommunicationDirectionType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Describes the communication direction.
Literal Description
in Reception (Input)
Tags:atp.EnumerationLiteralIndex=0
out Transmission (Output)
Tags:atp.EnumerationLiteralIndex=1
6.3.1 ContainerIPdu
IPdu collection
Multiple PDU to is usedMapping
Frame to transport several (smaller) IPdus in one (large) Con-
tainerIPdu. A possible use case for example is the extended payload size for Eth-
ernet and CanFd in combination with the limited payload of Can and Lin, where Pdus
from Format
a Can ofnetwork shall be
a dynamically routedPDUs
mapped onto within
an Ethernet network and then back to a Can
a PDU container
again. Header size has to be configured per PDU container
PDU Header
ID DLC
ID 24 bit ID 32 bit
301 of 2391 Document ID 63: AUTOSAR_TPS_SystemTemplate
DLC 8 bit DLC 32 bit
System Template
AUTOSAR CP R21-11
For each IPdu which is put inside a ContainerIPdu, a header may be pro-
vided which determines which IPdu is contained (ContainedIPduProps.head-
erIdLongHeader or headerIdShortHeader) and what the size of that IPdu is (
DLC during runtime). With this header mode the receivers are able to extract the in-
dividual contained IPdus again. As an alternative option to the usage of headers a
statically configured layout of IPdus in the ContainerIPdu is supported.
FibexElement
Pdu
+iPdu 1
Identifiable +containedPduTriggering
PduTriggering
0..1
+containedPduTriggering 0..*
ContainedIPduProps
+containedIPduTriggeringProps 0..*
ContainerIPdu
«enumeration»
«enumeration» ContainerIPduHeaderTypeEnum «enumeration» «enumeration»
RxAcceptContainedIPduEnum ContainerIPduTriggerEnum PduCollectionTriggerEnum
shortHeader
acceptAll longHeader firstContainedTrigger always
acceptConfigured noHeader defaultTrigger never
«enumeration»
ContainedIPduCollectionSemanticsEnum
lastIsBest
queued
Class ContainerIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Allows to collect several IPdus in one ContainerIPdu based on the headerType.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
containedIPdu ContainedIPduProps * aggr Defines properties for an IPdu that is part of the
TriggeringProps ContainerIPdu.
containedPdu PduTriggering * ref This PduTriggering shall be collected inside the Container
Triggering IPdu.
5
4
Class ContainerIPdu
container TimeValue 0..1 attr When this timeout expires the ContainerIPdu is sent out.
Timeout The respective timer is started when the first Ipdu is put
into the ContainerIPdu. This attribute is ignored on
receiver side.
containerTrigger ContainerIPduTrigger 0..1 attr Defines if the transmission of the ContainerIPdu shall be
Enum requested right after the first ContainedIPdu was put into
it. This attribute shall be ignored on receiver side.
headerType ContainerIPduHeader 1 attr Defines whether and which header type is used (header
TypeEnum id and length).
minimumRx PositiveInteger 0..1 attr This attribute defines the minimum queue size for
Container received containers.
QueueSize
minimumTx PositiveInteger 0..1 attr This attribute defines the minimum queue size for
Container transmitted containers.
QueueSize
rxAccept RxAcceptContainedI 1 attr Defines whether this ContainerIPdu has a fixed set of
ContainedIPdu PduEnum containedIPdus assigned for reception.
thresholdSize PositiveInteger 0..1 attr Defines the size threshold which, when exceeded,
triggers the sending of the ContainerIPdu although the
maximum Pdu size has not been reached yet. Unit: byte.
unusedBit PositiveInteger 0..1 attr IPduM fills not updated areas of the ContainerPdu with
Pattern this byte-pattern.
Enumeration ContainerIPduHeaderTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Is used to define the header type and size of ContainerIPdus. The header size includes the header id
and the length information.
Literal Description
5
4
Enumeration ContainerIPduHeaderTypeEnum
longHeader Header size is 64 bit:
• Header Id 32 bit
• Dlc 32 bit
Tags:atp.EnumerationLiteralIndex=0
noHeader No Header is used and the location of each containedPdu in the ContainerPdu is statically configured.
Tags:atp.EnumerationLiteralIndex=2
shortHeader Header size is 32 bit:
• Header Id 24 bit
• Dlc 8 bit.
Tags:atp.EnumerationLiteralIndex=1
Enumeration RxAcceptContainedIPduEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Defines whether this ContainerIPdu has a fixed set of containedIPdus assigned for reception.
Literal Description
acceptAll No fixed set of containedIPdus is defined for reception, any known containedIPdu (based on header
Id) shall be expected within this ContainerIPdu.
Tags:atp.EnumerationLiteralIndex=0
acceptConfigured A fixed set of containedIPdus is defined for reception. Only these assigned containedIPdus (based on
headerId) are expected in this ContainerIPdu. If a not assigned containedIPdu is received within this
ContainerIPdu this containedIPdu is discarded.
Tags:atp.EnumerationLiteralIndex=1
Class ContainedIPduProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Defines the aspects of an IPdu which can be collected inside a ContainerIPdu.
Base ARObject
Attribute Type Mult. Kind Note
collection ContainedIPdu 1 attr Defines whether this ContainedIPdu shall be collected
Semantics CollectionSemantics using a last-is-best or queued semantics.
Enum
containedPdu PduTriggering 0..1 ref Reference to Pdu for which the ContainedIPduProps are
Triggering valid.
headerIdLong PositiveInteger 0..1 attr Defines the header id this IPdu shall have in case this
Header IPdu is put inside a ContainerIPdu with headerType =
longHeader.
headerIdShort PositiveInteger 0..1 attr Defines the header id this IPdu shall have in case this
Header IPdu is put inside a ContainerIPdu with headerType =
shortHeader.
offset PositiveInteger 0..1 attr Byte offset that describes the location of the Contained
Pdu in the ContainerPdu if no header is used.
priority PositiveInteger 0..1 attr Defines a priority of a ContainedTxPdu. 255 represents
the lowest priority and 0 represent the highest priority.
5
4
Class ContainedIPduProps
timeout TimeValue 0..1 attr Defines a IPdu specific sender timeout which can reduce
the ContainerIPdu timer when this containedIPdu is put
inside the ContainerIPdu. This attribute is ignored on
receiver side.
trigger PduCollectionTrigger 0..1 attr Defines whether this IPdu does trigger the sending of the
Enum ContainerIPdu. This attribute is ignored on receiver side.
update PositiveInteger 0..1 attr The updateIndicationBit specifies the bit location of
IndicationBit ContainedIPdu Update-Bit in the Container PDU. It
Position indicates to the receivers that the ContainedIPdu in the
ContainerIPdu was updated.
4
Enumeration ContainedIPduCollectionSemanticsEnum
queued The ContainedIPdu data will instantly be stored to the ContainerIPdu in the context of the Transmit
API.
Tags:atp.EnumerationLiteralIndex=1
Enumeration PduCollectionTriggerEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Defines whether a Pdu contributes to the triggering of the data transmission if Pdu collection is
enabled.
Literal Description
always Pdu will trigger the transmission of the data.
Tags:atp.EnumerationLiteralIndex=0
never Pdu will be buffered and will not trigger the transmission of the data.
Tags:atp.EnumerationLiteralIndex=1
The reason for this modeling is the configuration of the PduR. One use case in the
PduR is the enabling and disabling of Pdus by PdurIPduGroups. The PdurIP-
duGroup works on PduTriggerings and there is also the use case to enable/disable
the ContainedIPdus in the PduR.
[constr_3141] Only IPdus shall be part of a ContainerIPdu dThe PduTrig-
gering which is referenced in the role ContainerIPdu.containedPduTrig-
gering or ContainerIPdu.containedIPduTriggeringProps.containedP-
duTriggering shall refer to a subclass of an IPdu in the role PduTriggering.
iPdu.c()
Only subclasses of IPdus are handled by the PduR and therefore are available for the
ContainerIPdu.
For the sender side this assignment defines which IPdus may be collected inside
this ContainerIPdu. For the receiver side this assignment may be omitted if Con-
tainerIPdu.rxAcceptContainedIPdu is set to RxAcceptContainedIPduEnum.
acceptAll.
[TPS_SYST_02064] Reception acceptance of contained IPdus dContainer-
IPdu.rxAcceptContainedIPdu defines for the receiver side whether the list of
ContainerIPdu.containedPduTriggering or ContainerIPdu.containedIP-
duTriggeringProps.containedPduTriggering is a closed set.
If ContainerIPdu.rxAcceptContainedIPdu = RxAcceptContainedIPduEnum.
acceptConfigured, only those IPdus (based on headerId) which are refer-
enced by this ContainerIPdu in the role ContainerIPdu.containedPduTrig-
gering or ContainerIPdu.containedIPduTriggeringProps.containedP-
duTriggering are extracted from this ContainerIPdu.
If ContainerIPdu.rxAcceptContainedIPdu = RxAcceptContainedIP-
duEnum.acceptAll, the IPdus (based on headerId) which are referenced by this
ContainerIPdu in the role ContainerIPdu.containedPduTriggering or
ContainerIPdu.containedIPduTriggeringProps.containedPduTrigger-
ing are expected inside this ContainerIPdu but also any other IPdu is extracted
which is referenced by any other ContainerIPdu.rxAcceptContainedIPdu with
RxAcceptContainedIPduEnum.acceptAll set.c(RS_SYST_00055)
Thus all referenced IPdus which are referenced from ContainerIPdu.rxAccept-
ContainedIPdu with RxAcceptContainedIPduEnum.acceptAll form the set of
IPdus which are considered for the reception of ANY ContainerIPdu with Con-
tainerIPdu.rxAcceptContainedIPdu = RxAcceptContainedIPduEnum.ac-
ceptAll.
For the receiver side ContainerIPdu.containedPduTriggering or Container-
IPdu.containedIPduTriggeringProps.containedPduTriggering may be
omitted if ContainerIPdu.rxAcceptContainedIPdu is set to RxAcceptCon-
tainedIPduEnum.acceptAll. Such a ContainerIPdu will accept any of the
contained IPdus from the acceptAll IPdu set if they have the headerId (head-
erIdShortHeader or headerIdLongHeader) defined by the ContainerIPdu.
headerType configured.
There are use-cases where several IPdus with identical content are transported on the
vehicle networks. One motivation to design the communication structure like this is that
the communication timing attributes may be different and thus need to be represented
by different ISignalIPdus (i.e. different ISignalIPdu.iPduTimingSpecifica-
tion, e.g. to support the transmission on Can and Fr networks with different transmis-
sion modes). When the content of the IPdus is identical they can be transported using
the same header Id. Thus it is transparent for the receiver via which channel a specific
IPdu arrived in case of ContainerIPdu with acceptAll setting.
In such a setup it may occur that several PduTriggerings for IPdus with identical
header IDs are defined as candidates for the set of IPdus which are considered for
the reception of acceptAll ContainerIPdus. This is considered a valid setup and
shall be resolved during derivation to ECU Configuration.
The Ecu Configuration for ContainerIPdu.rxAcceptContainedIPdu = accep-
tAll uses a set of Contained Rx Pdus without a relation to Container Pdus. This set
is defined during derivation of the Ecu Configuration from the System Description. If
duplicates occur they are only included once in the set of Contained Rx Pdus.
In such a case there is additional information required to select which of these
PduTriggerings shall be taken for the configuration and which shall be omitted.
[TPS_SYST_02196] PduTriggering is referenced by several Container-
IPdus dIn case a PduTriggering is referenced in the role ContainerIPdu.
containedPduTriggering or ContainerIPdu.containedIPduTriggering-
Props.containedPduTriggering by several ContainerIPdus with Container-
IPdu.rxAcceptContainedIPdu = RxAcceptContainedIPduEnum.acceptAll
and has a reference to an IPduPort with direction IN then this PduTriggering shall
only be considered once for the set of IPdus which are considered for the reception of
acceptAll ContainerIPdus.c(RS_SYST_00055)
[constr_3403] Usage of ContainerIPdu.rxAcceptContainedIPdu if noHeader
is used dIf the ContainerIPdu.headerType is set to noHeader then the Con-
tainerIPdu.rxAcceptContainedIPdu attribute value shall be set to acceptCon-
figured.c()
[TPS_SYST_03014] Transmission triggering by the first contained IPdu put into
a ContainerIPdu dThe attribute ContainerIPdu.containerTrigger determines
whether the transmission of a ContainerIPdu shall be requested when the first con-
tained IPdu was put into the ContainerIPdu.
In case containerTrigger equals firstContainedTrigger the transmission of
the ContainerIPdu shall be requested when the first contained IPdu is put into the
ContainerIPdu.
size contained IPdu will not fit into that ContainerIPdu anymore and provide this as
a requirement in ContainerIPdu.thresholdSize.
Another use case for the ContainedIPduProps is to support the usage of optimized
trigger transmit collection of IPdus in ContainerIPdus. Therefore it is necessary
to distinguish between contained IPdus with lastIsBest (will be fetched via trigger
transmit just before the transmission executes) and those with queued semantics (will
instantly be stored in the context of the transmit API). This distinction is possible on the
level of single contained IPdus with the attribute collectionSemantics.
For all intents and purposes, the different handling of contained IPdus depending on
the semantics is supported by the attribute ContainedIPduProps.collectionSe-
mantics that allows the individual setting of the intended semantics per contained
IPdu.
[constr_3517] Consistent setting of ContainedIPduProps.collectionSeman-
tics in the context of one ContainerIPdu dThe value of the attribute Con-
tainedIPduProps.collectionSemantics shall be identical for all contained
IPdus within the context of a given ContainerIPdu.c()
[constr_3144] Mandatory IPdu.containedIPduProps for contained IPdus dFor
each IPdu which is assigned to a ContainerIPdu in the role ContainerIPdu.con-
tainedPduTriggering the IPdu.containedIPduProps shall be defined.c()
ContainedIPduProps is optional and may be ignored in case the IPdu is not
mapped into a ContainerIPdu. A use-case is that an IPdu is fan-out in the PduR
and one PduTriggering is part of a ContainerIPdu while the other PduTrigger-
ing is directly transported via a bus interface.
Another case where ContainedIPduProps aggregated at the IPdu are ignored is
described in [TPS_SYST_02372].
[constr_3488] Value range of ContainedIPduProps.priority dIf defined, the
value of ContainedIPduProps.priority shall be in the range of 0..255.c()
[constr_3489] ContainedIPduProps.priority is only applicable if a Con-
tainerIPdu header is used dContainedIPduProps.priority is only applicable
if the headerType of the ContainerIPdu is set to shortHeader or longHeader.c
()
[constr_3490] ContainedIPduProps.priority is only applicable if collec-
tionSemantics is set to lastIsBest dContainedIPduProps.priority is only
applicable if ContainedIPduProps.collectionSemantics is set to lastIs-
Best.c()
6.3.2 SecuredIPdu
AUTOSAR supports an authentication mechanism for critical data on the level of Pdus.
cryptographicPduTriggering: Can:
PduTriggering CanPhysicalChannel
Frame_Id26:
+pduTriggering
FrameTriggering
+iPdu +frame
+payload
authenticPduTriggering:
PduTriggering
+iPdu
authenticPdu: ISignalIPdu
• assigned to ContainerIPdus.
c(RS_SYST_00054)
[constr_5259] PduTriggerings and FrameTriggerings of SecuredIPdu with
useAsCryptographicIPdu = true dIn case that a SecuredIPdu is defined with
useAsCryptographicIPdu = true as described by [TPS_SYST_02173] then:
• the PduTriggering of the AuthenticPdu
• the PduTriggering of the CryptographicPdu
• the FrameTriggering that references the Frame to which the AuthenticPdu
is mapped
• the FrameTriggering that references the Frame to which the Cryptograph-
icPdu is mapped
shall be aggregated by the same PhysicalChannel.c()
[TPS_SYST_02361] PduR Fan-out of SecuredIPdu with useAsCrypto-
graphicIPdu = true dIf a PduR fan-out of a SecuredIPdu with useAsCrypto-
graphicIPdu = true is defined then [constr_5259] shall be considered on all Physi-
calChannels on which the SecuredIPdu is transmitted.c()
In other words the PduTriggerings of the AuthenticPdu and the Cryptograph-
icPdu and the FrameTriggerings that reference the Frames to which the Authen-
ticPdu and CryptographicPdu are mapped need to be defined on all Physi-
calChannels on which the SecuredIPdu is transmitted.
cryptographicPduTriggering: Can:
PduTriggering CanPhysicalChannel
+pduTriggering CryptoFrame_Id25:
FrameTriggering
+iPdu +frame
+payload
authenticPduTriggering:
PduTriggering
+pduTriggering AuthenticFrame_Id29:
FrameTriggering
+iPdu +frame
Please note that [TPS_SYST_02059] defines that the PduTriggerings of the Se-
curedIPdu and PduTriggerings of the payload IPdu shall both reference IPdu-
Ports.
A SecuredIPdu defines freshness properties by referencing the reusable Se-
cureCommunicationFreshnessProps in the role freshnessProps. The authen-
tication properties are defined by reusable SecureCommunicationAuthentica-
tionProps that are referenced in the role authenticationProps. Configuration
settings that are specific to the SecuredIPdu are defined in SecureCommunica-
tionProps.
Please note that if the SecuredIPdu does not reference the SecureCommunica-
tionFreshnessProps in the role freshnessProps the freshness value will not be
included in the SecuredIPdu.
FibexElement
SecureCommunicationPropsSet
IPdu
SecuredIPdu «enumeration»
SecuredPduHeaderEnum
+ useAsCryptographicIPdu: Boolean [0..1]
+ useSecuredPduHeader: SecuredPduHeaderEnum [0..1] noHeader
securedPduHeader08Bit
securedPduHeader16Bit
securedPduHeader32Bit
+secureCommunicationProps 1
+payload 1
SecureCommunicationProps Identifiable
PduTriggering
+ authDataFreshnessLength: PositiveInteger [0..1]
+ authDataFreshnessStartPosition: PositiveInteger [0..1]
+ authenticationBuildAttempts: PositiveInteger [0..1]
+ authenticationRetries: PositiveInteger
+ dataId: PositiveInteger
+ freshnessValueId: PositiveInteger [0..1] +iPduPort *
+ messageLinkLength: PositiveInteger [0..1] CommConnectorPort
+ messageLinkPosition: PositiveInteger [0..1]
IPduPort
+ secondaryFreshnessValueId: PositiveInteger [0..1]
+ securedAreaLength: PositiveInteger [0..1] + iPduSignalProcessing: IPduSignalProcessingEnum [0..1]
+ securedAreaOffset: PositiveInteger [0..1] + rxSecurityVerification: Boolean [0..1]
+ timestampRxAcceptanceWindow: TimeValue [0..1]
+ useAuthDataFreshness: Boolean [0..1]
Class SecuredIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
5
4
Class SecuredIPdu
Note If useAsCryptographicPdu is not set or set to false this IPdu contains the payload of an Authentic IPdu
supplemented by additional Authentication Information (Freshness Counter and an Authenticator).
If useAsCryptographicPdu is set to true this IPdu contains the Authenticator for a payload that is
transported in a separate message. The separate Authentic IPdu is described by the Pdu that is
referenced with the payload reference from this SecuredIPdu.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
authentication SecureCommunication 0..1 ref Reference to authentication properties that are valid for
Props AuthenticationProps this SecuredIPdu.
freshnessProps SecureCommunication 0..1 ref Reference to freshness properties that are valid for this
FreshnessProps SecuredIPdu.
payload PduTriggering 1 ref Reference to a Pdu that will be protected against
unauthorized manipulation and replay attacks.
secure SecureCommunication 1 aggr Specific configuration properties for this SecuredIPdu.
Communication Props
Props
useAs Boolean 0..1 attr If this attribute is set to true the SecuredIPdu contains the
Cryptographic Authentication Information for an AuthenticIPdu that is
IPdu transmitted in a separate message. The AuthenticIPdu
contains the original payload, i.e. the secured data.
If this attribute is set to false this SecuredIPdu contains
the payload of an Authentic IPdu supplemented by
additional Authentication Information.
useSecuredPdu SecuredPduHeader 0..1 attr This attribute defines the size of the header which is
Header Enum inserted into the SecuredIPdu. If this attribute is set to
anything but noHeader, the SecuredIPdu contains the
Secured I-PDU Header to indicate the length of the
AuthenticIPdu. The AuthenticIPdu contains the original
payload, i.e. the secured data.
Enumeration SecuredPduHeaderEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Defines the header which will be inserted into the SecuredIPdu.
Literal Description
noHeader No header included in the SecuredPdu.
Tags:atp.EnumerationLiteralIndex=0
securedPdu 8 Bit Secured I-PDU Header included in the Secured I-PDU.
Header08Bit
Tags:atp.EnumerationLiteralIndex=1
securedPdu 16 Bit Secured I-PDU Header included in the Secured I-PDU.
Header16Bit
Tags:atp.EnumerationLiteralIndex=2
securedPdu 32 Bit Secured I-PDU Header included in the Secured I-PDU.
Header32Bit
Tags:atp.EnumerationLiteralIndex=3
Class SecureCommunicationProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note This meta-class contains configuration settings that are specific for an individual SecuredIPdu.
Base ARObject
Attribute Type Mult. Kind Note
authData PositiveInteger 0..1 attr This attribute defines the length in bits of the authentic
Freshness PDU data that is passed to the SWC that verifies and
Length generates the Freshness.
authData PositiveInteger 0..1 attr This value determines the start position in bits of the
FreshnessStart Authentic PDU that shall be passed on to the SWC that
Position verifies and generates the Freshness. The bit counting is
done according to TPS_SYST_01068.
authentication PositiveInteger 0..1 attr This attribute specifies the number of authentication build
BuildAttempts attempts.
authentication PositiveInteger 1 attr This attribute defines the additional number of
Retries authentication attempts that are to be carried out when
the generation of the authentication information failed for
a given SecuredIPdu. If zero is set than only one
authentication attempt is done.
dataId PositiveInteger 1 attr This attribute defines a numerical identifier for the
Secured I-PDU.
freshnessValue PositiveInteger 0..1 attr This attribute defines the Id of the Freshness Value. The
Id Freshness Value might be a normal counter or a time
value.
messageLink PositiveInteger 0..1 attr SecOC links an AuthenticIPdu and CryptographicIPdu
Length together by repeating a specific part (Message Linker) of
the AuthenticIPdu in the CryptographicIPdu. This attribute
defines the length in bits of the messageLinker.
messageLink PositiveInteger 0..1 attr SecOC links an AuthenticIPdu and CryptographicIPdu
Position together by repeating a specific part (Message Linker) of
the AuthenticIPdu in the CryptographicIPdu. This attribute
defines the startPosition in bits of the messageLinker.
secondary PositiveInteger 0..1 attr This attribute defines the Id of the Secondary Freshness
FreshnessValue Value. The Secondary Freshness Value might be a
Id normal counter or a time value. Please note that this
attribute is for documentation only to allow the
configuration of required freshness value manager and no
upstream mapping is defined for it.
securedArea PositiveInteger 0..1 attr This attribute defines the length in bytes of the area within
Length the payload Pdu which will be secured.
securedArea PositiveInteger 0..1 attr This attribute defines the start position (offset in byte) of
Offset the area within the payload Pdu which will be secured.
Class SecureCommunicationPropsSet
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Collection of properties used to configure SecuredIPdus.
Tags:atp.recommendedPackage=SecureCommunicationPropsSet
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
authentication SecureCommunication * aggr Authentication properties used to configure Secured
Props AuthenticationProps IPdus.
freshnessProps SecureCommunication * aggr Freshness properties used to configure SecuredIPdus.
FreshnessProps
Class SecureCommunicationFreshnessProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Freshness properties used to configure SecuredIPdus.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
freshness PositiveInteger 0..1 attr This attribute defines the number of Freshness Counter
CounterSync re-synchronization attempts when a verification failed for
Attempts a Secured I-PDU. If the value is zero, there will be no
additional verification attempt to synchronize with a
potentially better fitting Freshness Counter value. This
attribute is only applicable if useFreshnessTimestamp is
FALSE.
freshness PositiveInteger 0..1 attr This attribute defines a factor that specifies the time
TimestampTime period for the Freshness Timestamp. It holds a
PeriodFactor multiplication factor that specifies the concrete meaning
of a Freshness Timestamp increment by one on basis of
microseconds.
freshnessValue PositiveInteger 0..1 attr This attribute defines the complete length in bits of the
Length Freshness Value. As long as the key doesn’t change the
counter shall not overflow. The length of the counter shall
be determined based on the expected life time of the
corresponding key and frequency of usage of the counter.
freshnessValue PositiveInteger 0..1 attr This attribute defines the length in bits of the Freshness
TxLength Value to be included in the payload of the Secured I-PDU.
This length is specific to the least significant bits of the
complete Freshness Counter. If the attribute is 0 no
Freshness Value is included in the Secured I-PDU.
useFreshness Boolean 0..1 attr This attribute specifies whether the Freshness Value is
Timestamp generated through individual Freshness Counters or by a
Timestamps. The value is set to TRUE when Timestamps
are used.
Table 6.50: SecureCommunicationFreshnessProps
Class SecureCommunicationAuthenticationProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Authentication properties used to configure SecuredIPdus.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
5
4
Class SecureCommunicationAuthenticationProps
authInfoTx PositiveInteger 0..1 attr This attribute defines the length in bits of the
Length authentication code to be included in the payload of the
authenticated Pdu.
Table 6.51: SecureCommunicationAuthenticationProps
Please note that the dynamic-length Pdu can be an ISignalIPdu that contains a
SystemSignal with dynamicLength set to true. In general it is not possible to run
diagnostics on fixed-length Pdus. Therefore, there is a probability that at least a subset
of DcmIPdus and UserDefinedIPdus can have dynamic length.
[constr_3406] All signals before authDataFreshnessStartPosition shall
have a static length dIn case that
• an ISignalIPdu is referenced by the SecuredIPdu with the payload refer-
ence via the PduTriggering and
• the authDataFreshnessStartPosition and authDataFresh-
nessLength define the area in the ISignalIPdu that is taken to verify
and generate the Freshness then
all ISignals that are mapped into the ISignalIPdu in front of the configured au-
thDataFreshnessStartPosition shall have a static length.c()
Please note that parts of the Authentic IPdu can be used as freshness when auth-
DataFreshnessStartPosition and authDataFreshnessLength are defined.
But therefore the part of the Authentic IPdu to be used as the freshness has to be
always available at same position in the Authentic IPdu.
[constr_3407] Freshness Value in Authentic IPdu is not allowed to be used in
case of ContainerIPdu with a dynamic layout dIf a ContainerIPdu that is ref-
erenced by the SecuredIPdu with the payload reference via the PduTriggering
contains a dynamic layout (i.e. ContainerIPdu.headerType is set to longHeader
or shortHeader) and multiple contained IPdus then each IPduPort that is refer-
enced by the PduTriggering of the SecuredIPdu shall have the attribute useAu-
thDataFreshness set to false.c()
Please note that for ContainerIPdus with a dynamic layout it cannot be ensured
which contained IPdu will be put in which position (depends on various timing and
trigger conditions). Therefore [constr_3407] applies.
[constr_5060] Mapping of a SecuredIPdu into a LinFrame is not allowed dThe
mapping of a SecuredIPdu into a LinFrame with a PduToFrameMapping is not
allowed.c()
In other words the usage of Pdus that are secured by SecOC is not allowed on a LIN
Network.
There are use cases for OEMs to already provide a pre-configuration of the crypto
stack specifically for the handling of SecuredIPdu.
In order to support these use cases model elements in the meta-model are defined
that allow for modeling a “crypto infrastructure” that facilitates the derivation of the
configuration of operations MacGenerate and MacVerify in the crypto stack.
The formalization of a Pdu that is sent or received is based on the PduTriggering
and its reference to an IPduPort, specifically by interpreting the attribute IPduPort.
communicationDirection. The details of the approach are summarized in Figure
6.17.
[TPS_SYST_05020] Semantics of CryptoServiceMapping dMeta-class Cryp-
toServiceMapping represents an abstract base class for the creation of mappings in
the context of cryptographic operations. Concrete sub-classes define the mapping with
respect to specific cryptographic use cases, e.g. SecOC, TLS.c(RS_SYST_00054)
Class CryptoServiceMapping (abstract)
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class represents an abstract base class for specializations of crypto service mappings.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Subclasses SecOcCryptoServiceMapping, TlsCryptoServiceMapping
Attribute Type Mult. Kind Note
– – – – –
Table 6.53: CryptoServiceMapping
+authentication 0..1
+cryptoServiceKey ARElement
SecOcCryptoServiceMapping
CryptoServiceKey
0..1
+ algorithmFamily: String
+secOcCryptoMapping 0..1 + keyGeneration: CryptoServiceKeyGenerationEnum [0..1]
+cryptoServiceQueue 0..1 + keyStorageType: String [0..1]
+ length: PositiveInteger
ARElement
CryptoServiceQueue
Identifiable FibexElement
PduTriggering + queueSize: PositiveInteger [0..1] Pdu
keyDerivation
keyStorage IPdu
SecuredIPdu
+payload + useAsCryptographicIPdu: Boolean [0..1]
+ useSecuredPduHeader: SecuredPduHeaderEnum [0..1]
1
CommConnectorPort Identifiable
IPduPort SecureCommunicationAuthenticationProps
Please note that the developmentValue most likely will be used in the form of
a TextValueSpecification. However, the aggregation has still be modeled by
means of using the abstract base class ValueSpecification to gain some head-
room for future extension.
Class CryptoServiceKey
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class has the ability to represent a crypto key
Tags:atp.recommendedPackage=CryptoDevelopmentKeys
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
algorithmFamily String 1 attr This attribute represent the description of the family of the
applicable crypto algorithm.
development ValueSpecification 0..1 aggr This aggregation represents the ability to assign a
Value specific value to the crypto key as part of the system
description. This value can then be taken for the
development of the respective ECU.
keyGeneration CryptoServiceKey 0..1 attr This attribute describes how a the specific cryptographic
GenerationEnum key is created.
5
4
Class CryptoServiceKey
keyStorageType String 0..1 attr This attribute describes where the enclosing
cryptographic key shall be stored. AUTOSAR reserves
specific values for this attributes but it is possible to insert
custom values as well.
length PositiveInteger 1 attr This attribute describes the length of the cryptographic
key.
Enumeration CryptoServiceKeyGenerationEnum
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This enumeration shall be taken to express the handling of a crypto key in terms of whether it is
obtained from e.g. a diagnostic tester or whether it is created by derivation from a master key.
Literal Description
keyDerivation This means that the crypto key is created by derivation from a master key.
Tags:atp.EnumerationLiteralIndex=0
keyStorage This means that the crypto key is obtained from an external entity, e.g. a diagnostic tester.
Tags:atp.EnumerationLiteralIndex=1
• NVM
c(RS_SYST_00054)
Please note that custom values for attribute CryptoServiceKey.keyStorageType
are supported as long as the actual values are defined in a way such that a possible
clash with a later standardization by AUTOSAR becomes impossible.
The best way to achieve this is to use the company name (e.g. as a prefix) within the
custom value of CryptoServiceKey.keyStorageType.
Class CryptoServiceQueue
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class has the ability to represent a crypto queue.
Tags:atp.recommendedPackage=CryptoServiceQueues
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
queueSize PositiveInteger 0..1 attr Defines the queue size of the CryptoServiceQueue.
Caveat: The E2E wrapper approach involves technologies that are not subjected to
the AUTOSAR standard and is superseded by the superior E2E transformer approach
(which is fully standardized by AUTOSAR). Hence, new projects (without legacy con-
straints due to carry-over parts) shall use the fully standardized E2E transformer ap-
proach.
[TPS_SYST_01070] E2E Protection of ISignalGroups dIt is possible to protect the
inter-ECU data exchange of safety-related ISignalGroups which are mapped into
ISignalIPdus using protection mechanisms provided by E2E Library.c(RS_SYST_-
00028)
[TPS_SYST_01071] E2E Protection of several ISignalGroups in one ISig-
nalIPdu dIt is possible to protect several ISignalGroups in one ISignalIPdu us-
ing several EndToEndProtectionISignalIPdu elements.c(RS_SYST_00028)
The EndToEndProtectionISignalIPdu element refers to the ISignalGroup that
is to be protected and to the ISignalIPdu that transmits the protected ISignal-
Group. The dataOffset in the EndToEndProtectionISignalIPdu element de-
fines the starting position of the Array representation of the ISignalGroup.
The information how the referenced ISignalGroup shall be protected (through which
E2E Profile and with which E2E settings) is defined in the EndToEndDescription
element.
[TPS_SYST_01072] Offset attributes of EndToEndDescription dAll offset at-
tributes of EndToEndDescription are relative to the dataOffset with respect to
the ISignalIPdu (absolute position of the CRC = dataOffset + crcOffset).c(RS_-
SYST_00028)
For more details, see End to End Library [23].
[TPS_SYST_01073] E2E Protection via COM Callouts dIf the E2E Protection is done
via COM Callouts then the EndToEndProtectionISignalIPdu shall be defined.c
(RS_SYST_00028)
[TPS_SYST_01074] E2E Protection in the E2E Wrapper dIf the E2E Protection is
done in the E2E Wrapper then both EndToEndProtectionISignalIPdu and End-
ToEndProtectionVariablePrototype shall be defined.
Caveat: The E2E transformer approach is the standardized AUTOSAR way.c(RS_-
SYST_00028)
For more details, see Software Component Template specification [5].
[constr_1002] End-to-end protection does not support n:1 communication dAs
the n:1 communication scenario implies that probably not all senders use the same
dataId this scenario is explicitly not supported.c()
ARElement
EndToEndProtectionSet
«atpVariation,atpSplitable»
+endToEndProtection 0..*
Identifiable
EndToEndDescription
EndToEndProtection
+ category: NameToken [0..1]
+endToEndProfile + counterOffset: PositiveInteger [0..1]
+ crcOffset: PositiveInteger [0..1]
«atpSplitable» 0..1 + dataId: PositiveInteger [0..*] {ordered}
+ dataIdMode: PositiveInteger [0..1]
+ dataIdNibbleOffset: PositiveInteger [0..1]
+ dataLength: PositiveInteger [0..1]
«atpVariation,atpSplitable» + maxDeltaCounterInit: PositiveInteger [0..1]
+endToEndProtectionISignalIPdu 0..* + maxNoNewOrRepeatedData: PositiveInteger [0..1]
+ syncCounterInit: PositiveInteger [0..1]
EndToEndProtectionISignalIPdu
+ dataOffset: Integer
+iSignalIPdu 1 +iSignalGroup 1
IPdu FibexElement
ISignalIPdu ISignalGroup
+ unusedBitPattern: Integer
+iSignalGroup 0..1
«atpVariation»
+iSignalToPduMapping 0..*
Identifiable
ISignalToIPduMapping
Class EndToEndProtectionSet
Package M2::AUTOSARTemplates::SWComponentTemplate::EndToEndProtection
Note This represents a container for collection EndToEndProtectionInformation.
Tags:atp.recommendedPackage=EndToEndProtectionSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
endToEnd EndToEndProtection * aggr This is one particular EndToEndProtection.
Protection
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=endToEndProtection.shortName, endToEnd
Protection.variationPoint.shortLabel
vh.latestBindingTime=preCompileTime
Class EndToEndProtection
Package M2::AUTOSARTemplates::SWComponentTemplate::EndToEndProtection
Note This meta-class represents the ability to describe a particular end to end protection.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
5
4
Class EndToEndProtection
Attribute Type Mult. Kind Note
endToEnd EndToEndDescription 0..1 aggr This represents the particular EndToEndDescription.
Profile
Stereotypes: atpSplitable
Tags:atp.Splitkey=endToEndProfile
endToEnd EndToEndProtectionI * aggr Defines to which ISignalIPdu - ISignalGroup pair this End
Protection SignalIPdu ToEndProtection shall apply.
ISignalIPdu
In case several ISignalGroups are used to transport the
data (e.g. fan-out in the RTE) there may exist several End
ToEndProtectionISignalIPdu definitions.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=endToEndProtectionISignalIPdu, endToEnd
ProtectionISignalIPdu.variationPoint.shortLabel
vh.latestBindingTime=preCompileTime
endToEnd EndToEndProtection * aggr Defines to which VariableDataPrototypes in the roles of
Protection VariablePrototype one sender and one or more receivers this EndTo
Variable Endprotection applies.
Prototype
It shall be possible to aggregate several EndToEnd
ProtectionVariablePrototype in case additional
hierarchical decompositions are introduced subsequently.
In this case one particular PortPrototype is split into
multiple PortPrototypes and connectors, all representing
the same data entity.
Caveat: The E2E wrapper approach involves
technologies that are not subjected to the AUTOSAR
standard and is superseded by the superior E2E
transformer approach (which is fully standardized by
AUTOSAR). Hence, new projects (without legacy
constraints due to carry-over parts) shall use the fully
standardized E2E transformer approach.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=endToEndProtectionVariablePrototype.short
Label, endToEndProtectionVariablePrototype.variation
Point.shortLabel
vh.latestBindingTime=preCompileTime
Class EndToEndProtectionISignalIPdu
Package M2::AUTOSARTemplates::SystemTemplate::EndToEndProtection
Note It is possible to protect the inter-ECU data exchange of safety-related ISignalGroups at the level of COM
IPdus using protection mechanisms provided by E2E Library. For each ISignalGroup to be protected, a
separate EndToEndProtectionISignalIPdu element shall be created within the EndToEndProtectionSet.
The EndToEndProtectionISignalIPdu element refers to the ISignalGroup that is to be protected and to the
ISignalIPdu that transmits the protected ISignalGroup. The information how the referenced ISignalGroup
shall be protected (through which E2E Profile and with which E2E settings) is defined in the EndToEnd
Description element.
Base ARObject
Attribute Type Mult. Kind Note
dataOffset Integer 1 attr This attribute defines the beginning offset (in bits) of the
Array representation of the Signal Group (including CRC,
counter and application signal group) in the IPdu. This
attribute is mandatory and the dataOffset shall always be
defined.
5
4
Class EndToEndProtectionISignalIPdu
iSignalGroup ISignalGroup 1 ref Reference to the ISignalGroup that is to be protected.
iSignalIPdu ISignalIPdu 1 ref Reference to the ISignalIPdu that transmits the protected
ISignalGroup.
Class EndToEndDescription
Package M2::AUTOSARTemplates::SWComponentTemplate::EndToEndProtection
Note This meta-class contains information about end-to-end protection. The set of applicable attributes
depends on the actual value of the category attribute of EndToEndProtection.
Base ARObject
Attribute Type Mult. Kind Note
category NameToken 0..1 attr The category represents the identification of the concrete
E2E profile. The applicable values are specified in a
semantic constraint and determine the applicable
attributes of EndToEndDescription.
Tags:xml.sequenceOffset=-100
counterOffset PositiveInteger 0..1 attr Bit offset of Counter from the beginning of the Array
representation of the Signal Group/VariableDataPrototype
(MSB order, bit numbering: bit 0 is the least important).
The offset shall be a multiplicity of 4 and it should be 8
whenever possible. For example, offset 8 means that the
counter will take the low nibble of the byte 1, i.e. bits 8 ..
11. If counterOffset is not present the value is defined by
the selected profile.
Tags:xml.sequenceOffset=-50
crcOffset PositiveInteger 0..1 attr Bit offset of CRC from the beginning of the Array
representation of the Signal Group/VariableDataPrototype
(MSB order, bit numbering: bit 0 is the least important).
The offset shall be a multiplicity of 8 and it should be 0
whenever possible. For example, offset 8 means that the
CRC will take the byte 1, i.e. bits 8..15. If crcOffset is not
present the value is defined by the selected profile.
Tags:xml.sequenceOffset=-60
dataId (ordered) PositiveInteger * attr This represents a unique numerical identifier.
Note: ID is used for protection against masquerading.
The details concerning the maximum number of values
(this information is specific for each E2E profile)
applicable for this attribute are controlled by a semantic
constraint that depends on the category of the EndToEnd
Protection.
Tags:xml.sequenceOffset=-90
dataIdMode PositiveInteger 0..1 attr There are three inclusion modes how the implicit two-byte
Data ID is included in the one-byte CRC:
• dataIDMode = 0: Two bytes are included in the
CRC (double ID configuration) This is used in
variant 1A.
• dataIDMode = 1: One of the two bytes byte is
included, alternating high and low byte,
depending on parity of the counter (alternating ID
configuration). For even counter low byte is
included; For odd counters the high byte is
included. This is used in variant 1B.
5
4
Class EndToEndDescription
4
• dataIDMode = 2: Only low byte is included, high
byte is never used. This is applicable if the IDs in
a particular system are 8 bits.
• dataIdMode = 3: The low byte is included in the
implicit CRC calculation, the low nibble of the
high byte is transmitted along with the data (i.e. it
is explicitly included), the high nibble of the high
byte is not used. This is applicable for the IDs up
to 12 bits.
Tags:xml.sequenceOffset=-85
dataIdNibble PositiveInteger 0..1 attr Bit offset of the low nibble of the high byte of Data ID. The
Offset applicability of this attribute is controlled by [constr_1261].
Tags:xml.sequenceOffset=-25
dataLength PositiveInteger 0..1 attr This attribute represents the length of the Array
representation of the Signal Group/VariableDataPrototype
including CRC and Counter in bits.
Tags:xml.sequenceOffset=-80
maxDelta PositiveInteger 0..1 attr Initial maximum allowed gap between two counter values
CounterInit of two consecutively received valid Data, i.e. how many
subsequent lost data is accepted. For example, if the
receiver gets Data with counter 1 and MaxDeltaCounter
Init is 1, then at the next reception the receiver can accept
Counters with values 2 and 3, but not 4.
Note that if the receiver does not receive new Data at a
consecutive read, then the receiver increments the
tolerance by 1.
Tags:xml.sequenceOffset=-70
maxNoNewOr PositiveInteger 0..1 attr The maximum amount of missing or repeated Data which
RepeatedData the receiver does not expect to exceed under normal
communication conditions.
Tags:xml.sequenceOffset=-40
syncCounterInit PositiveInteger 0..1 attr Number of Data required for validating the consistency of
the counter that shall be received with a valid counter (i.e.
counter within the allowed lock-in range) after the
detection of an unexpected behavior of a received
counter.
Tags:xml.sequenceOffset=-30
[constr_1001] Value of dataId shall be unique dThe value of the dataId shall be
unique within the scope of the System.c()
The maxDeltaCounterInit, maxNoNewOrRepeatedData and syncCoun-
terInit values can also be specified in the ReceiverComSpec. This allows
the definition of receiver specific values. Values for maxDeltaCounterInit,
maxNoNewOrRepeatedData and syncCounterInit that are defined in the
ReceiverComSpec override the possible values in the EndToEndDescription
class.
Caveat: Since the definition of those values is intended for the E2E wrapper approach,
those definitions will eventually be discontinued by AUTOSAR.
More details about those values can be found in the Software Component Template
specification [5].
The supported E2E profiles (possible values of category in EndToEndDescription) are
described in the Software Component Template [5] and the End to End Library [23].
6.3.4 GeneralPurposeConnection
+pduTriggering 0..*
Identifiable
PduTriggering
Class GeneralPurposeConnection
Package M2::AUTOSARTemplates::SystemTemplate::GeneralPurposeConnection
Note This meta-class allows to describe the relationship between several PduTriggerings that are defined on
the same PhysicalChannel, e.g. to create a link between Rx and Tx Pdu that are used for request/
response.
Tags:atp.recommendedPackage=GeneralPurposeConnections
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
pduTriggering PduTriggering * ref Reference to PduTriggerings that are connected to each
other by a GeneralPurposeConnection.
The XcpChannel creates a link between one Tx-Pdu and one Rx-Pdu that are used for
request/response from one master.
[constr_3385] XcpChannel is allowed to reference exactly two PduTriggerings
dIn case that the category of meta-class GeneralPurposeConnection is set to the
value XcpChannel the GeneralPurposeConnection is allowed to reference exactly
two PduTriggerings in the role pduTriggering.c()
[constr_3386] XcpChannel is only allowed to reference PduTriggerings of Gen-
eralPurposeIPdus with category XCP dIn case that the category of meta-class
GeneralPurposeConnection is set to the value XcpChannel the GeneralPur-
poseConnection is allowed to reference PduTriggerings of GeneralPurpo-
seIPdus with category XCP.c()
+initialMode
AtpStructureElement ARElement
Identifiable AtpBlueprint
0..1
ModeDeclaration AtpBlueprintable
+modeDeclaration AtpType
+ value: PositiveInteger [0..1] ModeDeclarationGroup
0..* «atpVariation»
+ onTransitionValue: PositiveInteger [0..1]
+modeDeclaration 1..*
ModeDrivenTransmissionModeCondition
+transmissionModeFalseTiming
TransmissionModeTiming TransmissionModeDeclaration +transmissionModeCondition TransmissionModeCondition
0..1
+transmissionModeTrueTiming 0..*
0..1
+transmissionModeDeclaration 0..1
+ numberOfRepetitions: Integer
FibexElement
ISignal
«atpVariation»
+ dataTypePolicy: DataTypePolicyEnum
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
+iSignal 0..1
+iSignalInIPdu 1
IPdu Identifiable
ISignalIPdu ISignalToIPduMapping
+ unusedBitPattern: Integer +iSignalToPduMapping + packingByteOrder: ByteOrderEnum [0..1]
«atpVariation» 0..* + startPosition: UnlimitedInteger [0..1]
+ transferProperty: TransferPropertyEnum [0..1]
+ updateIndicationBitPosition: UnlimitedInteger [0..1]
the selection of the transmission mode. If at least one condition in the signal content
evaluation is true, Transmission Mode "TRUE" shall be used for this IPdu. In all other
cases, the Transmission Mode "FALSE" shall be used. More details can be found in
the COM Specification [22].
[constr_3046] Consistency of TransmissionModeCondition.iSignalInIPdu
dThe ISignalToIPduMapping referenced by the TransmissionModeCondition
in the role iSignalInIPdu shall belong to the same ISignalIPdu as the Trans-
missionModeCondition.c()
In the mode driven evaluation ModeDeclarations are evaluated. The transmis-
sionModeFalseTiming is activated if all defined modeDrivenFalseConditions
evaluate to true and the transmissionModeTrueTiming is activated if all defined
modeDrivenTrueConditions evaluate to true. Each condition that is defined by
ModeDrivenTransmissionModeCondition evaluates to true if one of the refer-
enced ModeDeclarations is active.
The TransmissionModeDeclaration element aggregates the Transmission-
ModeTiming in two different roles: transmissionModeTrueTiming and trans-
missionModeFalseTiming. The available COM Transmission Mode Timings can
be described by the CyclicTiming and EventControlledTiming elements (see
Table 6.64) that are aggregated by the TransmissionModeTiming class.
[TPS_SYST_01077] Mapping of Com Transmission Modes to System Template
elements dThe mapping of COM Transmission Modes to System Template elements
is described in Table 6.64.c(RS_SYST_00037)
Class TransmissionModeDeclaration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
5
4
Class TransmissionModeDeclaration
Note AUTOSAR COM provides the possibility to define two different TRANSMISSION MODES (True and
False) for each I-PDU.
As TransmissionMode selector the signal content can be evaluated via transmissionModeCondition
(implemented directly in the COM module) or mode conditions can be defined with the modeDrivenTrue
Condition or modeDrivenFalseCondition (evaluated by BswM and invoking Com_SwitchIpduTxMode
COM API). If modeDrivenTrueCondition and modeDrivenFalseCondition are defined they shall never
evaluate to true both at the same time.
The mixing of Transmission Mode Switch via API and signal value is not allowed.
Base ARObject
Attribute Type Mult. Kind Note
modeDriven ModeDriven * aggr Defines the trigger for the Com_SwitchIpduTxMode
FalseCondition TransmissionMode Transmission Mode switch. Only if all defined modeDriven
Condition FalseConditions evaluate to true (AND associated) the
transmissionModeFalseTiming shall be activated. mode
DrivenTrueCondition and modeDrivenFalseCondition
shall never evaluate to true both at the same time.
modeDriven ModeDriven * aggr Defines the trigger for the Com_SwitchIpduTxMode
TrueCondition TransmissionMode Transmission Mode switch. Only if all defined modeDriven
Condition TrueConditions evaluate to true (AND associated) the
transmissionModeTrueTiming shall be activated. mode
DrivenTrueCondition and modeDrivenFalseCondition
shall never evaluate to true both at the same time.
transmission TransmissionMode * aggr The Transmission Mode Selector evaluates the conditions
ModeCondition Condition for a subset of signals and decides which transmission
mode should be used. In case only one transmission
mode is used there is no need for the "TransmissionMode
Condition" and its sub-structure. In case the transmission
mode shall be switched using the COM-API "Com_Switch
IpduTxMode" there is no need for the "TransmissionMode
Condition" and its sub-structure.
transmission TransmissionMode 0..1 aggr Timing Specification if the COM Transmission Mode is
ModeFalse Timing false. The Transmission Mode Selector is defined to be
Timing false, if all Conditions evaluate to false.
transmission TransmissionMode 0..1 aggr Timing Specification if the COM Transmission Mode is
ModeTrue Timing true. The Transmission Mode Selector is defined to be
Timing true, if at least one Condition evaluates to true.
Class TransmissionModeCondition
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note Possibility to attach a condition to each signal within an I-PDU.
If at least one condition evaluates to true, TRANSMISSION MODE True shall be used for this I-Pdu. In all
other cases, the TRANSMISSION MODE FALSE shall be used.
Base ARObject
Attribute Type Mult. Kind Note
dataFilter DataFilter 1 aggr Possibilities to define conditions
iSignalInIPdu ISignalToIPduMapping 1 ref Reference to a signal to which a condition is attached.
Class ModeDrivenTransmissionModeCondition
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note The condition defined by this class evaluates to true if one of the referenced modeDeclarations (OR
associated) is active. All referenced modeDeclarations shall be from the same ModeDeclarationGroup.
The condition is used to define which TransmissionMode shall be activated using Com_SwitchIpduTx
Mode.
Base ARObject
Attribute Type Mult. Kind Note
mode ModeDeclaration 1..* ref Reference to one modeDeclaration which is OR
Declaration associated in the context of the ModeDrivenTransmission
ModeCondition.
Data Filters are used on sender side to configure Transmission Mode Conditions
(TMC). On receiver side Data Filters can be used as filtering mechanisms for signals
(see ISignalPort element). More details about the usage of DataFilters can be
found in the Software Component Template Specification [5].
[TPS_SYST_02013] Usage of dataFilters on GroupSignals on receiver side
dIf the dataFilter of one GroupSignal evaluates to false the whole ISignal-
Group in which the GroupSignal is contained shall be discarded.c()
DataFilter «enumeration»
DataFilterTypeEnum
+ dataFilterType: DataFilterTypeEnum [0..1]
+ mask: UnlimitedInteger [0..1] always
+ max: UnlimitedInteger [0..1] maskedNewEqualsX
+ min: UnlimitedInteger [0..1] maskedNewDiffersMaskedOld
+ offset: PositiveInteger [0..1] maskedNewDiffersX
+ period: PositiveInteger [0..1] never
+ x: UnlimitedInteger [0..1] newIsWithin
newIsOutside
oneEveryN
Class DataFilter
Package M2::AUTOSARTemplates::CommonStructure::Filter
Note Base class for data filters. The type of the filter is specified in attribute dataFilterType. Some of the filter
types require additional arguments which are specified as attributes of this class.
Base ARObject
Attribute Type Mult. Kind Note
dataFilterType DataFilterTypeEnum 0..1 attr This attribute specifies the type of the filter.
mask UnlimitedInteger 0..1 attr Mask for old and new value.
max UnlimitedInteger 0..1 attr Value to specify the upper boundary
min UnlimitedInteger 0..1 attr Value to specify the lower boundary
offset PositiveInteger 0..1 attr Specifies the initial number of messages to occur before
the first message is passed
period PositiveInteger 0..1 attr Specifies number of messages to occur before the
message is passed again
x UnlimitedInteger 0..1 attr Value to compare with
Enumeration DataFilterTypeEnum
Package M2::AUTOSARTemplates::CommonStructure::Filter
Note This enum specifies the supported DataFilterTypes.
Literal Description
always No filtering is performed so that the message always passes.
Tags:atp.EnumerationLiteralIndex=0
5
4
Enumeration DataFilterTypeEnum
maskedNewDiffers Pass messages where the masked value has changed.
MaskedOld
(new_value&mask) !=(old_value&mask)
new_value: current value of the message
old_value: last value of the message (initialized with the initial value of the message, updated with
new_value if the new message value is not filtered out)
Tags:atp.EnumerationLiteralIndex=1
maskedNewDiffers Pass messages whose masked value is not equal to a specific value x
X
(new_value&mask) != x
new_value: current value of the message
Tags:atp.EnumerationLiteralIndex=2
maskedNewEquals Pass messages whose masked value is equal to a specific value x
X
(new_value&mask) == x
new_value: current value of the message
Tags:atp.EnumerationLiteralIndex=3
never The filter removes all messages.
Tags:atp.EnumerationLiteralIndex=4
newIsOutside Pass a message if its value is outside a predefined boundary.
(min > new_value) OR (new_value > max)
Tags:atp.EnumerationLiteralIndex=5
newIsWithin Pass a message if its value is within a predefined boundary.
min <= new_value <= max
Tags:atp.EnumerationLiteralIndex=6
oneEveryN Pass a message once every N message occurrences.
Algorithm: occurrence % period == offset
Start: occurrence = 0.
Each time the message is received or transmitted, occurrence is incremented by 1 after filtering.
Length of occurrence is 8 bit (minimum).
Tags:atp.EnumerationLiteralIndex=7
Describable
CyclicTiming
TimeRangeType
+ value: TimeValue
+tolerance 0..1
TimeRangeTypeTolerance
RelativeTolerance AbsoluteTolerance
Class CyclicTiming
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note Specification of a cyclic sending behavior.
Base ARObject, Describable
Attribute Type Mult. Kind Note
timeOffset TimeRangeType 0..1 aggr This attribute specifies the time until first transmission of
this I-PDU. This attribute defines the time between Com_
IpduGroupStart and the first transmission of the cyclic
part of this transmission request for this I-PDU.
timePeriod TimeRangeType 1 aggr Period of the repetition of cyclic transmissions.
Describable
EventControlledTiming
+ numberOfRepetitions: Integer
+repetitionPeriod 0..1
TimeRangeType
+ value: TimeValue
+tolerance 0..1
TimeRangeTypeTolerance
RelativeTolerance AbsoluteTolerance
Class EventControlledTiming
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note Specification of a event driven sending behavior. The PDU is sent n (numberOfRepeat + 1) times
separated by the repetitionPeriod. If numberOfRepeats = 0, then the Pdu is sent just once.
Base ARObject, Describable
Attribute Type Mult. Kind Note
numberOf Integer 1 attr Defines the number of repetitions for the Direct/N-Times
Repetitions transmission mode and the event driven part of Mixed
transmission mode.
repetitionPeriod TimeRangeType 0..1 aggr The repetitionPeriod specifies the time in seconds that
elapses before the pdu can be sent the next time
(Minimum repeat gap between two pdus). The repetition
Period is optional in case that no repetitions are
configured.
Class TimeRangeType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note The timeRange can be specified with the value attribute. Optionally a tolerance can be defined.
Base ARObject
Attribute Type Mult. Kind Note
tolerance TimeRangeType 0..1 aggr Optional specification of a tolerance.
Tolerance
value TimeValue 1 attr Average value of a date (in seconds)
Class RelativeTolerance
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note Maximum allowable deviation
Base ARObject, TimeRangeTypeTolerance
Attribute Type Mult. Kind Note
relative Integer 1 attr Maximum allowable deviation in percent (percent of the
corresponding TimeValue).
Class AbsoluteTolerance
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note Maximum allowable deviation
Base ARObject, TimeRangeTypeTolerance
Attribute Type Mult. Kind Note
absolute TimeValue 1 attr Maximum allowable deviation in duration (in seconds)
0..* «atpVariation»
+modeDeclaration 1..*
TriggerIPduSendCondition
+triggerIPduSendCondition 0..*
PduTriggering
Class TriggerIPduSendCondition
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing
Note The condition defined by this class evaluates to true if one of the referenced modeDeclarations (OR
associated) is active. The condition is used to define when the Pdu is triggered with the Com_Trigger
IPDUSend API call.
Base ARObject
Attribute Type Mult. Kind Note
mode ModeDeclaration 1..* ref Reference to one modeDeclaration which is OR
Declaration associated in the context of the TriggerIPduSend
Condition.
The IPduM on sender side gets transmission requests from COM (for the case of ap-
plication writing the selector field value: the case of trigger transmit is excluded in
[TPS_SYST_02353]).
[TPS_SYST_02355] defines that only the valid DynamicPartAlternative is actu-
ally triggered for transmission by the COM module, and thus is made available to the
IPduM.
From the perspective of the IPduM there is not difference whether the selector field
value has been defined by initializing the COM-Signal or whether the application has
written the selector field value and the COM module has filtered the proper Dynamic-
PartAlternative to be sent to the IPduM.
[TPS_SYST_02352] Triggering in case of application writing the selector field
signal dIf
• the ISignal representing the selector field is referenced by an ISignalTrig-
gering and that ISignalTriggering refers to an ISignalPort where the
communicationDirection is set to out and
• the ISignal representing the selector field is referring to a SystemSignal and
that SystemSignal is either
– referenced by a SenderReceiverToSignalMapping in the role system-
Signal or
– part of a SystemSignalGroup that in turn is referenced by a Sender-
ReceiverToSignalGroupMapping,
then this ISignal representing the selector field shall be the only ISignal that is
mapped into the dynamic part alternative ISignalIPdu with a transferProperty
set to an arbitrary value.c()
[constr_5232] Triggering in case of application writing the selector field signal dIf
• the ISignal representing the selector field is referenced by an ISignalTrig-
gering and that ISignalTriggering refers to an ISignalPort where the
communicationDirection is set to out and
• the ISignal representing the selector field is referring to a SystemSignal and
that SystemSignal is either
– referenced by a SenderReceiverToSignalMapping in the role system-
Signal or
– part of a SystemSignalGroup that in turn is referenced by a Sender-
ReceiverToSignalGroupMapping
then any ISignal other than the ISignal representing the selector field shall be
mapped into that dynamic part alternative ISignalIPdu using the transferProp-
erty set to pending.c()
In other words, if the selector field signal is written by the application software, then
the selector field ISignal may be the only ISignal which triggers the dynamic part
alternative ISignalIPdu. No triggering of a dynamic part alternative ISignalIPdu
may be a use case as well, in such cases a cyclic transmission would still be possible.
[TPS_SYST_02353] No support for trigger transmit in case of application writing
the selector field signal dIf
• the ISignal representing the selector field is referenced by an ISignalTrig-
gering and that ISignalTriggering refers to an ISignalPort where the
communicationDirection is set to out and
• the ISignal representing the selector field is referring to a SystemSignal and
that SystemSignal is either
– referenced by a SenderReceiverToSignalMapping in the role system-
Signal or
– part of a SystemSignalGroup that in turn is referenced by a Sender-
ReceiverToSignalGroupMapping
then the dynamic part alternative ISignalIPdu, where the ISignal representing
the selector field is mapped to, shall not be used in a trigger transmit COM stack
configuration.c()
[TPS_SYST_02354] No support for Just-In-Time update of dynamic parts in case
of application writing the selector field signal dIf
• the ISignal representing the selector field is referenced by an ISignalTrig-
gering and that ISignalTriggering refers to an ISignalPort where the
communicationDirection is set to out and
• the ISignal representing the selector field is referring to a SystemSignal and
that SystemSignal is either
– referenced by a SenderReceiverToSignalMapping in the role system-
Signal or
– part of a SystemSignalGroup that in turn is referenced by a Sender-
ReceiverToSignalGroupMapping
then the IpduMJitUpdate configuration parameter of the IpduMTxDynamicPart
corresponding to the ISignalIPdu shall be configured to false during ECU Configu-
ration.c()
In other words, if the selector field signal is written by the application software, then the
dynamic part alternative ISignalIPdu shall only be triggered by the application layer,
no trigger transmit support allowed.
[TPS_SYST_02355] TransmissionModeDeclaration in case of application
writing the selector field signal dIf
then the dynamic part alternative ISignalIPdu, where the ISignal representing
the selector field is mapped to, shall have an ISignalIPdu.iPduTimingSpecifi-
cation with a TransmissionModeDeclaration where there is only one Trans-
missionModeCondition defined, as specified in [TPS_SYST_02355].c()
In other words, when the application software writes the selector field signal only that
dynamic part alternative ISignalIPdu with the matching selectorFieldCode is
actually available for sending.
[constr_5233] Usage of invalidValue in case of application writing the selector
field signal dIf
• the ISignal representing the selector field is referenced by an ISignalTrig-
gering and that ISignalTriggering refers to an ISignalPort where the
communicationDirection is set to out and
• the ISignal representing the selector field is referring to a SystemSignal and
that SystemSignal is either
– referenced by a SenderReceiverToSignalMapping in the role system-
Signal or
– part of a SystemSignalGroup that in turn is referenced by a Sender-
ReceiverToSignalGroupMapping
then
• the ISignal representing the selector field shall either
– define no invalid value (ISignal.networkRepresentationProps.in-
validValue) or
– the invalidValue defined shall be different than any of the defined selec-
tor field values for that MultiplexedIPdu.
c()
Pdu Describable
IPdu IPduTiming
none
staticPartTrigger «atpVariation»
dynamicPartTrigger
staticOrDynamicPartTrigger
«atpVariation» «atpVariation»
+staticPart 0..1 +dynamicPart 0..1 MultiplexedPart
StaticPart DynamicPart
DynamicPartAlternative
+dynamicPartAlternative
+ initialDynamicPart: Boolean
1..* + selectorFieldCode: Integer
Enumeration TriggerMode
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note IPduM can be configured to send a transmission request for the new multiplexed I-PDU to the
PDU-Router because of conditions/ modes.
Literal Description
dynamicPartTrigger IPduM sends a transmission request to the PduR if a dynamic part is received.
Tags:atp.EnumerationLiteralIndex=0
none IPduM does not trigger transmission because of receiving anything of this IPdu in case of Trigger
Transmit.
Tags:atp.EnumerationLiteralIndex=1
staticOrDynamic IPduM sends a transmission request to the PduR if a static or dynamic part is received.
PartTrigger
Tags:atp.EnumerationLiteralIndex=2
staticPartTrigger IPduM sends a transmission request to the PduR if a static part is received.
Tags:atp.EnumerationLiteralIndex=3
Class MultiplexedIPdu
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note A MultiplexedPdu (i.e. NOT a COM I-PDU) contains a DynamicPart, an optional StaticPart and a selector
Field. In case of multiplexing this IPdu is routed between the Pdu Multiplexer and the Interface Layer.
A multiplexer is used to define variable parts within an IPdu that may carry different signals. The
receivers of such a IPdu can determine which signalPdus are transmitted by evaluating the selector field,
which carries a unique selector code for each sub-part.
Tags:atp.recommendedPackage=Pdus
Base ARObject, CollectableElement, FibexElement, IPdu, Identifiable, MultilanguageReferrable, Packageable
Element, Pdu, Referrable
Attribute Type Mult. Kind Note
dynamicPart DynamicPart 0..1 aggr According to the value of the selector field some parts of
the IPdu have a different layout. In a complete System
Description a MultiplexedIPdu shall contain a Dynamic
Part. The following use cases support the multiplicity to
be 0..1:
• If a MultiplexedIPdu is received by a Pdu
Gateway and is not delivered to the IPduM but
routed directly to a bus interface then the content
of the MulitplexedIPdu doesn’t need to be
described in the System Extract/Ecu Extract.
• If a MultiplexedIPdu is received by an ECU which
is only interested in the static part of the
MultiplexedIPdu then the dynamicPart does not
need to be described in the System Extract/Ecu
Extract.
atpVariation: Content of a multiplexed PDU can vary.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
5
4
Class MultiplexedIPdu
selectorField ByteOrderEnum 0..1 attr This attribute defines the order of the bytes of the selector
ByteOrder Field and the packing into the MultiplexedIPdu. Please
consider that [constr_3247] and [constr_3223] are
restricting the usage of this attribute.
In a complete System Description this attribute is
mandatory. If a MultiplexedPdu is received by a Pdu
Gateway and is not delivered to the IPduM but routed
directly to a bus interface then the content of the
MulitplexedPdu doesn’t need to be described in the
System Extract/Ecu Extract. To support this use case the
multiplicity is set to 0..1.
selectorField Integer 0..1 attr The size in bits of the selector field shall be configurable
Length in a range of 1-16 bits. In a complete System Description
this attribute is mandatory. If a MultiplexedPdu is received
by a Pdu Gateway and is not delivered to the IPduM but
routed directly to a bus interface then the content of the
MulitplexedPdu doesn’t need to be described in the
System Extract/Ecu Extract. To support this use case the
multiplicity is set to 0..1.
selectorField Integer 0..1 attr This parameter is necessary to describe the position of
StartPosition the selector field within the IPdu.
Note that the absolute position of the selectorField in the
MultiplexedIPdu is determined by the definition of the
selectorFieldByteOrder attribute of the Multiplexed Pdu. If
Big Endian is specified, the start position indicates the bit
position of the most significant bit in the IPdu. If Little
Endian is specified, the start position indicates the bit
position of the least significant bit in the IPdu. In
AUTOSAR the bit counting is always set to "sawtooth"
and the bit order is set to "Decreasing". The bit counting
in byte 0 starts with bit 0 (least significant bit). The most
significant bit in byte 0 is bit 7.
In a complete System Description this attribute is
mandatory. If a MultiplexedPdu is received by a Pdu
Gateway and is not delivered to the IPduM but routed
directly to a bus interface then the content of the
MulitplexedPdu doesn’t need to be described in the
System Extract/Ecu Extract. To support this use case the
multiplicity is set to 0..1.
staticPart StaticPart 0..1 aggr The static part of the multiplexed IPdu is the same
regardless of the selector field. The static part is optional.
atpVariation: Content of a multiplexed PDU can vary.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
triggerMode TriggerMode 0..1 attr IPduM can be configured to send a transmission request
for the new multiplexed IPdu to the PDU-Router because
of the trigger conditions/ modes that are described in the
TriggerMode enumeration.
In a complete System Description this attribute is
mandatory. If a MultiplexedPdu is received by a Pdu
Gateway and is not delivered to the IPduM but routed
directly to a bus interface then the content of the
MulitplexedPdu doesn’t need to be described in the
System Extract/Ecu Extract. To support this use case the
multiplicity is set to 0..1.
5
4
Class MultiplexedIPdu
unusedBit Integer 0..1 attr AUTOSAR COM and AUTOSAR IPDUM are filling not
Pattern used areas of an IPdu with this bit-pattern. This attribute
is mandatory to avoid undefined behavior. This
byte-pattern will be repeated throughout the IPdu.
In a complete System Description this attribute is
mandatory. If a MultiplexedPdu is received by a Pdu
Gateway and is not delivered to the IPduM but routed
directly to a bus interface then the content of the
MulitplexedPdu doesn’t need to be described in the
System Extract/Ecu Extract. To support this use case the
multiplicity is set to 0..1.
Class StaticPart
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Some parts/signals of the I-PDU may be the same regardless of the selector field. Such a part is called
static part. The static part is optional.
Base ARObject, MultiplexedPart
Attribute Type Mult. Kind Note
iPdu ISignalIPdu 1 ref Reference to a Com IPdu which is routed to the IPduM
module and is combined to a multiplexedPdu.
Class DynamicPart
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note Dynamic part of a multiplexed I-Pdu. Reserved space which is used to transport varying SignalIPdus at
the same position, controlled by the corresponding selectorFieldCode.
Base ARObject, MultiplexedPart
Attribute Type Mult. Kind Note
dynamicPart DynamicPartAlternative 1..* aggr Com IPdu alternatives that are transmitted in the Dynamic
Alternative Part of the MultiplexedIPdu.
Class DynamicPartAlternative
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note One of the Com IPdu alternatives that are transmitted in the Dynamic Part of the MultiplexedIPdu. The
selectorFieldCode specifies which Com IPdu is contained in the DynamicPart within a certain
transmission of a multiplexed PDU.
Base ARObject
Attribute Type Mult. Kind Note
initialDynamic Boolean 1 attr Dynamic part that shall be used to initialize this
Part multiplexed IPdu.
Constraint: Only one "DynamicPartAlternative" in a
"DynamicPart" shall be the initialDynamicPart.
iPdu ISignalIPdu 1 ref Reference to a Com IPdu which is routed to the IPduM
module and is combined to a multiplexedPdu.
5
4
Class DynamicPartAlternative
selectorField Integer 1 attr The selector field is part of a multiplexed IPdu. It consists
Code of contiguous bits. The value of the selector field selects
the layout of the multiplexed part of the IPdu.
Class SegmentPosition
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunication
Note The StaticPart and the DynamicPart can be separated in multiple segments within the multiplexed PDU.
The ISignalIPdus are copied bit by bit into the MultiplexedIPdu. If the space of the first segment is 5 bits
large than the first 5 bits of the ISignalIPdu are copied into this first segment and so on.
Base ARObject
Attribute Type Mult. Kind Note
segmentByte ByteOrderEnum 1 attr This attribute defines the order of the bytes of the
Order segment and the packing into the MultiplexedIPdu.
Please consider that [constr_3247] and [constr_3224] are
restricting the usage of this attribute.
segmentLength Integer 1 attr Data Length of the segment in bits.
segment Integer 1 attr Segments bit position relatively to the beginning of a
Position multiplexed IPdu.
Note that the absolute position of the segment in the
MultiplexedIPdu is determined by the definition of the
segmentByteOrder attribute of the SegmentPosition. If
Big Endian is specified, the start position indicates the bit
position of the most significant bit in the IPdu. If Little
Endian is specified, the start position indicates the bit
position of the least significant bit in the IPdu. In
AUTOSAR the bit counting is always set to "sawtooth"
and the bit order is set to "Decreasing". The bit counting
in byte 0 starts with bit 0 (least significant bit). The most
significant bit in byte 0 is bit 7.
selectorFieldLength = 1
length = 64
selectorFieldStartPosition = 0
staticSegment: SegmentPosition
:StaticPart
segmentLength = 16
segmentPosition = 32 dynamicSegment1: SegmentPosition
:DynamicPart
segmentLength = 31
segmentPosition = 1
PduA: ISignalIPdu
dynamicSegment2: SegmentPosition
segmentLength = 16
segmentPosition = 48
selectorFieldCode = 1
selectorFieldCode = 0
Each of the following figures shows an example with an allowed IPduM configuration.
Please note that the AUTOSAR IPduM module does not shift any part (static or dy-
namic) IPdu and just merges the payload. ISignalIPdus that are referenced by
the different DynamicPartAlternatives in one MultiplexedIPdu shall always
have the same length. A configuration may be optimized with respect to unused data
at end of a StaticPart ISignalIPdu. This is shown in figure 6.27 where the
ISignalIPdu that is referenced by the StaticPart is shorter than the Multi-
plexedIPdu. An optimization with respect to unused data at end of DynamicPar-
tAlternative ISignalIPdus is shown in figure 6.28.
0 48 64
MultiplexedPdu: Switch DynamicPart StaticPart DynamicPart
Alldynamic part
Referenced ISignalIPdus: alternativeshave the
samesize,even if
0 8 alternativescontain
unused areas.
DynamicPartAlternative: 1 Signal1 Signal2
0 8
DynamicPartAlternative: 2 Signal3 Signal4 Signal5
0 8
DynamicPartAlternative: 3 Signal3 Signal4 Signal6
0 Thestatic
part may
StaticPart: Signal6 be shorter
Figure 6.27: Multiplexer configuration example optimized with respect to unused data at
end of static part Pdu
0 48 64
MultiplexedPdu: Switch DynamicPart StaticPart
Referenced ISignalIPdus:
0 8
Alldynamic part
DynamicPartAlternative: 1 Signal1 Signal2 alternativeshave the
Thedynamic
parts may be
samesize,even if
shorter than the
0 8 alternativescontain
static part
unused areas.
DynamicPartAlternative: 2 Signal3 Signal4
0 8
DynamicPartAlternative: 3 Signal3 Signal4 Signal5
0 48
StaticPart: Signal6
Figure 6.28: Multiplexer configuration example optimized with respect to unused data at
end of dynamic part Pdus
6.6 Frames
Identifiable
PhysicalChannel +managedPhysicalChannel 0..*
«atpVariation,atpSplitable»
+frameTriggering 0..*
Identifiable
FrameTriggering
+frame 1
FibexElement
Frame
«atpVariation»
+pduToFrameMapping 0..*
Identifiable
«atpPrototype» FibexElement
PduToFrameMapping Pdu
+pdu
+ packingByteOrder: ByteOrderEnum + hasDynamicLength: Boolean [0..1]
+ startPosition: Integer 1 + length: UnlimitedInteger [0..1]
+ updateIndicationBitPosition: Integer [0..1]
«atpVariation,atpSplitable»
+frameTriggering 0..*
Identifiable
FrameTriggering FibexElement
+frame Frame
FlexrayFrameTriggering
EthernetFrameTriggering
+ allowDynamicLSduLength: Boolean
+ messageId: PositiveInteger [0..1]
+ payloadPreambleIndicator: Boolean
+absolutelyScheduledTiming 0..*
slots are of identical, statically configured duration and all FrameTriggerings are of
identical, statically configured length.
The sending behavior where the exact time for the FlexrayFrameTriggerings
transmission is guaranteed is provided in the System Template by the usage of
FlexrayAbsolutelyScheduledTiming.
In the cycle counter field of every frame, the current value of the cycle counter is trans-
mitted (see FlexRay frame format). This value is incremented at the beginning of each
new cycle, ranging from 0 to 63, and is reset to 0 after a sequence of 64 cycles.
[TPS_SYST_01085] Transmission of a FrameTriggering multiple times within
one communication cycle dIn the static segment FlexrayFrameTriggerings can
be sent multiple times within one communication cycle. For describing this case multi-
ple FlexrayAbsolutelyScheduledTimings shall be used.c(RS_SYST_00024)
FlexRay dynamic segment parameters: In the dynamic segment the duration of com-
munication slots may vary in order to accommodate frames of varying length. Fur-
thermore, in the dynamic part, the slotID is equivalent to a priority. The higher the
number the lower is the priority.
The frames in the static and in the dynamic segment are described in the same way.
Each FlexrayFrameTriggering is identified by its slotID and communication-
Cycle. A description is provided by the usage of FlexrayAbsolutelyScheduled-
Timing.
FibexElement
Identifiable
+frame Frame
FrameTriggering
+ frameLength: Integer [0..1]
1
FlexrayFrameTriggering FlexrayFrame
+ allowDynamicLSduLength: Boolean
+ messageId: PositiveInteger [0..1]
+ payloadPreambleIndicator: Boolean
+absolutelyScheduledTiming 0..*
«enumeration» FlexrayAbsolutelyScheduledTiming
CycleRepetitionType
+ slotID: PositiveInteger
cycleRepetition1
cycleRepetition2
cycleRepetition4
cycleRepetition8
cycleRepetition16
cycleRepetition32
cycleRepetition64
cycleRepetition5 +communicationCycle 1
cycleRepetition10
cycleRepetition20 CommunicationCycle
cycleRepetition40
cycleRepetition50
CycleCounter CycleRepetition
Class FlexrayFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Flexray::FlexrayCommunication
Note FlexRay specific Frame element.
Tags:atp.recommendedPackage=Frames
Base ARObject, CollectableElement, FibexElement, Frame, Identifiable, MultilanguageReferrable,
PackageableElement, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.86: FlexrayFrame
Class FlexrayFrameTriggering
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Flexray::FlexrayCommunication
Note FlexRay specific attributes to the FrameTriggering
Base ARObject, FrameTriggering, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
absolutely FlexrayAbsolutely * aggr Specification of a sending behaviour where the exact time
Scheduled ScheduledTiming for the frames transmission is guaranteed.
Timing
5
4
Class FlexrayFrameTriggering
allowDynamic Boolean 1 attr Allows L-PDU length reduction and indicates that the
LSduLength related CC buffer has to be reconfigured for the actual
length and Header-CRC before transmission of the
L-PDU.
If this attribute is set to true than the referenced Frame
length attribute defines the max. length.
messageId PositiveInteger 0..1 attr The first two bytes of the payload segment of the FlexRay
frame format for frames transmitted in the dynamic
segment can be used as receiver filterable data called the
message ID.
payload Boolean 1 attr Switching the Payload Preamble bit.
Preamble
Indicator
Table 6.87: FlexrayFrameTriggering
Class FlexrayAbsolutelyScheduledTiming
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Flexray::FlexrayCommunication
Note Each frame in FlexRay is identified by its slot id and communication cycle. A description is provided by
the usage of AbsolutelyScheduledTiming.
In the static segment a frame can be sent multiple times within one communication cycle. For describing
this case multiple AbsolutelyScheduledTimings have to be used. The main use case would be that a
frame is sent twice within one communication cycle.
Base ARObject
Attribute Type Mult. Kind Note
communication CommunicationCycle 1 aggr The communication cycle where the frame is sent.
Cycle
slotID PositiveInteger 1 attr In the static part the SlotID defines the slot in which the
frame is transmitted. The SlotID also determines, in
combination with FlexrayCluster::numberOfStaticSlots,
whether the frame is sent in static or dynamic segment. In
the dynamic part, the slot id is equivalent to a priority.
Lower dynamic slot ids are all sent until the end of the
dynamic segment. Higher numbers, which were ignored
that time, have to wait one cycle and then shall try again.
minValue: 1
maxValue: 2047
Class CycleRepetition
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreTopology
Note The communication cycle where the frame is send is described by the attributes baseCycle and cycle
Repetition.
Base ARObject, CommunicationCycle
Attribute Type Mult. Kind Note
BaseCycle Integer 1 attr The first communication cycle where the frame is sent.
This value is incremented at the beginning of each new
cycle, ranging from 0 to 63, and is reset to 0 after a
sequence of 64 cycles.
CycleRepetition CycleRepetitionType 1 attr The number of communication cycles (after the first cycle)
whenever the frame described by this timing is sent again.
Enumeration CycleRepetitionType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreTopology
Note The number of communication cycles (after the first cycle) whenever the frame is sent again. The
FlexRay communication controller allows only determined values.
Literal Description
cycleRepetition1 Attribute cycleRepetition value="1"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=0
cycleRepetition10 Attribute cycleRepetition value="10"
to support FlexRay 3.0
Tags:atp.EnumerationLiteralIndex=1
cycleRepetition16 Attribute cycleRepetition value="16"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=2
cycleRepetition2 Attribute cycleRepetition value="2"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=3
cycleRepetition20 Attribute cycleRepetition value="20"
to support FlexRay 3.0
Tags:atp.EnumerationLiteralIndex=4
cycleRepetition32 Attribute cycleRepetition value="32"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=5
cycleRepetition4 Attribute cycleRepetition value="4"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=6
cycleRepetition40 Attribute cycleRepetition value="40"
to support FlexRay 3.0
Tags:atp.EnumerationLiteralIndex=7
cycleRepetition5 Attribute cycleRepetition value="5"
to support FlexRay 3.0
Tags:atp.EnumerationLiteralIndex=8
cycleRepetition50 Attribute cycleRepetition value="50"
to support FlexRay 3.0
Tags:atp.EnumerationLiteralIndex=9
cycleRepetition64 Attribute cycleRepetition value="64"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=10
cycleRepetition8 Attribute cycleRepetition value="8"
valid only for FlexRay Protocol 2.1 Rev A
Tags:atp.EnumerationLiteralIndex=11
LIN is a protocol that is based on a single master - multiple slave principle. In the
following, the parameters will be specified, which are necessary to describe the LIN
Schedule Tables and the LIN Frames.
[TPS_SYST_01129] Communication over LIN dThe System Template supports the
description of communication over LIN.c(RS_SYST_00022)
+managedPhysicalChannel 0..*
Identifiable
LinPhysicalChannel
PhysicalChannel
+ busIdleTimeoutPeriod: TimeValue [0..1]
«atpVariation,atpSplitable»
+frameTriggering 0..*
FibexElement
Identifiable
Frame
FrameTriggering +frame
+ frameLength: Integer [0..1]
1
«enumeration»
«enumerati... ResumePosition
LinChecksumType
startFromBeginning
classic continueAtItPosition
enhanced
LinFrame
«enumeration»
LinFrameTriggering RunMode
Identifiable
ScheduleTableEntry
+tableEntry LinScheduleTable
+ delay: TimeValue
+ positionInTable: Integer 1..* + resumePosition: ResumePosition [0..1]
+ runMode: RunMode [0..1]
LinCommunicationController
LinSlave
One LIN Frame consists of two parts: header and response. The header is always
sent by a LinMaster, while the response is sent by only one dedicated LinSlave.
There are three different ways of transmitting frames on the bus: unconditional, event
triggered, and sporadic frames.
Class LinFrameTriggering
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note LIN specific attributes to the FrameTriggering
Base ARObject, FrameTriggering, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
identifier Integer 0..1 attr To describe a frames identifier on the communication
system, usually with a fixed identifierValue. For Lin
SporadicFrames the attribute shall be ignored.
linChecksum LinChecksumType 0..1 attr Type of checksum that the frame is using. This attribute is
optional because in case of sporadic frames it should not
be set.
Table 6.94: LinFrameTriggering
Enumeration LinChecksumType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Use of classic or enhanced checksum is managed by the master node and it is determined per frame
identifier;
Literal Description
classic Classic in communication with LIN 1.3 slave nodes
Tags:atp.EnumerationLiteralIndex=0
enhanced Enhanced in communication with LIN 2.0 slave nodes.
Tags:atp.EnumerationLiteralIndex=1
4
Class LinUnconditionalFrame
Attribute Type Mult. Kind Note
– – – – –
Table 6.96: LinUnconditionalFrame
The LinMaster uses one or more predefined scheduling tables to start the sending
and receiving to the LIN bus. These scheduling tables contain at least the relative
timing that defines the message sending.
[constr_1657] Existence of LinPhysicalChannel.scheduleTable dIn any given
Ecu Extract that contains a LinSlave, the LinPhysicalChannel that relates to the
respective LinSlave via commConnector.commController shall not aggregate a
LinScheduleTable.c()
Class LinScheduleTable
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note The master task (in the master node) transmits frame headers based on a schedule table. The schedule
table specifies the identifiers for each header and the interval between the start of a frame and the start
of the following frame.
5
4
Class LinScheduleTable
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
resumePosition ResumePosition 0..1 attr Defines, where a schedule table shall be proceeded in
case if it has been interrupted by a run-once table or
MRF/SRF.
runMode RunMode 0..1 attr The schedule table can be executed in two different
modes.
tableEntry ScheduleTableEntry 1..* aggr The scheduling table consists of table entries, which
contain Frame slots.
Table 6.99: LinScheduleTable
Enumeration RunMode
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note The schedule table can be executed in two different modes.
Literal Description
RunContinuous RUN_CONTINUOUS run mode
Tags:atp.EnumerationLiteralIndex=0
runOnce RUN_ONCE run mode
Tags:atp.EnumerationLiteralIndex=1
Enumeration ResumePosition
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Defines, where a schedule table shall be proceeded in case if it has been interrupted by a run-once
table or MRF/SRF.
Literal Description
continueAtItPosition Continue at IT Point.
Tags:atp.EnumerationLiteralIndex=0
startFromBeginning Start from the beginning
Tags:atp.EnumerationLiteralIndex=1
4
Class ScheduleTableEntry (abstract)
positionInTable Integer 1 attr Relative position in the schedule table. The first entry
index in the schedule table is 0.
Class ApplicationEntry
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Schedule table entry for application messages.
Base ARObject, ScheduleTableEntry
Attribute Type Mult. Kind Note
frameTriggering LinFrameTriggering 1 ref Specifies the LinFrame that will be transmitted in this
frame slot.
Table 6.103: ApplicationEntry
Identifiable Referrable
ScheduleTableEntry
LinScheduleTable LinSlaveConfigIdent
+tableEntry + delay: TimeValue
+ resumePosition: ResumePosition [0..1]
+ runMode: RunMode [0..1] 1..* + positionInTable: Integer
+assignedLinSlaveConfig 0..1
LinCommunicationController
FreeFormat FreeFormatEntry LinSlave
FramePid DataDumpEntry
LinFrameTriggering Identifiable
FrameTriggering
+ identifier: Integer [0..1]
+ linChecksum: LinChecksumType [0..1]
LIN only supports 64 identifiers. That creates the need for extending the address
space. Hence the frames are identified by message ids from a much larger address
space that is additionally separated by supplier ids. During runtime the master as-
signs a LinId to the frame. In case of identical parts within a cluster the initial node ID
(oldNad) is used to differentiate such nodes.
To support that in System Template the AssignFrameId is introduced as a LIN spe-
cific extension. For the assignment a relation to the LinSlave is used. The LinSlave
element is referenced by a LinCommunicationConnector element that contains a
list of frames processed by the slave node. More details can be found in chapter
6.7.2.3.
Class AssignFrameId
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Schedule entry for an Assign Frame Id master request.
Base ARObject, LinConfigurationEntry , ScheduleTableEntry
Attribute Type Mult. Kind Note
5
4
Class AssignFrameId
assignedFrame LinFrameTriggering 1 ref The frame whose identifier is set by this assignment.
Triggering
Class UnassignFrameId
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Schedule entry for an Unassign Frame Id master request where the protected identifier is assigned the
value 0x40. This will disable reception/transmission of a previously dynamically assigned frame identifier.
Base ARObject, LinConfigurationEntry , ScheduleTableEntry
Attribute Type Mult. Kind Note
unassigned LinFrameTriggering 1 ref The frame whose identifier is reset by this assignment.
FrameTriggering
4
Class AssignFrameIdRange
framePid FramePid 0..4 aggr Optional assignment of frame_PID values that are
included in the request. The frame_PIDs are ordered.
startIndex Integer 1 attr The startIndex sets the index to the first frame to assign a
PID.
Table 6.108: AssignFrameIdRange
Class FramePid
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Frame_PIDs that are included in the request. The "pid" attribute describes the value and the "index"
attribute the position of the frame_PID in the request.
Base ARObject
Attribute Type Mult. Kind Note
index Integer 1 attr This attribute is used to order the frame_PIDs. The values
of index shall be unique within one AssignFrameIdRange.
pid PositiveInteger 1 attr Frame_PID value.
The conditional change NAD is used to detect unknown slave nodes in a cluster and
to separate their NADs.
Class ConditionalChangeNad
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Generates an conditional change NAD request. See ISO 17987 protocol specification for more
information.
Base ARObject, LinConfigurationEntry , ScheduleTableEntry
Attribute Type Mult. Kind Note
byte Integer 1 attr Byte Position of Data Byte that should be used for the
bitwise XOR with Invert and the bitwise AND with Mask.
id PositiveInteger 1 attr Byte Position of Id.
5
4
Class ConditionalChangeNad
invert Integer 1 attr Byte Position of Invert.
mask Integer 1 attr Byte Position of Mask.
newNad Integer 1 attr The newly assigned NAD value (Byte Position).
The Save Configuration service tells the slave node that the slave application shall save
the current configuration.
Class SaveConfigurationEntry
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note This service is used to notify a slave node to store its configuration.
Base ARObject, LinConfigurationEntry , ScheduleTableEntry
Attribute Type Mult. Kind Note
– – – – –
Table 6.112: SaveConfigurationEntry
The Data Dump service is reserved for initial configuration of a slave node by the slave
node supplier and the format of this message is supplier specific.
Class DataDumpEntry
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note This service is reserved for initial configuration of a slave node by the slave node supplier and the format
of this message is supplier specific.
Base ARObject, LinConfigurationEntry , ScheduleTableEntry
Attribute Type Mult. Kind Note
byteValue Integer 5 attr Supplier specific format.
(ordered)
With the FreeFormat a scheduling of fixed data content within a diagnostic frame is
defined. For that specification FreeFormat is introduced.
Class FreeFormat
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Lin::LinCommunication
Note Representing freely defined data.
Base ARObject, FreeFormatEntry , ScheduleTableEntry
Attribute Type Mult. Kind Note
byteValue Integer 8 attr The integer Value of a freely defined data byte.
(ordered)
CanFrameTriggering CanFrame
+ canAddressingMode: CanAddressingModeType
+ canFrameRxBehavior: CanFrameRxBehaviorEnum [0..1]
+ canFrameTxBehavior: CanFrameTxBehaviorEnum [0..1]
+ identifier: Integer [0..1]
+ j1939requestable: Boolean [0..1]
+ rxMask: PositiveInteger [0..1]
«enumeration»
+ txMask: PositiveInteger [0..1]
CanAddressingModeType
standard
extended
+rxIdentifierRange 0..1
RxIdentifierRange
+ lowerCanId: PositiveInteger
+ upperCanId: PositiveInteger
«enumeration» «enumeration»
CanFrameRxBehaviorEnum CanFrameTxBehaviorEnum
any can20
canFd canFd
can20
Class CanFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanCommunication
Note CAN specific Frame element. This element shall also be used for TTCan.
Tags:atp.recommendedPackage=Frames
Base ARObject, CollectableElement, FibexElement, Frame, Identifiable, MultilanguageReferrable,
PackageableElement, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.115: CanFrame
Class CanFrameTriggering
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanCommunication
Note CAN specific attributes to the FrameTriggering
Base ARObject, FrameTriggering, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
absolutely TtcanAbsolutely * aggr Each frame in TTCAN is identified by its slot id and
Scheduled ScheduledTiming communication cycle. A description is provided by the
Timing usage of AbsolutelyScheduledTiming.
canAddressing CanAddressingMode 1 attr The CAN protocol supports two types of frame formats.
Mode Type The standard frame format uses 11-bit identifiers and is
defined in the CAN specification 2.0 A. Additionally the
extended frame format allows 29-bit identifiers and is
defined in the CAN specification 2.0 B.
canFrameRx CanFrameRxBehavior 0..1 attr Defines which CAN protocol shall be expected for frame
Behavior Enum reception.
canFrameTx CanFrameTxBehavior 0..1 attr Defines which CAN protocol shall be used for frame
Behavior Enum transmission.
identifier Integer 0..1 attr This attribute is used to define the identifier this frame
shall use on the CAN network.
j1939requestable Boolean 0..1 attr Frame can be triggered by the J1939 request message.
rxIdentifier RxIdentifierRange 0..1 aggr Optional definition of a CanId range.
Range
rxMask PositiveInteger 0..1 attr Identifier mask which denotes the relevant bits in the CAN
Identifier. Together with the identifier, this parameter
defines a CAN identifier range.
txMask PositiveInteger 0..1 attr Identifier mask which denotes static bits in the CAN
identifier. The other bits can be set dynamically.
Enumeration CanAddressingModeType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanCommunication
Note Indicates whether standard or extended CAN identifiers are used
Literal Description
extended Extended 29-bit-identifiers are used (CAN 2.0B)
Tags:atp.EnumerationLiteralIndex=0
standard Standard 11-bit-identifiers are used (CAN 2.0A)
Tags:atp.EnumerationLiteralIndex=1
Class RxIdentifierRange
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanCommunication
Note Optional definition of a CanId range to reduce the effort of specifying every possible FrameTriggering
within the defined Id range during reception. All frames received within a range are mapped to the same
Pdu that is passed to a upper layer module (e.g. Nm, CDD, PduR).
Base ARObject
Attribute Type Mult. Kind Note
lowerCanId PositiveInteger 1 attr This attribute can be used together with the upperCanId
attribute to define a range of CanIds.
5
4
Class RxIdentifierRange
upperCanId PositiveInteger 1 attr This attribute can be used together with the lowerCanId
attribute to define a range of CanIds.
Enumeration CanFrameRxBehaviorEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Can::CanCommunication
Note Defines different CAN protocols for frame reception behavior.
Literal Description
any This CAN frame may be received as both, CAN 2.0 and CAN FD.
Tags:atp.EnumerationLiteralIndex=0
can20 This CAN frame shall be received as CAN 2.0 only. In case the CAN frame is received as CAN FD it
is discarded during reception.
Tags:atp.EnumerationLiteralIndex=1
canFd This CAN frame shall be received as CAN FD only. In case the CAN frame is received as CAN 2.0 it
is discarded during reception.
Tags:atp.EnumerationLiteralIndex=2
4
Enumeration CanFrameTxBehaviorEnum
can20 This CAN frame shall be sent as CAN 2.0 only.
Tags:atp.EnumerationLiteralIndex=0
canFd This CAN frame shall be sent as CAN FD.
Tags:atp.EnumerationLiteralIndex=1
J1939 is a protocol and application layer standard of the SAE (Society of Automotive
Engineers) based on the CAN technology. It defines parameters uniquely identified by
the SPN (Suspect Parameter Number). These are mapped to parameter groups that
are uniquely identified by a PGN (Parameter Group Number). Parameters are simply
handled as SystemSignals which have a name derived from the name of the SPNs.
A Parameter Group (PG) corresponds to an IPdu.
J1939 uses extended 29 bit CAN identifiers to encode a priority, the source address of
the frame, and a frame ID which is based on the PGN (Parameter Group Number) and
may contain the destination address.
J1939 supports IPdus with more than 8 bytes, and IPdus with variable length that
may exceed 8 bytes. As soon as an IPdu has more than 8 bytes, it does not fit in
a single CAN frame and a transport protocol shall be used. Variable length IPdus
will always be handled by the J1939 TP, regardless of the actual length. The J1939
Transport Protocol is described in chapter 6.8.8.
[TPS_SYST_01132] Communication over SAE J1939 dThe System Template sup-
ports the description of communication over SAE J1939.c(RS_SYST_00038)
[constr_3209] CanFrameTriggerings with identical PGN dFor all Can-
FrameTriggerings where the attribute identifier contains the identical PGN (as
defined in section 5.2 Protocol Data Unit in [25]) the attribute j1939requestable
shall also have an identical value.c()
CanFrameTriggering
CanFrame
+ canAddressingMode: CanAddressingModeType
+ canFrameRxBehavior: CanFrameRxBehaviorEnum [0..1]
+ canFrameTxBehavior: CanFrameTxBehaviorEnum [0..1]
+ identifier: Integer [0..1]
+ j1939requestable: Boolean [0..1]
+ rxMask: PositiveInteger [0..1]
+ txMask: PositiveInteger [0..1]
+absolutelyScheduledTiming 0..*
«enumeration» TtcanAbsolutelyScheduledTiming
CycleRepetitionType
+ timeMark: Integer
cycleRepetition1 + trigger: TtcanTriggerType
cycleRepetition2 «enumeration»
cycleRepetition4 TtcanTriggerType
cycleRepetition8
cycleRepetition16 Attributes
cycleRepetition32 +communicationCycle 1 + rxTrigger
cycleRepetition64 + txRefTrigger
cycleRepetition5 CommunicationCycle + txRefTriggerGap
cycleRepetition10 + txTriggerMerged
cycleRepetition20 + txTriggerSingle
cycleRepetition40 + watchTrigger
cycleRepetition50 + watchTriggerGap
CycleCounter CycleRepetition
Class TtcanAbsolutelyScheduledTiming
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ttcan::TtcanCommunication
Note Each frame in TTCAN is identified by its slot id and communication cycle. A description is provided by the
usage of AbsolutelyScheduledTiming.
A frame can be sent multiple times within one communication cycle. For describing this case multiple
AbsolutelyScheduledTimings have to be used. The main use case would be that a frame is sent twice
within one communication cycle.
Base ARObject
Attribute Type Mult. Kind Note
communication CommunicationCycle 1 aggr The communication cycle where the frame is sent.
Cycle
timeMark Integer 1 attr Where FlexRay counts the slots in the static segment,
TTCAN requires explicit Tx and Rx time marks.
trigger TtcanTriggerType 1 attr Trigger type for this time window.
Enumeration TtcanTriggerType
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ttcan::TtcanCommunication
Note This type lists all trigger types for a time window.
Literal Description
rxTrigger Check for message reception
Tags:atp.EnumerationLiteralIndex=0
txRefTrigger Send reference message in periodic case
Tags:atp.EnumerationLiteralIndex=1
txRefTriggerGap Send reference message in event-synchronised case
Tags:atp.EnumerationLiteralIndex=2
txTriggerMerged Send message in a merged arbitration window
Tags:atp.EnumerationLiteralIndex=3
txTriggerSingle Send message in an exclusive time window
Tags:atp.EnumerationLiteralIndex=4
watchTrigger Check for missing reference message in periodic case
Tags:atp.EnumerationLiteralIndex=5
watchTriggerGap Check for missing reference message in event-synchronised case
Tags:atp.EnumerationLiteralIndex=6
Important note: Please note that the model of Release 4.4.0 to describe the Ether-
net communication can still be used in the current release. Elements like Sock-
etConnectionBundle and SocketConnection are set to obsolete and will be re-
moved in a future release. The documentation of the old model is available in
the Rel. 4.4.0 System Template specification. For the usage of the Rel. 4.4.0
model only the attributes that are described in Release 4.4.0 are valid. A mixture
of the current release and Rel. 4.4.0 models is not allowed.
This chapter specifies how the data communication between nodes in an IP network
over TCP and UDP protocols is described with an AUTOSAR model.
[TPS_SYST_01091] Definition of SoAdConfig dThe SoAdConfig in the System
Template is defined per EthernetPhysicalChannel which represents a VLAN.c
(RS_SYST_00039)
The SoAdConfig element is the entry point for the description of the IP communi-
cation on a VLAN since it contains a collection of SocketAddresses of nodes that
are able to receive and transmit information over the VLAN. Each node is represented
by an EcuInstance. The SocketAddress defines a communication endpoint (IP
Unicast or IP Multicast) and assigns it to one EthernetCommunicationConnec-
tor of an EcuInstance in case of IP Unicast communication and to one or several
EthernetCommunicationConnectors in case of IP Multicast.
Class SoAdConfig
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note SoAd Configuration for one specific Physical Channel.
Base ARObject
Attribute Type Mult. Kind Note
connection SocketConnection * aggr This aggregation is obsolete and will be removed in the
future. The connectionGroup aggregation with bundled
Connections shall be used instead.
Old description: Collection of socket connections.
Stereotypes: atpVariation
Tags:
atp.Status=obsolete
vh.latestBindingTime=postBuild
connection SocketConnection * aggr Collection of SocketConnectionBundles.
Bundle Bundle
Stereotypes: atpVariation
Tags:
atp.Status=obsolete
vh.latestBindingTime=postBuild
socketAddress SocketAddress 1..* aggr Collection of SoAdAddresses.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
The SocketAddress is the element that is used to establish the link between the
EcuInstance and the NetworkEndpoint. The SocketAddress has a connec-
tor reference to the EthernetCommunicationConnector. The SocketAddress
transport layer configuration. The IP-address that is connected to the transport layer is
defined by the referenced NetworkEndpoint.
[constr_5061] EthernetCommunicationConnectors and referencing Socke-
tAddresses shall be in the same VLAN dEach EthernetCommunicationCon-
nector that is referenced by a SocketAddress in the role connector or multi-
castConnector shall be referenced by the same EthernetPhysicalChannel that
aggregates the SoAdConfig that in turn aggregates the SocketAddress.c()
[constr_3299] SocketAddress.pathMtuDiscoveryEnabled setting depen-
dency dSocketAddress.pathMtuDiscoveryEnabled shall only be set to TRUE if
EthernetCommunicationConnector.pathMtuEnabled == TRUE.c()
[constr_3311] Usage of SocketAddress.flowLabel dSocketAddress.flowLa-
bel shall only be used if the aggregated ApplicationEndpoint refers to a Net-
workEndpoint with an Ipv6Configuration.c()
[TPS_SYST_02140] SocketAddress.udpChecksumHandling default value dIf
SocketAddress.udpChecksumHandling is not used the value udpCheck-
sumEnabled shall be assumed.c()
Enumeration UdpChecksumCalculationEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note This enumeration defines the UDP checksum calculation.
Literal Description
udpChecksum Udp checksum handling shall be disabled
Disabled
Tags:atp.EnumerationLiteralIndex=1
udpChecksum Udp checksum handling shall be enabled
Enabled
Tags:atp.EnumerationLiteralIndex=0
to the upper layer). A valid non-zero checksum is accepted and the UDP data-
gram is forwarded to the upper layer as well.
c()
[TPS_SYST_02142] Reception of invalid checksum dOn Rx side an invalid check-
sum should always cause the related UDP datagram to be discarded independent of
the udpChecksumHandling value.c()
To enable the IPv6 packet filtering the attribute allowedIPv6ExtHeaders al-
lows to define a white list of IPv6 Extension Headers that are allowed
for a SocketAddress. Lists of IPv6 Extension Headers can be defined
with the IPv6ExtHeaderFilterList element and can be collected in
IPv6ExtHeaderFilterSets.
ARElement
IPv6ExtHeaderFilterSet
+extHeaderFilterList 0..*
Identifiable
IPv6ExtHeaderFilterList
+allowedIPv6ExtHeaders 0..1
Identifiable
SocketAddress
Class IPv6ExtHeaderFilterSet
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::IPv6HeaderFilterList
Note Set of IPv6 Extension Header Filters.
Tags:atp.recommendedPackage=IPv6ExtHeaderFilterSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
extHeaderFilter IPv6ExtHeaderFilterList * aggr In order to permit or deny certain types of IPv6 extension
List headers a white list of IPv6 extension headers can be
configured.
Class IPv6ExtHeaderFilterList
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::IPv6HeaderFilterList
Note White list for the filtering of IPv6 extension headers.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
allowedIPv6Ext PositiveInteger 1..* attr IPv6 Extension Header type allowed by this filter.
Header
Table 6.127: IPv6ExtHeaderFilterList
+tcpOptionFilterList 0..*
Identifiable
TcpOptionFilterList
+allowedTcpOptions 0..1
Identifiable
SocketAddress
Class TcpOptionFilterSet
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::TcpOptionFilterSet
Note Set of TcpOptionFilterLists.
Tags:atp.recommendedPackage=TcpOptionFilterSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
tcpOptionFilter TcpOptionFilterList * aggr Collection of white lists for the filtering of TCP options.
List
Table 6.128: TcpOptionFilterSet
Class TcpOptionFilterList
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::TcpOptionFilterSet
Note White list for the filtering of TCP options.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
allowedTcp PositiveInteger 1..* attr TCP option kind allowed by this filter.
Option
6.7.5.1 ApplicationEndpoint
Class ApplicationEndpoint
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note An application endpoint is the endpoint on an Ecu in terms of application addressing (e.g. socket). The
application endpoint represents e.g. the listen socket in client-server-based communication.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
consumed ConsumedService * aggr Consumed service instances.
ServiceInstance Instance
Tags:atp.Status=obsolete
maxNumberOf PositiveInteger 0..1 attr This attribute defines the maximal number of clients the
Connections Server is able to deal with in case of Service Discovery.
network NetworkEndpoint 1 ref Reference to the network address.
Endpoint
priority PositiveInteger 0..1 attr Defines the frame priority where values from 0 (best
effort) to 7 (highest) are allowed.
providedService ProvidedService * aggr Provided service instances.
Instance Instance
Tags:atp.Status=obsolete
5
4
Class ApplicationEndpoint
tlsCrypto TlsCryptoService 0..1 ref This reference identifies the applicable TlsCryptoService
Mapping Mapping Mapping that adds the ability for TLS-based encryption
on the enclosing ApplicationEndpoint.
tpConfiguration TransportProtocol 0..1 aggr Configuration of the used transport protocol.
Configuration
Identifiable
ApplicationEndpoint
+tpConfiguration 0..1
TransportProtocolConfiguration
TcpTp
UdpTp
+ keepAliveInterval: TimeValue [0..1] HttpTp
+ keepAliveProbesMax: PositiveInteger [0..1] +tcpTpConfig + contentType: String [0..1]
+ keepAlives: Boolean [0..1] + protocolVersion: String
+ keepAliveTime: TimeValue [0..1] 1
+ requestMethod: RequestMethodEnum [0..1]
+ naglesAlgorithm: Boolean [0..1] + uri: UriString [0..1]
+ receiveWindowMin: PositiveInteger [0..1]
+ tcpRetransmissionTimeout: TimeValue [0..1]
«enumeration»
+udpTpPort 1 +tcpTpPort 1 RequestMethodEnum
get
TpPort post
+ dynamicallyAssigned: Boolean [0..1] head
+ portNumber: PositiveInteger [0..1] put
delete
trace
options
connect
4
Class TransportProtocolConfiguration (abstract)
Base ARObject
Subclasses GenericTp, HttpTp, Ieee1722Tp, RtpTp, TcpUdpConfig
Attribute Type Mult. Kind Note
– – – – –
Table 6.131: TransportProtocolConfiguration
Class UdpTp
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Content Model for UDP configuration.
Base ARObject, TcpUdpConfig, TransportProtocolConfiguration
Attribute Type Mult. Kind Note
udpTpPort TpPort 1 aggr Udp Port configuration.
Class TcpTp
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Content Model for TCP configuration.
Base ARObject, TcpUdpConfig, TransportProtocolConfiguration
Attribute Type Mult. Kind Note
keepAlive TimeValue 0..1 attr Specifies the interval in seconds between subsequent
Interval keepalive probes.
5
4
Class TcpTp
keepAlive PositiveInteger 0..1 attr Maximum number of times that TCP retransmits an
ProbesMax individual data segment before aborting the connection.
keepAlives Boolean 0..1 attr Indicates if Keep-Alive messages are sent.
keepAliveTime TimeValue 0..1 attr Specifies the time in seconds between the last data
packet sent and the first keepalive probe.
naglesAlgorithm Boolean 0..1 attr Indicates if Nagle’s Algorithm is used.
receiveWindow PositiveInteger 0..1 attr Minimum size of the TCP receive window in bytes.
Min
tcp TimeValue 0..1 attr Defines the timeout in seconds before an
Retransmission unacknowledged TCP segment is sent again. If the tcp
Timeout RetransmissionTimeout is not defined or set to "INF", no
TCP segments shall be re-transmitted.
tcpTpPort TpPort 1 aggr TCP Port configuration.
Class RtpTp
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note RTP over UDP or over TCP as transport protocol.
Base ARObject, TransportProtocolConfiguration
Attribute Type Mult. Kind Note
ssrc PositiveInteger 1 attr Synchronization source identifier uniquely identifies the
source of a stream. The synchronization sources within
the same RTP session will be unique.
tcpUdpConfig TcpUdpConfig 1 aggr Tcp or Udp Configuration.
Class Ieee1722Tp
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Content Model for IEEE 1722 configuration.
Base ARObject, TransportProtocolConfiguration
Attribute Type Mult. Kind Note
relative TimeValue 0..1 attr Defines the time when content shall be presented (in
Representation seconds). The actual absolute time is creation time plus
Time relative presentation time.
streamIdentifier PositiveInteger 1 attr IEEE 1722 stream identifier
subType PositiveInteger 0..1 attr Protocol type.
version PositiveInteger 0..1 attr Revision of Ieee1722 standard
Class HttpTp
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Http over TCP as transport protocol.
Base ARObject, TransportProtocolConfiguration
Attribute Type Mult. Kind Note
5
4
Class HttpTp
contentType String 0..1 attr Descriptor for the transported content.
protocolVersion String 1 attr HTTP Protocol version (e.g. 1.1)
requestMethod RequestMethodEnum 0..1 attr HTTP request method to be used.
tcpTpConfig TcpTp 1 aggr TcpTp Configuration.
uri UriString 0..1 attr URI to be called.
Class TpPort
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Dynamic or direct assignment of a PortNumber.
Base ARObject
Attribute Type Mult. Kind Note
dynamically Boolean 0..1 attr Indicates whether the source port is dynamically
Assigned assigned.
Tags:atp.Status=obsolete
portNumber PositiveInteger 0..1 attr Port Number.
6.7.5.2 NetworkEndpoint
Class NetworkEndpoint
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note The network endpoint defines the network addressing (e.g. IP-Address or MAC multicast address).
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
fullyQualified String 0..1 attr Defines the fully qualified domain name (FQDN) e.g.
DomainName some.example.host.
infrastructure InfrastructureServices 0..1 aggr Defines the network infrastructure services provided or
Services consumed.
ipSecConfig IPSecConfig 0..1 aggr Optional IPSec configuration that provides security
services for IP packets.
network NetworkEndpoint 1..* aggr Definition of a Network Address.
Endpoint Address
Tags:xml.name
Address
Plural=NETWORK-ENDPOINT-ADDRESSES
priority PositiveInteger 0..1 attr Defines the frame priority where values from 0 (best
effort) to 7 (highest) are allowed.
The NetworkEndpoint defines the network addressing. The network endpoint may
have a priority and a FQDN (Fully Qualified Domain Name) that is used for the Service
Discovery (e.g. some.example.host.).
[TPS_SYST_01090] valid NetworkEndpoint dTo build a valid NetworkEndpoint
at least one of the following options shall be defined in the role NetworkEndpoint.
networkEndpointAddress:
• a MacMulticastConfiguration with a reference to a MacMulticastGroup
• Ipv4Configuration
• Ipv6Configuration
c(RS_SYST_00039)
Identifiable
NetworkEndpoint
+networkEndpointAddress 1..*
NetworkEndpointAddress
Class Ipv4Configuration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Internet Protocol version 4 (IPv4) configuration.
Base ARObject, NetworkEndpointAddress
Attribute Type Mult. Kind Note
assignment PositiveInteger 0..1 attr Priority of assignment (1 is highest). If a new address
Priority from an assignment method with a higher priority is
available, it overwrites the IP address previously assigned
by an assignment method with a lower priority.
defaultGateway Ip4AddressString 0..1 attr IP address of the default gateway.
dnsServer Ip4AddressString * attr IP addresses of preconfigured DNS servers.
Address
Tags:xml.namePlural=DNS-SERVER-ADDRESSES
ipAddressKeep IpAddressKeepEnum 0..1 attr Defines the lifetime of a dynamically fetched IP address.
Behavior
ipv4Address Ip4AddressString 0..1 attr IPv4 Address. Notation: 255.255.255.255. The IP
Address shall be declared in case the ipv4AddressSource
is FIXED and thus no auto-configuration mechanism is
used.
ipv4Address Ipv4AddressSource 0..1 attr Defines how the node obtains its IP address.
Source Enum
networkMask Ip4AddressString 0..1 attr Network mask. Notation 255.255.255.255
ttl PositiveInteger 0..1 attr Lifespan of data (0..255). The purpose of the TimeToLive
field is to avoid a situation in which an undeliverable
datagram keeps circulating on a system.
Enumeration Ipv4AddressSourceEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines how the node obtains its IPv4-Address.
Literal Description
autoIp AutoIP is used to dynamically assign IP addresses at device startup.
Tags:atp.EnumerationLiteralIndex=0
autoIp_doip Linklocal IPv4 Address Assignment using DoIP Parameters
Tags:atp.EnumerationLiteralIndex=2
dhcpv4 DHCP is a service for the automatic IP configuration of a client.
Tags:atp.EnumerationLiteralIndex=3
fixed The IP Address shall be declared manually.
Tags:atp.EnumerationLiteralIndex=4
Enumeration IpAddressKeepEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the behavior after a dynamic IP address has been assigned.
Literal Description
forget After a dynamic IP address has been assigned just use it for this session.
Tags:atp.EnumerationLiteralIndex=0
5
4
Enumeration IpAddressKeepEnum
storePersistently After a dynamic IP address has been assigned store the address persistently.
Tags:atp.EnumerationLiteralIndex=1
Class Ipv6Configuration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Internet Protocol version 6 (IPv6) configuration.
Base ARObject, NetworkEndpointAddress
Attribute Type Mult. Kind Note
assignment PositiveInteger 0..1 attr Priority of assignment (1 is highest). If a new address
Priority from an assignment method with a higher priority is
available, it overwrites the IP address previously assigned
by an assignment method with a lower priority.
defaultRouter Ip6AddressString 0..1 attr IP address of the default router.
dnsServer Ip6AddressString * attr IP addresses of pre configured DNS servers.
Address
Tags:xml.namePlural=DNS-SERVER-ADDRESSES
enableAnycast Boolean 0..1 attr This attribute is used to enable anycast addressing (i.e. to
one of multiple receivers).
hopCount PositiveInteger 0..1 attr The distance between two hosts. The hop count n means
that n gateways separate the source host from the
destination host (Range 0..255)
ipAddressKeep IpAddressKeepEnum 0..1 attr Defines the lifetime of a dynamically fetched IP address.
Behavior
ipAddressPrefix PositiveInteger 0..1 attr IPv6 prefix length defines the part of the IPv6 address
Length that is the network prefix.
ipv6Address Ip6AddressString 0..1 attr IPv6 Address. Notation: FFFF:...:FFFF. The IP Address
shall be declared in case the ipv6AddressSource is
FIXED and thus no auto-configuration mechanism is
used.
ipv6Address Ipv6AddressSource 0..1 attr Defines how the node obtains its IP address.
Source Enum
Table 6.145: Ipv6Configuration
Class MacMulticastConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note References a per cluster globally defined MAC-Multicast-Group.
Base ARObject, NetworkEndpointAddress
Attribute Type Mult. Kind Note
macMulticast MacMulticastGroup 1 ref Reference to a macMulticastGroup.
Group
Primitive Ip4AddressString
Package M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::PrimitiveTypes
Note This is used to specify an IP4 address. Notation: 255.255.255.255
Tags:
xml.xsd.customType=IP4-ADDRESS-STRING
xml.xsd.pattern=(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4]
[0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|ANY
xml.xsd.type=string
Primitive Ip6AddressString
Package M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::PrimitiveTypes
Note This is used to specify an IP6 address. Notation: FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
Alternative notations, short-cuts with duplicate colons like ::, etc. or mixtures using colons and dots, are
not allowed.
Tags:
xml.xsd.customType=IP6-ADDRESS-STRING
xml.xsd.pattern=[0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7,7}|ANY
xml.xsd.type=string
0..*
+orderedMaster {ordered}
+infrastructureServices 0..1
OrderedMaster
InfrastructureServices
+ index: PositiveInteger
+timeSynchronization
+timeSyncServer 1
0..1
Referrable
+timeSyncServer TimeSyncServerConfiguration
+doIpEntity DoIpEntity
«enumeration» «enumeration»
TimeSyncTechnologyEnum DoIpEntityRoleEnum
ntp_rfc958 node
ptp_ieee1588_2002 gateway
ptp_ieee1588_2008 edgeNode
avb_ieee802_1AS
Class InfrastructureServices
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the network infrastructure services provided or consumed.
Base ARObject
Attribute Type Mult. Kind Note
doIpEntity DoIpEntity 0..1 aggr Defines whether a infrastructure service that runs on the
network endpoint is a DoIP-Entity.
time TimeSynchronization 0..1 aggr Defines the servers / clients in a time synchronised
Synchronization network.
Class TimeSyncClientConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the configuration of the time synchronisation client.
Base ARObject
Attribute Type Mult. Kind Note
orderedMaster OrderedMaster * aggr Defines a list of ordered NetworkEndpoints.
(ordered)
Tags:xml.namePlural=ORDERED-MASTER-LIST
timeSync TimeSyncTechnology 1 attr Defines the time synchronisation technology used.
Technology Enum
Class TimeSyncServerConfiguration
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines the configuration of the time synchronisation server.
Base ARObject, Referrable
Attribute Type Mult. Kind Note
priority PositiveInteger 0..1 attr Server Priority.
syncInterval TimeValue 1 attr Synchronisation interval used by the time synchronisation
server (in seconds).
5
4
Class TimeSyncServerConfiguration
timeSyncServer String 0..1 attr Identifier of the TimeSyncServer.
Identifier
timeSync TimeSyncTechnology 1 attr Defines the time synchronisation technology used.
Technology Enum Possible values are: NTP_RFC958, PTP_
IEEE1588_2002, PTP_IEEE1588_2008, AVB_
IEEE802_1AS and others.
Class OrderedMaster
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Element in the network endpoint list.
Base ARObject
Attribute Type Mult. Kind Note
index PositiveInteger 1 attr Defines the order of the network endpoint list (e.g. 0, 1, 2,
...).
timeSyncServer TimeSyncServer 1 ref Reference to a master (Time Sync Server).
Configuration
Enumeration TimeSyncTechnologyEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Timesynchronization. Server/Client configuration.
Literal Description
avb_ieee802_1AS Ethernet AVB compliant IEEE802.1AS Precision Time Protocol
Tags:atp.EnumerationLiteralIndex=0
ntp_rfc958 Network Time Protocol (NTP)
Tags:atp.EnumerationLiteralIndex=1
ptp_ieee1588_2002 Precision Time Protocol (PTP) IEEE 1588-2002
Tags:atp.EnumerationLiteralIndex=2
ptp_ieee1588_2008 Precision Time Protocol (PTP) IEEE 1588-2008
Tags:atp.EnumerationLiteralIndex=3
The DoIpEntity (Diagnostics over Internet Protocol, ISO 13400) defines the DoIp
role this NetworkEndpoint has.
Class DoIpEntity
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note ECU providing this infrastructure service is a DoIP-Entity.
Base ARObject
Attribute Type Mult. Kind Note
doIpEntityRole DoIpEntityRoleEnum 1 attr Identifies the role in terms of DoIP this network-node has.
Enumeration DoIpEntityRoleEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note DoIP role a network-node has.
Literal Description
edgeNode Network node is a DoIP gateway that accepts external connections.
Tags:atp.EnumerationLiteralIndex=0
gateway Network node is a Gateway between the DoIP network and other networks.
Tags:atp.EnumerationLiteralIndex=1
node Network node is a DoIp node.
Tags:atp.EnumerationLiteralIndex=2
The AUTOSAR protocol SOME/IP is a Service Discovery protocol that is used to com-
municate the availability of functional entities called services in the in-vehicle communi-
cation and to control the send behavior of event messages to receivers that subscribed
to receive these events (Publish/Subscribe). A Service may also provide methods that
a client is able to call (Request/Response).
Please note that the AUTOSAR Classic Platform does not support Service Inter-
faces. To mimic a Service Interface in the classic platform any combination of
ClientServerInterfaces, SenderReceiverInterfaces or TriggerInter-
faces may be used to describe a service to which later a SOME/IP Service Id is
assigned.
The assignment of SOME/IP Service Ids is done on the Service Instance level in the
System Description. An AbstractServiceInstance collected in the ServiceIn-
stanceCollectionSet is describing such a Service Instance.
A SOME/IP serialized message is represented by an ISignal that aggregates the
SOMEIPTransformationISignalProps that in turn references the Transforma-
tionTechnology with the protocol set to SOMEIP. The ISignal is mapped into
an ISignalIPdu and the PduTriggering that instantiates the ISignalIPdu on the
VLAN is related to a ProvidedServiceInstance or ConsumedServiceInstance
via a PduActivationRoutingGroup. The ProvidedServiceInstance.ma-
jorVersion or ConsumedServiceInstance.majorVersion describes the Ser-
vice Interface Version that is transported in the Header of the SOME/IP message to
identify the source of the message.
[TPS_SYST_02377] Consistent setting of Service Interface Version dThe Service
Interface Version represented by the SOMEIPTransformation (either via SOMEIP-
TransformationISignalProps.interfaceVersion of the ISignal or via
CommunicationConnector Identifiable
EthernetCommunicationConnector NetworkEndpoint
+networkEndpoint
1
+ pathMtuTimeout: TimeValue [0..1] Identifiable
+ pncFilterDataMask: PositiveUnlimitedInteger [0..1] +connector SocketAddress
+applicationEndpoint 0..1
Identifiable
+eventMulticastAddress ApplicationEndpoint
+eventMulticastAddress
0..1 + maxNumberOfConnections: PositiveInteger [0..1]
+ priority: PositiveInteger [0..1] 0..*
+remoteUnicastAddress
+localUnicastAddress
+remoteUnicastAddress
+localUnicastAddress
0..* 0..2 FibexElement 0..2 0..2
ServiceInstanceCollectionSet
«atpVariation»
+serviceInstance 0..*
Identifiable
AbstractServiceInstance
ProvidedServiceInstance
ConsumedServiceInstance
+ autoAvailable: Boolean [0..1]
+ instanceIdentifier: PositiveInteger [0..1] + autoRequire: Boolean [0..1]
+ loadBalancingPriority: PositiveInteger [0..1] + instanceIdentifier: AnyServiceInstanceId [0..1]
+ loadBalancingWeight: PositiveInteger [0..1] + minorVersion: AnyVersionString [0..1]
+ minorVersion: PositiveInteger [0..1] + serviceIdentifier: PositiveInteger [0..1]
+ priority: PositiveInteger [0..1] + versionDrivenFindBehavior: ServiceVersionAcceptanceKindEnum [0..1]
+ serviceIdentifier: PositiveInteger [0..1]
«atpVariation»
«atpVariation» «atpVariation» +blacklistedVersion 0..*
+consumedEventGroup 0..*
+eventHandler 0..*
SomeipServiceVersion Identifiable
Identifiable ConsumedEventGroup
+ majorVersion: PositiveInteger [0..1]
EventHandler
+ minorVersion: PositiveInteger + autoRequire: Boolean [0..1]
+ eventGroupIdentifier: PositiveInteger [0..1] + eventGroupIdentifier: PositiveInteger [0..1]
+ multicastThreshold: PositiveInteger [0..1] + priority: PositiveInteger [0..1]
Identifiable
PduActivationRoutingGroup
«enumeration» «enumeration»
Identifiable EventGroupControlTypeEnum PduCollectionSemanticsEnum
PduTriggering
+iPduIdentifierUdp
activationUnicast lastIsBest
+iPduIdentifierTcp
activationMulticast queued
+pduTriggering 0..1 triggerUnicast
activationAndTriggerUnicast «enumeration»
PduCollectionTriggerEnum
SOME/IP allows for the specification of additional information about the Abstract-
ServiceInstance with the Capability Record that allows to transport arbitrary con-
figuration strings (key/value pairs). This allows to encode additional information like the
name of a service or its configuration.
The established approach for service subscription is that a client uses an unicast end-
point to subscribe to a server and the server acknowledges the subscription providing
a multicast endpoint. The client has a unicast socket where the events are received
in case the server distributes its events in unicast mode and the client has a multicast
socket where the events are received in case the server switches to multicast sending
(based on the multicastThreshold).
CommunicationConnector Identifiable
EthernetTopology::EthernetCommunicationConnector EthernetTopology::NetworkEndpoint
+networkEndpoint
1
+ pathMtuTimeout: TimeValue [0..1] Identifiable
+ pncFilterDataMask: PositiveUnlimitedInteger [0..1] +connector SocketAddress
+applicationEndpoint 0..1
Identifiable
+eventMulticastAddress EthernetTopology::ApplicationEndpoint
+eventMulticastAddress
0..1 + maxNumberOfConnections: PositiveInteger [0..1]
+ priority: PositiveInteger [0..1] 0..*
+remoteMulticastSubscriptionAddress
+remoteUnicastAddress
+localUnicastAddress
+eventMulticastSubscriptionAddress
+remoteUnicastAddress
«atpVariation»
+serviceInstance 0..*
Identifiable
AbstractServiceInstance
ProvidedServiceInstance
ConsumedServiceInstance
+ autoAvailable: Boolean [0..1]
+ instanceIdentifier: PositiveInteger [0..1] + autoRequire: Boolean [0..1]
+ loadBalancingPriority: PositiveInteger [0..1] + instanceIdentifier: AnyServiceInstanceId [0..1]
+ loadBalancingWeight: PositiveInteger [0..1] + minorVersion: AnyVersionString [0..1]
+ minorVersion: PositiveInteger [0..1] + serviceIdentifier: PositiveInteger [0..1]
+ priority: PositiveInteger [0..1] + versionDrivenFindBehavior: ServiceVersionAcceptanceKindEnum [0..1]
+ serviceIdentifier: PositiveInteger [0..1]
«atpVariation»
«atpVariation» «atpVariation» +blacklistedVersion 0..*
+consumedEventGroup 0..*
+eventHandler 0..*
SomeipServiceVersion Identifiable
Identifiable ConsumedEventGroup
+ majorVersion: PositiveInteger [0..1]
EventHandler
+ minorVersion: PositiveInteger + autoRequire: Boolean [0..1]
+ eventGroupIdentifier: PositiveInteger [0..1] + eventGroupIdentifier: PositiveInteger [0..1]
+ multicastThreshold: PositiveInteger [0..1] + priority: PositiveInteger [0..1]
Identifiable
PduActivationRoutingGroup
«enumeration» «enumeration»
Identifiable EventGroupControlTypeEnum PduCollectionSemanticsEnum
CoreCommunication::
+iPduIdentifierUdp
activationUnicast lastIsBest
+iPduIdentifierTcp
PduTriggering
activationMulticast queued
+pduTriggering 0..1 triggerUnicast
activationAndTriggerUnicast «enumeration»
PduCollectionTriggerEnum
There are several constrains to be considered when using the multicast sub-
scription feature:
If a ConsumedServiceInstance has methods defined, then the multicast sub-
scription is not possible.
6.7.5.5 ProvidedServiceInstance
The reason for this restriction is that the Instance IDs are only used for Service Discov-
ery but are not contained in the SOME/IP header. So if for example two Provided-
ServiceInstances of the same ServiceInterface are provided on the same EcuIn-
stance and a client wants to call a method of one of these ProvidedServiceIn-
stances the only possibility for the client to distinguish the ProvidedServiceIn-
stances is the port number over which the individual ProvidedServiceInstances
are provided.
[constr_5063] ProvidedServiceInstance.serviceIdentifier is mandatory
dThe ProvidedServiceInstance.serviceIdentifier is mandatory.c()
[constr_5064] ProvidedServiceInstance.majorVersion is mandatory dThe
ProvidedServiceInstance.majorVersion is mandatory.c()
[constr_5065] ProvidedServiceInstance.minorVersion is mandatory dThe
ProvidedServiceInstance.minorVersion is mandatory.c()
[constr_5066] ProvidedServiceInstance.instanceIdentifier is manda-
tory dThe ProvidedServiceInstance.instanceIdentifier is mandatory.c()
[constr_5067] ProvidedServiceInstance shall be unique in respect of servi-
ceIdentifier, instanceIdentifier, majorVersion dOn a VLAN each Pro-
videdServiceInstance shall have a different serviceIdentifier, instan-
ceIdentifier and majorVersion value combination.c()
The reason for this constraint is that the Service Discovery messages have to be un-
ambiguous on the VLAN.
In other words no two ProvidedServiceInstances in a variant bound model shall
have the same serviceIdentifier, instanceIdentifier and majorVersion
value combination.
Class ProvidedServiceInstance
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Service instances that are provided by the ECU that is connected via the ApplicationEndpoint to a
CommunicationConnector.
Base ARObject, AbstractServiceInstance, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
autoAvailable Boolean 0..1 attr Defines that this ProvidedServiceInstance shall be
offered by the service discovery at ECU start.
eventHandler EventHandler * aggr Collection of event groups provided by the Provided
ServiceInstance
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
instance PositiveInteger 0..1 attr Instance identifier. Can be used for e.g. service discovery
Identifier to identify the instance of the service.
loadBalancing PositiveInteger 0..1 attr Defines the value to be used for load balancing priority in
Priority the service offer. Lower value means higher priority.
loadBalancing PositiveInteger 0..1 attr Defines the value to be used for load balancing weight in
Weight the service offer. Higher value means higher probability to
be chosen.
5
4
Class ProvidedServiceInstance
localUnicast ApplicationEndpoint 0..2 ref The local address over which the PSI is provided (udp,
Address tcp or both).
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
minorVersion PositiveInteger 0..1 attr Minor Version of the Service that is provided by this
ProvidedServiceInstance.
priority PositiveInteger 0..1 attr Defines the frame priority where values from 0 (best
effort) to 7 (highest) are allowed.
remoteMulticast ApplicationEndpoint * ref This reference defines the remote multicast subscribed
Subscription addresses of service consumers. This reference shall
Address ONLY be used if the remote address of the clients is
determined from the configuration and not at runtime.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
remoteUnicast ApplicationEndpoint * ref This reference defines the remote addresses of service
Address consumers. This reference shall ONLY be used if the
remote address of the clients is determined from the
configuration and not at runtime.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
sdServerConfig SdServerConfig 0..1 aggr Service Discovery Server configuration.
Tags:atp.Status=obsolete
sdServerTimer SomeipSdServer 0..1 ref Server specific configuration settings relevant for the
Config ServiceInstanceConfig SOME/IP service discovery.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
serviceIdentifier PositiveInteger 0..1 attr This attribute represents the ability to describe the SOME/
IP service ID that is offered.
Table 6.161: ProvidedServiceInstance
this configuration information. The client still need to subscribe to event groups that
are of interest for him in this setup.
[TPS_SYST_02219] Static configuration between ProvidedServiceInstance
and ConsumedServiceInstance dIf the ProvidedServiceInstance contains a
remoteUnicastAddress reference to an ApplicationEndpoint the SoAd will
setup one single SocketConnection between the localUnicastAddress and the
remoteUnicastAddress.c(RS_SYST_00039)
[TPS_SYST_02220] Maximal number of clients that may connect to the local
server address dIf the ProvidedServiceInstance references an Applicatio-
nEndpoint in the role localUnicastAddress then the attribute Applicatio-
nEndpoint.maxNumberOfConnections defines the maximal number of clients (with
a dynamic address) that will be able to connect to this local server address. The SoAd
will setup a SocketConnection for each potential client with localUnicastAddress
and ANY remote Address (ANY Port and ANY IP-Address).c(RS_SYST_00039)
[constr_5068] ProvidedServiceInstance.localUnicastAddress shall be IP
Unicast dIf defined, the ProvidedServiceInstance.localUnicastAddress
shall point to an IP Unicast address.c()
[constr_5069] ProvidedServiceInstance.remoteUnicastAddress shall be IP
Unicast dThe ProvidedServiceInstance.remoteUnicastAddress shall point
to an IP Unicast address.c()
In other words the localUnicastAddress and remoteUnicastAddress are not
allowed to point to an IP Multicast address. Please note that an IP Unicast address can
be defined as a fixed address or be retrieved via dynamic mechanisms, e.g. DHCP.
Please note that a Service may provide some portions (Events, Methods) over TCP and
other portions over UDP. This is the reason why the ProvidedServiceInstance is
able to reference up to two localUnicastAddresses.
[TPS_SYST_02221] ProvidedServiceInstance.localUnicastAddress refer-
ence target dThe ProvidedServiceInstance is allowed to have:
• a localUnicastAddress reference to an ApplicationEndpoint that de-
fines a UDP Port,
• a localUnicastAddress reference to an ApplicationEndpoint that de-
fines a TCP Port,
• a localUnicastAddress reference to an ApplicationEndpoint that de-
fines a UDP Port and a localUnicastAddress reference to an Applicatio-
nEndpoint that defines a TCP Port.
c(RS_SYST_00039)
[constr_3379] Multiple SocketAddress entries with the same IP Address, Pro-
tocol and Port in the context of a given EcuInstance dIf there are two or more
SocketAddress entities within the scope of one SoAdConfig in the scope of one
EcuInstance that have the same static (fixed at configuration time) IP Address, Pro-
tocol and Port in the aggregated ApplicationEndpoint and NetworkEndpoint,
(e.g., 192.168.1.1, Tcp and 10000, respectively) then only one of these SocketAd-
dress elements shall be referenced by ProvidedServiceInstances/Consumed-
ServiceInstances in the role localUnicastAddress.c()
Rationale for [constr_3379]: There can be only one representation of the Provid-
edServiceInstance/ConsumedServiceInstance using the given IP Address,
Protocol and Port in the Sd module configuration in the context of a given EcuIn-
stance. Therefore, defining ProvidedServiceInstance/ConsumedServiceIn-
stance and assign it to several ApplicationEndpoints would in this case require
a merge of potentially different attribute values of the ProvidedServiceInstances
and/or ConsumedServiceInstances in the System Description and such situation
is avoided by this constraint.
Class PduActivationRoutingGroup
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Group of Pdus that can be activated or deactivated for transmission over a socket connection.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
eventGroup EventGroupControlType 0..1 attr This attribute defines the type of a RoutingGroup. There
ControlType Enum are RoutingGroups that activate the data path for unicast
or multicast events of an event group. And there are
RoutingGroups that activate the data path for initial
events that are triggered, namely events that are sent out
on the server side after a client got subscribed. Please
note that this attribute is only valid for event
communication (Sender Receiver communication) and
shall be omitted in MethodActivationRoutingGroups.
iPduIdentifier SoConIPduIdentifier * ref PduIdentifiers assigned for transmission over Tcp in case
Tcp that the referencing PduActivationRoutingGroup is
activated.
iPduIdentifier SoConIPduIdentifier * ref PduIdentifiers assigned for transmission over Udp in case
Udp that the referencing PduActivationRoutingGroup is
activated.
Table 6.162: PduActivationRoutingGroup
Enumeration EventGroupControlTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Types of a RoutingGroups for the event communication.
Literal Description
activationAnd Activate the data path for unicast events and triggered unicast events that are sent out after a client
TriggerUnicast got subscribed.
Tags:atp.EnumerationLiteralIndex=0
activationMulticast Activate the data path for multicast events of an EventGroup.
Tags:atp.EnumerationLiteralIndex=1
activationUnicast Activate the data path for unicast events of an EventGroup.
Tags:atp.EnumerationLiteralIndex=2
5
4
Enumeration EventGroupControlTypeEnum
triggerUnicast Activate the data path for triggered unicast events that are sent out after a client got subscribed.
Tags:atp.EnumerationLiteralIndex=3
Class SoConIPduIdentifier
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Identification of Pdu content on a socket connection. This Identifier is required in case that multiple Pdus
are transmitted over the same socket connection.
Base ARObject, Referrable
Attribute Type Mult. Kind Note
headerId PositiveInteger 0..1 attr If multiple Pdus are transmitted over the same connection
this headerId can be used to distinguish between the
different Pdus.
pduCollection TimeValue 0..1 attr Defines the timeout in seconds the PDU collection shall
PduTimeout be transmitted at the latest after this PDU has been put
into the buffer.
pduCollection PduCollection 0..1 attr Specifies if the referenced PduTriggering shall be
Semantics SemanticsEnum collected using a queued (i.e. all PDU instances) or
last-is-best (i.e. only the last PDU instance) semantics. If
this attribute is not present the behavior of "queued" is
assumed.
pduCollection PduCollectionTrigger 0..1 attr Defines whether the referenced Pdu contributes to the
Trigger Enum triggering of the socket transmission if Pdu collection is
enabled for this socket.
pduTriggering PduTriggering 0..1 ref Reference to a Pdu that is transmitted over a socket
connection.
Table 6.164: SoConIPduIdentifier
Class SocketConnectionIpduIdentifierSet
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Collection of PduIdentifiers used for transmission over a Socket Connection with the header option.
Tags:atp.recommendedPackage=SocketConnectionIpduIdentiferSets
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
iPduIdentifier SoConIPduIdentifier * aggr Collection of IPduIdentifiers that are transmitted over
Socket Connections.
Enumeration PduCollectionSemanticsEnum
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Defines the collection semantics for the PDU collection feature.
Literal Description
lastIsBest Only the latest PDU instances are transmitted.
Tags:atp.EnumerationLiteralIndex=0
5
4
Enumeration PduCollectionSemanticsEnum
queued All instances of PDUs are transmitted.
Tags:atp.EnumerationLiteralIndex=1
[TPS_SYST_02225] Service methods provided over UDP dMethod Pdus (Call and
Return ISignalIPdus) of a ProvidedServiceInstance that are offered for ac-
cess over UDP are described by SoConIPduIdentifiers referenced by the iP-
duIdentifierUdp reference from the PduActivationRoutingGroup that is ag-
gregated in the role methodActivationRoutingGroup by the ProvidedServi-
ceInstance.c(RS_SYST_00039)
[TPS_SYST_02226] Service methods provided over TCP dMethod Pdus (Call and
Return ISignalIPdus) of a ProvidedServiceInstance that are offered for ac-
cess over TCP are described by SoConIPduIdentifiers referenced by the iP-
duIdentifierTcp reference from the PduActivationRoutingGroup that is ag-
gregated in the role methodActivationRoutingGroup by the ProvidedServi-
ceInstance.c(RS_SYST_00039)
[TPS_SYST_02227] Publishing of a SOME/IP Event group dA ProvidedServi-
ceInstance publishes an event group for each EventHandler that is aggregated
in the role eventHandler. The eventGroupIdentifier identifies the SOME/IP
Event Group in the context of the ProvidedServiceInstance. With the publishing
of an event group the server offers to push notifications about updates to all clients that
are subscribed to the event group.c(RS_SYST_00039)
Class EventHandler
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note This element represents an event group as part of the Provided Service Instance.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
consumedEvent ConsumedEventGroup * ref All consumers of the event are referenced here.
Group
Tags:atp.Status=obsolete
eventGroup PositiveInteger 0..1 attr Unique Identifier that identifies the EventGroup in SOME/
Identifier IP. This Identifier is sent as Eventgroup ID in SOME/IP
Service Discovery messages.
eventMulticast ApplicationEndpoint 0..1 ref Multicast Address that is used for event communication in
Address the IP-Multicast case. It is the destination address to
which the server sends the multicast event messages if
the mulicastThreshold is exceeded.
This address is transmitted in the SD-SubscribeEvent
GroupAck Message to client (answer to SD-Subscribe
EventGroup).
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
multicast PositiveInteger 0..1 attr Specifies the number of subscribed clients that trigger the
Threshold server to change the transmission of events to multicast.
If configured to 0 only unicast will be used. If configured
to 1 the first client will be already served by multicast. If
configured to 2 the first client will be server with unicast
and as soon as the second client arrives both will be
served by multicast.
This does not influence the handling of initial events,
which are served using unicast only.
pduActivation PduActivationRouting * aggr The ServiceDiscovery module is able to activate and
RoutingGroup Group deactivate the PDU routing for events.
5
4
Class EventHandler
routingGroup SoAdRoutingGroup * ref The ServiceDiscovery module is able to activate and
deactivate the PDU routing for events.
Tags:atp.Status=obsolete
sdServerConfig SdServerConfig 0..1 aggr Server configuration parameter for Service-Discovery.
Tags:atp.Status=obsolete
sdServerEg SomeipSdServerEvent 0..1 ref Server Timing configuration settings that are EventGroup
TimingConfig GroupTimingConfig specific.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
+localUnicastAddress
PSI_25_1: ProvidedServiceInstance
loadBalancingPriority = 1
loadBalancingWeight = 1
minorVersion = 0
majorVersion = 1
instanceIdentifier = 1
serviceIdentifier = 0x19
+iPduIdentifierUdp
Event2: SoConIPduIdentifier
Event2:
PduTriggering headerId = 0x00198002
+iPduIdentifierUdp
EG1_PSI_25_1: PduActivationRoutingGroup
eventGroupControlType = activationMulticast
Method1_Call:
Method1_Call: SoConIPduIdentifier
PduTriggering +iPduIdentifierUdp PSI_25_1_Methods: PduActivationRoutingGroup
headerId = 0x00190001
Method1_Return: +iPduIdentifierUdp
Method1_Return: SoConIPduIdentifier
PduTriggering
headerId = 0x00190001
+eventMulticastAddress
:NetworkEndpoint :Ipv4Configuration
ipv4Address = 239.192.255.251
ipv4AddressSource = fixed
method (named Method1) and two events (named Event1 and Event2). In addition
the service contains two different event groups that are represented by two Even-
tHandlers EG1 and EG2.
On VFB level the method is represented by a ClientServerOperation and each
event by a VariableDataPrototype in a SenderReceiverInterface.
The ClientServerOperation is mapped by a ClientServerToSignalMapping
to a callSignal and to a returnSignal that in turn are mapped via ISignals
into an ISignalIPdu. Each VariableDataPrototype is mapped by the Sender-
ReceiverToSignalMapping or by the SenderReceiverToSignalGroupMap-
ping to one or several SystemSignals that in turn are mapped via ISignals into
an ISignalIPdu.
The PduTriggerings of these ISignalIPdus are referenced by the SoConIP-
duIdentifier that assigns a headerId to each ISignalIPdu.
The event group EG2 contains Event1 and Event2 and the PduActivationRout-
ingGroup named EG2_PSI_25_1 activates the SoConIPduIdentifiers that are
representing these two events for transmission over IP Unicast since the event-
GroupControlType is set to activationUnicast.
The event group EG1 contains Event1 and the PduActivationRoutingGroup
named EG1_PSI_25_1 activates the SoConIPduIdentifier for transmission over
IP Multicast since the eventGroupControlType is set to activationMulticast.
EventHandler EG1 has the multicastThreshold attribute set to 1. This means
that the first client that will subscribe to this event group will be served via IP Multicast.
This is the reason why the EventHandler EG1 points with the eventMulticastAd-
dress to an IP Multicast address to which the event will be transmitted.
In the SoAd configuration such a System Description will result in a SoAdSocketCon-
nectionGroup with a SoAdSocketLocalPort and SoAdSocketLocalAddress-
Ref that are derived from the ApplicationEndpoint referenced in the localUni-
castAddress role by the ProvidedServiceInstance.
The SoAdSocketConnectionGroup will contain three SoAdSocketConnections
since the maxNumberOfConnections is set to 3 in this example. The Provided-
ServiceInstance does not contain a remoteUnicastAddress reference. This
means that Service Discovery is used and that the SoAdSocketRemoteIpAddress
needs to be configured to ANY and the SoAdSocketRemotePort to 0 in all three
SoAdSocketConnections.
In addition one multicast SoAdSocketConnection will be added to the SoAdSock-
etConnectionGroup since the EventHandler EG1 points with the eventMulti-
castAddress to a multicast address.
6.7.5.6 ConsumedServiceInstance
4
Class ConsumedServiceInstance
serviceIdentifier PositiveInteger 0..1 attr This attribute represents the ability to describe the SOME/
IP service ID that is searched.
versionDriven ServiceVersion 0..1 attr Defines the service discovery find behavior.
FindBehavior AcceptanceKindEnum
Tags:atp.Status=draft
4
Class ConsumedEventGroup
Attribute Type Mult. Kind Note
application ApplicationEndpoint 0..1 ref Defines the application endpoint where the events of the
Endpoint event group are received in case of multicast reception.
Tags:atp.Status=obsolete
autoRequire Boolean 0..1 attr Defines that this ConsumedEventGroup shall be
requested (subscribed) as soon as the corresponding
ConsumedServiceInstance is requested. This could be at
ECU start, if ConsumedServiceInstance.autoRequire is
set to TRUE or as soon as the ConsumedServiceInstance
is requested by the application, if ConsumedService
Instance.autoRequire is set to FALSE.
eventGroup PositiveInteger 0..1 attr EventGroup ID. Shall be unique within one system to
Identifier allow service discovery.
eventMulticast ApplicationEndpoint * ref This reference defines the multicast address or a
Address multicast address resource where the events of the event
group are received.
If the multicast address is determined via configuration
and not at runtime via service discovery this reference
points to the multicast address over which the events will
be received.
If the multicast address is determined at runtime via
service discovery this reference shall be used to define
the necessary local multicast address resources, i.e.
RAM space in the TcpIp module in which the multicast
address is stored at runtime. Please note that in this case
the referenced address may be defined as ANY UDP port
and ANY IP address since the multicast address will be
received at runtime. If several multicast addresses are
considered to be used the ConsumedEventGroup shall
point to different ApplicationEndpoint objects to reserve
the necessary resources in the configuration.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
pduActivation PduActivationRouting * aggr The ServiceDiscovery module is able to activate and
RoutingGroup Group deactivate the PDU routing for receiving events.
priority PositiveInteger 0..1 attr Defines the frame priority where values from 0 (best
effort) to 7 (highest) are allowed.
routingGroup SoAdRoutingGroup * ref The ServiceDiscovery module is able to activate and
deactivate the PDU routing for receiving events.
Tags:atp.Status=obsolete
sdClientConfig SdClientConfig 0..1 aggr The readiness to receive events is defined by the Service
Discovery of the ConsumedEventGroup. The Event
Handler shall know about this announcement to decide
about the submission of events. Therefore the Event
Handler may be configured with Service-Discovery Client
attributes.
Tags:atp.Status=obsolete
sdClientTimer SomeipSdClientEvent 0..1 ref Client Timing configuration settings that are EventGroup
Config GroupTimingConfig specific.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
If more than one multicast address is used it is not known at configuration time which
server will publish which address at which point in time. The configuration needs to
be prepared for all possible scenarios. Please be aware that this comes with a high
resource consumption.
[constr_3262] ConsumedEventGroup.eventGroupIdentifier is mandatory
dThe ConsumedEventGroup.eventGroupIdentifier is mandatory.c()
[constr_3457] Uniqueness of ConsumedEventGroup.eventGroupIdentifier in
the scope of a ConsumedServiceInstance dEach ConsumedEventGroup that is
aggregated by a ConsumedServiceInstance shall have a unique eventGroupI-
dentifier value in the scope of the aggregating ConsumedServiceInstance.c
()
[TPS_SYST_02245] Event groups consumed by a ConsumedServiceInstance
dIf the ConsumedServiceInstance subscribes to an event group then the Pdu-
ActivationRoutingGroup that is aggregated in the role pduActivationRout-
ingGroup by an ConsumedEventGroup is activated.c(RS_SYST_00039)
[TPS_SYST_02246] PduActivationRoutingGroups for ConsumedEvent-
Groups dThe PduActivationRoutingGroup that is aggregated by the Con-
sumedEventGroup in the role pduActivationRoutingGroup enables the routing
of a group of Pdus that are related to the PduActivationRoutingGroup via the
referenced SoConIPduIdentifiers.
• The PduActivationRoutingGroup with the PduActivationRouting-
Group.eventGroupControlType set to activationUnicast enables the
receiving of events over IP Unicast.
• The PduActivationRoutingGroup with the PduActivationRouting-
Group.eventGroupControlType set to activationMulticast enables the
receiving of events over IP Multicast.
• The PduActivationRoutingGroup with the PduActivationRouting-
Group.eventGroupControlType set to triggerUnicast enables the re-
ceiving of initial events that are sent out by the server immediately after the client
got subscribed. This PduActivationRoutingGroup can used for SOME/IP
Field notifiers.
• The PduActivationRoutingGroup with the PduActivationRouting-
Group.eventGroupControlType set to activationAndTriggerUnicast
enables the routing over IP Unicast and makes sure that initial events are sent
out by the server immediately after the client got subscribed. This PduActiva-
tionRoutingGroup can be used for SOME/IP Field notifiers.
c()
:NetworkEndpoint :Ipv4Configuration
ipv4Address = 192.172.1.76
ipv4AddressSource = fixed
instanceIdentifier = 1
minorVersion = 0
majorVersion = 1
serviceIdentifier = 0x19
+iPduIdentifierUdp +iPduIdentifierUdp
Event2:
Event2: SoConIPduIdentifier PduTriggering :TpPort
headerId = 0x00198002 portNumber = 0
+iPduIdentifierUdp
Method1_Call:
Method1_Call: CSI_1_Methods:
SoConIPduIdentifier +iPduIdentifierUdp
PduTriggering PduActivationRoutingGroup
headerId = 0x00190001
Method1_Return:
Method1_Return: SoConIPduIdentifier +iPduIdentifierUdp
PduTriggering
headerId = 0x00190001
The event group EG2 contains Event1 and Event2 and the PduActivationRout-
ingGroup named EG2_CSI_25_1 activates the SoConIPduIdentifiers that are
representing these two events for transmission over IP Unicast since the event-
GroupControlType is set to activationUnicast.
The event group EG1 contains Event1 and the PduActivationRoutingGroup
named EG1_CSI_25_1 activates the SoConIPduIdentifier for transmission over
IP Multicast since the eventGroupControlType is set to activationMulticast.
In the SoAd configuration such a System Description will result in a SoAdSocketCon-
nectionGroup with a SoAdSocketLocalPort and SoAdSocketLocalAddress-
Ref that are derived from the ApplicationEndpoint referenced in the localUni-
castAddress role by the ConsumedServiceInstance.
The SoAdSocketConnectionGroup will contain one single SoAdSocketConnec-
tion since the maxNumberOfConnections is not set in this example. The Pro-
videdServiceInstance does not contain a remoteUnicastAddress reference.
This means that Service Discovery is used and that the SoAdSocketRemoteIpAd-
dress needs to be configured to ANY and the SoAdSocketRemotePort to 0 in the
SoAdSocketConnection.
Since only a single multicast placeholder ApplicationEndpoint is referenced with
the eventMulticastAddress by all existing ConsumedEventGroups one multi-
cast SoAdSocketConnectionGroup needs to be created with two SoAdSocket-
Connections.
:Ipv4Configuration
ipv4Address = ANY
ipv4AddressSource = fixed
CSI_25_1:
ConsumedServiceInstance
instanceIdentifier = 1
minorVersion = 0 :NetworkEndpoint
Vlan_1: EthernetPhysicalChannel
majorVersion = 1
serviceIdentifier = 0x19
:SoAdConfig
+multicastConnector
Connector_ecu1:
EG1_CSI_25_1: PduActivationRoutingGroup EthernetCommunicationConnector
:UdpTp
eventGroupControlType = activationMulticast
+iPduIdentifierUdp
Event2: SoConIPduIdentifier
:TpPort
headerId = 0x00198002
portNumber = 0
Event2:
PduTriggering
Identifiable
TagWithOptionalValue
AbstractServiceInstance +capabilityRecord
+ key: String
+ majorVersion: PositiveInteger [0..1] «atpVariation» 0..*
+ sequenceOffset: Integer [0..1]
+ value: String [0..1]
ProvidedServiceInstance
«atpVariation»
+eventHandler 0..*
Identifiable
EventHandler
«atpVariation»
+ eventGroupIdentifier: PositiveInteger [0..1]
+ multicastThreshold: PositiveInteger [0..1]
«atpVariation»
+sdServerEgTimingConfig 0..1 +sdServerTimerConfig 0..1
ARElement ARElement
SomeipSdServerEventGroupTimingConfig SomeipSdServerServiceInstanceConfig
RequestResponseDelay InitialSdDelayConfig
Class SomeipSdServerServiceInstanceConfig
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Server specific settings that are relevant for the configuration of SOME/IP Service-Discovery.
Tags:atp.recommendedPackage=SomeipSdTimingConfigs
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
initialOffer InitialSdDelayConfig 0..1 aggr Controls offer behavior of the server.
Behavior
offerCyclicDelay TimeValue 0..1 attr Optional attribute to define cyclic offers. Cyclic offer is
active, if the delay is set (in seconds).
priority PositiveInteger 0..1 attr This attribute defines the VLAN frame priority for Service
Discovery messages that result from ProvidedSomeip
ServiceInstances that are referencing the SomeipSd
ServerServiceInstanceConfig (OfferService, StopOffer
Service, SubscribeEventGroupAck). Values from 0 (best
effort) to 7 (highest) are allowed.
request RequestResponseDelay 0..1 aggr Maximum/Minimum allowable response delay to entries
ResponseDelay received by multicast in seconds. The Service Discovery
shall delay answers to entries that were transported in a
multicast SOME/IP-SD message (e.g. FindService).
serviceOffer PositiveInteger 1 attr Defines the time in seconds the service offer is valid.
TimeToLive
Table 6.170: SomeipSdServerServiceInstanceConfig
Class InitialSdDelayConfig
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note This element is used to configure the offer behavior of the server and the find behavior on the client.
Base ARObject
Attribute Type Mult. Kind Note
initialDelayMax TimeValue 1 attr Max Value in seconds to delay randomly the first offer (if
Value aggregated by SdServerConfig) or the transmission of a
find message (if aggregated by SdClientConfig).
initialDelayMin TimeValue 1 attr Min Value in seconds to delay randomly the first offer or
Value the transmission of a find message (if aggregated by Sd
ClientConfig).
initial TimeValue 0..1 attr The base delay for offer repetitions (if aggregated by Sd
Repetitions ServerConfig) or find repetitions (if aggregated by Sd
BaseDelay ClientConfig). Successive find messages have an
exponential back off delay.
initial PositiveInteger 0..1 attr Describes the maximum amount of offer repetitions (if
RepetitionsMax aggregated by SdServerConfig) or the maximum amount
of find repetitions (if aggregated by SdClientConfig).
Class RequestResponseDelay
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Time to wait before answering the query.
Base ARObject
Attribute Type Mult. Kind Note
maxValue TimeValue 1 attr Maximum allowable response delay to entries received by
multicast in seconds.
minValue TimeValue 1 attr Minimum allowable response delay to entries received by
multicast in seconds.
Table 6.172: RequestResponseDelay
ConsumedServiceInstance
«atpVariation»
+consumedEventGroup 0..*
Identifiable
ConsumedEventGroup
«atpVariation»
+sdClientTimerConfig 0..1 +sdClientTimerConfig 0..1
ARElement ARElement
SomeipSdClientEventGroupTimingConfig SomeipSdClientServiceInstanceConfig
+initialFindBehavior 0..1
+requestResponseDelay 0..1
InitialSdDelayConfig
RequestResponseDelay
+ initialDelayMaxValue: TimeValue
+ maxValue: TimeValue + initialDelayMinValue: TimeValue
+ minValue: TimeValue + initialRepetitionsBaseDelay: TimeValue [0..1]
+ initialRepetitionsMax: PositiveInteger [0..1]
Thus, if the calculated random timer based on the min and max values of the Ini-
tialSdDelayConfig expires, then FindService entries of all referencing Consumed-
ServiceInstances shall be sent out.c()
[TPS_SYST_02262] Shared random timer for ConsumedServiceInstance ser-
vice discovery dIf several ConsumedServiceInstances reference the same
SomeipSdClientServiceInstanceConfig in the role of sdClientTimerCon-
fig and if it cannot be ensured that all ConsumedServiceInstances are requested
/ released in the same point in time, then the timing behavior is handled per Con-
sumedServiceInstance. The timing behavior shall be derived from the referenced
SomeipSdClientServiceInstanceConfig for each referencing ConsumedSer-
viceInstance.c()
Note: [TPS_SYST_02262] support an efficient modeling if timing behaviors are equal
for the referencing ConsumedServiceInstances.
[TPS_SYST_02263] Individual random timer for ConsumedServiceInstance
service discovery dIf ConsumedServiceInstances reference their own SomeipS-
dClientServiceInstanceConfig in the role of sdClientTimerConfig, then
the timing behavior is handled per ConsumedServiceInstance. Thus, every Con-
sumedServiceInstance has its own calculated random timer based on the min and
max value of the InitialSdDelayConfig. Thus, if the calculated random timer ex-
pires, then a FindService entry of the referencing ConsumedServiceInstance shall
be sent out.c()
Note: [TPS_SYST_02263] enables a scattering of FindServices within the configured
min and max value of the InitialSdDelayConfig, respectively of different Con-
sumedServiceInstances.
[TPS_SYST_02184] Repetition Wait Phase configuration for a ConsumedServi-
ceInstance dThe Repetition Wait Phase for a ConsumedServiceInstance is con-
figured with the initialFindBehavior and the two attributes initialRepeti-
tionsMax and initialRepetitionsBaseDelay.c()
If the Repetition Phase is entered, the Service Discovery waits the initialRepeti-
tionsBaseDelay and sends a FindService entry.
If the amount of sent FindService entries reaches initialRepetitionsMax and
no OfferService is received the Main Phase will be entered. In the Main Phase no
further FindService entries are sent by the client.
[TPS_SYST_02185] TTL for Find Service Entries dThe lifetime of a Consumed-
ServiceInstance is configurable with the serviceFindTimeToLive attribute of
SomeipSdClientServiceInstanceConfig.c()
If the time that is configured by serviceFindTimeToLive expires the FindService
entry shall be considered not existing.
The ConsumedServiceInstance aggregates a ConsumedEventGroup in the role
consumedEventGroup that allows to define service instance specific configuration
settings for a SOME/IP EventGroup. The EventGroup specific timing settings are
[TPS_SYST_02187] SomeipSdClientEventGroupTimingConfig.timeToLive
for SubscribeEventGroup Entries dThe lifetime of an event subscription is con-
figurable with the timeToLive attribute of SomeipSdClientEventGroupTiming-
Config that is aggregated by an ConsumedEventGroup in the role sdClient-
TimerConfig.
If the time that is configured by timeToLive expires the event subscription is can-
celed.c()
It is possible to define a retry for subscription to a ConsumedEventGroup. The retry
is optional and used by a ConsumedServiceInstance. It could be used to speed up
the recovery if a SOME/IP-SD message is lost (e.g. SubscribeEventGroupAck) and
the interval between cyclic offers (SomeipSdServerServiceInstanceConfig.of-
ferCyclicDelay) of the corresponding ProvidedServiceInstance are to large
to get a fast recovery, or to speed up the subscription to a ConsumedEventGroup if
an ConsumedEventGroup is requested somewhere between two cyclic offers.
The retry is configurable within SomeipSdServerServiceInstanceConfig by set-
ting the subscribeEventgroupRetryMax value greater than 0 to define how of-
ten a retry shall be triggered and subscribeEventgroupRetryDelay to define
the timing interval the retries shall be triggered. If subscribeEventgroupRetry-
Max is set to 255, the retry to subscribe to a ConsumedEventGroup shall be
done as long as the ConsumedEventGroup is requested and no acknowledgment
(SubscribeEventGroupAck) from the ProvidedServiceInstance was received.
«atpVariation» «atpVariation»
FibexElement
ConsumedProvidedServiceInstanceGroup
«atpVariation» «atpVariation»
+providedServiceInstance 0..*
+consumedServiceInstance 0..*
AbstractServiceInstance
AbstractServiceInstance
ProvidedServiceInstance
ConsumedServiceInstance
+ autoAvailable: Boolean [0..1]
+ autoRequire: Boolean [0..1]
+ instanceIdentifier: PositiveInteger [0..1]
+ instanceIdentifier: AnyServiceInstanceId [0..1]
+ loadBalancingPriority: PositiveInteger [0..1]
+ minorVersion: AnyVersionString [0..1]
+ loadBalancingWeight: PositiveInteger [0..1]
+ serviceIdentifier: PositiveInteger [0..1]
+ minorVersion: PositiveInteger [0..1]
+ versionDrivenFindBehavior: ServiceVersionAcceptanceKindEnum [0..1]
+ priority: PositiveInteger [0..1]
+ serviceIdentifier: PositiveInteger [0..1]
6.7.5.10 StaticSocketConnection
there is also the need to describe non-SOME/IP data exchange between two Socke-
tAddresses.
[TPS_SYST_02251] Non-SOME/IP data exchange between two communication
endpoints dNon-SOME/IP data exchange between two SocketAddresses is de-
scribed with the StaticSocketConnection element that is aggregated by a Sock-
etAddress in the role StaticSocketConnection. The aggregating SocketAd-
dress describes one communication endpoint. The referenced StaticSocketCon-
nection.remoteAddress defines the second communication endpoint.c()
Class StaticSocketConnection
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances
Note Definition of static SocketConnection between the Socket that is defined by the aggregating Socket
Address and the remoteAddress.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
iPduIdentifier SoConIPduIdentifier * ref Assignment of IPduIdentifiers that are transmitted over
the static SocketConnection.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
remoteAddress SocketAddress 0..1 ref RemoteAddress of the static SocketConnection.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
tcpConnect TimeValue 0..1 attr Specifies the time in seconds how long TCP connect
Timeout attempts are repeated to reach SOAD_SOCON_ONLINE.
This attribute is restricted to socket connection groups
which are initiating a TCP connection and are under
control of SoAd.
tcpRole TcpRoleEnum 0..1 attr Defines whether the local Address (that is aggregating
the StaticSocketConnection) does a listen or a connect.
CommunicationConnector
EthernetCommunicationConnector Identifiable
NetworkEndpoint
+ maximumTransmissionUnit: PositiveInteger [0..1]
+ neighborCacheSize: PositiveInteger [0..1] + fullyQualifiedDomainName: String [0..1]
+ pathMtuEnabled: Boolean [0..1] + priority: PositiveInteger [0..1]
+ pathMtuTimeout: TimeValue [0..1]
+networkEndpoint 1
+ pncFilterDataMask: PositiveUnlimitedInteger [0..1]
Identifiable
SocketAddress
+remoteAddress 0..1
«enumeration»
«atpVariation» «atpVariation» TcpRoleEnum
0..* +staticSocketConnection connect
Identifiable
Identifiable listen
PduTriggering
StaticSocketConnection
«atpVariation»
+iPduIdentifier 0..*
Referrable
SoConIPduIdentifier
+iPduIdentifier FibexElement
+ headerId: PositiveInteger [0..1] SocketConnectionIpduIdentifierSet
+ pduCollectionPduTimeout: TimeValue [0..1] 0..*
+ pduCollectionSemantics: PduCollectionSemanticsEnum [0..1]
+ pduCollectionTrigger: PduCollectionTriggerEnum [0..1]
:NetworkEndpoint :Ipv4Configuration
ipv4Address = 192.172.1.100
ipv4AddressSource = fixed
+staticSocketConnection
:TpPort
:TcpTp
portNumber = 16345
:NetworkEndpoint :Ipv4Configuration
ipv4Address = 192.169.1.22
ipv4AddressSource = fixed
+staticSocketConnection
:TpPort
:TcpTp
portNumber = 23232
Figure 6.50: Example for the modeling of TCP StaticSocketConnections in TCP server
role and TCP client role
ipv4Address = 192.169.1.100
ipv4AddressSource = fixed
+staticSocketConnection
SD_Rx_Unicast_Ecu1:
ecu1_SD_RxTxUnicast: +iPduIdentifier SocketConnectionIpduIdentifier
StaticSocketConnection
headerId = 0xFFFF8100
SD_Tx_UnicastAndMulticast_Ecu1:
+iPduIdentifier SocketConnectionIpduIdentifier
headerId = 0xFFFF8100
+remoteAddress :Ipv4Configuration
ANY: SocketAddress ANY_IP:
NetworkEndpoint ipv4AddressSource = fixed
ipv4Address = ANY
SD_RX_Multicast_Ecu1:
+iPduIdentifier SocketConnectionIpduIdentifier
:TpPort
headerId = 0xFFFF8100 portNumber = 0
+staticSocketConnection
:NetworkEndpoint :Ipv4Configuration
ipv4Address = 239.192.255.52
ipv4AddressSource = fixed
The data exchange of NmPdu on an Ethernet channel is described with the Static-
SocketConnection as defined in chapter 6.7.5.10.
ecu1_UnicastSocketAddress: :Ipv4Configuration
:NetworkEndpoint
SocketAddress
ipv4Address = 192.172.1.100
ipv4AddressSource = fixed
+applicationEndpoint
:UdpTp :TpPort
ecu1_SD_Unicast_AEP:
ApplicationEndpoint portNumber = 6690
+staticSocketConnection
:NetworkEndpoint :Ipv4Configuration
ecu1_Nm_ActiveNode: +iPduIdentifier NmTxPdu:
StaticSocketConnection SocketConnectionIpduIdentifier ipv4Address = 239.192.255.52
ipv4AddressSource = fixed
:TpPort :UdpTp
portNumber = 6690
+iPduIdentifier NmRxPdu:
SocketConnectionIpduIdentifier
ANY_IP: :Ipv4Configuration
NetworkEndpoint ipv4AddressSource = fixed
ipv4Address = ANY
+remoteAddress
portNumber = 6690
The example in Figure 6.52 shows a possible configuration where the active NmNode
sends the NmPdu to a remote multicast address. Each passive and active NmNode re-
ceives the NmPdu over a local multicast address from all other nodes (remote Address
= ANY).
Class DoIpInterface
Package M2::AUTOSARTemplates::SystemTemplate::DoIP
Note A logical interface over which the DoIP Node is able to communicate via DoIP independently from other
existing DoIpInterfaces.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
aliveCheck TimeValue 0..1 attr This attribute defines the timeout in seconds for waiting
Response for response to an Alive Check request before the
Timeout connection is considered to be disconnected. Represents
parameter T_TCP_AliveCheck of ISO 13400-2:2012.
doipChannel DoIpTpConfig 0..1 ref Configuration of DoIPChannels available in an DoIp
Collection Interface. Each DoIPChannel describes a connection
between a doIpSourceAddress and a doIpTargetAddress
and the exchange of DcmIPdus between the PduR and
DoIP. A DoIP channel is constituted by the set of all DoIp
TpConnection elements via which the configured Ecu
Instance sends or receives SDUs that are sharing the
same local diagnosis address and tester address.
5
4
Class DoIpInterface
doipConnection SocketConnection * ref DoIP Connections in the DoIpInterface that define the Do
Bundle IP Pdus that are sent and received via SoAd over TCP or
UDP.
Tags:atp.Status=obsolete
doIpRouting DoIpRoutingActivation * aggr Collection of DoIpRoutingActivation possibilities defined
Activation in the DoIpInterface.
generalInactivity TimeValue 0..1 attr This attribute defines the timeout in seconds for maximum
Time inactivity of a TCP socket connection before the DoIP
module will close the according socket connection.
Represents parameter T_TCP_General_Inactivity of ISO
13400-2:2012
initialInactivity TimeValue 0..1 attr This attribute defines the timeout in seconds used for
Time initial inactivity of a connected TCP socket connection
directly after socket connection. Represents parameter
T_TCP_Initial_Inactivity of ISO 13400-2:2012
initialVehicle TimeValue 0..1 attr This attribute defines the waiting time in seconds for
Announcement sending first vehicle announcement message after IP
Time address assignment. Represents parameter A_DoIP_
Announce_Wait of ISO 13400-2:2012
isActivationLine Boolean 1 attr This attribute defines whether the network interface
Dependent
• is started "on-demand" when an activation line is
sensed or
• is always available.
maxTester PositiveInteger 0..1 attr Maximum amount of tester connections that shall be
Connections maintained at one time before alive check is performed.
socket StaticSocketConnection * ref DoIP Connections in the DoIpInterface that define the Do
Connection IP Pdus that are sent and received via SoAd over TCP or
UDP.
useMacAddress Boolean 0..1 attr This attribute defines whether a configured EID at vehicle
ForIdentification identification response/vehicle announcement is used or
the MAC address. TRUE: Use MAC Address instead of
EID for Vehicle identification/announcement. FALSE: Use
configured EID for vehicle identification/announcement.
useVehicle Boolean 0..1 attr This attribute defines if the optional VIN/GID
Identification synchronization status is used additionally in the vehicle
SyncStatus identification/announcement.
vehicle PositiveInteger 0..1 attr This attribute defines the number of vehicle
Announcement announcement messages on IP address assignment.
Count Represents parameter A_DoIP_Announce_Num of ISO
13400-2:2012.
vehicle TimeValue 0..1 attr This attribute defines the waiting time in seconds for
Announcement sending subsequent vehicle announcement messages.
Interval Represents parameter A_DoIP_Announce_Interval of
ISO 13400-2:2012
Class DoIpRoutingActivation
Package M2::AUTOSARTemplates::SystemTemplate::DoIP
Note This meta-class defines a DoIP routing activation possibility that activates the routing to the referenced
doIPTargetAddress. This means that the diagnostic request messages related to the specified do
IPTargetAddress received by socketConnections that are referenced by the same DoIpInterface that
aggregates this DoIpRoutingActivation are activated.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
5
4
Class DoIpRoutingActivation
Attribute Type Mult. Kind Note
doIpTarget DoIpLogicTarget * ref Reference to DoIPTargetAddress which is activated on
Address AddressProps this DoIpRoutingActivation.
+functionalRequest
ARElement Referrable
FibexElement DiagnosticConnection 0..*
TpConnectionIdent
EcuInstance
+ident 0..1
+doIpConfig 0..1
FibexElement
DoIpConfig TpConfig
TpConnection
+doipInterface 0..*
Identifiable
DoIpTpConfig +tpConnection DoIpTpConnection
DoIpInterface +doipChannelCollection
1..*
+ aliveCheckResponseTimeout: TimeValue [0..1] 0..1
+ generalInactivityTime: TimeValue [0..1]
+ initialInactivityTime: TimeValue [0..1]
+ initialVehicleAnnouncementTime: TimeValue [0..1]
+ isActivationLineDependent: Boolean
+ maxTesterConnections: PositiveInteger [0..1] +doIpSourceAddress 1 +doIpTargetAddress 1
+ useMacAddressForIdentification: Boolean [0..1]
Identifiable
+ useVehicleIdentificationSyncStatus: Boolean [0..1] +doIpLogicAddress
+ vehicleAnnouncementCount: PositiveInteger [0..1] DoIpLogicAddress
+ vehicleAnnouncementInterval: TimeValue [0..1] 0..*
+logicAddress + address: Integer
0..1
+doIpTesterRoutingActivation
DoIpLogicTesterAddressProps
0..*
+pduTriggering 0..1
+tpSdu
Identifiable
PduTriggering 1
+periodicResponseUudt
0..*
Diagnostic messages are passed from a tester, through a DoIP gateway to the internal
vehicle network. Before this happens the routing on a socket in the DoIP gateway
needs to be activated. The tester sends a routing activation request and the DoIP
entity responds to it. After the routing is activated the diagnostic communication starts.
[TPS_SYST_02303] Modeling of DoIpRoutingActivations dThe DoIP routing ac-
tivation possibilities in a DoIpInterface are described by the DoIpRoutingActi-
vation that is aggregated in the role doIpRoutingActivation in the DoIpInter-
face.c()
Class DoIpTpConfig
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note This element defines exactly one DoIpTp Configuration that is used to configure all DoIPChannels
available in a DoIpInterface. Each DoIPChannel describes a connection between a doIpSourceAddress
and a doIpTargetAddress and the exchange of DcmIPdus between the PduR and DoIP.
Tags:atp.recommendedPackage=TpConfigs
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable, TpConfig
Attribute Type Mult. Kind Note
doIpLogic DoIpLogicAddress * aggr Collection of logical DoIP Addresses.
Address
tpConnection DoIpTpConnection 1..* aggr Collection of unidirectional connections between a source
address and a target address.
Class DoIpTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::DiagnosticConnection
Note A connection identifies the sender and the receiver of this particular communication. The DoIp module
routes a tpSdu through this connection.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
doIpSource DoIpLogicAddress 1 ref Reference to the address of the sender of the tpSdu.
Address
doIpTarget DoIpLogicAddress 1 ref Reference to the address of the receiver of the tpSdu.
Address
tpSdu PduTriggering 1 ref This reference is used to describe the data exchange
between DoIp and the PduR.
Class DoIpLogicAddress
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note The logical DoIP address.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
address Integer 1 attr The logical DoIP address.
doIpLogic AbstractDoIpLogic 0..1 aggr Collection of additional LogicAddress properties.
AddressProps AddressProps
4
Class AbstractDoIpLogicAddressProps (abstract)
– – – – –
Table 6.183: AbstractDoIpLogicAddressProps
Class DoIpLogicTargetAddressProps
Package M2::AUTOSARTemplates::SystemTemplate::DoIP
Note This meta-class acts as a target for references to the DoIpLogicTargetAddress and collects DoIpLogic
TargetAddress specific settings.
Base ARObject, AbstractDoIpLogicAddressProps, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.184: DoIpLogicTargetAddressProps
Class DoIpLogicTesterAddressProps
Package M2::AUTOSARTemplates::SystemTemplate::DoIP
Note This meta-class acts as a target for references to the DoIpLogicTesterAddress and collects DoIpLogic
TesterAddress specific settings.
Base ARObject, AbstractDoIpLogicAddressProps, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
doIpTester DoIpRoutingActivation * ref Reference to a DoIPRoutingActivation describing the
Routing possible routing activations of the DoIPTester.
Activation
Table 6.185: DoIpLogicTesterAddressProps
Dcm
DcmIPdu
PduR
DcmIPdu
No formal description
On M2 of how to
DoIp convert between
SoAd
Figure 6.54: Routing of Dcm Pdus in AUTOSAR Stack for communication over IP
AUTOSAR supports the configuration of Transport Layer Security for the information
exchange between two sockets2 that are modeled as ApplicationEndpoints.
Please note that currently the DTLS (Datagram Transport Layer Security ) variant is
not supported on the AUTOSAR classic platform.
It is a common use case that only one end of a TLS-based connection is actually mod-
eled in an AUTOSAR model. The other end may exist off-board, e.g. as a diagnostic
tester.
It is therefore important that the modeling does not rely on or imply knowledge about
both ends of such a TLS-based connection.
An AUTOSAR model that only describes one end of the communication is positively
required to work, independently of the availability of a formal modeling of the other
end.
AUTOSAR provides two alternatives for modeling TLS in System Models:
2
TLS connections are - by design - limited to a 1:1 pattern. A 1:n or n:1 communication pattern is not
supported by TLS
+keyExchange 0..* +keyExchangeAuthentication 0..* +authentication 0..1 +encryption 0..1 +keyExchange 0..*
Identifiable
TlsCryptoCipherSuite
+tlsCipherSuite 0..*
Identifiable
SystemMapping
+certificate 0..1 +remoteCertificate 0..1
ARElement
CryptoServiceCertificate
«atpVariation,atpSplitable»
+ algorithmFamily: CryptoCertificateAlgorithmFamilyEnum [0..1]
+ format: CryptoCertificateFormatEnum [0..1] 0..* +cryptoServiceMapping
+ maximumLength: PositiveInteger [0..1] Identifiable
+ serverNameIdentification: String [0..1]
CryptoServiceMapping
+nextHigherCertificate 0..1
+pskIdentity 0..1
ARElement +tlsConnection
TlsPskIdentity TlsCryptoServiceMapping
TlsConnectionGroup
+ pskIdentity: String 0..* + useClientAuthenticationRequest: Boolean [0..1]
+ pskIdentityHint: String [0..1] + useSecurityExtensionRecordSizeLimit: Boolean [0..1]
+tlsCryptoMapping 0..1
+preSharedKey 1
ARElement Identifiable
CryptoServiceKey ApplicationEndpoint
Class TlsCryptoServiceMapping
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class has the ability to represent a crypto service mapping for the socket-based configuration
of Transport Layer Security (TLS).
Base ARObject, CryptoServiceMapping, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
keyExchange CryptoServicePrimitive * ref This reference identifies the shared(i.e. applicable for
each of the aggregated cipher suites) crypto service
primitive for the execution of key exchange during the
handshake phase.
tlsCipherSuite TlsCryptoCipherSuite * aggr This aggregation represents the collection of supported
cipher suites.
useClient Boolean 0..1 attr Defines if client authentication shall be applied for this
Authentication TLS connection.
Request
5
4
Class TlsCryptoServiceMapping
useSecurity Boolean 0..1 attr Defines if the security extension for max_fragment_length
Extension shall be supported as defined in IETF RFC 8449, chapter
RecordSize 4.1.
Limit
Table 6.186: TlsCryptoServiceMapping
[constr_5320] TCP endpoint using TLS_CLIENT role can only serve consumed
service instances dAn ApplicationEndpoint that refers to TlsCryptoSer-
viceMapping with category TLS_CLIENT in the role tlsCryptoMapping is only
allowed to be referenced by ConsumedServiceInstances in the role localUni-
castAddress in case that the ConsumedServiceInstance does not have a re-
moteUnicastAddress defined.c()
The reason for [constr_5319] and [constr_5320] is that in the Service Discovery case
the TLS client needs to establish the TLS connection and a TCP endpoint can only take
one role: TLS_CLIENT or TLS_SERVER. If a TlsCryptoServiceMapping would act
as TLS_CLIENT and would refer to a ProvidedServiceInstance then this TLS_-
CLIENT would need to establish the TLS connection. But in this case the TLS_CLIENT
would not know to which remote service client a connection needs to be established
since different ConsumedServiceInstances may directly call methods of the Pro-
videdServiceInstance without any registration.
The usage of a cipher suite in the context of setting up a TLS connection is formalized
by means of meta-class TlsCryptoCipherSuite.
[TPS_SYST_05030] Semantics of TlsCryptoCipherSuite dThe creation of a TLS
connection requires the usage of a suite of cryptographic operations in specific roles,
also known as a cipher suite.
Meta-class TlsCryptoCipherSuite represents a given cipher suite for a TLS con-
nection. TlsCryptoCipherSuite references meta-class CryptoServicePrimi-
tive in three dedicated roles that represent the steps of the creation of a TLS connec-
tion.
More specifically, the cryptographic operations for setting up a TLS connection involve
the following steps:
• Key exchange: these CryptoServicePrimitives may be used for the hand-
shake phase of the TLS connection. Different alternatives exist for executing this
phase and therefore the multiplicity of this reference is 0..*.
• Authentication of communication partners during the operational phase of the
TLS connection. This part is similar to freshness calculation for SecOC-based
communication. For this purpose a single CryptoServicePrimitive is used
on each end of the communication.
• Encryption of content exchanged between the communication partners that
have established the TLS connection. For this purpose a single CryptoSer-
vicePrimitive is used on each end of the communication.
c()
Class TlsCryptoCipherSuite
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class represents a cipher suite for describing cryptographic operations in the context of
establishing a connection of ApplicationEndpoints that is protected by TLS.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
authentication CryptoServicePrimitive 0..1 ref This reference identifies the crypto service primitive for
the generation and verification of MACs.
certificate CryptoService 0..1 ref This reference identifies the applicable local certificate.
Certificate
cipherSuiteId PositiveInteger 0..1 attr Identification of the CipherSuite according to the IANA
assignments list.
cipherSuite String 0..1 attr Name of the CipherSuite according to the IANA
ShortLabel assignments list.
ellipticCurve CryptoEllipticCurve * ref This references point to the properties of elliptic curves.
Props
encryption CryptoServicePrimitive 0..1 ref This reference identifies the crypto service primitive for
the execution of encryption.
keyExchange CryptoServicePrimitive * ref This reference identifies the individual (i.e. per cipher
suite) crypto service primitive for the execution of key
exchange during the handshake phase.
keyExchange CryptoServicePrimitive * ref This reference identifies the crypto service primitives for
Authentication the generation and verification of signatures during the
key exchange algorithm.
priority PositiveInteger 0..1 attr This attribute identifies the priority of the cipher suite.
Range: 1..65535. Lower values represent higher
priorities.
props TlsCryptoCipherSuite 0..1 aggr The aggregated TlsCryptoCipherSuiteProps provide
Props details for the TLS Cipher Suite.
pskIdentity TlsPskIdentity 0..1 aggr Pre-shared key identity shared during the handshake
among the communication parties, to establish a TLS
connection if the handshake is based on the existence of
a pre-shared key.
remote CryptoService 0..1 ref This reference identifies the applicable remote certificate.
Certificate Certificate
signature CryptoSignature * ref This reference points to the properties of a TLS Signature
Scheme Scheme Scheme.
version TlsVersionEnum 1 attr This attribute supports the definition of the applicable
version of TLS.
Enumeration TlsVersionEnum
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class has the ability to identify a specific version of the transport-layer security (TLS)
protocol.
Literal Description
tls12 TLS version 1.2
Tags:atp.EnumerationLiteralIndex=0
tls13 TLS version 1.3
Tags:atp.EnumerationLiteralIndex=2
Class TlsPskIdentity
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This element is used to describe the pre-shared key shared during the handshake among the
communication parties, to establish a TLS connection if the handshake is based on the existence of a
pre-shared key.
Base ARObject
Attribute Type Mult. Kind Note
preSharedKey CryptoServiceKey 1 ref This reference identifies the applicable cryptographic key.
pskIdentity String 1 attr This attribute provides the key identification.
pskIdentityHint String 0..1 attr This attribute provides the identity hint for a pre-shared
key.
Class TlsCryptoCipherSuiteProps
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class provides attributes to specify details of TLS Cipher Suites.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
tcpIpTlsUse Boolean 0..1 attr Defines if the security extension according to IETF RFC
Security 7366 shall be supported. This is useful for cipher suites
ExtensionForce using CBC mode.
EncryptThen
Mac
Table 6.190: TlsCryptoCipherSuiteProps
Class CryptoEllipticCurveProps
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class provides attributes to specify the properties of elliptic curves.
Tags:atp.recommendedPackage=CryptoEllipticCurveProps
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
namedCurveId PositiveInteger 0..1 attr Defines the value of one specific NamedCurve Id.
Class CryptoSignatureScheme
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class provides attributes to specify the TLS Signature Scheme.
Tags:atp.recommendedPackage=CryptoSignatureSchemas
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
signature PositiveInteger 0..1 attr Defines the value of one specific TLS Signature Scheme.
SchemeId
Enumeration CryptoCertificateAlgorithmFamilyEnum
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class defies possible cryptographic algorithm families used to create public keys and
signatures within the certificate.
Literal Description
5
4
Enumeration CryptoCertificateAlgorithmFamilyEnum
ecc The cryptographic operations in the certificate are executed using elliptic curves (ecc)
Tags:atp.EnumerationLiteralIndex=2
rsa The cryptographic operations in the certificate are executed using the RSA approach.
Tags:atp.EnumerationLiteralIndex=1
Enumeration CryptoCertificateFormatEnum
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This meta-class defines possible formats of cryptographic certificates.
Literal Description
cvc The certificate has been created in Card Verifiable Certificate (CVC) format
Tags:atp.EnumerationLiteralIndex=2
x509 The certificate is created in X.509 format.
Tags:atp.EnumerationLiteralIndex=1
Identifiable ARElement
TlsCryptoCipherSuite +ellipticCurve CryptoEllipticCurveProps
+tlsCipherSuite 0..*
Identifiable
SystemMapping
+certificate 0..1 +remoteCertificate 0..1
ARElement
CryptoServiceCertificate
«atpVariation,atpSplitable»
+ algorithmFamily: CryptoCertificateAlgorithmFamilyEnum [0..1]
+ format: CryptoCertificateFormatEnum [0..1] +cryptoServiceMapping 0..*
+ maximumLength: PositiveInteger [0..1]
Identifiable
+ serverNameIdentification: String [0..1]
CryptoServiceMapping
+nextHigherCertificate 0..1
0..1 +pskIdentity
ARElement +tlsConnection
TlsPskIdentity TlsCryptoServiceMapping
TlsConnectionGroup
+ pskIdentity: String 0..* + useClientAuthenticationRequest: Boolean [0..1]
+ pskIdentityHint: String [0..1] + useSecurityExtensionRecordSizeLimit: Boolean [0..1]
+preSharedKey 1
+tlsCryptoMapping 0..1
ARElement
CryptoServiceKey Identifiable
+ algorithmFamily: String ApplicationEndpoint
+ keyGeneration: CryptoServiceKeyGenerationEnum [0..1]
+ maxNumberOfConnections: PositiveInteger [0..1]
+ keyStorageType: String [0..1]
+ priority: PositiveInteger [0..1]
+ length: PositiveInteger
• TlsCryptoCipherSuite.keyExchangeAuthentication
• TlsCryptoCipherSuite.authentication
• TlsCryptoCipherSuite.encryption.
Setting up these references to CryptoServicePrimitives with specific properties
allows to define how a TLS Connection and its associated TLS cipher suites are work-
ing by defining the CryptoServicePrimitive they employ. Instances of the Cryp-
toServicePrimitive class directly map to CsmPrimitive containers in the Csm
configuration, which makes the translation into Csm configurations straightforward.
Using CryptoServicePrimitive elements for modeling TLS, however, makes it
hard to infer what a TLS Connection and its associated TLS cipher suites are from the
information how they work. It is, for instance, difficult to determine the IANA id [29]
of a TLS cipher suite by examining the properties of the CryptoServicePrimitive
elements the associated TlsCryptoCipherSuite is referencing.
Defining CryptoServicePrimitive elements couples the TLS configuration of the
System Model tightly to the Csm module configuration which demands deep knowl-
edge of the Csm for setting up the TLS part of the system model. Moreover, software
suppliers might deviate from the Csm standard when it comes to the configuration of
CsmPrimitive containers. As a consequence, two stack vendors might require differ-
ently configured CryptoServicePrimitive elements for modeling the same cipher
suite.
For all these shortcomings, it is recommended to define TLS connections that use
standard cipher suites by defining IANA parameters [29] instead of referencing to
CryptoServicePrimitives . Defining CryptoServicePrimitives can be the
solution to model non-standard cipher suites, however they still require custom support
from vendors.
IANA provides a set of TLS Parameters [29] to specify the properties of standardized
cipher suites, which are partly also available in the TLS part of AUTOSAR System
Models:
• TlsCryptoCipherSuite.cipherSuiteId
• TlsCryptoCipherSuite.cipherSuiteShortLabel
and, if the cipher suite requires key exchange:
• CryptoEllipticCurveProps.namedCurveId
• CryptoSignatureScheme.signatureSchemeId.
The specification of these parameters defines what a TLS Connection and their cipher
suites are in contrast to the first approach which defines how they operate. The spec-
ification of a standardized cipher suite allows to derive the CsmPrimitives required
for its operation without tight coupling to the specifics of the Csm configuration.
[constr_3668] Existence of TlsCryptoCipherSuite.cipherSuiteShortLabel
dIf a TlsCryptoCipherSuite.cipherSuiteShortLabel is defined then:
• the attribute TlsCryptoCipherSuite.cipherSuiteId shall be defined as
well
• the value of TlsCryptoCipherSuite.cipherSuiteShortLabel shall match
the Description value corresponding to the Value field defined in TlsCryptoCi-
pherSuite.cipherSuiteId according to TlsCryptoCipherSuite Parame-
ter set defined in [29].
c()
Common parameters:
The TLS part of the system model specifies a set of entities and parameters that can
be configured in both alternatives. They allow the definition of certificates or pre-shared
Keys which the cipher suites are using and the definition of extensions e.g. for increas-
ing the security of a TLS connection:
• TlsCryptoCipherSuite.priority
• TlsCryptoCipherSuite.version
• TlsCryptoCipherSuite.pskIdentity
• TlsCryptoCipherSuite.certificate
• TlsCryptoCipherSuite.remoteCertificate
• TlsCryptoServiceMapping.useClientAuthenticationRequest
• TlsCryptoServiceMapping.useSecurityExtensionRecordSizeLimit
• All parameters specified in TlsCryptoCipherSuiteProps.
For Details on TlsCryptoCipherSuite.cipherSuiteId and TlsCryptoCi-
pherSuite.cipherSuiteShortLabel see [29] section "TLS Cipher Suites".
For Details on CryptoEllipticCurveProps and namedCurveId see [29] section
"TLS Supported Groups".
For Details on CryptoSignatureScheme and signatureSchemeId see [29] sec-
tion "TLS SignatureScheme".
6.7.5.15 IPsec
IPsec is a protocol suite that provides cryptographic protection for IP datagrams in IPv4
and IPv6 network packets.
IPsec uses a security association to specify security properties that are shared be-
tween the communicating parties. The security association defines a relationship be-
tween two or more parties and determines which security services will be used to
communicate securely. In other words the security association serves as a “contract”
between the different devices.
A single security association protects data in one communication direction. Two se-
curity associations shall be present to secure traffic in both directions. Each security
association can provide encryption, data integrity and data authentication.
In addition the senders and receivers of IP datagrams can determine the required
protection for an IP packet according to IPsec security policies.
These are rules that define how datagrams are processed that are received by a device.
For example, security policies are used to decide if a particular packet needs to be
dropped or needs to be processed by IPsec.
Identifiable
NetworkEndpointAddress
NetworkEndpoint +networkEndpointAddress
+remoteIpAddress 0..*
+ipSecConfig 0..1
IPSecConfig Ipv6Configuration
ARElement
IPSecConfigProps
+preSharedKey 0..1
«enumeration» ARElement
IPsecHeaderTypeEnum
CryptoServiceKey
ah
esp + algorithmFamily: String
none + keyGeneration: CryptoServiceKeyGenerationEnum [0..1]
+ keyStorageType: String [0..1]
+ length: PositiveInteger
«enumerati... «enumeration»
«enumeration» IPsecPolicyEnum IPsecIpProtocolEnum
IPsecDpdActionEnum «enumeration» «enumeration»
ipsec udp
CommunicationDirectionType IPsecModeEnum tcp
clear passthrough
trap drop in any
tunnel
restart reject out icmp
transport
Class IPSecConfig
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note IPsec is a protocol that is designed to provide "end-to-end" cryptographically-based security for IP
network connections.
Base ARObject
Attribute Type Mult. Kind Note
ipSecConfig IPSecConfigProps 0..1 ref Global IPsec configuration settings that are valid for all
Props IPSecRules that are defined on the NetworkEndpoint.
ipSecRule IPSecRule * aggr IPSec rules and filters that are defined in the IPSecConfig
for a specific NetworkEndpoint.
Class IPSecRule
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This element defines an IPsec rule that describes communication traffic that is monitored, protected and
filtered.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
direction Communication 0..1 attr This attribute defines the direction in which the traffic is
DirectionType monitored. If this attribute is not set a bidirectional traffic
monitoring is assumed.
headerType IPsecHeaderTypeEnum 0..1 attr Header type specifying the IPsec security mechanism.
ipProtocol IPsecIpProtocolEnum 0..1 attr This attribute defines the relevant IP protocol used in the
Security Policy Database (SPD) entry.
localCertificate CryptoService * ref This reference identifies the applicable certificate used for
Certificate a local authentication.
localId String 0..1 attr This attribute defines how the local participant should be
identified for authentication.
localPortRange PositiveInteger 0..1 attr This attribute restricts the traffic monitoring and defines
End an end value for the local port range.
If this attribute is not set then this rule shall be effective
for all local ports.
Please note that port ranges are currently not supported
in the AUTOSAR AP’s operating system backend. If AP
systems are involved, each IPsec rule may only contain a
single port.
localPortRange PositiveInteger 0..1 attr This attribute restricts the traffic monitoring and defines a
Start start value for the local port range.
If this attribute is not set then this rule shall be effective
for all local ports.
Please note that port ranges are currently not supported
in the AUTOSAR AP’s operating system backend. If AP
systems are involved, each IPsec rule may only contain a
single port.
mode IPsecModeEnum 0..1 attr This attribute defines the type of the connection.
policy IPsecPolicyEnum 0..1 attr An IPsec policy defines the rules that determine which
type of IP traffic needs to be secured using IPsec and
how that traffic is secured.
preSharedKey CryptoServiceKey 0..1 ref This reference identifies the applicable cryptograhic key
used for authentication.
priority PositiveInteger 0..1 attr This attribute defines the priority of the IPSecRule (SPD
entry). The processing of entries is based on priority,
starting with the highest priority "0".
5
4
Class IPSecRule
remote CryptoService * ref This reference identifies the applicable certificate used for
Certificate Certificate a remote authentication.
remoteId String 0..1 attr This attribute defines how the remote participant should
be identified for authentication.
remoteIp NetworkEndpoint * ref Definition of the remote NetworkEndpoint. With this
Address reference the connection between the local Network
Endpoint and the remote NetworkEndpoint is described
on which the traffic is monitored.
remotePort PositiveInteger 0..1 attr This attribute restricts the traffic monitoring and defines
RangeEnd an end value for the remote port range.
If this attribute is not set then this rule shall be effective
for all local ports.
Please note that port ranges are currently not supported
in the AUTOSAR AP’s operating system backend. If AP
systems are involved, each IPsec rule may only contain a
single port.
remotePort PositiveInteger 0..1 attr This attribute restricts the traffic monitoring and defines a
RangeStart start value for the remote port range.
If this attribute is not set then this rule shall be effective
for all local ports.
Please note that port ranges are currently not supported
in the AUTOSAR AP’s operating system backend. If AP
systems are involved, each IPsec rule may only contain a
single port.
Class IPSecConfigProps
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This element holds all the attributes for configuration of IPsec that are independent of specific IPsec rules.
Tags:atp.recommendedPackage=IPSecConfigProps
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
ahCipherSuite String * attr AH (Authentication Header) algorithm to be used for the
Name connection, e.g. HMAC/SHA2-256
dpdAction IPsecDpdActionEnum 0..1 attr This attribute defines what to do if the peer is considered
dead.
If not configured "restart" shall be assumed.
dpdDelay TimeValue 0..1 attr This attribute describes the interval to check the liveness
of a peer actively using IKEv2 INFORMATIONAL
exchanges. Active DPD checking is only enforced if no
IKE or ESP/AH packet has been received for the
configured DPD delay.
In not configured the value "5 minutes" shall be assumed.
espCipherSuite String * attr ESP (Encapsulating Security Payload) algorithm that
Name provides encryption and optional authentication for the
connection, e.g. AES-128+SHA2-256.
ikeCipherSuite String 0..1 attr IKE encryption/authentication algorithms to be used for
Name the connection.
5
4
Class IPSecConfigProps
ikeOverTime TimeValue 0..1 attr This attribute describes the hard deadline when an SA
becomes invalid in percentage.
Example: ikeOverTime of max(ikeReauthTime, ikeRekey
Time).
Default: 10 %
ikeRandTime PositiveInteger 0..1 attr This attribute defines in percentage by how long before
the expiration of ikeReauthTime and ikeRekeyTime will be
rekeyed/reauthenticated.
Default: 10%
ikeReauthTime TimeValue 0..1 attr This attribute defines the absolute time after which an IKE
SA will be reauthenticated.
0 means reauthentication is disabled.
ikeRekeyTime TimeValue 0..1 attr This attribute defines the absolute time after which an IKE
SA will be rekeyed.
0 means rekey is disabled.
saOverTime PositiveInteger 0..1 attr This attribute describes the hard deadline when an IPsec
SA becomes invalid in percentage.
Example: saOverTime * saRekeyTime.
Default: 110%
saRandTime TimeValue 0..1 attr This attribute defines by how long before the expiration of
saRekeyTime will be rekeyed.
saRekeyTime TimeValue 0..1 attr This attribute defines the absolute time after which an
IPsec SA will be rekeyed.
0 means rekey is disabled.
Enumeration IPsecIpProtocolEnum
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note Definition of supported TcpIp protocols that are supported in Security Policy Database (SPD) entries
in IPSec configurations.
Literal Description
any ANY protocol
Tags:atp.EnumerationLiteralIndex=3
icmp Internet Control Message Protocol (ICMP)
Tags:atp.EnumerationLiteralIndex=2
tcp TCP Protocol
Tags:atp.EnumerationLiteralIndex=1
udp UDP Protocol
Tags:atp.EnumerationLiteralIndex=0
IPsec can be configured to operate in two different modes, Tunnel and Transport mode.
With tunnel mode, the entire IP packet is protected by IPsec. IPsec wraps the original
packet, encrypts it and adds a new IP header to it. The tunnel mode is most com-
monly used between VPN gateways and the IP addresses of the newly added outer IP
header are that of the VPN Gateways. In other words the traffic between the two VPN
Gateways is protected and each gateway acts as a proxy for the hosts behind it.
The transport mode provides the protection of the Data Payload of the IP datagram
with an AH or ESP header. The IP Header remains the same and IPsec inserts its
header between the IP header and the upper level headers. The IPsec transport mode
can be used when securing traffic between two hosts or between a host and a VPN
gateway.
[TPS_SYST_02268] IPsec mode dThe IPSecRule.mode attribute defines whether
the IP packet is processed in the transport or tunnel mode.c()
Please note that AUTOSAR currently supports only the transport mode as configu-
ration option.
Enumeration IPsecModeEnum
Package M2::AUTOSARTemplates::SystemTemplate::SecureCommunication
Note This enumeration describes the supported IPSec modes.
Literal Description
transport Signifying that the IPSec transport mode is used. With the transport mode the original IP header is
retained and only the IP payload and ESP trailer is encrypted.
Tags:atp.EnumerationLiteralIndex=1
5
4
Enumeration IPsecModeEnum
tunnel Signifying that the IPSec tunnel mode is used. With tunnel mode, the entire original IP packet is
protected by IPSec. This means IPSec wraps the original packet, encrypts it, adds a new IP header
and sends it to the other side.
Tags:atp.EnumerationLiteralIndex=0
Please note that with the introduction of the TcpIp Bsw module the description of Ab-
stractEthernetFrames is no longer necessary for configuration of the AUTOSAR
TcpIp Stack.
Nevertheless it may be useful to describe the Ethernet FrameType based communica-
tion in some cases, e.g. if a new basic software module like Ieee1722Tp is used that
is located above the EthDrv and parallel to the TcpIp Stack. The Ethernet FrameType
based communication shall be described without Pdus.
[constr_3113] AbstractEthernetFrame shall not have a PduToFrameMapping
dIt is not allowed to map Pdus into AbstractEthernetFrames.c()
Identifiable
EthernetFrameTriggering
FrameTriggering
+frame 1
FibexElement
AbstractEthernetFrame
Frame
GenericEthernetFrame UserDefinedEthernetFrame
Ieee1722TpEthernetFrame
+ relativeRepresentationTime: TimeValue
+ streamIdentifier: PositiveInteger
+ subType: PositiveInteger
+ version: PositiveInteger
4
Class AbstractEthernetFrame (abstract)
Base ARObject, CollectableElement, FibexElement, Frame, Identifiable, MultilanguageReferrable,
PackageableElement, Referrable
Subclasses GenericEthernetFrame, Ieee1722TpEthernetFrame, UserDefinedEthernetFrame
Attribute Type Mult. Kind Note
– – – – –
Table 6.204: AbstractEthernetFrame
Class EthernetFrameTriggering
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetFrame
Note Ethernet specific Frame element.
Base ARObject, FrameTriggering, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.205: EthernetFrameTriggering
Class GenericEthernetFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetFrame
Note This element is used for EthernetFrames without additional attributes that are routed by the EthIf.
Tags:atp.recommendedPackage=Frames
Base ARObject, AbstractEthernetFrame, CollectableElement, FibexElement, Frame, Identifiable,
MultilanguageReferrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.206: GenericEthernetFrame
Class UserDefinedEthernetFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetFrame
Note UserDefinedEthernetFrame allows the description of a frame-based communication to Complex Drivers
that are located above the EthDrv.
Tags:atp.recommendedPackage=Frames
Base ARObject, AbstractEthernetFrame, CollectableElement, FibexElement, Frame, Identifiable,
MultilanguageReferrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.207: UserDefinedEthernetFrame
Class Ieee1722TpEthernetFrame
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetFrame
Note Ieee1722Tp Ethernet Frame
Tags:atp.recommendedPackage=Frames
Base ARObject, AbstractEthernetFrame, CollectableElement, FibexElement, Frame, Identifiable,
MultilanguageReferrable, PackageableElement, Referrable
5
4
Class Ieee1722TpEthernetFrame
Attribute Type Mult. Kind Note
relative TimeValue 1 attr Defines the time when content shall be presented (in
Representation seconds). The actual absolute time is creation time plus
Time relative presentation time
streamIdentifier PositiveInteger 1 attr IEEE 1722 stream identifier.
subType PositiveInteger 1 attr Protocol type.
version PositiveInteger 1 attr Revision of Ieee1722 standard.
In all other cases, the method ids of the two ProvidedServiceInstances should
not overlap.
The following restrictions apply in case of SenderReceiver communication (Service
Interface Events and Notifier): If two or more ProvidedServiceInstances are de-
fined using the same serviceIdentifier and different majorVersions, and these
ProvidedServiceInstances are referencing the same ApplicationEndpoint
via localUnicastAddress then the source IP address, the source port number, and
the Level 4 protocol (Udp) fields of header of IP packets containing event PDUs that
are sent to the clients of the ProvidedServiceInstances are identical. In such a
scenario, the ProvidedServiceInstances may use identical event Ids (i.e. iden-
tical Header Ids) if at least one of the following conditions holds for any pair of the
ProvidedServiceInstances:
a) At any point in time only one of the ProvidedServiceInstances is active
b) If two or more ProvidedServiceInstances can send Events at the same time,
the ProvidedServiceInstances may still use identical event Ids if at least one
of the following IP header fields of the IP packet containing the event is different
for any pair of Event PDUs identified by the same Event Id:
b1) Destination IP address (== IP address of client)
b2) Destination port number (== client port number)
In all other cases, the event ids of the two PSIs should not overlap.
In other words if several ProvidedServiceInstances with the same serviceI-
dentifier and different majorVersions are located on the same Socket for trans-
mission of particular Events, then the different ProvidedServiceInstances need
to use a different client Addresses (different Port or IP Address) or the Events of all
those ProvidedServiceInstances need to have unique EventIds.
TpConfig «atpVariation»
+communicationCluster CommunicationCluster
Examples in chapter 6.8.9 and chapter 6.8.10 illustrate the usage of the TP model.
Class TpConfig (abstract)
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Contains all configuration elements for AUTOSAR TP.
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Subclasses CanTpConfig, DoIpTpConfig, EthTpConfig, FlexrayArTpConfig, FlexrayTpConfig, J1939TpConfig, LinTp
Config, SomeipTpConfig
5
4
Class TpConfig (abstract)
Attribute Type Mult. Kind Note
communication CommunicationCluster 1 ref A TpConfig is existing always in the context of exactly one
Cluster CommunicationCluster.
Class TpAddress
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note An ECUs TP address on the referenced channel. This represents the diagnostic Address.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
tpAddress Integer 1 attr An ECUs TP address on the referenced channel. This
represents the diagnostic Address.
The following Ecu configuration with additional NPdus can still be derived from the
above system description:
Please note that with [constr_3090] the multiple transmission of the same TpSdu over
a specific channel using TP is only possible if several IPdus and TpConnections are
created.
The transformations in the TP modules take a significant amount of time and re-
sources and therefore two different Transport Layer routing approaches are supported
by AUTOSAR.
[TPS_SYST_01100] TP routing without using transport protocol modules (low-
level routing) dThe behavior can be optimized if source and target use the same
transport protocol (e.g. CanTp-to-CanTp routing). In this case the inbound NPDU can
be directly forwarded to the PduR and then sent on the outbound bus without any
(resource consuming) TP module involvement.c(RS_SYST_00014)
[TPS_SYST_01101] TP routing using transport protocol modules dIn case that
transport protocol modules are involved in the routing operation the incoming NPDUs
need to be:
• forwarded to corresponding inbound TP module and reassembled into an SDU
(represented as IPdu)
• the SDU needs to be forwarded to the PduR
• the PduR routes the SDU to the outgoing TP module
• the outbound TP module segments the SDU into NPDUs which are then sent on
the target bus.
c(RS_SYST_00014)
The FlexRay ISO 10681-2 Transport Layer supports multiple sessions, i.e. multiple
segmented transfers can be handled at the same time. Thus, multiple FlexrayTp-
Connections can be defined on the same ECU. Each FlexrayTpConnection is
controlled by configuration parameters defined in FlexrayTpConnectionControl.
[TPS_SYST_01102] FlexrayTpConnectionControl reuse dThe same
FlexrayTpConnectionControl may be reused for an arbitrary number of
FlexrayTpConnections.c(RS_SYST_00014)
A FlexrayTpConnection defines the way of communication between a sender and
a receiver and uses a FlexrayTpPduPool of NPdus to transmit data to the FlexRay
Interface.
+tpEcu 1..*
«atpVariation»
FlexrayTpConfig
+reversedTpSdu 0..1 +directTpSdu 1 +rxPduPool 0..1 +txPduPool 0..1 0..1 +tpAddress 0..1
+multicast
Pdu Identifiable Identifiable
IPdu FlexrayTpPduPool TpAddress +tpAddress
+pduPool
+tpConnectionControl
0..*
Identifiable
FlexrayTpConnectionControl +nPdu 1..*
«enumeration»
+ ackType: TpAckType [0..1] NPdu
TpAckType
+ maxFcWait: Integer [0..1]
+ maxNumberOfNpduPerCycle: Integer [0..1] noAck
+ maxRetries: Integer [0..1] ackWithRt
+ separationCycleExponent: Integer [0..1]
+ timeBr: TimeValue [0..1]
+ timeBuffer: TimeValue [0..1]
+ timeCs: TimeValue [0..1]
+ timeoutAr: TimeValue [0..1]
+ timeoutAs: TimeValue [0..1]
+ timeoutBs: TimeValue [0..1] +tpConnectionControl
+ timeoutCr: TimeValue [0..1]
1
Class FlexrayTpConnectionControl
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Configuration parameters to control a FlexRay TP connection.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
ackType TpAckType 0..1 attr This parameter defines the type of acknowledgement
which is used for the specific channel.
5
4
Class FlexrayTpConnectionControl
maxFcWait Integer 0..1 attr This attribute defines the maximum number of Flow
Control N-PDUs with FlowState "WAIT".
maxNumberOf Integer 0..1 attr This parameter limits the number of N-Pdus the sender is
NpduPerCycle allowed to transmit within a FlexRay cycle.
maxRetries Integer 0..1 attr This parameter defines the maximum number of retries (if
retry is configured for the particular channel).
separationCycle Integer 0..1 attr Exponent to calculate the minimum number of
Exponent "Separation Cycles" the sender has to wait for the next
transmission of an FrTp N-Pdu.
timeBr TimeValue 0..1 attr Time (in seconds) until transmission of the next Flow
Control N-PDU.
timeBuffer TimeValue 0..1 attr This parameter defines the time of waiting for the next try
to get a Tx or Rx buffer.
This parameter is equivalent to the temporal distance
between two FC.WT N-Pdus in case the buffer request
returns busy.
Specified in seconds.
timeCs TimeValue 0..1 attr Time (in seconds) until transmission of the next
ConsecutiveFrame NPdu / LastFrame NPdu.
timeoutAr TimeValue 0..1 attr This parameter states the timeout between the PDU
transmit request of the Transport Layer to the FlexRay
Interface and the corresponding confirmation of the Flex
Ray Interface on the receiver side (for FC or AF).
Specified in seconds.
timeoutAs TimeValue 0..1 attr This attribute states the timeout between the PDU
transmit request for the first PDU of the group used in the
current connection of the Transport Layer to the FlexRay
Interface and the corresponding confirmation of the Flex
Ray Interface (when having sent the last PDU of the
group used in this connection) on the sender side (SF-x,
FF-x, CF or FC (in case of Transmit Cancellation)).
Specified in seconds.
timeoutBs TimeValue 0..1 attr This parameter defines the timeout in seconds for waiting
for an FC or AF on the sender side in a 1:1 connection.
timeoutCr TimeValue 0..1 attr This parameter defines the timeout value in seconds for
waiting for a CF or FF-x (in case of retry) after receiving
the last CF or after sending an FC or AF on the receiver
side. Specified in seconds.
Class FlexrayTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A connection identifies the sender and the receiver of this particular communication. The FlexRayTp
module routes a Pdu through this connection.
In a System Description the references to the PduPools are mandatory. In an ECU Extract these
references can be optional: On unicast connections these references are always mandatory. On
multicast the txPduPool is mandatory on the sender side. The rxPduPool is mandatory on the receiver
side. On Gateway ECUs both references are mandatory.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
bandwidth Boolean 1 attr Specifies whether the connection requires a bandwidth
Limitation limitation or not.
5
4
Class FlexrayTpConnection
directTpSdu IPdu 1 ref Reference to the IPdu that is segmented by the Transport
Protocol.
multicast TpAddress 0..1 ref TP address for 1:n connections.
receiver FlexrayTpNode 1..* ref The target of the TP connection.
reversedTpSdu IPdu 0..1 ref Reference to the IPdu that is segmented by the Transport
Protocol. If support of both sending and receiving is used,
this association references the IPdu used for the
additional second direction.
rxPduPool FlexrayTpPduPool 0..1 ref A connection has a reference to a set of NPdus (FrTpRx
PduPool) which are defined for receiving data via this
particular connection.
The following constraint is valid only for the System
Extract/ECU Extract: In case this connection is applied to
the transmitter the rxPduPool holds the actually received
NPdus. In case this connection is applied to the receiver
the rxPduPool holds the actually sent NPdus.
tpConnection FlexrayTpConnection 1 ref Reference to the connection control.
Control Control
transmitter FlexrayTpNode 1 ref The source of the TP connection.
txPduPool FlexrayTpPduPool 0..1 ref A connection has a reference to a set of NPdus (FrTpTx
PduPool) which are defined for sending data via this
particular connection.
The following constraint is valid only for the System
Extract/ECU Extract: In case this connection is applied to
the transmitter the txPduPool holds the actually sent
NPdus. In case this connection is applied to the receiver
the txPduPool holds the actually received NPdus.
ECU Extract of A:
SENDER = A
TxPool = PDU_1 -> sent Pdus
RxPool = PDU_2 -> received Pdus
Since on receiver side the PDU_1 is received and PDU_2 is sent (from a local point of
view) the export shall look like this:
ECU Extract of B:
RECEIVER = B
TxPool = PDU_1 -> received Pdus
RxPool =IsoPDU_2 -> sent Pdus
Tp Example
IsoTpConnection
transmitter receiver
TxPduPool RxPduPool
tx Pdu1
ECU A rx ECU B
Pdu2
Class FlexrayTpPduPool
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note FlexrayTpPduPool is a set of N-PDUs which are defined for FrTp sending or receiving purpose.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Note -
Kind Confidential
- AUTOSAR
1 20.03.2007 AUTOSAR_SystemTemplate
nPdu NPdu 1..* ref Reference to NPdus that are part of the PduPool.
Class FlexrayTpNode
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
connector Communication * ref Association to one or more physical connectors (max
Connector number of connectors for FlexRay: 2).
In a System Description this reference is mandatory. In
an ECU Extract this reference is optional (references to
ECUs that are not part of the ECU Extract shall be
avoided).
5
4
Class FlexrayTpNode
tpAddress TpAddress 0..1 ref Reference to the TP Address that is used by the TpNode.
This reference is optional in case that the multicast TP
Address is used (reference from TpConnection).
Class FlexrayTpEcu
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note ECU specific TP configuration parameters. Each TpEcu element has a reference to exactly one
ECUInstance in the topology.
Base ARObject
Attribute Type Mult. Kind Note
cancellation Boolean 0..1 attr With this switch Tx and Rx Cancellation can be turned on
or off.
cycleTimeMain TimeValue 0..1 attr The period between successive calls to the Main Function
Function of the AUTOSAR TP. Specified in seconds.
ecuInstance EcuInstance 1 ref Connection to the ECUInstance in the Topology
fullDuplex Boolean 1 attr The full duplex mechanisms is enabled if this attribute is
Enabled set to true. Otherwise half duplex is enabled.
FibexElement
TpConfig
FlexrayArTpConfig
«atpVariation» «atpVariation»
+tpAddress 0..*
+tpNode 0..*
Identifiable
Identifiable CommunicationConnector
TpAddress +tpAddress +connector
FlexrayArTpNode FlexrayCommunicationConnector
«atpVariation»
+ tpAddress: Integer 0..1 0..*
+ nmReadySleepTime: Float [0..1]
+ pncFilterDataMask: PositiveUnlimitedInteger [0..1]
+multicast 0..1 + wakeUpChannel: Boolean
+source 1 +target 1..*
+tpChannel 0..*
FlexrayArTpChannel
+ ackType: FrArTpAckType
+ cancellation: Boolean [0..1]
+ extendedAddressing: Boolean
+ maxAr: Integer [0..1]
+directTpSdu + maxAs: Integer [0..1]
Pdu TpConnection
+tpConnection + maxBs: Integer [0..1]
IPdu 1 FlexrayArTpConnection + maxFcWait: PositiveInteger [0..1]
+ connectionPrioPdus: Integer [0..1] 1..* + maximumMessageLength: MaximumMessageLengthType
+reversedTpSdu
+ maxRetries: Integer [0..1]
0..1 + minimumMulticastSeperationTime: TimeValue [0..1]
+ minimumSeparationTime: TimeValue
+ multicastSegmentation: Boolean
«enumeration» + timeBr: TimeValue [0..1]
MaximumMessageLengthType + timeCs: TimeValue [0..1]
+ timeoutAr: TimeValue [0..1]
iso6 + timeoutAs: TimeValue [0..1]
iso + timeoutBs: TimeValue [0..1]
I4g + timeoutCr: TimeValue [0..1]
«enumeration»
FrArTpAckType
noAck
ackWithRt
ackWithoutRt +nPdu 0..*
NPdu
Class FlexrayArTpConfig
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note This element defines exactly one FlexRay Autosar TP Configuration.
One FlexrayArTpConfig element shall be created for each FlexRay Network in the System that uses Flex
Ray Autosar TP.
Tags:atp.recommendedPackage=TpConfigs
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable, TpConfig
Attribute Type Mult. Kind Note
tpAddress TpAddress * aggr Collection of TpAddresses.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
5
4
Class FlexrayArTpConfig
tpChannel FlexrayArTpChannel * aggr Configuration of FlexRay Autosar Transport Protocol
channels.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
tpNode FlexrayArTpNode * aggr Senders and receivers of TP messages.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
Class FlexrayArTpChannel
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A channel is a group of connections sharing several properties.
The FlexRay AutosarTransport Layer supports several channels. These channels can work concurrently,
thus each of them requires its own state machine and management data structures and its own PDU-IDs.
Base ARObject
Attribute Type Mult. Kind Note
ackType FrArTpAckType 1 attr Type of Acknowledgement.
cancellation Boolean 0..1 attr With this switch Tx and Rx Cancellation can be turned on
or off.
extended Boolean 1 attr Adressing Type of this connection:
Addressing
true: Two Bytes
false: One Byte
maxAr Integer 0..1 attr This attribute defines the maximum number of trying to
send a frame when a TIMEOUT AR occurs (depending
on whether retry is configured).
maxAs Integer 0..1 attr This attribute defines the maximum number of trying to
send a frame when a TIMEOUT AS occurs (depending on
whether retry is configured).
maxBs Integer 0..1 attr This attribute defines the number of consecutive CFs
between two FCs (block size). Valid values are 1 .. 16
when retry is activated, and 0 .. 255 otherwise.
maxFcWait PositiveInteger 0..1 attr This attribute defines the maximal number of wait frames
to be sent for a pending connection. Range is 0..255.
maximum MaximumMessage 1 attr This specifies the maximum message length for the
MessageLength LengthType particular channel.
maxRetries Integer 0..1 attr This attribute defines the maximum number of retries (if
retry is configured for the particular channel).
minimum TimeValue 0..1 attr This attribute defines the minimum amount of time
Multicast between two succeeding CFs of a 1:n segmented
SeperationTime transmission in seconds. Valid values are 0, 100µs,
200µs ... 900µs, 1ms, 2ms .. 127ms. The value can be
changed at runtime using the FrArTp_ChangeParameter
interface.
minimumMulticastSeparationTime shall be an integer
multiple of the cycle length multiplied with the multiplexing
factor, i.e. minimumMulticastSeparationTime = n * cycle *
m, where n is an integer >= 0, cycle is Flexray
Cluster.cycle, and m is the cycle multiplexor of those
cycles where PDUs of the PDU pool are scheduled.
Please note: Due to the scheduling strategies of FrTp,
5
4
Class FlexrayArTpChannel
4
minimumMulticastSeparationTime can only be kept to a
degree defined by the maximum temporal distance of the
PDUs of a PDU pool within one FlexRay cycle.
Range: 0 .. 0.127
minimum TimeValue 1 attr This attribute defines the minimum amount of time
SeparationTime between two succeeding CFs of a 1:1 segmented
transmission in seconds. Valid values are 0, 100µs,
200µs .. 900µs, 1ms, 2ms .. 127ms. The value can be
changed at runtime using the FrArTp_ChangeParameter
interface.
The minimumSeparationTime shall be an integer multiple
of the cycle length multiplied with the multiplexing factor,
i.e. minimumSeparationTime = n * cycle * m, where n is
an integer >=0, cycle is FlexrayCluster.cycle, and m is the
cycle multiplexor of those cycles where PDUs of the PDU
pool are scheduled.
Please note: Due to the scheduling strategies of FrTp,
minimumSeparationTime can only be kept to a degree
defined by the maximum temporal distance of the PDUs
of a PDU pool within one FlexRay cycle.
Range: 0 .. 0.127
multicast Boolean 1 attr This attribute defines whether segmentation within a 1:n
Segmentation connection is allowed or not.
nPdu NPdu * ref A FlexRayTpChannel references a set of NPdus. These
NPdus are logically assembled into a pool of Rx NPdus
and another pool of Tx NPdus. It shall be ensured that a
second channel either references all NPdus of such a
pool, or none.
timeBr TimeValue 0..1 attr This attribute defines the time in seconds between
receiving the last CF of a block or an FF-x (or SF-x) and
sending out an FC or AF.
timeCs TimeValue 0..1 attr This attribute defines the time in seconds between the
sending of two consecutive frames or between a
consecutive frame and a flow control (for Transmit
Cancellation) or between reception of an flow control or
Acknowledgement Frame and sending of the next
consecutive frame or a flow control (for Transmit
Cancellation).
timeoutAr TimeValue 0..1 attr This attribute states the timeout in seconds between the
PDU transmit request of the Transport Layer to the Flex
Ray Interface and the corresponding confirmation of the
FlexRay Interface on the receiver side (for FC or AF).
timeoutAs TimeValue 0..1 attr This attribute states the timeout in seconds between the
PDU transmit request for the first PDU of the group used
in the current connection of the Transport Layer to the
FlexRay Interface and the corresponding confirmation of
the FlexRay Interface (when having sent the last PDU of
the group used in this connection) on the sender side
(SF-x, FF-x, CF).
timeoutBs TimeValue 0..1 attr This attribute defines the timeout in seconds for waiting
for an FC or AF on the sender side in a 1:1 connection.
timeoutCr TimeValue 0..1 attr This attribute defines the timeout value in seconds for
waiting for a CF or FF-x (in case of retry) after receiving
the last CF or after sending an FC or AF on the receiver
side.
tpConnection FlexrayArTpConnection 1..* aggr Group of connections that can be used in this channel.
Class FlexrayArTpNode
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
connector FlexrayCommunication * ref Association to one or more physical connectors (max
Connector number of connectors for FlexRay: 2).
In a System Description this reference is mandatory. In
an ECU Extract this reference is optional (references to
ECUs that are not part of the ECU Extract shall be
avoided).
tpAddress TpAddress 0..1 ref Reference to the TP Address that is used by the TpNode.
This reference is optional in case that the multicast TP
Address is used (reference from TpConnection).
Class FlexrayArTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A connection within a channel identifies the sender and the receiver of this particular communication.
The FlexRay Autosar Tp module routes a Pdu through this connection.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
connectionPrio Integer 0..1 attr This parameter defines the number of PDUs that shall be
Pdus reserved for this connection when it is active. The range
is 1-255.
directTpSdu IPdu 1 ref Reference to the IPdu that is segmented by the Transport
Protocol.
The source address of the transmitted NPdu is
determined by the configured source Communication
Connector. The target address of the transmitted NPdu is
determined by the configured target Communication
Connector.
multicast TpAddress 0..1 ref TP address for 1:n connections.
reversedTpSdu IPdu 0..1 ref Reference to the IPdu that is segmented by the Transport
Protocol. If support of both sending and receiving is used,
this association references the IPdu used for the
additional second direction.
The source address of the transmitted NPdu is
determined by the configured target Communication
Connector. The target address of the transmitted NPdu is
determined by the configured source Communication
Connector.
source FlexrayArTpNode 1 ref The source of the TP connection.
target FlexrayArTpNode 1..* ref The target of the TP connection.
Enumeration FrArTpAckType
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Type of Acknowledgement.
5
4
Enumeration FrArTpAckType
Literal Description
ackWithoutRt Acknowledgement without retry.
Tags:atp.EnumerationLiteralIndex=0
ackWithRt Acknowledgement with retry.
Tags:atp.EnumerationLiteralIndex=1
noAck No acknowledgement.
Tags:atp.EnumerationLiteralIndex=2
Enumeration MaximumMessageLengthType
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Type of Acknowledgement.
Literal Description
I4g SF-E allowed (SF of arbitrary length depending on FrTpPduLength), up to (2**32)-1 byte message
length (all FF-x allowed).
Tags:atp.EnumerationLiteralIndex=0
iso Up to (2**12)-1 Byte message length (No FF-Ex or SF-E or AF shall be used and recognized).
Tags:atp.EnumerationLiteralIndex=1
iso6 As ISO, but the maximum payload length is limited to 6 byte (SF-I, FF-I, CF). This is necessary to
route TP on CAN when using Extended Addressing or Mixed Addressing on CAN.
Tags:atp.EnumerationLiteralIndex=2
+tpEcu 1..*
«atpVariation»
CanTpConfig
Pdu
IPdu
Class CanTpChannel
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Configuration parameters of the CanTp channel.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
channelId PositiveInteger 1 attr The id of the channel. The value shall be unique for each
channel.
Table 6.224: CanTpChannel
Class CanTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A connection identifies the sender and the receiver of this particular communication. The CanTp module
routes a Pdu through this connection.
atpVariation: Derived, because TpNode can vary.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
addressing CanTpAddressing 1 attr Declares which communication addressing mode is
Format FormatType supported.
cancellation Boolean 0..1 attr With this switch Tx Cancellation can be turned on or off.
Please note that the Rx Cancellation is always enabled.
canTpChannel CanTpChannel 1 ref Reference to the CanTpChannel on which this CanTp
Connection is realized.
dataPdu NPdu 1 ref Reference to an Data NPdu.
flowControlPdu NPdu 0..1 ref Reference to the Flow Control NPdu.
maxBlockSize Integer 0..1 attr The maximum number of N-PDUs the CanTp receiver
allows the sender to send, before waiting for an
authorization to continue transmission of the following
N-PDUs. For further details on this parameter value see
ISO 15765-2 specification.
Note: For reasons of buffer length, the CAN Transport
Layer can adapt the BS value within the limit of this
maximum BS
multicast CanTpAddress 0..1 ref TP address for 1:n connections.
padding Boolean 1 attr This specifies whether or not Sfs, FCs and the last CF
Activation shall be padded to 8 bytes length in case it contains less
payload.
true: The N-PDU received uses padding for SF, FC and
the last CF. (N-PDU length is always 8 bytes)
false: The N-PDU received does not use padding for SF,
CF and the last CF. (N-PDU length is dynamic)
receiver CanTpNode * ref The target of the TP connection.
taType NetworkTargetAddress 0..1 attr Network Target Address type.
Type
timeoutBr TimeValue 0..1 attr Value in seconds of the performance requirement for (N_
Br + N_Ar). N_Br is the elapsed time between the
receiving indication of a FF or CF or the transmit
confirmation of a FC, until the transmit request of the next
FC.
timeoutBs TimeValue 0..1 attr This parameter defines the timeout for waiting for an FC
or AF on the sender side in an 1:1 connection. Specified
in seconds.
timeoutCr TimeValue 0..1 attr This parameter defines the timeout value for waiting for a
CF or FF-x (in case of retry) after receiving the last CF or
after sending an FC or AF on the receiver side. Specified
in seconds.
timeoutCs TimeValue 0..1 attr The attribute timeoutCs represents the time (in seconds)
which elapses between the transmit request of a CF
N-PDU until the transmit request of the next CF N-PDU.
tpSdu IPdu 1 ref Reference to an IPdu that is segmented by the Transport
Protocol.
transmitter CanTpNode 0..1 ref The source of the TP connection.
Enumeration CanTpAddressingFormatType
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Declares which communication addressing mode is supported.
Literal Description
extended To use extended addressing format.
Tags:atp.EnumerationLiteralIndex=0
mixed To use mixed 11bit addressing format.
Tags:atp.EnumerationLiteralIndex=1
mixed29bit To use mixed 29bit addressing format
Tags:atp.EnumerationLiteralIndex=2
normalfixed To use normal fixed addressing format
Tags:atp.EnumerationLiteralIndex=3
standard To use normal addressing format.
Tags:atp.EnumerationLiteralIndex=4
Class CanTpAddress
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note An ECUs TP address on the referenced channel. This represents the diagnostic Address.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
tpAddress Integer 1 attr An ECUs TP address on the referenced channel. This
represents the diagnostic Address.
tpAddress Integer 0..1 attr If the mixed addressing format is used, this parameter
ExtensionValue contains the transport protocol address extension value.
Class CanTpEcu
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note ECU specific TP configuration parameters. Each TpEcu element has a reference to exactly one
ECUInstance in the topology.
Base ARObject
Attribute Type Mult. Kind Note
cycleTimeMain TimeValue 0..1 attr The period between successive calls to the Main Function
Function of the AUTOSAR TP. Specified in seconds.
ecuInstance EcuInstance 1 ref Connection to the ECUInstance in the Topology
Class CanTpNode
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
5
4
Class CanTpNode
connector Communication 0..1 ref Association to a CommunicationConnector in the
Connector topology description. In a System Description this
reference is mandatory. In an ECU Extract this reference
is optional (references to ECUs that are not part of the
ECU Extract shall be avoided).
maxFcWait Integer 0..1 attr This attribute defines the maximum number of flow control
PDUs that can be consecutively be transmitted by a
receiver.
stMin TimeValue 0..1 attr Sets the duration of the minimum time the CanTp sender
shall wait between the transmissions of two CF N-PDUs.
timeoutAr TimeValue 0..1 attr This attribute states the timeout between the PDU
transmit request of the Transport Layer to the Can
Interface and the corresponding confirmation of the Can
Interface on the receiver side (for FC or AF). Specified in
seconds.
timeoutAs TimeValue 0..1 attr This attribute states the timeout between the PDU
transmit request for the first PDU of the group used in the
current connection of the Transport Layer to the Can
Interface and the corresponding confirmation of the Can
Interface (when having sent the last PDU of the group
used in this connection) on the sender side (SF-x, FF-x,
CF or FC (in case of Transmit Cancellation)). Specified in
seconds.
tpAddress CanTpAddress 0..1 ref Reference to the TP Address that is used by the TpNode.
This reference is optional in case that the multicast TP
Address is used (reference from TpConnection).
Enumeration NetworkTargetAddressType
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note Network Target Address type (see ISO 15765-2).
Literal Description
functional Functional request type
Tags:atp.EnumerationLiteralIndex=0
physical Physical request type
Tags:atp.EnumerationLiteralIndex=2
FibexElement
TpConfig
LinTpConfig
«atpVariation»
+tpAddress 1..*
«atpVariation»
Identifiable
«atpVariation» TpAddress
+tpConnection 0..*
+multicast + tpAddress: Integer
TpConnection
LinTpConnection 0..1
+tpAddress 0..1
+ timeoutAs: TimeValue [0..1] +tpNode 0..*
+ timeoutCr: TimeValue [0..1]
+ timeoutCs: TimeValue [0..1] +transmitter Identifiable
LinTpNode
1
+ dropNotRequestedNad: Boolean [0..1]
+receiver + maxNumberOfRespPendingFrames: Integer [0..1]
+ p2Max: TimeValue [0..1]
1..* + p2Timing: TimeValue [0..1]
FibexElement
EcuInstance
+flowControl 0..1 1 +dataPdu +connector 0..1
+ comConfigurationGwTimeBase: TimeValue [0..1]
Identifiable + comConfigurationRxTimeBase: TimeValue [0..1]
NPdu
CommunicationConnector + comConfigurationTxTimeBase: TimeValue [0..1]
+connector
«atpVariation»
+commController 1 +commController 1..*
Identifiable
PhysicalChannel Identifiable
«atpVariation»
CommunicationController
+managedPhysicalChannel 0..*
+ wakeUpByControllerSupported: Boolean [0..1]
LinCommunicationController
+ protocolVersion: String
LinMaster LinSlave
Class LinTpConfig
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note This element defines exactly one Lin TP Configuration.
One LinTpConfig element shall be created for each Lin Network in the System.
Tags:atp.recommendedPackage=TpConfigs
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable, TpConfig
Attribute Type Mult. Kind Note
tpAddress TpAddress 1..* aggr Collection of TpAddresses.
atpVariation: Derived, because EcuInstance can vary.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
tpConnection LinTpConnection * aggr Configuration of LIN TP channels.
atpVariation: Derived, because TpNode can vary.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
tpNode LinTpNode * aggr Senders and receivers of LIN TP messages.
atpVariation: Derived, because EcuInstance can vary.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
Class LinTpNode
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
connector Communication 0..1 ref Association to a CommunicationConnector in the
Connector topology description.
In a System Description this reference is mandatory. In
an ECU Extract this reference is optional (references to
ECUs that are not part of the ECU Extract shall be
avoided).
dropNot Boolean 0..1 attr Configures if TP Frames of not requested LIN-Slaves are
RequestedNad dropped or not.
maxNumberOf Integer 0..1 attr Configures the maximum number of allowed response
RespPending pending frames.
Frames
p2Max TimeValue 0..1 attr After reception of a response pending frame the P2
timeout counter is reloaded with the timeout time P2max.
p2Timing TimeValue 0..1 attr P2 timeout observation parameter.
tpAddress TpAddress 0..1 ref Reference to the TP Address that is used by the TpNode.
This reference is optional in case that the multicast TP
Address is used (reference from TpConnection).
Class LinTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A LinTP channel represents an internal path for the transmission or reception of a Pdu via LinTp and
describes the sender and the receiver of this particular communication.
LinTp supports (per Lin Cluster) the configuration of one Rx Tp-SDU and one Tx Tp-SDU per NAD the
LinMaster uses to address one or more of its Lin Slaves. To support this an arbitrary number of LinTp
Connections shall be described.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
dataPdu NPdu 1 ref Reference to an NPdu (Single Frame, First Frame or
Consecutive Frame).
The Single Frame network protocol data unit (SF N_PDU)
shall be sent out by the sending network entity and can
be received by one or multiple receiving network entities.
The Single Frame (SF N_PDU) shall be sent out to
transfer a service data unit that can be transferred via a
single service request to the data link layer. This network
protocol data unit shall be sent to transfer unsegmented
messages.
The First Frame network protocol data unit (FF N_PDU)
identifies the first network protocol data unit (N_PDU) of a
segmented message transmitted by a network sending
entity and received by a receiving network entity.
The Consecutive Frame network protocol data unit (CF
N_PDU) transfers segments (N_Data) of the service data
unit message data (<MessageData>). All network
protocol data units (N_PDUs) transmitted by the sending
entity after the First Frame network protocol data unit (FF
N_PDU) shall be encoded as Consecutive Frames
network protocol data units (CF N_PDUs).
flowControl NPdu 0..1 ref Reference to the Flow Control NPdu.
The Flow Control network protocol data unit (FC N_PDU)
is identified by the Flow Control protocol control
information (FC N_PCI). The Flow Control network
protocol data unit (FC N_PDU) instructs a sending
network entity to start, stop or resume transmission of CF
N_PDUs. The Flow Control network protocol data unit
shall be sent by the receiving network layer entity to the
sending network layer entity, when ready to receive more
data, after correct reception of:
a) First Frame network protocol data unit (FF N_PDU)
b) the last Consecutive Frame network protocol data unit
(CF N_PDU) of a block of Consecutive Frames (CF N_
PDU) if further Consecutive Frame network protocol data
unit (CF N_PDU) need(s) to be sent.
linTpNSdu IPdu 1 ref Reference to the IPdu that is segmented by the Transport
Protocol.
multicast TpAddress 0..1 ref TP address for 1:n connections.
receiver LinTpNode 1..* ref The target of the TP connection.
timeoutAs TimeValue 0..1 attr Time for transmission of the LIN frame (any N-PDU) on
the sender side. Specified in seconds.
timeoutCr TimeValue 0..1 attr This attribute defines the timeout value for waiting for a
CF or FF-x (in case of retry) after receiving the last CF or
after sending an FC or AF on the receiver side. Specified
in seconds.
timeoutCs TimeValue 0..1 attr The attribute timeoutCs represents the time (in seconds)
which elapses between the transmit request of a CF
N-PDU until the transmit request of the next CF N-PDU.
5
4
Class LinTpConnection
transmitter LinTpNode 1 ref The source of the TP connection.
The Transport Layer in the AUTOSAR Ethernet protocol stack is defined by the TcpIp
module. For the transmission of an upper layer module Pdu via an UDP or TCP socket,
the AUTOSAR Socket Adaptor specifies a Pdu route which is linked to a socket con-
nection. The upper layer module of the SoAd may use the Interface (IF) API or the
Transport Protocol (TP) API for the transmit request and data provision respectively.
With the EthTpConnection it is possible to describe in a System Description that the
TP API shall be used for a specific Pdu route. If a PduTriggering is not referenced
by a EthTpConnection the IF API will be used.
FibexElement
TpConfig
EthTpConfig
+tpConnection 0..*
TpConnection Identifiable
EthTpConnection +tpSdu CoreCommunication::
PduTriggering
0..*
Class EthTpConfig
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note This element defines which PduTriggerings shall be handled using "TP" semantics.
Tags:atp.recommendedPackage=TpConfigs
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable, TpConfig
Attribute Type Mult. Kind Note
tpConnection EthTpConnection * aggr Senders and receivers of SOME/IP TP messages.
Class EthTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A connection identifies which PduTriggerings shall be handled using the "TP" semantics.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
tpSdu PduTriggering * ref Reference to a PduTriggering that shall be transported
using the "TP" semantics.
SomeipTpConfig
+tpChannel 0..*
+tpConnection 0..*
Identifiable
SomeipTpConnection SomeipTpChannel
+tpChannel
+ burstSize: PositiveInteger [0..1]
0..1
+ rxTimeoutTime: TimeValue [0..1]
+ separationTime: TimeValue [0..1]
Identifiable
PduTriggering
Class SomeipTpConfig
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note This element defines exactly one SOME/IP TP Configuration.
Tags:atp.recommendedPackage=TpConfigs
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable, TpConfig
Attribute Type Mult. Kind Note
tpChannel SomeipTpChannel * aggr Definition of SomeipTpChannels that are collecting
configuration properties that are valid for a collection of
SomeipTpConnections.
tpConnection SomeipTpConnection * aggr Senders and receivers of SOME/IP TP messages.
Class SomeipTpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A connection identifies the sender and the receiver of this particular communication. The SOME/IP TP
module routes a Pdu through this connection.
Base ARObject
Attribute Type Mult. Kind Note
tpChannel SomeipTpChannel 0..1 ref Assignment of configuration properties valid for this
SomeipTpConnection.
tpSdu PduTriggering 0..1 ref Reference to an IPdu that is segmented by the Transport
Protocol.
transportPdu PduTriggering 0..1 ref Reference to the segmented IPdu.
Class SomeipTpChannel
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note This element is used to assign properties to SomeipTpConnections that are referencing this SomeipTp
Channel.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
burstSize PositiveInteger 0..1 attr Specifies the number of segments that shall be
transmitted in a burst ignoring separationTime.
SeparationTime will then only be applied between bursts.
If not configured, SeparationTime will be applied between
all frames.
rxTimeoutTime TimeValue 0..1 attr Timer to monitor the successful reception. It is started
when the first NPdu is received, restarted after reception
of intermediate NPdus, and is stopped when the last
NPdu has been received.
separationTime TimeValue 0..1 attr Sets the duration of the minimum time in seconds the
SOME/IP TP module shall wait between the
transmissions of NPdus.
Table 6.238: SomeipTpChannel
There are two transport protocol variants defined by J1939: BAM (Broadcast Announce
Message), which is a broadcast protocol that does not use any flow control, and CMDT
(Connection Mode Data Transfer), which is a point-to-point protocol with flow control
and acknowledgment.
BAM uses two NPdus for transport, TP.CM (Transport Protocol Command, flowCon-
trolPdu) and TP.DT (Transport Protocol Data, dataPdu). CMDT uses three NPdus,
because an additional TP.CM (flowControlPdu) in reverse direction is needed for
flow control. The length of TP.CM and TP.DT NPdus is fixed to 8 bytes.
[TPS_SYST_01106] Usage of additional directPdu in case of variable length sdu
dIn case of variable length sdu (with system signals of variable length) an additional
directPdu is required:
• it is used if the current length of this sdu is up to 8 bytes.
• if the current length of this sdu is higher than 8 bytes the sdu will be transported
via the dataPdu.
c(RS_SYST_00014, RS_SYST_00038)
TpConfig
J1939TpConfig
«atpVariation»
+tpConnection 1..* «atpVariation» «atpVariation»
TpConnection
J1939TpConnection +tpNode 1..* +tpAddress 1..*
+receiver
Identifiable Identifiable
+ broadcast: Boolean
0..* J1939TpNode +tpAddress TpAddress
+ bufferRatio: PositiveInteger [0..1]
+ cancellation: Boolean [0..1] +transmitter 0..1 + tpAddress: Integer
+ dynamicBs: Boolean [0..1]
+ maxBs: PositiveInteger [0..1] 0..1
+ maxExpBs: PositiveInteger [0..1]
+ retry: Boolean [0..1]
+managedPhysicalChannel
0..*
Identifiable
PhysicalChannel
«atpVariation»
+connector 0..1 +commConnector 0..*
Identifiable
CommunicationConnector
Class J1939TpConnection
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A J1939TpConnection represents an internal path for the transmission or reception of a Pdu via J1939Tp
and describes the sender and the receiver of this particular communication. The J1939Tp module routes
a Pdu (J1939 PGN) through the connection.
Base ARObject, TpConnection
Attribute Type Mult. Kind Note
broadcast Boolean 1 attr BAM (Broadcast Announce Message) is a broadcast
protocol. If this attribute is set to true broadcast is used.
Since address FF is the only broadcast address, there’s
no reason to configure it.
bufferRatio PositiveInteger 0..1 attr Defines usage of available data for dynamic block size
calculation when protocol retry is enabled. This attribute
describes in percent of available buffer that shall be used
for retry.
cancellation Boolean 0..1 attr Enable support for Tx/Rx cancellation.
dataPdu NPdu 1 ref Data Message (TP.DT) used by CMDT and BAM.
The DataNPdu has a fixed length of 8 bytes.
dynamicBs Boolean 0..1 attr Enable support for dynamic block size calculation.
flowControlPdu NPdu 1..2 ref Reference to the Command NPdus (TP.CM) that are used
in the CMDT (Connection Mode Data Transfer) in both
directions.
BAM uses one TP.CM (Transport Protocol Command).
The flowControlNPdu has a fixed length of 8 bytes.
Please note that the role name "flowControlIPdu" is
misleading and is kept for backward compatibilty reasons.
maxBs PositiveInteger 0..1 attr Set maximum block size (number of packets in TP.CM_
CTS).
maxExpBs PositiveInteger 0..1 attr Set maximum for expected block size (maximum number
of packets in TP.CM_RTS).
receiver J1939TpNode * ref The target of the TP connection.
retry Boolean 0..1 attr Enable support for protocol retry.
tpPg J1939TpPg * aggr J1939 messages (parameter groups, PGs) that can be
transferred via this connection.
transmitter J1939TpNode 0..1 ref The source of the TP connection.
Class J1939TpPg
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note A J1939TpPg represents one J1939 message (parameter group, PG) identified by the PGN (parameter
group number) that can be received or transmitted via J1939Tp.
Base ARObject
Attribute Type Mult. Kind Note
directPdu NPdu 0..1 ref In case of variable length IPdus (with system signals of
variable length), an additional NPdu (with the PGN in the
CAN ID) is used for messages with up to 8 bytes.
5
4
Class J1939TpPg
pgn Integer 0..1 attr Parameter group number (PGN) of a J1939 message
(parameter group, PG) that can be received or
transmitted via J1939Tp. The PGN may be omitted when
the a directPdu is referenced and is mapped into a Can
FrameTriggering with an identifier.
requestable Boolean 0..1 attr Parameter Group can be triggered by the J1939 request
message.
sdu IPdu * ref Reference to IPdus that are segmented by the Transport
Protocol. If more than one IPdu is referenced, the IPdus
are used when the same PGN is received in parallel via
different transport protocols (BAM, CMDT, direct) on the
same J1939TpConnection.
Class J1939TpNode
Package M2::AUTOSARTemplates::SystemTemplate::TransportProtocols
Note TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
connector Communication 0..1 ref Association to a CommunicationConnector in the
Connector topology description. In a System Description this
reference is mandatory. In an ECU Extract this reference
is optional (references to ECUs that are not part of the
ECU Extract shall be avoided).
tpAddress TpAddress 0..1 ref Reference to the TP Address that is used by the TpNode.
This reference is optional only when no TP is sent and
only BAM is received.
[constr_3210] J1939TpPgs with identical pgn value dFor all J1939TpPgs where
the attribute pgn has an identical value the attribute requestable shall also have an
identical value.c()
The example in Figure 6.68 illustrate the usage of the System Template TP model.
In this System Description example the Sender ECU (Tester) communicates with the
Receiver ECU (Diagnostic Server) via two Gateways (GW1 and GW2).
CAN Bus 2
Receiver
GW2 ECU
TpAddress: 5
FlexRay Bus
GW1
CAN Bus 1
Sender
ECU
TpAddress:1
DiagnosticConnection:
physicalRequest TpConnection: CanTpConnection3
response TpConnection: CanTpConnection4
Please note that two different CanTpConfig elements are created for the two CAN
networks. The TpAddress of the transmitter TpNode is always 1 and the TpAddress
of the receiver TpNode is always 5, even in the FlexrayTpConfig where Gateway
ECU1 communicates with Gateway ECU2. The original transmitter and the final re-
ceiver are addressed in each connection. Please note that for CanTp for each direction
an own CanTpConnection is used.
The DiagnosticConnection is modeled only for the the last segment to which the
Receiver ECU that represents the diagnostic server is connected.
Receiver Receiver
GW2 ECU1 ECU2
multicast multicast
FlexRay Bus TpAddress: 10 TpAddress: 10
GW1
CAN Bus 1
Sender
ECU
TpAddress:1
multicast TpAddress: 10
Please note that the target TpNode does not contain a reference to the TpAddress.
The multicast TpAddress is described by a direct reference from the connection.
+functionalRequest
Referrable ARElement
TpConnection
+ident TpConnectionIdent 0..* DiagnosticConnection
0..1
+response
0..1
FlexrayArTpConnection
+responseOnEvent
+ connectionPrioPdus: Integer [0..1]
0..1
+physicalRequest
J1939TpConnection 0..1
+ broadcast: Boolean
+ bufferRatio: PositiveInteger [0..1]
+ cancellation: Boolean [0..1]
+ dynamicBs: Boolean [0..1]
+ maxBs: PositiveInteger [0..1]
+ maxExpBs: PositiveInteger [0..1]
+ retry: Boolean [0..1]
LinTpConnection
CanTpConnection
+ addressingFormat: CanTpAddressingFormatType
+ cancellation: Boolean [0..1]
+ maxBlockSize: Integer [0..1]
+ paddingActivation: Boolean
+ taType: NetworkTargetAddressType [0..1]
+ timeoutBr: TimeValue [0..1]
+ timeoutBs: TimeValue [0..1]
+ timeoutCr: TimeValue [0..1]
+ timeoutCs: TimeValue [0..1]
FlexrayTpConnection
+ bandwidthLimitation: Boolean
+periodicResponseUudt 0..*
Identifiable
DoIpTpConnection
+tpSdu PduTriggering
+doIpSourceAddress 1 +doIpTargetAddress 1
Identifiable
DoIpLogicAddress
+ address: Integer
c()
[TPS_SYST_05004] Usage of DiagnosticConnection in combination with
UUDT dIn addition to the usage of TP connections, the DiagnosticConnection
foresees the transmission of UUDT message for periodic response. For this purpose,
the role periodicResponseUudt is supported.c()
[constr_1367] periodicResponseUudt.periodicResponseUudt shall only re-
fer to a DcmIPdu dIf the role periodicResponseUudt exists then every PduTrig-
gering referenced in the role periodicResponseUudt shall only refer to a
DcmIPdu.c()
Please note that the meta-class TpConnectionIdent (derived from Referrable)
has been introduced for the purpose of allowing sub-classes of TpConnection to
become the target of a reference while preserving full backwards-compatibility to the
previous modeling.
This means in particular that the existence of a shortName is only required if the sub-
class of TpConnection shall actually represent the target of a reference in the context
of the definition of a DiagnosticConnection.
This, however, is kind of self-evident (because the reference would not work without the
existence of a shortName at the reference target) and therefore it is not necessary to
formulate an explicit constraint that clarifies this issue.
[constr_1368] Limitation of the target of references from DiagnosticConnec-
tion dDiagnosticConnection shall only reference (via the indirection created by
TpConnectionIdent) the following sub-classes of the meta-class TpConnection:
• CanTpConnection
• FlexrayTpConnection
• FlexrayArTpConnection
• DoIpTpConnection
c()
Class DiagnosticConnection
Package M2::AUTOSARTemplates::SystemTemplate::DiagnosticConnection
Note DiagnosticConncection that is used to describe the relationship between several TP connections.
Tags:atp.recommendedPackage=DiagnosticConnections
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
functional TpConnectionIdent * ref Reference to functional request messages.
Request
periodic PduTriggering * ref Reference to UUDT responses.
ResponseUudt
5
4
Class DiagnosticConnection
physical TpConnectionIdent 0..1 ref Reference to a physical request message.
Request
response TpConnectionIdent 0..1 ref In the vast majority of cases a response is required.
However, there are also cases where providing the
response is not possible and/or not allowed.
responseOn TpConnectionIdent 0..1 ref Reference to a ROE message.
Event
Table 6.243: DiagnosticConnection
Class TpConnectionIdent
Package M2::AUTOSARTemplates::SystemTemplate::DiagnosticConnection
Note This meta-class is created to add the ability to become the target of a reference to the non-Referrable Tp
Connection.
Base ARObject, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.245: TpConnectionIdent
Identifiable
FibexElement NmEcu
NmConfig +nmIfEcu
+ nmBusSynchronizationEnabled: Boolean [0..1]
«atpVariation,atpSplitable» 0..* + nmComControlEnabled: Boolean [0..1]
+ nmCycletimeMainFunction: TimeValue [0..1]
+ nmPduRxIndicationEnabled: Boolean [0..1]
+ nmRemoteSleepIndEnabled: Boolean [0..1]
+ nmStateChangeIndEnabled: Boolean [0..1]
«atpVariation,atpSplitable» + nmUserDataEnabled: Boolean [0..1]
«atpVariation,atpSplitable»
+nmCluster 0..* +nmClusterCoupling 0..*
Identifiable
NmClusterCoupling
NmCluster
+busDependentNmEcu
+ nmNodeIdEnabled: Boolean [0..1]
+ nmPncParticipation: Boolean [0..1]
+ nmRepeatMsgIndEnabled: Boolean [0..1]
+ nmSynchronizingNetwork: Boolean [0..1] +nmCoordinator 0..1
+ pncClusterVectorLength: PositiveInteger [0..1]
NmCoordinator
«atpVariation» 0..*
+nmNode
Identifiable
NmNode
+nmNode
+ nmCoordCluster: PositiveInteger [0..1]
0..* + nmCoordinatorRole: NmCoordinatorRoleEnum [0..1]
+ nmNodeId: Integer [0..1]
+communicationCluster
+ nmPassiveModeEnabled: Boolean [0..1]
0..1
FibexElement
«atpVariation» +txNmPdu 0..* +rxNmPdu 0..* +controller 0..1
CommunicationCluster Pdu Identifiable
+ baudrate: PositiveUnlimitedInteger [0..1] NmPdu «atpVariation»
+ protocolName: String [0..1] CommunicationController
+ protocolVersion: String [0..1] + nmDataInformation: Boolean [0..1]
+ nmVoteInformation: Boolean [0..1] + wakeUpByControllerSupported: Boolean [0..1]
+ unusedBitPattern: Integer [0..1]
+iSignalToIPduMapping 0..*
Identifiable «enumeration»
NmCoordinatorRoleEnum
ISignalToIPduMapping
Active
+ packingByteOrder: ByteOrderEnum [0..1] Passive
+ startPosition: UnlimitedInteger [0..1]
+ transferProperty: TransferPropertyEnum [0..1]
+ updateIndicationBitPosition: UnlimitedInteger [0..1]
NmNode23
NmNode13 Passive Channel
Passive Channel Slave Coordinator
CANChnl05
Slave Coordinator Active Channel Active Channel Cluster05
Active Channel NmNode41 NmNode51
NmNode31 NmNode42 NmNode52
CANChnl06
Cluster06
Non Coordinator NmNode44 NmNode54
NmNode63
Non Coordinator Non Coordinator
Non Coordinator
NmNode64
Figure 6.72 shows an example and the following section shows how the model shall
be used:
NmCluster: Cluster01
• NmNodes:
– NmNode11 (NmEcu1)
– NmNode12 (NmEcu2)
– NmNode13 (NmEcu3)
NmCluster: Cluster02
• NmNodes:
– NmNode21 (NmEcu1)
– NmNode22 (NmEcu4)
– NmNode23 (NmEcu5)
NmCluster: Cluster03
• NmNodes:
– NmNode31 (NmEcu3)
– NmNode32 (NmEcu6)
– NmNode33 (NmEcu7)
...
NmEcu1: NmCoordinator (MasterCoordinator)
• NmNode11 (nmCoordinatorRole: Active)
• NmNode21 (nmCoordinatorRole: Active)
NmEcu3: NmCoordinator (SlaveCoordinator)
• NmNode13 (nmCoordinatorRole: Passive)
• NmNode31 (nmCoordinatorRole: Active)
...
Class NmConfig
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note Contains the all configuration elements for AUTOSAR Nm.
Tags:atp.recommendedPackage=NmConfigs
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
nmCluster NmCluster * aggr Collection of NM Clusters
atpVariation: Derived, because cluster can be variable.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=nmCluster.shortName, nmCluster.variation
Point.shortLabel
vh.latestBindingTime=postBuild
nmCluster NmClusterCoupling * aggr Collection of NmClusterCouplings
Coupling
atpVariation: Derived, because NmCluster can vary.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=nmClusterCoupling, nmCluster
Coupling.variationPoint.shortLabel
vh.latestBindingTime=postBuild
nmIfEcu NmEcu * aggr Collection of NM ECUs
atpVariation: Derived, because EcuInstance can be
variable.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=nmIfEcu.shortName, nmIfEcu.variation
Point.shortLabel
vh.latestBindingTime=preCompileTime
4
Class NmCluster (abstract)
nmNodeId Boolean 0..1 attr Enables the source node identifier.
Enabled
nmPnc Boolean 0..1 attr Defines whether this NmCluster contributes to the partial
Participation network mechanism.
nmRepeatMsg Boolean 0..1 attr Switch for enabling the Repeat Message Bit Indication.
IndEnabled
nm Boolean 0..1 attr If this parameter is true, then this network is a
Synchronizing synchronizing network for the NM coordination cluster
Network which it belongs to. The network is expected to call Nm_
SynchronizationPoint() at regular intervals.
pncCluster PositiveInteger 0..1 attr Optionally defines the length of the PNC Vector per
VectorLength CommunicationCluster (and VLAN in case of UdpNm). If
not defined then System.pncVectorLength applies.
Should only make the PNC Vector shorter (or same
length as defined in System.pncVectorLength).
Tags:atp.Status=draft
For the placement of user data in an NmPdu several boundaries and constraints have
to be respected.
[TPS_SYST_03069] User data shall be defined within empty space of the NmPdu
dIf user data is defined it shall be located within the not already used bounds of the
NmPdu, specifically user data shall:
• not exceed NmPdu.length
• not be defined in the location where CBV and/or Nid are defined (nmCbvPosi-
tion and nmNidPosition are configured
• not be defined where the PncBitVector is located.
c()
[TPS_SYST_03070] User data shall be before the PncBitVector or after the
PncBitVector dIf NmCluster.nmPncParticipation is set to true then user data
shall be placed either:
• between CBV (control bit vector) and PncBitVector or
• after the PncBitVector.
There shall not be two sections with user data in one NmPdu if PncBitVector (one before
the PncBitVector and one after the PncBitVector).c()
[TPS_SYST_03071] Available space of user data with PncBitVector dIf NmClus-
ter.nmPncParticipation is set to true (i.e. partial network is enabled on that
NmCluster) then user data may be defined in the range:
• if the user data is mapped between the NM system bytes (CBV, Nid) and the
PncBitVector, then the size of user data range is determined by the difference
Class NmCoordinator
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note A NM coordinator is an ECU, which is connected to at least two busses, and where the requirement
exists that shutdown of NM of at least two of these busses (also referred to as coordinated busses) has
to be performed synchronously.
Base ARObject
Attribute Type Mult. Kind Note
index Integer 0..1 attr Identification of the NMCoordinator.
nmCoordSync Boolean 0..1 attr Switch for enabling NmCoordinatorSync (coordination of
Support nested busses) support.
nmGlobal TimeValue 0..1 attr This attribute defines the maximum shutdown time (in
Coordinator seconds) of a connected and coordinated NM-Cluster.
Time
nmNode NmNode * ref reference to busses (via NmNodes) that are coordinated
by the NmCoordinator.
Enumeration NmCoordinatorRoleEnum
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note Supported NmCoordinator roles.
Literal Description
Active Coordinator which "actively" performs NmCoordinator functionality at this channel
Tags:atp.EnumerationLiteralIndex=0
Passive Coordinator which "passively" performs NmCoordinator functionality at this channel - used at Nm
CoordinatorSync use case.
Tags:atp.EnumerationLiteralIndex=1
The following class tables specify the configuration parameters of FlexRay Nm.
Identifiable
FibexElement NmEcu
+busDependentNmEcu
+ nmPncParticipation: Boolean [0..1] + index: Integer [0..1]
+ nmRepeatMsgIndEnabled: Boolean [0..1] + nmCoordSyncSupport: Boolean [0..1]
+ nmSynchronizingNetwork: Boolean [0..1] + nmGlobalCoordinatorTime: TimeValue [0..1]
+ pncClusterVectorLength: PositiveInteger [0..1]
0..*
«atpVariation»
+nmNode 0..*
Identifiable
NmNode
FibexElement
«atpVariation»
CommunicationCluster +controller 0..1
+communicationCluster
+ baudrate: PositiveUnlimitedInteger [0..1] Identifiable
0..1 + protocolName: String [0..1] «atpVariation»
+ protocolVersion: String [0..1] CommunicationController
Identifiable
+txNmPdu 0..* +rxNmPdu 0..*
ISignalToIPduMapping
Pdu «enumeration»
+ packingByteOrder: ByteOrderEnum [0..1]
NmPdu FlexrayNmScheduleVariant
+ startPosition: UnlimitedInteger [0..1]
+iSignalToIPduMapping
+ transferProperty: TransferPropertyEnum [0..1] + nmDataInformation: Boolean [0..1] scheduleVariant1
+ updateIndicationBitPosition: UnlimitedInteger [0..1] 0..* + nmVoteInformation: Boolean [0..1] scheduleVariant2
+ unusedBitPattern: Integer [0..1] scheduleVariant3
scheduleVariant4
scheduleVariant5
scheduleVariant6
scheduleVariant7
Class FlexrayNmCluster
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note FlexRay specific NM cluster attributes.
Base ARObject, Identifiable, MultilanguageReferrable, NmCluster , Referrable
Attribute Type Mult. Kind Note
nmCarWakeUp PositiveInteger 0..1 attr Specifies the bit position of the CarWakeUp within the Nm
BitPosition Pdu.
nmCarWakeUp Boolean 0..1 attr If this attribute is set to true the CareWakeUp filtering is
FilterEnabled supported. In this case only the CarWakeUp bit within the
NmPdu with source node identifier nmCarWakeUpFilter
NodeId is considered as CarWakeUp request.
nmCarWakeUp PositiveInteger 0..1 attr Source node identifier for CarWakeUp filtering. If Car
FilterNodeId WakeUp filtering is supported (nmCarWakeUpFilter
Enabled), only the CarWakeUp bit within the NmPdu with
source node identifier nmCarWakeUpFilterNodeId is
considered as CarWakeUp request.
nmCarWakeUp Boolean 0..1 attr If set to true this attribute enables the support of CarWake
RxEnabled Up bit evaluation in received NmPdus.
nmDataCycle Integer 1 attr Number of FlexRay Communication Cycles needed to
transmit the Nm Data PDUs of all FlexRay Nm Ecus of
this FlexRayNmCluster.
nmMain TimeValue 0..1 attr Defines the processing cycle of the main function of FrNm
FunctionPeriod module.
nmRemote TimeValue 1 attr Timeout for Remote Sleep Indication in seconds. It
SleepIndication defines the time how long it shall take to recognize that all
Time other nodes are ready to sleep.
nmRepeat TimeValue 1 attr Timeout for Repeat Message State in seconds. Defines
MessageTime the time how long the NM shall stay in the Repeat
Message State.
nmRepetition Integer 1 attr Number of FlexRay Communication Cycles used to
Cycle repeat the transmission of the Nm vote Pdus of all Flex
Ray NmEcus of this FlexRayNmCluster. This value shall
be an integral multiple of nmVotingCycle.
nmVotingCycle Integer 1 attr Number of FlexRay CommunicationCycles needed to
transmit the Nm vote of Pdus of all FlexRay NmEcus of
this FlexRayNmCluster.
Class FlexrayNmEcu
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note FlexRay specific attributes.
Base ARObject, BusspecificNmEcu
Attribute Type Mult. Kind Note
nmHwVote Boolean 0..1 attr Switch for enabling the processing of FlexRay Hardware
Enabled aggregated NM-Votes.
nmMain Boolean 0..1 attr Parameter describing if the execution of the FrNm_Main
FunctionAcross function crosses theFlexRay cycle boundary or not.
FrCycle
Class FlexrayNmClusterCoupling
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note FlexRay attributes that are valid for each of the referenced (coupled) FlexRay clusters.
Base ARObject, NmClusterCoupling
Attribute Type Mult. Kind Note
coupledCluster FlexrayNmCluster * ref Reference to coupled FlexRay Clusters.
nmSchedule FlexrayNmSchedule 1 attr FrNm schedule variant according to FrNm SWS.
Variant Variant
Table 6.256: FlexrayNmClusterCoupling
Class FlexrayNmNode
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note FlexRay specific NM Node attributes.
Base ARObject, Identifiable, MultilanguageReferrable, NmNode, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 6.257: FlexrayNmNode
Enumeration FlexrayNmScheduleVariant
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note FrNm schedule variant according to FrNm SWS.
Literal Description
scheduleVariant1 NM-Vote and NM Data transmitted within one PDU in static segment. The NM-Vote has to be realized
as separate bit within the PDU.
Tags:atp.EnumerationLiteralIndex=0
scheduleVariant2 NM-Vote and NM-Data transmitted within one PDU in dynamic segment. The presence (or
non-presence) of the PDU corresponds to the NM-Vote
Tags:atp.EnumerationLiteralIndex=1
scheduleVariant3 NM-Vote and NM-Data are transmitted in the static segment in separate PDUs. This alternative is not
recommended => Alternative 1 should be used instead.
Tags:atp.EnumerationLiteralIndex=2
scheduleVariant4 NM-Vote transmitted in static and NM-Data transmitted in dynamic segment.
Tags:atp.EnumerationLiteralIndex=3
scheduleVariant5 NM-Vote is transmitted in dynamic and NM-Data is transmitted in static segment. This alternative is
not recommended => Variants 2 or 6 should be used instead.
Tags:atp.EnumerationLiteralIndex=4
scheduleVariant6 NM-Vote and NM-Data are transmitted in dynamic segment in separate PDUs.
Tags:atp.EnumerationLiteralIndex=5
scheduleVariant7 NM-Vote and a copy of the CBV are transmitted in the static segment (using the FlexRay NM Vector
support) and NM-Data is transmitted in the dynamic segment
Tags:atp.EnumerationLiteralIndex=6
The following class tables specify the configuration parameters of CAN Nm.
Identifiable
FibexElement NmEcu
NmConfig +nmIfEcu
+ nmBusSynchronizationEnabled: Boolean [0..1]
«atpVariation,atpSplitable» 0..* + nmComControlEnabled: Boolean [0..1]
+ nmCycletimeMainFunction: TimeValue [0..1]
+ nmPduRxIndicationEnabled: Boolean [0..1]
+ nmRemoteSleepIndEnabled: Boolean [0..1]
+ nmStateChangeIndEnabled: Boolean [0..1]
+ nmUserDataEnabled: Boolean [0..1]
«atpVariation,atpSplitable» «atpVariation,atpSplitable»
+nmCluster 0..* +nmClusterCoupling 0..*
Identifiable
NmClusterCoupling
NmCluster
+busDependentNmEcu
+ nmNodeIdEnabled: Boolean [0..1]
+ nmPncParticipation: Boolean [0..1]
+ nmRepeatMsgIndEnabled: Boolean [0..1]
+ nmSynchronizingNetwork: Boolean [0..1] 0..1
+nmCoordinator
+ pncClusterVectorLength: PositiveInteger [0..1]
NmCoordinator
+ nmBusloadReductionActive: Boolean
+ nmCarWakeUpBitPosition: PositiveInteger [0..1]
+ nmCarWakeUpFilterNodeId: PositiveInteger [0..1]
+ nmCbvPosition: Integer [0..1]
+ nmImmediateNmCycleTime: TimeValue [0..1] CanNmClusterCoupling
+ nmImmediateNmTransmissions: PositiveInteger
+ nmBusloadReductionEnabled: Boolean
+ nmMessageTimeoutTime: TimeValue
+ nmImmediateRestartEnabled: Boolean
+ nmMsgCycleTime: TimeValue
+ nmNetworkTimeout: TimeValue
CanNmEcu
+ nmNidPosition: Integer [0..1]
+ nmRemoteSleepIndicationTime: TimeValue
+ nmRepeatMessageTime: TimeValue +coupledCluster
+ nmWaitBusSleepTime: TimeValue
*
+nmNode 0..*
«atpVariation»
Identifiable
NmNode
FibexElement
+txNmPdu 0..* +rxNmPdu 0..*
«atpVariation»
CommunicationCluster Pdu CanNmNode
+ baudrate: PositiveUnlimitedInteger [0..1] NmPdu
+ allNmMessagesKeepAwake: Boolean [0..1]
+ protocolName: String [0..1] + nmDataInformation: Boolean [0..1] + nmCarWakeUpFilterEnabled: Boolean [0..1]
+ protocolVersion: String [0..1] + nmVoteInformation: Boolean [0..1] + nmCarWakeUpRxEnabled: Boolean [0..1]
+ unusedBitPattern: Integer [0..1] + nmMsgCycleOffset: TimeValue
+ nmMsgReducedTime: TimeValue
+iSignalToIPduMapping 0..*
Identifiable
ISignalToIPduMapping
Class CanNmCluster
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note Can specific NmCluster attributes
Base ARObject, Identifiable, MultilanguageReferrable, NmCluster , Referrable
Attribute Type Mult. Kind Note
nmBusload Boolean 1 attr It determines if bus load reduction for the respective Can
ReductionActive Nm channel is active or not.
nmCarWakeUp PositiveInteger 0..1 attr Specifies the bit position of the CarWakeUp within the Nm
BitPosition Pdu.
nmCarWakeUp PositiveInteger 0..1 attr Source node identifier for CarWakeUp filtering.
FilterNodeId
nmCbvPosition Integer 0..1 attr Defines the position of the control bit vector within the Nm
Pdu (Byte position). If this attribute is not configured, the
Control Bit Vector is not used.
nmImmediate TimeValue 0..1 attr Defines the immediate NmPdu cycle time in seconds
NmCycleTime which is used for nmImmediateNmTransmissions NmPdu
transmissions. This parameter is only valid if CanNm
ImmediateNmTransmissions is greater one.
nmImmediate PositiveInteger 1 attr Defines the number of immediate NmPdus which shall be
Nm transmitted. If the value is zero no immediate NmPdus
Transmissions are transmitted. The cycle time of immediate NmPdus is
defined by nmImmediateNmCycleTime.
nmMessage TimeValue 1 attr Timeout of an NmPdu in seconds. It determines how long
TimeoutTime the NM shall wait with notification of transmission failure
while communication errors occur on the bus.
nmMsgCycle TimeValue 1 attr Period of a NmPdu in seconds. It determines the periodic
Time rate in the periodic transmission mode with bus load
reduction and is the basis for transmit scheduling in the
periodic transmission mode without bus load reduction.
nmNetwork TimeValue 1 attr Network Timeout for NmPdus in seconds It denotes the
Timeout time how long the CanNm shall stay in the Network Mode
before transition into Prepare Bus-Sleep Mode shall take
place.
nmNidPosition Integer 0..1 attr Defines the byte position of the source node identifier
within the NmPdu. If this attribute is not configured, the
Node Identification is not used.
nmRemote TimeValue 1 attr Timeout for Remote Sleep Indication in seconds. It
SleepIndication defines the time how long it shall take to recognize that all
Time other nodes are ready to sleep.
nmRepeat TimeValue 1 attr Timeout for Repeat Message State in seconds. Defines
MessageTime the time how long the NM shall stay in the Repeat
Message State.
nmWaitBus TimeValue 1 attr Timeout for bus calm down phase in seconds. It denotes
SleepTime the time how long the CanNm shall stay in the Prepare
Bus-Sleep Mode before transition into Bus-Sleep Mode
shall take place.
Class CanNmClusterCoupling
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note CAN attributes that are valid for each of the referenced (coupled) CAN clusters.
Base ARObject, NmClusterCoupling
Attribute Type Mult. Kind Note
coupledCluster CanNmCluster * ref Reference to coupled CAN Clusters.
nmBusload Boolean 1 attr Enables busload reduction support
Reduction
Enabled
nmImmediate Boolean 1 attr Enables the asynchronous transmission of a CanNm
RestartEnabled PDU upon bus-communication request in
Prepare-Bus-Sleep mode.
Class CanNmNode
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note CAN specific NM Node attributes.
Base ARObject, Identifiable, MultilanguageReferrable, NmNode, Referrable
Attribute Type Mult. Kind Note
allNmMessages Boolean 0..1 attr Specifies if Nm drops irrelevant NM PDUs.
KeepAwake
false: Only NM PDUs with a Partial Network Information
Bit (PNI) = true and containing a Partial Network request
for this ECU trigger the standard RX indication handling
and thus keep the ECU awake
true: Every NM PDU triggers the standard RX indication
handling and keeps the ECU awake
nmCarWakeUp Boolean 0..1 attr If this attribute is set to true the CareWakeUp filtering is
FilterEnabled supported.
nmCarWakeUp Boolean 0..1 attr If set to true this attribute enables the support of CarWake
RxEnabled Up bit evaluation in received NmPdus.
nmMsgCycle TimeValue 1 attr Node specific time offset in the periodic transmission
Offset node. It determines the start delay of the transmission.
Specified in seconds.
nmMsg TimeValue 1 attr Node specific bus cycle time in the periodic transmission
ReducedTime mode with bus load reduction. Specified in seconds.
The UPD Nm model is similar to the Nm models of the other communication buses
but there are some specific characteristics due to the modeling of EthernetCluster
and EthernetPhysicalChannel (see also chapter 3.3.6).
The UdpNmCluster corresponds to one EthernetPhysicalChannel (VLAN).
Therefore it is required that for each EthernetPhysicalChannel on one Ether-
netCluster a respective UdpNmCluster with a reference to the EthernetPhysi-
calChannel is created. All of these UdpNmClusters point to the same Ethernet-
Cluster which the EthernetPhysicalChannels are contained in.
Thus, additionally to the reference from NmCluster to the CommunicationCluster
(which applies to all Nm models), there is need for an Ethernet specific reference from
the UdpNmCluster to the EthernetPhysicalChannel. This allows to specify for
which VLAN this UdpNmCluster applies.
FibexElement +physicalChannel Identifiable
+managedPhysicalChannel 0..*
«atpVariation» «atpVariation,atpSplitable» 1..* PhysicalChannel
CommunicationCluster
+communicationCluster 0..1
Identifiable
NmCluster EthernetPhysicalChannel
+ nmChannelSleepMaster: Boolean [0..1]
+ nmNodeDetectionEnabled: Boolean [0..1] +vlan 0..1
+ nmNodeIdEnabled: Boolean [0..1]
+ nmPncParticipation: Boolean [0..1]
+ nmRepeatMsgIndEnabled: Boolean [0..1]
+ nmSynchronizingNetwork: Boolean [0..1]
+ pncClusterVectorLength: PositiveInteger [0..1]
UdpNmCluster
The following class tables specify the configuration parameters of UDP Nm.
FibexElement
NmConfig
«atpVariation,atpSplitable» «atpVariation,atpSplitable»
+nmCluster 0..* +nmClusterCoupling 0..* «atpVariation,atpSplitable»
Identifiable
NmClusterCoupling +nmIfEcu 0..*
NmCluster
+nmIfEcu
Identifiable
+ nmChannelSleepMaster: Boolean [0..1]
+ nmNodeDetectionEnabled: Boolean [0..1] NmEcu 0..1
+ nmNodeIdEnabled: Boolean [0..1]
+ nmBusSynchronizationEnabled: Boolean [0..1]
+ nmPncParticipation: Boolean [0..1]
+ nmComControlEnabled: Boolean [0..1]
+ nmRepeatMsgIndEnabled: Boolean [0..1]
+ nmCycletimeMainFunction: TimeValue [0..1]
+ nmSynchronizingNetwork: Boolean [0..1]
+ nmPduRxIndicationEnabled: Boolean [0..1]
+ pncClusterVectorLength: PositiveInteger [0..1]
+ nmRemoteSleepIndEnabled: Boolean [0..1]
+ nmStateChangeIndEnabled: Boolean [0..1]
+ nmUserDataEnabled: Boolean [0..1]
PhysicalChannel
EthernetPhysicalChannel
+vlan 0..1
UdpNmCluster
UdpNmEcu
«atpVariation» +coupledCluster 0..*
+communicationCluster
UdpNmClusterCoupling
FibexElement
«atpVariation»
CommunicationCluster
0..1 + +nmNode 0..*
baudrate: PositiveUnlimitedInteger [0..1]
+ protocolName: String [0..1] Identifiable
+ protocolVersion: String [0..1] NmNode
Pdu +txNmPdu
NmPdu 0..* UdpNmNode
+rxNmPdu
+ nmDataInformation: Boolean [0..1] + allNmMessagesKeepAwake: Boolean [0..1]
+ nmVoteInformation: Boolean [0..1] 0..* + nmMsgCycleOffset: TimeValue [0..1]
+ unusedBitPattern: Integer [0..1]
+controller 0..1
+iSignalToIPduMapping 0..*
Identifiable
Identifiable
«atpVariation»
ISignalToIPduMapping CommunicationController
+ packingByteOrder: ByteOrderEnum [0..1] + wakeUpByControllerSupported: Boolean [0..1]
+ startPosition: UnlimitedInteger [0..1]
+ transferProperty: TransferPropertyEnum [0..1]
+ updateIndicationBitPosition: UnlimitedInteger [0..1]
Class UdpNmCluster
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note Udp specific NmCluster attributes
Base ARObject, Identifiable, MultilanguageReferrable, NmCluster , Referrable
Attribute Type Mult. Kind Note
nmCbvPosition Integer 0..1 attr Defines the position of the control bit vector within the Nm
Pdu (Byte position). If this attribute is not configured, the
Control Bit Vector is not used.
nmImmediate TimeValue 0..1 attr Defines the immediate NmPdu cycle time in seconds
NmCycleTime which is used for nmImmediateNmTransmissions NmPdu
transmissions. This attribute is only valid if nmImmediate
NmTransmissions is greater one.
nmImmediate PositiveInteger 0..1 attr Defines the number of immediate NmPdus which shall be
Nm transmitted. If the value is zero no immediate NmPdus
Transmissions are transmitted. The cycle time of immediate NmPdus is
defined by nmImmediateNmCycleTime.
nmMessage TimeValue 0..1 attr Timeout of a NmPdu in seconds. It determines how long
TimeoutTime the NM shall wait with notification of transmission failure
while communication errors occur on the bus.
nmMsgCycle TimeValue 0..1 attr Period of a NmPdu in seconds. It determines the periodic
Time rate in the periodic transmission mode with bus load
reduction and is the basis for transmit scheduling in the
periodic transmission mode without bus load reduction.
nmNetwork TimeValue 0..1 attr Network Timeout for NmPdus in seconds. It denotes the
Timeout time how long the UdpNm shall stay in the Network Mode
before transition into Prepare Bus-Sleep Mode shall take
place.
nmNidPosition Integer 0..1 attr Defines the byte position of the source node identifier
within the NmPdu. If this attribute is not configured, the
Node Identification is not used.
nmRemote TimeValue 0..1 attr Timeout for Remote Sleep Indication in seconds. It
SleepIndication defines the time how long it shall take to recognize that all
Time other nodes are ready to sleep.
nmRepeat TimeValue 0..1 attr Timeout for Repeat Message State in seconds. Defines
MessageTime the time how long the NM shall stay in the Repeat
Message State.
nmWaitBus TimeValue 0..1 attr Timeout for bus calm down phase in seconds. It denotes
SleepTime the time how long the CanNm shall stay in the Prepare
Bus-Sleep Mode before transition into Bus-Sleep Mode
shall take place.
vlan EthernetPhysical 0..1 ref Reference to the vlan (represented by the Ethernet
Channel PhysicalChannel) this UdpNmCluster shall apply to.
Class UdpNmClusterCoupling
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note Udp attributes that are valid for each of the referenced (coupled) UdpNm clusters.
Base ARObject, NmClusterCoupling
Attribute Type Mult. Kind Note
coupledCluster UdpNmCluster * ref Reference to coupled UdpNm Clusters.
nmImmediate Boolean 0..1 attr Enables the asynchronous transmission of a CanNm
RestartEnabled PDU upon bus-communication request in
Prepare-Bus-Sleep mode.
Class UdpNmNode
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note Udp specific NM Node attributes.
Base ARObject, Identifiable, MultilanguageReferrable, NmNode, Referrable
Attribute Type Mult. Kind Note
5
4
Class UdpNmNode
allNmMessages Boolean 0..1 attr Specifies if Nm drops irrelevant NM PDUs.
KeepAwake
false: Only NM PDUs with a Partial Network Information
Bit (PNI) = true and containing a Partial Network request
for this ECU trigger the standard RX indication handling
and thus keep the ECU awake
true: Every NM PDU triggers the standard RX indication
handling and keeps the ECU awake
nmMsgCycle TimeValue 0..1 attr Node specific time offset in the periodic transmission
Offset node. It determines the start delay of the transmission.
Specified in seconds.
The following class tables specify the configuration parameters of J1939 Nm.
Identifiable
FibexElement NmEcu
NmConfig +nmIfEcu
+ nmBusSynchronizationEnabled: Boolean [0..1]
«atpVariation,atpSplitable» 0..* + nmComControlEnabled: Boolean [0..1]
+ nmCycletimeMainFunction: TimeValue [0..1]
+ nmPduRxIndicationEnabled: Boolean [0..1]
+ nmRemoteSleepIndEnabled: Boolean [0..1]
+ nmStateChangeIndEnabled: Boolean [0..1]
+ nmUserDataEnabled: Boolean [0..1]
«atpVariation,atpSplitable»
+nmCluster 0..*
Identifiable
NmCluster
+busDependentNmEcu
+ nmNodeDetectionEnabled: Boolean [0..1] +nmIfEcu
+ nmNodeIdEnabled: Boolean [0..1]
+ nmPncParticipation: Boolean [0..1]
+ nmRepeatMsgIndEnabled: Boolean [0..1]
+ nmSynchronizingNetwork: Boolean [0..1]
+ pncClusterVectorLength: PositiveInteger [0..1]
0..*
BusspecificNmEcu
J1939NmCluster Identifiable
«atpVariation»
+ addressClaimEnabled: Boolean [0..1]
CommunicationController
+controller 0..1
«atpVariation»
+nmNode Identifiable
NmNode
0..*
+ nmCoordCluster: PositiveInteger [0..1]
+ nmCoordinatorRole: NmCoordinatorRoleEnum [0..1]
+communicationCluster + nmNodeId: Integer [0..1]
0..1 + nmPassiveModeEnabled: Boolean [0..1]
FibexElement
+txNmPdu 0..* +rxNmPdu 0..*
«atpVariation»
CommunicationCluster Pdu
J1939NmNode
NmPdu
+ baudrate: PositiveUnlimitedInteger [0..1]
+ protocolName: String [0..1] + nmDataInformation: Boolean [0..1]
+ protocolVersion: String [0..1] + nmVoteInformation: Boolean [0..1]
+ unusedBitPattern: Integer [0..1]
+nodeName 0..1
J1939NodeName
+ arbitraryAddressCapable: Boolean
+ ecuInstance: Integer
+ function: Integer
+ functionInstance: Integer
+ identitiyNumber: Integer
+ industryGroup: Integer
+ manufacturerCode: Integer
+ vehicleSystem: Integer
+ vehicleSystemInstance: Integer
Class J1939NmCluster
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note J1939 specific NmCluster attributes
Base ARObject, Identifiable, MultilanguageReferrable, NmCluster , Referrable
Attribute Type Mult. Kind Note
addressClaim Boolean 0..1 attr This attribute specifies whether the J1939Nm Bsw
Enabled module is used or not. If this attribute is set to false then
the J1939Nm configuration shall not be derived from the
system description. But even in this case the nmNodeId
might still be necessary for the J1939Rm and J1939Tp.
Class J1939NmNode
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note J1939 specific NM Node attributes.
Base ARObject, Identifiable, MultilanguageReferrable, NmNode, Referrable
Attribute Type Mult. Kind Note
nodeName J1939NodeName 0..1 aggr NodeName configuration
Class J1939NodeName
Package M2::AUTOSARTemplates::SystemTemplate::NetworkManagement
Note This element contains attributes to configure the J1939NmNode NAME.
Base ARObject
Attribute Type Mult. Kind Note
arbitrary Boolean 1 attr Arbitrary Address Capable field of the NAME of this node.
Address
Capable
ecuInstance Integer 1 attr ECU Instance field of the NAME of this node.
function Integer 1 attr Function field of the NAME of this node.
function Integer 1 attr Function Instance field of the NAME of this node.
Instance
identitiyNumber Integer 1 attr Identity Number field of the NAME of this node.
industryGroup Integer 1 attr Industry Group field of the NAME of this node.
manufacturer Integer 1 attr Manufacturer Code field of the NAME of this node.
Code
vehicleSystem Integer 1 attr Vehicle System field of the NAME of this node.
vehicleSystem Integer 1 attr Vehicle System Instance field of the NAME of this node.
Instance
Table 6.269: J1939NodeName
6.9.4.1 J1939SharedAddressCluster
There are two ways of identifying source and target nodes in routing relations in J1939
networks (see [TPS_SYST_02107] and [TPS_SYST_02108]).
ARElement
AtpStructureElement
System
«atpVariation,atpSplitable»
+j1939SharedAddressCluster 0..*
Identifiable
J1939SharedAddressCluster
+participatingJ1939Cluster 0..*
AbstractCanCluster
J1939Cluster
Class J1939SharedAddressCluster
Package M2::AUTOSARTemplates::SystemTemplate
Note This meta-class represents the ability to identify several J1939Clusters that share a common address
space for the routing of messages
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
participating J1939Cluster * ref This identifies the J1939Clusters that share a common
J1939Cluster address space
Testers connected via CAN will receive unmodified CAN frames and LIN frames with
special CAN IDs. Testers connected via Ethernet will receive a stream containing
current time, identification, and content of CAN, LIN, and FlexRay frames.
On intermediate FlexRay buses, a set of PDUs is used to transport streams of mirrored
frames with the same layout as on Ethernet.
[TPS_SYST_02202] Modeling of bus mirroring dThe BusMirrorChannelMapping
defines the bus mirroring in which the communication traffic of the sourceChannel is
forwarded to the targetChannel.c()
Class BusMirrorChannelMapping (abstract)
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines a bus mirroring in which the traffic from one communication bus (sourceChannel) is
forwarded to another one (targetChannel).
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Subclasses BusMirrorChannelMappingCan, BusMirrorChannelMappingFlexray, BusMirrorChannelMappingIp, Bus
MirrorChannelMappingUserDefined
Attribute Type Mult. Kind Note
sourceChannel BusMirrorChannel 0..1 aggr Defines the sourceChannel from which frames are
received.
targetChannel BusMirrorChannel 0..1 aggr Defines the targetChannel to which frames are forwarded.
targetPdu PduTriggering * ref Reference to the PduTriggering that is used for
Triggering transmission of the mirrored frames on the targetChannel.
Please note that on FlexRay several targetPduTriggerings
may be used. For all other communication channels only
a single targetPduTriggering is supported.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
+managedPhysicalChannel 0..*
0..1
«atpVariation,atpSplitable»
+pduTriggering 0..*
Identifiable
«atpVariation» +targetPduTriggering PduTriggering
0..*
+iPdu 1
FibexElement
Pdu
IPdu
GeneralPurposeIPdu
+managedPhysicalChannel 0..*
«atpVariation,atpSplitable»
+pduTriggering 0..*
+targetPduTriggering Identifiable
«atpVariation»
PduTriggering
0..*
BusMirrorChannelMappingCan
Figure 6.80: Bus mirroring between a CAN or LIN sourceChannel and a CAN targetChan-
nel
Class BusMirrorChannelMappingCan
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines the bus mirroring between a CAN or LIN sourceChannel and a CAN targetChannel.
Tags:atp.recommendedPackage=BusMirrorChannelMappings
Base ARObject, BusMirrorChannelMapping, CollectableElement, FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
canIdRange BusMirrorCanIdRange * aggr Rules for remapping of a set of CAN IDs.
Mapping Mapping
canIdToCanId BusMirrorCanIdToCanId * aggr Rules for remapping of single CanIds.
Mapping Mapping
linPidToCanId BusMirrorLinPidToCan * aggr Rules for remapping of single LIN Frames.
Mapping IdMapping
mirrorSourceLin PositiveInteger 0..1 attr Base ID merged with the LIN frame ID to form the CAN
ToCanRange ID.
BaseId
Only required when a BusMirrorChannel that refers to a
LinPhysicalChannel in the role channel is referenced in
the role sourceChannel.
5
4
Class BusMirrorChannelMappingCan
mirrorStatus PositiveInteger 0..1 attr CAN ID of the CAN status frame.
CanId
If configured, a status frame will be sent on the CAN
destination bus that contains the state of all active source
buses.
Table 6.274: BusMirrorChannelMappingCan
4
Class BusMirrorCanIdRangeMapping
Base ARObject
Attribute Type Mult. Kind Note
destinationBase PositiveInteger 1 attr Base ID merged with the masked parts of the original
Id CAN ID to form the mapped CAN ID.
sourceCanId PositiveInteger 1 attr Value to match masked original CAN IDs.
Code
sourceCanId PositiveInteger 1 attr Mask applied to original CAN IDs before comparison.
Mask
Table 6.275: BusMirrorCanIdRangeMapping
Class BusMirrorCanIdToCanIdMapping
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines a rule for remapping a single CAN ID.
Base ARObject
Attribute Type Mult. Kind Note
remappedCanId PositiveInteger 1 attr This attribute defines the CanId on the targetChannel.
souceCanId CanFrameTriggering 0..1 ref This reference points to the sourceFrame with sourceCan
Id on the sourceChannel.
Class BusMirrorLinPidToCanIdMapping
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines a rule for remapping a single LIN Frame.
Base ARObject
Attribute Type Mult. Kind Note
remappedCanId PositiveInteger 1 attr This attribute defines the CanId on the targetChannel.
sourceLinPid LinFrameTriggering 0..1 ref This reference points to the sourceFrame with sourceCan
Id on the sourceChannel.
+managedPhysicalChannel 0..*
«atpVariation,atpSplitable»
+pduTriggering 0..*
Identifiable
+targetPduTriggering PduTriggering
«atpVariation» 0..*
BusMirrorChannelMappingFlexray
+iPdu 1
FibexElement
Pdu
Figure 6.81: Bus mirroring between between a CAN, LIN or FlexRay sourceChannel and
a FlexRay targetChannel
Class BusMirrorChannelMappingFlexray
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines the bus mirroring between a CAN, LIN or FlexRay sourceChannel and a FlexRay
targetChannel.
Tags:atp.recommendedPackage=BusMirrorChannelMappings
Base ARObject, BusMirrorChannelMapping, CollectableElement, FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
transmission TimeValue 0..1 attr Time in seconds after which the collection of source
Deadline frames into the destination frame is stopped and the
frame is sent at the latest.
If omitted, destination frames are only sent when full or
when the time stamp overflows.
«atpVariation,atpSplitable»
+pduTriggering 0..*
Identifiable
«atpVariation» +targetPduTriggering PduTriggering
0..*
BusMirrorChannelMappingIp
Figure 6.82: Bus mirroring between between a CAN, LIN or FlexRay sourceChannel and
an Ethernet IP targetChannel
Class BusMirrorChannelMappingIp
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines the bus mirroring between a CAN, LIN or FlexRay sourceChannel and an Ethernet
IP targetChannel.
Tags:atp.recommendedPackage=BusMirrorChannelMappings
Base ARObject, BusMirrorChannelMapping, CollectableElement, FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
transmission TimeValue 0..1 attr Time in seconds after which the collection of source
Deadline frames into the destination frame is stopped and the
frame is sent at the latest.
If omitted, destination frames are only sent when full or
when the time stamp overflows.
«atpVariation,atpSplitable»
+pduTriggering 0..*
Identifiable
«atpVariation» +targetPduTriggering
PduTriggering
0..*
BusMirrorChannelMappingUserDefined
Figure 6.83: Bus mirroring between between a CAN, LIN or FlexRay sourceChannel and
a UserDefined targetChannel
Class BusMirrorChannelMappingUserDefined
Package M2::AUTOSARTemplates::SystemTemplate::BusMirror
Note This element defines the bus mirroring between a CAN, LIN or FlexRay sourceChannel and a User
Defined targetChannel.
Tags:atp.recommendedPackage=BusMirrorChannelMappings
Base ARObject, BusMirrorChannelMapping, CollectableElement, FibexElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
transmission TimeValue 0..1 attr Time in seconds after which the collection of source
Deadline frames into the destination frame is stopped and the
frame is sent at the latest.
If omitted, destination frames are only sent when full or
when the time stamp overflows.
6.11 Fan-out
AUTOSAR supports three different fan-outs:
• Signal fan-out
• Pdu fan-out
• Frame fan-out
Note that the specification in this section does not apply for Client/Server communica-
tion. The respective details are described in section 5.2.1.3.
A Signal fan-out can either be RTE fan-out or COM Signal Gateway fan-out. The details
are explained in the following subchapters.
The RTE supports a “signal fan-out” where two or more ISignals of the same Sys-
temSignal are sent in multiple ISignalIPdus to potentially multiple receivers.
[TPS_SYST_01109] RTE fan-out support for a SystemSignal dThe RTE fan-out
(signal fan-out) from a SystemSignal to multiple ISignals is enabled in the System
Description if the following conditions apply:
• several ISignals reference the SystemSignal in the role systemSignal and
• the SystemSignal is not referenced by a SystemSignalGroup
• a DataMapping references the SystemSignal and
• the DataMapping references an element in a PPortPrototype and
• the ISignals are transmitted by the EcuInstance on which the RTE is run-
ning, i.e. an ISignalTriggering exists that references the ISignal in the
role iSignal and references a ISignalPort of the EcuInstance with com-
municationDirection out.
c()
Figure 6.84 shows a scenario where the RTE does not need to perform a fan-out since
each SystemSignal is referenced by exactly one ISignal.
Please note that in all example scenarios that are shown in this chapter the ISignal-
ToIPduMappings shall be modeled for each ISignal or ISignalGroup. For sim-
plicity reasons, the following diagrams leave the ISignalToIPduMappings out and
just assume that they exist.
In addition for simplicity reasons the examples scenarios are showing always one OUT
EcuPort and/or one IN EcuPort. But the different ISignalTriggerings are also
allowed to reference own ISignalPorts that are defined on the EcuInstance.
P P SenderReceiverToSignalMapping SenderReceiverToSignalMapping
RTE
SystemSignal 1 SystemSignal 2
Figure 6.85 shows a scenario where the RTE needs to perform a fan-out since the
SystemSignal is referenced by two ISignals, a SenderReceiverToSignalMap-
ping is defined that maps a VariableDataPrototype in a SenderReceiverIn-
terface of a PPortPrototype to the SystemSignal and the ISignals are both
transmitted by the EcuInstance.
P SenderReceiverToSignalMapping
SystemSignal
RTE
ISignal 1 ISignal 2
ISignal1 ISignal2
COM ISignalTriggering ISignalTriggering
ECU Port
OUT
Figure 6.86 shows a scenario where the RTE does not need to perform a fan-
out since one of the ISignals that is referencing the SystemSignal is trans-
mitted by the EcuInstance and the second ISignal is received. In addi-
tion the SenderReceiverToSignalMapping that references the SystemSig-
nal references a VariableDataPrototype in a RPortPrototype and therefore
[TPS_SYST_01109] is not fulfilled.
R SenderReceiverToSignalMapping
SystemSignal
RTE
ISignal 1 ISignal 2
ISignal1 ISignal2
COM ISignalTriggering ISignalTriggering
Figure 6.86: Scenario where RTE does not perform a fan-out since one ISignal is re-
ceived and one is transmitted
is performed. Only if several ISignalGroups that are transmitted reference the same
SystemSignalGroup the RTE signal fan-out is performed.
Figure 6.87 shows a scenario where the RTE needs to perform a fan-out since the
SystemSignalGroup is referenced by two ISignalGroups, a SenderReceiver-
ToSignalGroupMapping is defined that maps a VariableDataPrototype in a
SenderReceiverInterface of a PPortPrototype to the SystemSignalGroup
and both ISignalGroups are transmitted by the EcuInstance.
SenderRecRecordTypeMapping
P SenderReceiverToSignalGroupMapping SenderRecRecordElementMapping
SystemSignalGroup SystemSignal
RTE
Figure 6.87: Scenario where RTE does perform a fan-out for a SystemSignalGroup
In Com [22] the Signal Gateway supports a fan-out where an incoming signal is routed
to several destinations.
[TPS_SYST_01110] Com Signal Gateway fan-out support dA Signal Gateway
fan-out (1:n routing) is described with the definition of several ISignalMappings in
the Gateway description, which all refer to the same source ISignalTriggering.c
()
Note that [constr_3514] applies for the relation between ISignalToIPduMapping to
ISignal.
Figure 6.88 shows a scenario where a Signal Gateway is defined in which the same
source ISignalTriggering is mapped by two ISignalMappings to two dedicated
target ISignalTriggerings. Since a DataMapping is not defined for the System-
Signal that is referenced by the received and transmitted ISignals the RTE is not
involved.
RTE
Gateway
COM
ISignalMapping ISignalMapping
ISignal1 ISignal2 ISignal3
Pdu1 Pdu2 Pdu3 ECU Port Target Source Target ECU Port
IN ISignalTriggering 2 ISignalTriggering 1 ISignalTriggering 3 OUT
PduR
SystemSignal
Figure 6.88: Scenario where the Com Gateway performs a fan-out and RTE is not in-
volved
Figure 6.89 shows a scenario where a Signal Gateway is defined in which the same
source ISignalTriggering is mapped by two ISignalMappings to two dedicated
target ISignalTriggerings. A DataMapping is defined for the SystemSignal
that is referenced by the received and transmitted ISignals. Therefore the RTE is
involved. But the rule for the RTE fan-out (see [TPS_SYST_01109] does not apply
since the DataMapping references an element in a RPortPrototype.
Gateway
R
ISignalMapping ISignalMapping
RTE
COM
ISignal2 ISignal1 ISignal3
ISignal1 ISignal2 ISignal3
Figure 6.89: Scenario where the Com Gateway performs a fan-out and RTE is involved
The Pdu Router supports the "PDU fan-out" where one IPdu is sent to multiple des-
tinations.
[TPS_SYST_01111] Pdu Router fan-out support dThe Pdu Router fan-out is de-
scribed by several PduTriggering elements pointing to the same Pdu3 .
The sending ECU/PDU router has an output IPduPort that has the value of commu-
nicationDirection set to out and is referenced by the PduTriggering. Accord-
ing to the Cluster/Channel aggregation, the Pdu Router determines the clusters to
use in its routing.c()
[TPS_SYST_01112] FlexrayCluster Pdu Router interaction dThe following con-
dition applies only in case of FlexRay on the same FlexrayCluster if two PduTrig-
gerings refer to the same Pdu: this Pdu shall only be sent once to the FlexRay Inter-
face. In other words the Pdu Router sends only one Pdu Transmission request to the
FlexRay Interface.c()
COM ISignal
ISignal_S1
Pdu
PduR
Can_Pdu FlexRay_Pdu
ISignalToPDUMapping
S1ToIPdu
CanIf FlexRayIf
IPdu
PduTriggering PduTriggering
The Flexray interface supports a fan-out where one Pdu is mapped into more than one
frame on the same CommunicationCluster.
[TPS_SYST_01113] FlexRay Interface fan-out support dThe redundant transmis-
sion in the FlexRay Interface in the static segment is described by
• one FlexrayFrameTriggering on each PhysicalChannel
• both FlexrayFrameTriggerings refer to the same FlexrayFrame with the
same Pdu
3
AUTOSAR Layered Architecture [15] defines which Pdu types are routed by the Pdu Router
Pdu
PduR PDUToFrameMapping
Pdu
FlexRayIf Frame
Frame1 Frame2
FlexRay FlexRay
Channel A Channel B
FrameTriggering FrameTriggering
Channel A Channel B
6.12 Fan-in
AUTOSAR supports the following fan-ins:
• RTE Signal fan-in
• Pdu fan-in
• IPdu Container fan-in
Note that the specification in this section does not apply for Client/Server communica-
tion. The respective details are described in section 5.2.1.3.
The RTE supports a “signal fan-in” where two or more ISignals of the same Sys-
temSignal are received in multiple ISignalIPdus from potentially multiple senders,
as described in [SWS_Rte_03760] and [SWS_Rte_03761].
[TPS_SYST_02357] RTE fan-in support for a SystemSignal dRTE fan-in from mul-
tiple ISignals to a single SystemSignal is enabled in a System Description if the
following conditions apply:
• several ISignals reference the SystemSignal in the role systemSignal and
• the SystemSignal is not referenced by a SystemSignalGroup
• a DataMapping references the SystemSignal and
• the DataMapping references an element in a RPortPrototype and
• the ISignals are received by the EcuInstance on which the RTE is running,
i.e. an ISignalTriggering exists that references the ISignal in the role
iSignal and references a ISignalPort of the EcuInstance with communi-
cationDirection in.
c()
Figure 6.84 shows a scenario where the RTE does not need to perform a fan-in since
each SystemSignal is referenced by exactly one ISignal.
Please note that in all example scenarios that are shown in this chapter the ISignal-
ToIPduMappings shall be modeled for each ISignal or ISignalGroup. For sim-
plicity reasons, the following diagrams leave the ISignalToIPduMappings out and
just assume that they exist.
In addition for simplicity reasons the examples scenarios are showing always one OUT
EcuPort and/or one IN EcuPort. But the different ISignalTriggerings are also
allowed to reference own ISignalPorts that are defined on the EcuInstance.
R R SenderReceiverToSignalMapping SenderReceiverToSignalMapping
RTE
SystemSignal 1 SystemSignal 2
Figure 6.93 shows a scenario where the RTE needs to perform a fan-in since the
SystemSignal is referenced by two ISignals, a SenderReceiverToSignalMap-
ping is defined that maps a VariableDataPrototype in a SenderReceiverIn-
terface of a RPortPrototype to the SystemSignal and the ISignals are both
received by the EcuInstance.
R SenderReceiverToSignalMapping
SystemSignal
RTE
ISignal 1 ISignal 2
ISignal1 ISignal2
COM ISignalTriggering ISignalTriggering
ECU Port
IN
A fan-in of two ISignalGroups can be modeled as well. In that case, two or more
ISignalGroups refer to the same SystemSignalGroup, and each of the contained
ISignals of the ISignalGroup needs to refer to its corresponding SystemSignal
which in turn is part of the SystemSignalGroup.
[TPS_SYST_02358] RTE fan-in support for a SystemSignalGroup dRTE fan-in
from multiple ISignalGroups to a single SystemSignalGroup is enabled in a Sys-
tem Description if the following conditions apply:
• several ISignalGroups reference the SystemSignalGroup in the role sys-
temSignalGroup and
• a DataMapping references the SystemSignalGroup and
• the DataMapping references an element in a RPortPrototype and
• each of the contained ISignals of the ISignalGroup refers to its correspond-
ing SystemSignal which in turn is part of the SystemSignalGroup and
• the ISignalGroups are received by the EcuInstance on which the RTE is run-
ning, i.e. an ISignalTriggering exists that references the ISignalGroup in
the role iSignalGroup and references a ISignalPort of the EcuInstance
with communicationDirection in.
c()
Figure 6.94 shows a scenario where the RTE needs to perform a fan-in since the
SystemSignalGroup is referenced by two ISignalGroups, a SenderReceiver-
ToSignalGroupMapping is defined that maps a VariableDataPrototype in a
SenderReceiverInterface of a RPortPrototype to the SystemSignalGroup
and both ISignalGroups are transmitted by the EcuInstance.
SenderRecRecordTypeMapping
R SenderReceiverToSignalGroupMapping SenderRecRecordElementMapping
SystemSignalGroup SystemSignal
RTE
ISignalGroup1 ISignalGroup2
COM ISignalTriggering ISignalTriggering ISignalTriggering ISignalTriggering
Figure 6.94: Scenario where RTE does perform a fan-in for a SystemSignalGroup
The Pdu Router supports the “PDU fan-in” where one IPdu is received from several
sources.
[TPS_SYST_02376] Pdu Router fan-in support dThe Pdu Router fan-in is described
by several PduTriggering elements that are referencing the same Pdu and each
of these PduTriggerings is referencing an IPduPort with communicationDi-
rection set to in of the same EcuInstance. According to the Cluster/Channel
aggregation, the Pdu Router determines the clusters to use in its routing.c()
COM ISignal
PduR ISignalToIPduMapping
PduTriggering PduTriggering
IPduPort
IN
Using the ContainerIPdu (see section 6.3.1) it is possible to transport several Con-
tained IPdus in one ContainerIPdu.
It is also possible to accept a Contained IPdu from any ContainerIPdu with Con-
tainerIPdu.rxAcceptContainedIPdu set to RxAcceptContainedIPduEnum.
acceptAll.
The example in figure 6.96 illustrates a scenario where in the configuration the Con-
tainedIPdu is explicitly defined to be part of the two ContainerIPdus CIPdu1 and
CIpdu3. Both ContainerIPdus have rxAcceptContainedIPdu set to accep-
tAll.
But also ContainerIPdu CIPdu2 has rxAcceptContainedIPdu set to accep-
tAll. And there is no explicit placement of ContainedIPdu in CIPdu2.
Due to the nature of acceptAll, if ContainedIPdu is received in CIPdu2 it will also
be forwarded to the Pdu Router.
ISignal
ISignal_S1
COM
ISignalToPDUMapping
ContainedIPdu
S1ToIPdu
PduR
ContainedIPdu
ContainedIPdu
IPduM (acceptAll)
CIPdu1 CIPdu2 CIPdu3 PduTriggering
PduR
+dltMessage 0..*
Identifiable
ARElement DltMessage
LogAndTraceMessageCollectionSet +dltMessage +dltMessage
+ messageId: PositiveInteger [0..1]
«atpVariation,atpSplitable»
0..* + messageLineNumber: PositiveInteger [0..1] 0..*
+ messageSourceFile: String [0..1]
+ messageTypeInfo: String [0..1]
Identifiable
DltArgument
+networkRepresentation 0..1
«atpVariation»
SwDataDefProps
System Template
Identifiable
DltLogChannel
DltConfig + defaultTraceState: DltDefaultTraceStateEnum [0..1]
+dltLogChannel
+ sessionIdSupport: Boolean [0..1] + logChannelId: String [0..1]
+ timestampSupport: Boolean [0..1] 0..* + logTraceDefaultLogThreshold: LogTraceDefaultLogLevelEnum [0..1]
+ nonVerboseMode: Boolean [0..1]
+dltConfig 0..1
FibexElement
EcuInstance
+iPdu 1
FibexElement
«enumeration» «enumeration»
LogTraceDefaultLogLevelEnum Pdu IPdu
DltDefaultTraceStateEnum
fatal + hasDynamicLength: Boolean [0..1]
DefaultTraceStateEnabled
error + length: UnlimitedInteger [0..1]
DefaultTraceStateDisabled
warn GeneralPurposeIPdu
info
debug
verbose
off
Class DltLogChannel
Package M2::AUTOSARTemplates::SystemTemplate::Dlt
Note This element contains the settings for the log/trace message output for a tuple of ApplicationId and
ContextId (verbose mode) or a SessionId (non-verbose mode).
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
application DltContext * ref Reference to the Swc that produces the log or trace
Context message. Please note that this reference shall not be set
in case that the Bsw module produces the associated log
or trace messages.
defaultTrace DltDefaultTraceState 0..1 attr This attributes defines the default trace status.
State Enum
dltMessage DltMessage * ref Reference to DltMessages that can be transported over
the DltLogChannel in the DltPdu.
logChannelId String 0..1 attr This attribute identifies the Channel for usage within the
Log And Trace protocol.
logTraceDefault LogTraceDefaultLog 0..1 attr This attribute allows to set a log level Threshold for Log
LogThreshold LevelEnum Level filtering.
nonVerbose Boolean 0..1 attr This attribute defines whether this channel supports
Mode non-Verbose Dlt messages. If disabled only verbose
mode messages shall be used.
5
4
Class DltLogChannel
rxPduTriggering PduTriggering 0..1 ref Reference to DltPdu that is received by the DltLog
Channel
txPduTriggering PduTriggering 0..1 ref Reference to DltPdu that is transmitted by the DltLog
Channel.
Enumeration DltDefaultTraceStateEnum
Package M2::AUTOSARTemplates::SystemTemplate::Dlt
Note This enumeration defines the supported values for the Dlt default trace state.
Literal Description
DefaultTraceState The default trace state is disabled
Disabled
Tags:atp.EnumerationLiteralIndex=1
DefaultTraceState The default trace state is enabled
Enabled
Tags:atp.EnumerationLiteralIndex=0
Enumeration LogTraceDefaultLogLevelEnum
Package M2::AUTOSARTemplates::SystemTemplate::Dlt
Note This enum defines available log&trace log levels that may be used to define the severity level of a log
message.
Literal Description
debug Detailed information for programmers
Tags:atp.EnumerationLiteralIndex=4
error Error with impact to correct functionality
Tags:atp.EnumerationLiteralIndex=1
fatal Fatal error
Tags:atp.EnumerationLiteralIndex=0
info High level information
Tags:atp.EnumerationLiteralIndex=3
off logging is turned off
Tags:atp.EnumerationLiteralIndex=6
verbose Verbose debug message
Tags:atp.EnumerationLiteralIndex=5
warn Warning if correct behavior cannot be ensured
Tags:atp.EnumerationLiteralIndex=2
CDD
UserDefinedIPdu
PDU Router
UserDefinedIPdu
UserDefinedIPdu
Bus Tp
N-PDU
Communication
HW
Bus Interface Abstraction
L-PDU
Communication Drivers
Bus Driver
CDD
UserDefinedPdu
Communication
HW
Bus Interface Abstraction
L-PDU
Communication Drivers
Bus Driver
This modeling allows for the arbitrary definition of meta-data semantics that - of course
- has to be supported by the Pdu where a specific dataElement is finally mapped to.
This consistency is ensured by deriving the Pdu meta-data from the modeling
in SenderReceiverInterfaces. However, this approach can only work if all
dataElements mapped to the given Pdu define the same meta-data structure or do
not define the usage of meta-data at all.
[constr_5100] Compatibility of two MetaDataItemSets dUnder the condition that
sender and receiver typed by a SenderReceiverInterface use meta-data and
are mapped to the same EcuInstance the following condition applies: two Meta-
DataItemSets are compatible if all of the following conditions are fulfilled:
• They aggregate the same number of MetaDataItems.
• The value of MetaDataItem.length of corresponding MetaDataItems is
identical.
• The value of MetaDataItem.metaDataItemType of corresponding Meta-
DataItems is identical.
c()
[constr_5101] Consistent Definition of meta-data dIf the dataElement referenced
by a SenderReceiverToSignalMapping is also referenced by a MetaDataItem-
Set in the role dataElement and the mapping via SystemSignal, ISignal, and
ISignalToIPduMapping down to an ISignalIPdu exists then all other dataEle-
ments that are also mapped to the same ISignalIPdu shall either
• not be referenced by a MetaDataItemSet in the role dataElement (i.e. does
not make use of meta-data) or
• the definition of meta-data in the context of the affected SenderReceiverIn-
terfaces is compatible (according to the definition of compatible specification
of meta-data described in [constr_5100]).
c()
Ethernet CAN
Gateway ECU
(Classic AUTOSAR)
- AUTOSAR Confidential -
The goal
6
of thisSetchapter
date in Insert ->
is to standardize a translation between the two communication
Set footer in Insert -> Header & Footer
transport configurations
Header & Footer
on an AUTOSAR Classic platform ECU. A similar approach is
also provided in the Manifest specification for the Adaptive platform [33]. It is up to the
vehicle architecture design to choose whether the signal/service translation
shall be implemented on a Classic platform ECU or on an Adaptive platform Machine.
Gateway ECU
COM Based
Serializer
Transformer
RTE
COM-Stack
- AUTOSAR Confidential -
For the signal-based part the full functionality of the Classic platform COM-Stack is
8 Signal Service
available andTranslation
may be configured such that the signal-based ISignalIPdus may orig-
inate from a variety of sources (Can, Lin, FlexRay) and the ISignalIPdus may be
safety and security protected.
For the service-oriented part it has to be guaranteed that the defined SOME/IP Service
actually is compatible to the Adaptive platform. This applies for the payload part (e.g.
the SOME/IP serializer has to be used) as well as for the control path using BswM and
ServiceDiscovery.
The behavioral part of the Translation Software Component itself defines how the data
from signal-based side is transported to the service-oriented side, and vice versa (see
section 6.16.4).
The following terminology is used in the context of signal/service translation:
Signal/service translation defines the feature this chapter is concerned with. It does
not prescribe a specific translation direction.
Signal-service-translation defines the translation direction from a signal-based to a ser-
vice oriented representation.
Service-signal-translation defines the translation direction from a service oriented to a
signal-based representation.
The handling of methods (or getter/setter calls of fields) has to be serialized using the
SOME/IP transformer. And this is only supported on Ethernet networks (see [con-
str_5117]).
Therefore there is no need to perform a translation because the methods are already
usable on the adaptive platform.
ARElement FibexElement
SignalServiceTranslationPropsSet ISignalIPduGroup
«enumeration» AbstractServiceInstance
SignalServiceTranslationControlEnum
ConsumedServiceInstance
translationStart
partialNetwork
serviceDiscovery
«atpVariation»
+consumedEventGroup 0..*
+controlConsumedEventGroup Identifiable
ConsumedEventGroup
0..*
+controlProvidedEventGroup Identifiable
EventHandler
0..*
+eventHandler 0..*
«atpVariation»
+signalServiceTranslationEventProps 0..*
Class SignalServiceTranslationPropsSet
Package M2::AUTOSARTemplates::CommonStructure::SignalServiceTranslation
Note Collection of SignalServiceTranslationProps.
Tags:atp.recommendedPackage=SignalServiceTranslationProps
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
signalService SignalService * aggr Collection of SignalServiceTranslationProps.
Translation TranslationProps
Props
Class SignalServiceTranslationProps
Package M2::AUTOSARTemplates::CommonStructure::SignalServiceTranslation
Note This element allows to define the properties which are applicable for the signal/service translation
service.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
control ConsumedEventGroup * ref Reference to the EventGroup which encapsulates the
Consumed signal-based payload.
EventGroup
controlPnc PncMappingIdent * ref Reference to the PNCs which control the offer/subscribe
behavior of the translated service instance.
controlProvided EventHandler * ref Reference to the provided event group (aka Event
EventGroup Handler) which is automatically available when service
Control equals translationStart.
5
4
Class SignalServiceTranslationProps
serviceControl SignalService 1 attr Defines how the service instance control shall behave.
TranslationControlEnum
signalService SignalService * aggr Defines properties for a single translated event.
Translation TranslationEventProps
EventProps
Class SignalServiceTranslationEventProps
Package M2::AUTOSARTemplates::CommonStructure::SignalServiceTranslation
Note This element allows to define the properties which are applicable for the signal/service translation event.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
elementProps SignalService * aggr Defines properties for a single translated element.
TranslationElement
Props
safeTranslation Boolean 1 attr Defined whether the translation shall happen in a safe
way.
secure Boolean 1 attr Defined whether the translation shall happen in a secure
Translation way.
translation VariableDataPrototype 0..1 iref Reference to a VariableDataPrototype representing the
Target target of signal/service translation.
InstanceRef implemented by:VariableDataPrototypeIn
SystemInstanceRef
SignalServiceTranslationProps X
R2 P2 SignalServiceTranslationEventProps B
VariableAndParameterInterfaceMapping vpim1
• DataPrototypeMapping mapping1
• firstDataPrototype=dataX
• secondDataPrototype=dataZ1
• subElementMapping
PassThroughConnector ptc1 • firstElement=ifX.dataX.A
• requiredOuterPort: R1 • secondElement=ifZ.dataZ1.A
• providedOuterPort: P1 • subElementMapping
• firstElement=ifX.dataX.C
• secondElement=ifZ.dataZ1.C
S/R Interface ifX
- dataX {A,C}
- AUTOSAR
Figure 6.104: Mapping description using Confidential -
PassThroughSwConnectors and PortInter-
faceMappings
13 Set date in Insert ->
Header & Footer
Set footer in Insert -> Header & Footer
VariableAndParameterInterfaceMapping vpim1
• DataPrototypeMapping mapping1
PassThroughConnector ptc1 • firstDataPrototype=dataA
• requiredOuterPort: R1 • secondDataPrototype=dataZ1
• providedOuterPort: P1 • subElementMapping
• firstElement=???.dataA
• secondElement=ifZ.dataZ1.A
- AUTOSAR
Figure 6.105: Not supported mapping description using Confidential -
PassThroughSwConnectors
and14PortInterfaceMappings
Set date in Insert -> Set footer in Insert -> Header & Footer
Header & Footer
Identifiable
SignalServiceTranslationProps
+ serviceControl: SignalServiceTranslationControlEnum
+signalServiceTranslationEventProps 0..*
Identifiable AutosarDataPrototype
+translationTarget
SignalServiceTranslationEventProps VariableDataPrototype
«instanceRef» 0..1
+ safeTranslation: Boolean «enumeration»
+ secureTranslation: Boolean DataFilterTypeEnum
always
maskedNewEqualsX
maskedNewDiffersMaskedOld
+elementProps 0..* maskedNewDiffersX
never
Identifiable +element newIsWithin
DataPrototypeReference
SignalServiceTranslationElementProps newIsOutside
0..1 + tagId: PositiveInteger [0..1] oneEveryN
+ transmissionTrigger: Boolean [0..1]
+filter 0..1
+dataPrototypeInClientServerInterface 0..1
DataPrototypeInPortInterfaceInstanceRef
DataPrototypeInClientServerInterfaceInstanceRef
Class SignalServiceTranslationElementProps
Package M2::AUTOSARTemplates::CommonStructure::SignalServiceTranslation
Note Defined translation properties for individual mapped elements.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
element DataPrototype 0..1 aggr Reference to the leaf element the SignalService
Reference TranslationElementProps apply to.
filter DataFilter 0..1 aggr Defines an optional filter to be applied during translation.
transmission Boolean 0..1 attr Defines whether the source element (which is mapped to
Trigger the referenced element) triggers the sending of the
respective payload.
• maskedNewEqualsX
• never
• newIsOutside
• newIsWithin
• oneEveryN.
c()
[constr_3656] Supported filter types for composite SignalServiceTransla-
tionElementProps dIf the target for SignalServiceTranslationElement-
Props is defined as composite according to [TPS_SYST_03062] then the following
values for dataFilterType are supported:
• always
• never
• oneEveryN.
c()
The SignalServiceTranslationElementProps.transmissionTrigger de-
fines whether translated data actually triggers the sending of the SignalService-
TranslationEventProps.translationTarget.
One aspect is when the translationTarget is composed out of several sources
(see [TPS_SYST_03040]). In this section the discussion is about whether trans-
missionTrigger is also applicable for the case where the translationTarget is
created out of one source.
If the Translation Application Software Component is implemented to perform the
signal/service translation in a periodic way (see [TPS_SYST_03042] and
[TPS_SYST_03043]) the transmissionTrigger can be used to define whether the
signal/service translation of that specific data actually triggers the sending or
whether the sending is deferred to the periodic invocation of the Translation Application
Software Component.
If the signal/service translation is configured to be done in a periodic way,
then
• if the transmissionTrigger is set to true at least once then the transla-
tionTarget will be produced based on the periodicity AND additionally every
time the input data arrives where transmissionTrigger is set to true
• if the transmissionTrigger is set to false for all members of the trans-
lationTarget then the translationTarget will be produced based on the
periodicity ONLY.
If the signal/service translation is configured to be done in a NON periodic
way (event driven only), then
The mapping setup in figure 6.107 shows an example of a true multi-source mapping
definition: The content of dataZ3 is composed out of several sources: dataX and
PassThroughConnector and InterfaceMapping and collection from different sources
dataY.
VariableAndParameterInterfaceMapping vpim1
• DataPrototypeMapping mapping1
• firstDataPrototype=dataX
• secondDataPrototype=dataZ3
• subElementMapping
PassThroughConnector ptc1 • firstElement=ifX.dataX.A
• requiredOuterPort: R1 • secondElement=ifZ.dataZ3.A
• providedOuterPort: P1 • subElementMapping
• firstElement=ifX.dataX.C
• secondElement=ifZ.dataZ3.C
S/R Interface ifX
- dataX {A,C}
P1
R2
The configuration of target data elements which are composed from several sources
into the target data element is always defined from the perspective of the target data
element.
The root of the target data element is defined by the reference SignalService-
TranslationEventProps.translationTarget. With this reference the SwCom-
ponentPrototype hosting the signal/service translation is defined, as well
as the PPortPrototype, and the translationTarget VariableDataProto-
type.
In case of signal/service translation from several sources the transla-
tionTarget VariableDataPrototype is composed out of several sources. But
the definition of element translation attributes happens on the target data elements:
SignalServiceTranslationElementProps is used to define transmission-
Trigger and filter attributes for one leaf member of the translationTar-
get data element. In order to find the source data element to be translated
the PassThroughSwConnectors and potential VariableAndParameterInter-
faceMappings have to be considered as well.
Since the translationTarget may be composed from several sources a restriction
applies to the swImplPolicy of the involved source data.
A setup where several source data elements have the attribute swImplPolicy set to
queued leads to runtime issues, as - at the point in time when the translation-
Target shall be composed - all the source data elements need to be gathered. But
in case of a source data element where swImplPolicy is set to queued a source
data element queue might be empty. An empty queue might have a variety of reasons,
e.g. the rate at which the queue is filled is slower than the rate the signal/service
translation consumes the data.
Thus it would be very unlikely that all the source data element queues have at least
one element to be read and consumed at the point in time when the signal/service
translation tries to read them.
[TPS_SYST_03059] At most one queued source input in case of signal/ser-
vice translation from several sources dIf the SignalServiceTranslation-
EventProps.translationTarget is composed out of several sources then at most
one of these sources shall have the attribute swImplPolicy set to queued.c(RS_-
SYST_00059)
[TPS_SYST_03060] Source input with queued semantics shall have transmis-
sionTrigger set to true dIf a source data element has the attribute swImplPolicy
set to queued then the corresponding target SignalServiceTranslationEle-
mentProps shall have the attribute transmissionTrigger set to true.
This shall be the only SignalServiceTranslationElementProps which has
transmissionTrigger set to true in the scope of the SignalServiceTransla-
tionEventProps.c(RS_SYST_00059)
Note: [TPS_SYST_03060] implies that only one source can be queued and that source
shall be the only source which has the transmissionTrigger set to true.
The queued reception of a source data element might cause an issue (e.g., unclear
behavior in case of empty queues or queue overruns) with the periodic reception
VariableAndParameterInterfaceMapping vpim1
• DataPrototypeMapping mapping1
• firstDataPrototype=dataX
• secondDataPrototype=dataZ1
• subElementMapping
PassThroughConnector ptc1 • firstElement=ifX.dataX.A
• requiredOuterPort: R1 • secondElement=ifZ.dataZ1.L
• providedOuterPort: P1 • subElementMapping
• firstElement=ifX.dataX.C
• secondElement=ifZ.dataZ1.K
S/R Interface ifX
- dataX {A,C}
AtomicSoftwareComponent
P1.dataZ1.K = R1.dataX.C;
R1 P1.dataZ1.L = R1.dataX.A; P1
- AUTOSAR Confidential -
12
6.16.3 Service discovery control
Set date in Insert -> Set footer in Insert -> Header & Footer
Header & Footer
The service discovery module [27] handles the offering/finding of service instances as
well as the subscription to event groups. The behavior for each service instance may
be controlled by Application software components via the BswM.
In scope of the signal/service translation the Translation Software Compo-
nent needs to take control of the offering and subscribing to service instances. The
general setup is illustrated in figure 6.109.
System Template
AUTOSAR CP R21-11
Service available
PDU A C R
data
PDU B R P Serializer
Transformer
SOME/IP
S/R Interface ifZ Header A C
- dataZ1 {A,C}
- dataZ2 {B} LdCom BswM
offer
enableRouting
PduR SD
SoAd
The approach of service control at ECU start is to utilize the AutoAvailable / AutoRe-
quire feature of the service discovery module where the service instance is automat-
ically offered at startup of the ECU. In this case the translation software component
does not need to interact with the BswM to control the service state of each individual
service instance.
It is configurable per translated service event whether that event shall be automatically
controlled at ECU start.
[TPS_SYST_03022] autoAvailable setting for provided service instance with
translationStart dFor a provided translated service instance, if the Sig-
nalServiceTranslationProps.serviceControl equals translationStart,
then the ProvidedServiceInstance owning the EventHandler referenced by
SignalServiceTranslationProps.controlProvidedEventGroup shall have
its autoAvailable attribute set to true.c(RS_SYST_00059)
[TPS_SYST_03023] autoRequire setting for required service instance with
translationStart dFor a required translated service instance, if the SignalSer-
viceTranslationProps.serviceControl equals translationStart, then the
ConsumedServiceInstance owning the ConsumedEventGroup referenced by
SignalServiceTranslationProps.controlConsumedEventGroup shall have
its autoRequire attribute set to true.c(RS_SYST_00059)
[TPS_SYST_03024] autoRequire setting for required event groups of required
service instance with translationStart dFor a required translated service
instance, if the SignalServiceTranslationProps.serviceControl equals
translationStart, then the ConsumedEventGroup referenced by SignalSer-
viceTranslationProps.controlConsumedEventGroup shall have its autoRe-
quire attribute set to true.c(RS_SYST_00059)
If the availability of the signal-based PDUs is controlled using Partial Networking then
the respective translated services offers/subscriptions can only be activated if the spe-
cific partial networks are active. This relationship is used to control the availability of
specific service instances.
[constr_3545] Mandatory reference to a Pnc in case of partialNetwork dIf the
SignalServiceTranslationProps.serviceControl equals partialNetwork
then the reference SignalServiceTranslationProps.controlPnc shall point to
at least one PncMappingIdent.c()
[TPS_SYST_03025] Control of service instance in case of partialNetwork dIf
the SignalServiceTranslationProps.serviceControl equals partialNet-
work then the respective service instance shall be configured to be controlled using
the BswM/SD configuration.c(RS_SYST_00059)
The ComM states relevant for the activation are defined in the SWS document [34].
Requested Partial Network: respective PNC is in ComM status
COMM_PNC_REQUESTED or COMM_PNC_READY_SLEEP.
Released Partial Network: respective PNC is in ComM status
COMM_PNC_PREPARE_SLEEP or COMM_PNC_NO_COMMUNICATION.
[TPS_SYST_03026] Monitoring of the requested partial networks status in case
of partialNetwork for provided service instance dFor a provided translated ser-
vice instance, if the SignalServiceTranslationProps.serviceControl equals
partialNetwork then the translation software component shall monitor the status
of the referenced partial networks (referenced via SignalServiceTranslation-
Props.controlPnc).
If at least one of the referenced partial networks is in the state requested then the
translation software component shall offer the respective translated service instance.c
(RS_SYST_00059)
[TPS_SYST_03027] Monitoring of the requested partial networks status in case
of partialNetwork for required service instance dFor a required translated ser-
vice instance, if the SignalServiceTranslationProps.serviceControl equals
partialNetwork then the translation software component shall monitor the status
of the referenced partial networks (referenced via SignalServiceTranslation-
Props.controlPnc).
If at least one of the referenced partial networks is in the state requested then the
translation software component shall find the respective translated service instance
and subscribe to its event groups.c(RS_SYST_00059)
[TPS_SYST_03056] Monitoring of the released partial networks status in case
of partialNetwork for required service instance dFor a required translated ser-
vice instance, if the SignalServiceTranslationProps.serviceControl equals
partialNetwork then the translation software component shall monitor the status
of the referenced partial networks (referenced via SignalServiceTranslation-
Props.controlPnc).
If all of the referenced partial networks are in the state released then the translation
software component shall unsubscribe from its event groups.c(RS_SYST_00059)
[TPS_SYST_03057] Monitoring of the released partial networks status in case
of partialNetwork for provided service instance dFor a provided translated ser-
vice instance, if the SignalServiceTranslationProps.serviceControl equals
partialNetwork then the translation software component shall monitor the status
of the referenced partial networks (referenced via SignalServiceTranslation-
Props.controlPnc).
If all of the referenced partial networks are in the state released then the translation
software component shall stop offer ing the respective translated service instance.c
(RS_SYST_00059)
System Template
AUTOSAR CP R21-11
a1. SOME/IP
Serialized service is
initially requested a3. if subscription is
a2. if service is found: a:service to signal acknowledged:
subscribe to event offer translated Signal Based
groups service
Signal Service Translation
Ra Pa
Pb Rb
There are two possible ways to define behavioral aspects for the signal/service
translation use-case:
• COM-Stack
• Translation Application Software Component
The Classic platform COM-Stack can be configured to have an own periodic behavior
for periodic sending and reception/time-out monitoring. In this case the existing COM-
Stack definition of behavior is used.
Example features are:
• TransmissionModeTiming.cyclicTiming
• TransmissionModeTiming.eventControlledTiming
• IPduTiming.minimumDelay
• ISignalPort.timeout
Thus it is possible to register the Translation Application Software Component to be
notified when data arrives and then perform the translation operation solely driven by
the notifications from the COM-Stack.
There are use-cases where the COM-Stack can not be used to perform the specific
behavioral aspects because the Transformers are required to have access to the raw
received and sent data. In these cases the usage of the Translation Application Soft-
ware Component behavior is required.
In case there is an E2E header attached and/or a secure communication defined the
translation needs to break the transport chain and re-calculate the E2E measures (CR-
C/MAC). The CRC/MAC is calculated over the uint8 array representation of the payload
data. Since the signal/service translation changes the data layout, also the
uint8 array representation of the payload data changes resulting in a different CRC/-
MAC value.
6.16.5.1 Safety
Communication
SOME/IP COM-Based Matrix
Transformer Transformer
E2E E2E
Transformer Transformer
Ethernet CAN
Gateway ECU
(Classic AUTOSAR)
If source data is not verified as E_OK it is not translated into a composed target. If the
translated E2E protected data comes from several sources there may occur correlation
and synchronicity issues during translation.
[TPS_SYST_03031] Sufficient ASIL level of translation software component
dIf the SignalServiceTranslationEventProps.safeTranslation equals true
then the implementation of the translation software component shall fulfill a sufficient
ASIL.c(RS_SYST_00059)
[constr_3548] EndToEnd profile for both ends of safeTranslation dIf the Sig-
nalServiceTranslationEventProps.safeTranslation equals true then both,
the signal-based payload as well as the service-oriented payload shall have an End-
ToEnd profile defined.c()
[TPS_SYST_03032] Data transmission in case of E_OK safe signal reception d
Signal/service translation shall check the end-to-end status of every received payload.
If the safety transformer returns E_OK for the received payload then the data shall
be forwarded to the respective sending of the translation software component.c(RS_-
SYST_00059)
Error handling:
[TPS_SYST_03033] No data transmission in case of reception timeout dIf no mes-
sage is received within the specified message cycle time (timeout is detected), then no
data shall be translated to the respective sending of the translation software compo-
nent.c(RS_SYST_00059)
[TPS_SYST_03034] Handling safe signal reception dThe behavior of transformer
status forwarding is defined in table 6.290.c(RS_SYST_00059)
6.16.5.2 Security
The security aspects are handled in the communication stack of Classic platform.
There are two technologies for secure communication available:
• Secure Onboard Communication (SecOC) [35]
• Transport Layer Security (TLS) [36]
Which security technology is used for a translated service instance is up to the com-
munication design. The security settings have to match between the providers and the
consumers on the network.
As on Classic platform the translation happens on the application software component
level it is possible to have equal, similar, or different security technologies configured
on signal and service level (which is part of the COM-Stack configuration).
It is for instance well possible to have signals coming from a CanFD network secured
with SecOC and translated into a service which is secured using TLS on Ethernet. But
also using SecOC on Ethernet is possible.
In any case, if secure communication is involved together with signal/service
translation the translation needs to break the transport chain and re-secure the
payload (e.g. re-calculate the MAC for the newly serialized payload).
The attribute SignalServiceTranslationEventProps.secureTranslation is
used to explicitly require that both ends of the translation shall be configured in a secure
transport way and that the translation software component shall handle the translation
activity in a security-preserving way.
[constr_3549] Secure payload for both ends in case of secureTranslation dIf
the SignalServiceTranslationEventProps.secureTranslation equals true
then both, the signal-based payload as well as the service-oriented payload shall have
a secure communication defined.c()
7 Data Transformation
7.1 Outline
The transmission of data over a communication bus requires some effort to convey the
information about the nature of the transmitted data from the sender to the receiver.
Both sides need to agree on this part or else the communication will fail.
This aspect is complicated by the fact that in most cases it is uncommon to transmit
information in an atomic manner piece by piece. For the sake of properly utilizing
the available communication resources, pieces of data that may or may not have any
semantic relationship with each other are packed into a single transmission unit.
In this case, the receiver does not only have to be informed about the nature of the
individual pieces of information but also about the packing of these pieces into the
transmission unit.
There are different approaches of how this goal can be achieved, these are described
in the following sub-chapters.
Use a configurable software package on both the sender and the receiver side that
can adapt to virtually any possible packing of data. In this case the packing shall be
described in machine-readable form on a very detailed level in order to allow for the
communication software to adapt to it.
For the sake of this argument, it doesn’t really matter whether the adaption to the con-
figuration is done at run-time or whether the configuration ends up in dedicated source
code. The point is that the very detailed machine-readable configuration description is
required to exist.
This approach used to be one of the pillars of the AUTOSAR standard as it entitled the
players in the business with a maximum amount of flexibility and especially the OEMs
are able to develop specific patterns for the design of their communication matrices
that can, despite the diversity, be expressed with this approach.
This approach also facilitates the monitoring of transmission during development and
deployment of the automotive software because monitoring tools can use the same
configuration information to set themselves up for the task. This aspect is very impor-
tant for debugging and quality assurance.
The downside, however, is that the act of laying out pieces of information in a limited
number of transmission units becomes cumbersome and time-consuming. This ef-
fect becomes even more prominent with the advent of more advanced communication
technologies that allow for a much bigger payload in single transmission units.
Don’t care about the individual layout of information on the bus and let a piece of
software take care of marshaling data onto the communication bus on the sender side
and the reverse process on the receiver side.
This approach gains attractiveness in an environment where large and complicated
pieces of information need to be transmitted.
Of course, in order to make this approach work it is necessary to standardize the
behavior of the marshaling software to the necessary extent such that sender and
receiver agree on how data needs to be processed.
With this approach, the amount of configuration can be reduced dramatically at the
potential expense of efficiency and code size.
But this is not the end of the story as the idea of letting software take care of data
"manipulation" can following pretty much the same pattern be utilized for further
use cases:
End-to-end Protection Data is wrapped into a harness of meta-data that allows for
checking data integrity at the receiver side.
Data Security Data is cryptographically processed such that it shall become impossi-
ble for unauthorized parties to intercept the communication process.
In other words, the approach is not limited to marshaling of data but can in the same
way also be used for an array of other useful data transformations. This is why the
terminology in this regard is not limited to the marshaling but to data transformation in
general, hence the term Data Transformer is coined.
Data Transformers can be chained such that, on the sender side, one Data
Transformer picks up the result of the transformation of another Data Trans-
former and applies a specific transformation to the already processed data.
The receiver then is required to apply the Data Transformers in reverse order in
order to finally yield the actual data and provide it to the consumer (e.g. an Applica-
tionSwComponentType).
A basic principle of the Data Transformer approach, however, is that the Data
Transformer is only responsible for the actual data transformation but not concerned
about the communication of data. This can be taken care of by other software modules.
In total, the second approach provides a sufficient level of utility that it becomes part
of the AUTOSAR standard. This chapter lays out the details of how Data Trans-
formers can be used in the context of this document.
Further information can also be found in the SWS RTE [37].
7.2.1 Transmission of large composite data types over networks with large
PDUs (e.g Ethernet)
With a serializing transformer, it is not necessary any more to map the atomic sub-
elements of composite data types to individual signals in the RTE. The sending appli-
cation SWC sends the composite data element using Sender/Receiver communication
and hands the data over to the RTE. Then the complex data get transformed to a linear
byte array and handed over to Com which sends the data to the receiving ECU. There,
the Com stack receives the serialized data and notifies the RTE. The Rte reads the
data and calls the deserializing transformer. The deserializing transformer transforms
them back into the composite data element and gives the result to the RTE. The re-
ceiving SWC can now read the data and access it in the same form the sending SWC
has sent them.
2. RTE hands data over 10. Deserialized data are handed over
to transfromer to the RTE as a composite data type
3. Data are 9. Data are
serialized deserialized
Com Com
Figure 7.1: Transformer Use Case: Transmission of large composite data types over
networks with large PDUs (e.g Ethernet)
7.2.2 Support of transmission from one sender to multiple receivers with Signal
Fan-out
If a signal fan-out is configured in the System Description, the RTE has to hand over
the data which should be transmitted multiple times to the Com stack. This is the case
if multiple ISignals reference the same SystemSignal in the System Description.
For each ISignal the following steps have to be performed individually:
• transform the data
• hand it over to COM
Every receiver has to deserialize the ISignal in its transformer independently.
ECU 1 Sending
ECU 2 Receiving ECU 3 Receiving
Application Application Application
SWC SWC 1 SWC 2
7.2.3 Support of transmission from one sender to multiple receivers with PDU
Fan-out
ECU 1 Sending
ECU 2 Receiving ECU 3 Receiving
Application Application Application
SWC SWC 1 SWC 2
Com
Com Com
PduR
It is possible to chain multiple transformers. The output of one transformer then will
be the input of the next transformer in the chain. Transformer for serialization data,
for encrypting, digitally signing or compressing data can be implemented and used to-
gether. Such architecture could be used to assemble a system, where you can flexibly
add functionality like compression or encryption to a serialized stream. In AUTOSAR
the E2E-protection is implemented by an additional serializer which is appended to the
chain.
Transformer 1
Transformer 1
Transformer 2 RTE
RTE
Transformer 3 Transformer 3
Com Com
7.2.5 Signal Group Based interaction of the transformer with the Com module
«atpVariation,atpSplitable»
0..* +dataTransformation +secondToFirstDataTransformation 0..1 +firstToSecondDataTransformation 0..1
«atpVariation,atpSplitable» Identifiable
DataTransformation
FibexElement FibexElement
«enumeration» ISignal +iSignal ISignalGroup
DataTransformationKindEnum
+ dataTypePolicy: DataTypePolicyEnum 0..*
symmetric + iSignalType: ISignalTypeEnum [0..1]
asymmetricFromByteArray + length: UnlimitedInteger
asymmetricToByteArray
Describable
«atpVariation»
TransformationISignalProps
1..* +transformer
0..* +transformationTechnology {ordered} +transformerChain 1
Identifiable «enumeration»
TransformationTechnology TransformerClassEnum
+bufferProperties 1
«atpVariation»
CompuScale BufferProperties
0..1 +transformationDescription
+ mask: PositiveInteger [0..1] + headerLength: Integer
Describable + shortLabel: Identifier [0..1] + inPlace: Boolean
TransformationDescription + symbol: CIdentifier [0..1]
«atpVariation»
+ lowerLimit: Limit [0..1]
+ upperLimit: Limit [0..1]
4
Class DataTransformationSet
data DataTransformation * aggr This container consists of all transformer chains which
Transformation can be used for transformation of data communication.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=dataTransformation.shortName, data
Transformation.variationPoint.shortLabel
vh.latestBindingTime=codeGenerationTime
transformation Transformation * aggr Transformer that is used in a transformer chain for
Technology Technology transformation of data communication.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=transformationTechnology.shortName,
transformationTechnology.variationPoint.shortLabel
vh.latestBindingTime=codeGenerationTime
Class DataTransformation
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note A DataTransformation represents a transformer chain. It is an ordered list of transformers.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
data DataTransformationKind 0..1 attr This attribute controls the kind of DataTransformation to
Transformation Enum be applied.
Kind
executeDespite Boolean 1 attr Specifies whether the transformer chain is executed even
Data if no input data are available.
Unavailability
transformer Transformation 1..* ref This attribute represents the definition of a chain of
Chain (ordered) Technology transformers that are supposed to be executed according
to the order of being referenced from DataTransformation.
In other words: There shall be no transformer chain which "belong" to the same
SystemSignal due to signal fan-in where the attribute executeDespiteDataU-
navailability is set to true.
[TPS_SYST_02031] A transformer is represented by a TransformationTech-
nology dA transformer is represented by a TransformationTechnology.c(RS_-
SYST_00050)
Class TransformationTechnology
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note A TransformationTechnology is a transformer inside a transformer chain.
Tags:xml.namePlural=TRANSFORMATION-TECHNOLOGIES
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
bufferProperties BufferProperties 1 aggr Aggregation of the mandatory BufferProperties.
hasInternal Boolean 0..1 attr This attribute defines whether the Transformer has an
State internal state or not.
needsOriginal Boolean 0..1 attr Specifies whether this transformer gets access to the
Data SWC’s original data.
protocol String 1 attr Specifies the protocol that is implemented by this
transformer.
transformation Transformation 0..1 aggr A transformer can be configured with transformer specific
Description Description parameters which are represented by the Transformer
Description.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
transformer TransformerClassEnum 1 attr Specifies to which transformer class this transformer
Class belongs.
version String 1 attr Version of the implemented protocol.
Enumeration TransformerClassEnum
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Specifies the transformer class of a transformer.
Literal Description
custom The transformer is a custom transformer.
Tags:atp.EnumerationLiteralIndex=0
safety The transformer is a safety transformer.
Tags:atp.EnumerationLiteralIndex=1
security The transformer is a security transformer.
Tags:atp.EnumerationLiteralIndex=2
serializer The transformer is a serializing transformer.
Tags:atp.EnumerationLiteralIndex=3
If it is set to true, the transformer will gain access to the original data. If it is set to false,
the transformer will not gain access to the original data.
[constr_3124] Applicability of needsOriginalData dThe attribute needsOrig-
inalData of a TransformationTechnology shall only be used for the non-first
transformers in the transformer chain.c()
This will only influence the signatures of the transformer on the sender or client side,
not on the receiver or server side of a communication.
[TPS_SYST_02038] Specification of transformer class dThe transformer class to
which this transformer belongs to is specified in the attribute transformerClass of
a TransformationTechnologyc(RS_SYST_00050)
[TPS_SYST_02039] Specification of transformer specific properties dFurther
transformer specific properties can be stated inside the TransformationDescrip-
tion in the role transformationDescription of a TransformationTechnol-
ogyc(RS_SYST_00050)
Note:
This is an abstract class without any specified content. If AUTOSAR specifies a trans-
former and this transformer need configuration possibilities, this class can be inherited
to hold those as some kind of container.
[TPS_SYST_02040] Specification of transformer buffer handling dThe Buffer-
Properties in the role bufferProperties of a TransformationTechnology
specify the buffer handling which shall be executed by the RTE for this transformer.c
(RS_SYST_00050)
Class BufferProperties
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Configuration of the buffer properties the transformer needs to work.
Base ARObject
Attribute Type Mult. Kind Note
headerLength Integer 1 attr Defines the length of the header (in bits) this transformer
will add in front of the data.
inPlace Boolean 1 attr If set, the transformer uses the input buffer as output
buffer.
Table 7.5: BufferProperties
SOME/IP Header
Lengthfield
UINT16 uint8 uint8 uint8 uint8
(16Bit)
uint8 uint8 uint8 uint8 Padding
UINT32 UINT64
Lengthfield
UINT64 uint8 uint8
(16Bit)
uint8 uint8 uint8 uint8 uint8 uint8
Example 2: Alignment = 64 Bit
Example: Structure with 5 Members
64 Bit
- Member1: UINT16 - AUTOSAR Confidential
Figure 7.6: Example for calculation of -the ISignal.length
1
- Member2: One
Set date in View ->
dimensional variableSize Array with uint8 elements
Set footer in View -> Header and Footer
- Member3:
PleaseUINT32
Head and Footer
note that the padding in the SOME/IP data stream depends on the actual num-
- Member4:
ber of UINT64
elements that are transmitted in the variable data. Figure Figure 7.7 shows an
example
- Member5: One where only three elements
dimensional are transmitted
variableSize Arrayinwith the first
uint8variable size array and
elements
therefore the padding is restricted to 1 byte.
SOME/IP Header
Lengthfield
UINT16 uint8 uint8 uint8 Padding
(16Bit)
UINT32 UINT64
Lengthfield
UINT64 uint8 uint8
(16Bit)
uint8 uint8 uint8 uint8 uint8 uint8
64 Bit
Figure 7.7: SOME/IP Padding Example
- AUTOSAR Confidential -
3 Set date in View -> Set footer in View -> Header and Footer
Head and Footer
«atpVariation»
+transformationDescription 0..1
Describable
TransformationDescription
UserDefinedTransformationDescription SOMEIPTransformationDescription
+ alignment: PositiveInteger
+ byteOrder: ByteOrderEnum
+ interfaceVersion: PositiveInteger
Class UserDefinedTransformationDescription
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note The UserDefinedTransformationDescription is used to specify details and documentation for custom
transformers.
Base ARObject, Describable, TransformationDescription
Attribute Type Mult. Kind Note
– – – – –
Table 7.7: UserDefinedTransformationDescription
+ dataTypePolicy: DataTypePolicyEnum
0..*
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
+transformer 1
Describable
«atpVariation»
TransformationISignalProps
UserDefinedTransformationISignalProps SOMEIPTransformationISignalProps
EndToEndTransformationISignalProps «enumeration»
CSTransformerErrorReactionEnum
+ dataId: PositiveInteger [0..*] {ordered}
+ dataLength: PositiveInteger [0..1] autonomous
+ maxDataLength: PositiveInteger [0..1] applicationOnly
+ minDataLength: PositiveInteger [0..1]
+ sourceId: PositiveInteger [0..1]
«enumeration»
SOMEIPTransformerSessionHandlingEnum
sessionHandlingActive
sessionHandlingInactive
Enumeration CSTransformerErrorReactionEnum
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Possible kinds of error reaction in case of a hard transformer error.
Literal Description
applicationOnly The application is responsible for any error reaction. No autonomous error reaction of RTE and
transformer.
Tags:atp.EnumerationLiteralIndex=0
autonomous RTE and Transformer coordinate an autonomous error reaction on their own.
Tags:atp.EnumerationLiteralIndex=1
FibexElement Identifiable
+dataTransformation
ISignal DataTransformation
«atpVariation,atpSplitable»
+ dataTypePolicy: DataTypePolicyEnum 0..1
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
0..1 +comBasedSignalGroupTransformation
0..*
+iSignal
«atpVariation,atpSplitable»
+networkRepresentationProps 0..1
«atpVariation» FibexElement
SwDataDefProps ISignalGroup
+physicalProps 0..1
+systemSignalGroup 1
ARElement +systemSignal ARElement
+systemSignal SystemSignal SystemSignalGroup
*
1 + dynamicLength: Boolean
+transformingSystemSignal
0..1
Identifiable
TransformationTechnology
+transformer 1
FibexElement «atpVariation»
ISignal
+transformationDescription 0..1
+ dataTypePolicy: DataTypePolicyEnum
+ iSignalType: ISignalTypeEnum [0..1] Describable
+ length: UnlimitedInteger TransformationDescription
+transformationISignalProps 0..*
Describable
«atpVariation»
TransformationISignalProps SOMEIPTransformationDescription
SOMEIPTransformationISignalProps
«enumeration»
+ implementsLegacyStringSerialization: Boolean [0..1] CSTransformerErrorReactionEnum
+ interfaceVersion: PositiveInteger [0..1]
+ isDynamicLengthFieldSize: Boolean [0..1] autonomous
+ messageType: SOMEIPMessageTypeEnum [0..1] applicationOnly
+ sessionHandlingSR: SOMEIPTransformerSessionHandlingEnum [0..1]
+ sizeOfArrayLengthFields: PositiveInteger [0..1]
+ sizeOfStringLengthFields: PositiveInteger [0..1]
+ sizeOfStructLengthFields: PositiveInteger [0..1]
+ sizeOfUnionLengthFields: PositiveInteger [0..1]
«enumeration»
SOMEIPTransformerSessionHandlingEnum
«enumeration»
«enumeration» sessionHandlingActive
SOMEIPMessageTypeEnum
ByteOrderEnum sessionHandlingInactive
Attributes
Attributes
+ request
+ mostSignificantByteFirst
+ requestNoReturn
+ mostSignificantByteLast
+ notification
+ opaque
+ response
Class SOMEIPTransformationDescription
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note The SOMEIPTransformationDescription is used to specify SOME/IP transformer specific attributes.
Base ARObject, Describable, TransformationDescription
Attribute Type Mult. Kind Note
alignment PositiveInteger 1 attr Defines the padding for alignment purposes that will be
added by the SOME/IP transformer after the serialized
data of the variable data length data element. The
alignment shall be specified in Bits.
byteOrder ByteOrderEnum 1 attr Defines which byte order shall be serialized by the
SOME/IP transformer
interfaceVersion PositiveInteger 1 attr The interface version the SOME/IP transformer shall use.
Enumeration ByteOrderEnum
Package M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::PrimitiveTypes
5
4
Enumeration ByteOrderEnum
Note When more than one byte is stored in the memory the order of those bytes may differ depending on
the architecture of the processing unit. If the least significant byte is stored at the lowest address, this
architecture is called little endian and otherwise it is called big endian.
ByteOrder is very important in case of communication between different PUs or ECUs.
Literal Description
mostSignificantByte Most significant byte shall come at the lowest address (also known as BigEndian or as
First Motorola-Format)
Tags:atp.EnumerationLiteralIndex=0
mostSignificantByte Most significant byte shall come highest address (also known as LittleEndian or as Intel-Format)
Last
Tags:atp.EnumerationLiteralIndex=1
opaque For opaque data endianness conversion has to be configured to Opaque. See AUTOSAR COM
Specification for more details.
Tags:atp.EnumerationLiteralIndex=2
Enumeration SOMEIPMessageTypeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Depending on the style of the communication different message types shall be set in the header of a
SOME/IP message.
Literal Description
notification A request of a notification expecting no response.
Tags:atp.EnumerationLiteralIndex=1
request A request expecting a response.
Tags:atp.EnumerationLiteralIndex=2
requestNoReturn A fire&forget request.
Tags:atp.EnumerationLiteralIndex=3
response The response message.
Tags:atp.EnumerationLiteralIndex=4
Enumeration SOMEIPTransformerSessionHandlingEnum
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Enables or disable session handling for SOME/IP transformer
Literal Description
sessionHandling The SOME/IP Transformer shall use session handling
Active
Tags:atp.EnumerationLiteralIndex=0
sessionHandling The SOME/IP Transformer doesn’t use session handling
Inactive
Tags:atp.EnumerationLiteralIndex=1
In principle there is no need to define a size of the length indicator because the size
can be computed from the data structure itself. However there is a use case to extend
on the sender side while keeping the receiver side as it is. This means that there is the
need to express the size of the length indicator because the extended data structure
may reach a length that exceeds the capacity of the original computed size indicator.
[constr_3218] Range of Size of Array Length Fields dThe value of attribute sizeO-
fArrayLengthFields of SOMEIPTransformationISignalProps shall be either
0, 1, 2 or 4.c()
[constr_3220] Range of Size of Structure Length Fields dThe value of attribute
sizeOfStructLengthFields of SOMEIPTransformationISignalProps shall
be either 0, 1, 2 or 4.c()
[constr_3221] Range of Size of Union Length Fields dThe value of attribute sizeO-
fUnionLengthFields of SOMEIPTransformationISignalProps shall be either
0, 1, 2 or 4.c()
[TPS_SYST_02080] Message type of SOME/IP dThe attribute messageType of
SOMEIPTransformationISignalProps defines the message type used by the
SOME/IP transformer for the serialized ISignal.c(RS_SYST_00050)
[constr_3216] Usage of SOMEIPTransformationISignalProps.sessionHan-
dlingSR dThe attribute sessionHandlingSR of SOMEIPTransformationISig-
nalProps shall only be used for ISignals which reference SystemSignals which
are mapped via a SenderReceiverToSignalMapping.c()
Note: This means that sessionHandlingSR shall only be used for transformed
Sender/Receiver communication.
Prior to AUTOSAR Release 4.3 the SOME/IP Transformer did not specify any special
handling for how String data types shall be serialized. This leads to the situation that
no BOM is introduced. The SOME/IP standard however does expect a BOM for String
data type, this is also how AUTOSAR Release 4.3 defines the serialization of Strings.
The attribute SOMEIPTransformationISignalProps.implementsLegacyS-
tringSerialization enables the compatibility of string handling between
AUTOSAR pre Release 4.3 and standard SOME/IP serializers. An AUTOSAR ECU
according to Release 4.2 would not define any String specific behavior, thus it is
possible to enforce this for later Release implementations as well by setting the
attribute to true.
Class SOMEIPTransformationProps
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note The class SOMEIPTransformationProps specifies SOME/IP specific configuration properties.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable, TransformationProps
Attribute Type Mult. Kind Note
alignment PositiveInteger 0..1 attr Defines the padding for alignment purposes that will be
added by the SOME/IP transformer after the serialized
data of the variable data length data element. The
alignment shall be specified in Bits.
5
4
Class SOMEIPTransformationProps
sizeOfArray PositiveInteger 0..1 attr This attribute describes the size of the length field (in
LengthField Bytes) that will be put in front of the referenced Array in
the SOME/IP message.
sizeOfString PositiveInteger 0..1 attr This attribute describes the size of the length field (in
LengthField Bytes) that will be put in front of the referenced String in
the SOME/IP message.
sizeOfStruct PositiveInteger 0..1 attr This attribute describes the size of the length field (in
LengthField Bytes) that will be put in front of a Structure in the SOME/
IP message.
sizeOfUnion PositiveInteger 0..1 attr This attribute describes the size of the length field (in
LengthField Bytes) that will be put in front of a Union in the SOME/IP
message.
SOMEIPTransformationISignalProps
Describable ARElement
«atpVariation» TransformationPropsSet
TransformationISignalProps
Identifiable
DataPrototypeTransformationProps
+transformationProps TransformationProps
0..1
+dataPrototypeInPortInterfaceRef 0..1
SOMEIPTransformationProps
DataPrototypeReference
+ alignment: PositiveInteger [0..1]
+ tagId: PositiveInteger [0..1] + sizeOfArrayLengthField: PositiveInteger [0..1]
+ sizeOfStringLengthField: PositiveInteger [0..1]
+ sizeOfStructLengthField: PositiveInteger [0..1]
+ sizeOfUnionLengthField: PositiveInteger [0..1]
ImplementationDataTypeElementInPortInterfaceRef
DataPrototypeInPortInterfaceRef
DataPrototypeInPortInterfaceInstanceRef DataPrototypeInPortInterfaceInstanceRef
DataPrototypeInSenderReceiverInterfaceInstanceRef DataPrototypeInClientServerInterfaceInstanceRef
Class DataPrototypeTransformationProps
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note DataPrototypeTransformationProps allows to set the attributes for the different Transformation
Technologies that are DataPrototype specific.
Base ARObject
Attribute Type Mult. Kind Note
dataPrototypeIn DataPrototype 0..1 aggr Reference to a DataPrototype that is transported in the
PortInterface Reference serialized ISignal.
Ref
network SwDataDefProps 0..1 aggr Specification of the actual network representation for the
Representation referenced primitive DataPrototype. If a network
Props representation is provided then the baseType shall be
used by the Transformer as input for the serialization/
deserilaization.
transformation TransformationProps 0..1 ref Collection of AutosarDataPrototype related configuration
Props settings for a transformer.
Class DataPrototypeInPortInterfaceRef
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note This class represents a RootDataPrototype that is typed by an ApplicationDataType or Implementation
DataType or a DataTypeElement that is aggregated within a composite application data type (record or
array).
Base ARObject, DataPrototypeReference
Attribute Type Mult. Kind Note
dataPrototypeIn DataPrototype 0..1 iref This element defines a reference to a DataPrototype in
ClientServer the context of a ClientServerInterface.
Interface
InstanceRef implemented by:DataPrototypeInClient
ServerInterfaceInstanceRef
dataPrototypeIn DataPrototype 0..1 iref This element defines a reference to a DataPrototype in
SenderReceiver the context of a SenderReceiverInterface.
Interface
InstanceRef implemented by:DataPrototypeInSender
ReceiverInterfaceInstanceRef
Table 7.21: DataPrototypeInPortInterfaceRef
Class DataPrototypeInSenderReceiverInterfaceInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::Transformer::InstanceRef
Note
Base ARObject, AtpInstanceRef , DataPrototypeInPortInterfaceInstanceRef
Attribute Type Mult. Kind Note
base SenderReceiver 0..1 ref Stereotypes: atpDerived
Interface
contextData ApplicationComposite * ref Tags:xml.sequenceOffset=20
PrototypeInSr ElementDataPrototype
(ordered)
rootData AutosarDataPrototype 0..1 ref Tags:xml.sequenceOffset=10
PrototypeInSr
targetData DataPrototype 1 ref Tags:xml.sequenceOffset=30
PrototypeInSr
Class DataPrototypeInClientServerInterfaceInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::Transformer::InstanceRef
Note
Base ARObject, AtpInstanceRef , DataPrototypeInPortInterfaceInstanceRef
Attribute Type Mult. Kind Note
base ClientServerInterface 0..1 ref Stereotypes: atpDerived
contextData ApplicationComposite * ref Tags:xml.sequenceOffset=20
PrototypeInCs ElementDataPrototype
(ordered)
rootData AutosarDataPrototype 0..1 ref Tags:xml.sequenceOffset=10
PrototypeInCs
targetData DataPrototype 1 ref Tags:xml.sequenceOffset=30
PrototypeInCs
Class ImplementationDataTypeElementInPortInterfaceRef
Package M2::AUTOSARTemplates::SystemTemplate::Transformer::InstanceRef
Note This meta-class represents the ability to refer to the internal structure of an AutosarDataPrototype which
is typed by an ImplementationDatatype in the context of a PortInterface.
In other words, this meta-class shall not be used to model a reference to the AutosarDataPrototype as a
target itself, even if the AutosarDataPrototype is typed by an ImplementationDataType and even if that
ImplementationDataType represents a composite data type.
Base ARObject, DataPrototypeReference
Attribute Type Mult. Kind Note
context AbstractImplementation * ref This is a context in case there are subelements with
Implementation DataTypeElement explicit types. The reference has to be ordered to
DataElement properly reflect the nested structure.
(ordered)
Tags:xml.sequenceOffset=20
rootData AutosarDataPrototype 0..1 ref This refers to the AutosarDataPrototype which is typed by
Prototype the ImplementationDatatype. The targetDataPrototype
and all defined contextDataPrototypes can be found
within this rootDataPrototype.
Tags:xml.sequenceOffset=10
target AbstractImplementation 0..1 ref This is a target ImplementationDataTypeElement in case
Implementation DataTypeElement that the rootDataPrototype is composite and the target is
DataType a subElement of the rootDataPrototype.
Element
Tags:xml.sequenceOffset=30
length field generated by the SOME/IP transformer in front of the fixed-size or dy-
namic size array for which the DataPrototypeTransformationProps is defined
according to [TPS_SYST_02121].c(RS_SYST_00050)
[constr_5247] Value of attribute DataPrototypeTransformationProps.
transformationProps.sizeOfArrayLengthField dIf the configuration of length
field is done using DataPrototypeTransformationProps.transformation-
Props.sizeOfArrayLengthField then the value of attribute DataPrototype-
TransformationProps.transformationProps.sizeOfArrayLengthField
shall be at least as high as the number of bytes required to fit the result of the
expression maximum number of elements * sizeof(data type of array element).c()
[TPS_SYST_02124] Size of a length field for a chosen structure dThe attribute
sizeOfStructLengthField of SOMEIPTransformationProps defines the size
of a length field generated by the SOME/IP transformer in front of the struc-
ture for which the DataPrototypeTransformationProps is defined according to
[TPS_SYST_02121].c(RS_SYST_00050)
[TPS_SYST_02125] Size of a length field for a chosen union dThe attribute
sizeOfUnionLengthField of SOMEIPTransformationProps defines the size
of a length field generated by the SOME/IP transformer in front of the union
for which the DataPrototypeTransformationProps is defined according to
[TPS_SYST_02121].c(RS_SYST_00050)
[TPS_SYST_02360] Size of a length field for a chosen string dThe attribute
sizeOfStringLengthField of SOMEIPTransformationProps defines the size
of a length field generated by the SOME/IP transformer in front of the string
for which the DataPrototypeTransformationProps is defined according to
[TPS_SYST_02121].c(RS_SYST_00050)
[constr_5248] Value of attribute DataPrototypeTransformationProps.
transformationProps.sizeOfStringLengthField dIf the configuration of
length field is done using DataPrototypeTransformationProps.trans-
formationProps.sizeOfStringLengthField then the value of attribute
DataPrototypeTransformationProps.transformationProps.sizeOf-
StringLengthField shall be at least as high as the number of bytes required to fit
the result of the expression maximum number of characters in the string * maximum
number of code units per character (of the used character encoding) * maximum
number of bytes per code unit (of the used character encoding).c()
[TPS_SYST_02126] Alignment of a dynamic DataPrototype dThe attribute align-
ment of SOMEIPTransformationProps defines the padding for alignment purposes
that will be added by the SOME/IP transformer after the serialized data of the variable
data length data element for which the DataPrototypeTransformationProps is
defined according to [TPS_SYST_02121].c(RS_SYST_00050)
In order to assure that the serialization of the transported data on the sender side and
its deserialization on the receiver side(s) is done correctly, system designers need to
assure that the same datatypes (i.e., SwBaseTypes) are used for the serialization/de-
serialization on both sides. However, this agreement does not imply the use or equality
of the SwBaseTypes defined by the ImplementationDataType used by the ap-
plication software on the sender and (possibly multiple) receiver sides. This means
that each EcuInstance, regardless if it belongs to a sender or receiver, can use one
datatype for the serialization/deserialization (e.g., UInt16 in the actual SOME/IP trans-
former code) and another datatype in the application software (e.g., Float32 in the
actual application software component code).
In order to define the commonly agreed datatypes for the serialization/deserialization of
the transported data by the sender and possibly multiple receivers, AUTOSAR defines
the following two approaches:
• serialization based on the network representation ([TPS_SYST_02136])
• serialization based on the ImplementationDataTypes ([TPS_SYST_02137])
[TPS_SYST_02136] Serialization based on the network representation dIf
a network representation that defines a SwBaseType is provided for each
DataPrototype typed by a primitive data type that is part of the se-
rialized ISignal (ISignal.transformationISignalProps.dataPrototype-
TransformationProps.networkRepresentationProps), these SwBaseTypes
shall be used for the serialization/deserialization.c()
[TPS_SYST_02137] Serialization based on the ImplementationDataTypes dFor
primitive DataPrototypes that are part of the serialized ISignal where no network
representation is provided (ISignal.transformationISignalProps.dataPro-
totypeTransformationProps.networkRepresentationProps), SwBaseType
shall be provided by the ImplementationDataTypes that either types the corre-
sponding PortPrototypes on the top level Software Composition that represents
the communicating EcuInstances, or it is mapped to the ApplicationDataType
that types it.c()
[constr_3317] Assuring the same data interpretation on the sender and receiver
sides in case of serialization based on the ImplementationDataTypes dIn order
to assure the same interpretation of the serialized data by the SOME/IP transformers
on the sender and receiver sides in case of serialization based on either a primitive or
a composite ImplementationDataType, the same SwBaseType shall be defined
• for this primitive DataPrototype or
• for each primitive DataPrototype of the leaf elements of the composite Dat-
aPrototype starting from the first element until and including the last element
that is requested by the receiver,
FibexElement
ISignal
+ dataTypePolicy: DataTypePolicyEnum
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
+transformationISignalProps 0..*
Describable
SOMEIPTransformationISignalProps
«atpVariation»
TransformationISignalProps + implementsLegacyStringSerialization: Boolean [0..1]
+ interfaceVersion: PositiveInteger [0..1]
+ csErrorReaction: CSTransformerErrorReactionEnum [0..1]
+ isDynamicLengthFieldSize: Boolean [0..1]
+ messageType: SOMEIPMessageTypeEnum [0..1]
+ sessionHandlingSR: SOMEIPTransformerSessionHandlingEnum [0..1]
+ sizeOfArrayLengthFields: PositiveInteger [0..1]
+ sizeOfStringLengthFields: PositiveInteger [0..1]
+ sizeOfStructLengthFields: PositiveInteger [0..1]
+ sizeOfUnionLengthFields: PositiveInteger [0..1]
+dataPrototypeTransformationProps 0..*
+networkRepresentationProps 0..1
DataPrototypeTransformationProps «atpVariation»
+networkRepresentationProps SwDataDefProps
0..1
+swDataDefProps 0..1
+dataPrototypeInPortInterfaceRef
+tlvDataIdDefinition 0..*
ARElement
TlvDataIdDefinition
TlvDataIdDefinitionSet +tlvDataIdDefinition
0..1 AbstractImplementationDataTypeElement
ImplementationDataTypeElement
DataPrototypeReference
+ arrayImplPolicy: ArrayImplPolicyEnum [0..1]
+ tagId: PositiveInteger [0..1] + arraySizeHandling: ArraySizeHandlingEnum [0..1]
+ arraySizeSemantics: ArraySizeSemanticsEnum [0..1]
+ isOptional: Boolean [0..1]
«atpVariation»
+ arraySize: PositiveInteger [0..1]
ImplementationDataTypeElementInPortInterfaceRef
DataPrototypeInPortInterfaceRef
DataPrototypeInPortInterfaceInstanceRef DataPrototypeInPortInterfaceInstanceRef
DataPrototypeInSenderReceiverInterfaceInstanceRef DataPrototypeInClientServerInterfaceInstanceRef
}
UInt8 1
Struct {
CompuMethod: identical, identical
2 Struct {
UInt16 3
UInt16
}
}
CompuMethod: identical, identical
DataConstr: 0-2000, - CompuMethod: identical
DataConstr: 0-2000
CompuMethod: identical, identical
DataConstr: 0.0-2000.0, - CompuMethod: identical
Bus_B
Figure 7.14: Serialization based on the network representation
9 Set Date in Insert -> Set footer in Insert -> Header & Footer
Header & Footer
The actual steps that need to be performed at runtime are presented in Figure 7.15
and they are as follows:
1. Application of the sending software component provides the data to be transmit-
ted to the RTE and stores it in SWC internal buffer.
2. If SwBaseType defined by the ImplementationDataType on the PortPro-
totype of the ApplicationSwComponentType is different then the one op-
tionally defined by the ImplementationDataType on the PortPrototype of
4 Struct { Struct { 5
1000 1000.0
100 0 1 1 0 0 1 0 0 10 10 RootComposition_ECU_B
} }
10 0 0 0 0 1 0 1 0
SWC_B
Struct { 3 Struct {
UInt8 Struct { Float32
RootComposition_ECU_A UInt8 UInt16 UInt8
} UInt8 }
}
SWC_A
Struct {
Float32 Struct { RootComposition_ECU_C
UInt8 UInt16
} UInt8
Struct { SWC_C
}
UInt16
UInt8
} 3 Struct {
Struct {
UInt16
UInt16
Struct { Struct { 0 0 0 0 0 0 1 1 }
}
1000.0 1000 1000
10 10 1 1 1 0 1 0 0 0
} Struct {
} 1 2 10 0 0 0 0 1 0 1 0 Struct {
1000
4 1000
} 5
}
Bus_B
CompuMethods are used to define how the information processed by AUTOSAR (the
internal view) is to be interpreted in the physical domain. As an example the Battery-
Voltage may be processed by AUTOSAR in a 1/10th scaling, thus an Integer value of
485 represents 48,5 Volt.
It is important to recognize that the value 48,5V is never handled by the AUTOSAR
platform software. AUTOSAR only handles the internal representation (485).
Of course there are use-cases where the physical representation is required, e.g. mon-
itoring tools show the measured values in the physical domain, thus have to perform
a conversion. Another use-case is the dashboard where the BatteryVoltage might be
displayed. But in this case it is the task of the displaying application software to perform
the conversion into the physical domain, or rather into the visualization.
The AUTOSAR infrastructure (respectively the RTE) may still be required to perform a
conversion of data. This is required if two CompuMethods - applying to the same data
path - are not equal.
In the example figure 7.16 there are several CompuMethods defined for various oc-
currences of data: A value is produced in SWC_A with a BaseType Float32 and an
“identical” CompuMethod (y = x). The value is then delegated to the RootComposi-
tion_ECU_A, where the BaseType is an uint16 and the CompuMethod is again “identi-
cal”. For the network transport the CompuMethod is defined as y = x/10. As the two
CompuMethods are not equal the RTE will have to convert the “identical” representa-
tion to the y = x/10 representation. On the reception side there is again an “identical”
CompuMethod defined, thus another conversion by the receiving RTE is required.
SWC_B
Struct {
Struct {
RootComposition_ECU_A UInt16
Float32 2
UInt8
1 UInt8 }
}
SWC_A
Struct {
Float32 Struct { 1 RootComposition_ECU_C
2 UInt8 UInt16
} UInt8
} SWC_C
Struct {
1 Struct {
UInt16 2
UInt16
}
UInt8
CompuMethod: identical, identical }
DataConstr: 0-2000, - CompuMethod: identical, identical
DataConstr: 0-2000, -
CompuMethod: identical, identical
DataConstr: 0.0-2000.0, - CompuMethod: identical
Bus_B
Figure 7.17: Serialization based on the ImplementationDataTypes
12 Set Date in Insert -> Set footer in Insert -> Header & Footer
Header & Footer
The actual steps that need to be performed at runtime are presented in Figure 7.18
and they are as follows:
1. Application of the sending software component provides the data to be transmit-
ted to the RTE and stores it in SWC internal buffer.
2. If SwBaseType defined by the ImplementationDataType on the Port-
Prototype of the SwComponentPrototype that is typed by Application-
SwComponentType is different then the one defined by the Implementation-
DataType on the PortPrototype of the RootSwComposition, the RTE per-
forms type conversion, and scaling if CompuMethods are also defined on these
PortPrototypes, and stores the values internally in the RTE.
3. As no network representation is provided, the internal value from step 2 is used
for the serialization and transmission on the bus.
4. On the receiver side, the RTE stores the serialized data received from the bus
in the RTE internal buffer. When the receiver SWC wants to read the data, the
RTE de-serializes these values as defined by the ImplementationDataType
on the PortPrototype of the RootSwComposition.
5. If SwBaseType defined by the ImplementationDataType on the Port-
Prototype of the SwComponentPrototype that is typed by Application-
SwComponentType is different then the one defined by the Implementation-
DataType on the PortPrototype of the RootSwComposition, the RTE per-
forms another type conversion, and scaling if CompuMethods are also defined
on these PortPrototype, and stores the final values internally in the buffer of
the application. The RTE is also able to deliver only a subset of data to the
SwComponentPrototype that is typed by ApplicationSwComponentType,
if that is required by the description of the PortInterfaceMapping.
0 0 0 0 0 0 1 1 4 Struct { Struct { 5
1000 1000 1000.0
1 1 1 0 1 0 0 0 10 10 RootComposition_ECU_B
} }
10 0 0 0 0 1 0 1 0
SWC_B
Struct {
3 Struct { Float32
RootComposition_ECU_A UInt16 UInt8
UInt8 }
}
SWC_A
Struct {
Float32 Struct { RootComposition_ECU_C
UInt8 UInt16
} UInt8
} SWC_C
3
Struct {
Struct {
UInt16
0 0 0 0 0 0 1 1 UInt16
}
1000 UInt8
Struct { Struct { 1 1 1 0 1 0 0 0 }
Struct {
1000.0 1000
1000 Struct {
10 10 10 0 0 0 0 1 0 1 0 10 1000
} 1 } 2 } 4 } 5
Bus_B
Figure 7.18: Serialization based on the ImplementationDataTypes
14 Set Date in Insert -> Set footer in Insert -> Header & Footer
Header & Footer
In order to support the signal group based interaction of the transformer with the COM
module as defined in the COM Based Transformer specification [18] a further modeling
is supported:
In case the array based signal group API of Com shall be used the ISignalGroup
has a reference to the DataTransformation element in the role comBasedSig-
nalGroupTransformation. This defines that the RTE shall use the array based
signal group API of Com [22] in order to transport the transformed data.
[TPS_SYST_02058] Usage of COM Based Transformer dIf
1. an ISignalGroup references a DataTransformation in the role com-
BasedSignalGroupTransformation and
2. this ISignalGroup references a SystemSignalGroup and
3. the referenced SystemSignalGroup is referenced by a SenderReceiver-
ToSignalGroupMapping in the role signalGroup
then the VariableDataPrototype referenced by the SenderReceiverToSig-
nalGroupMapping shall be transformed using the COM Based Transformer [18].c
(RS_SYST_00051)
FibexElement
ISignalGroup
+systemSignalGroup 1
+systemSignal ARElement +systemSignal ARElement
SystemSignal SystemSignalGroup
1 *
+ dynamicLength: Boolean
+transformingSystemSignal
0..1
+systemSignal 1 +signalGroup 1
DataMapping
SenderReceiverToSignalMapping SenderReceiverToSignalGroupMapping
Signal
Signal Group X Signal B Signal IPdu
A
Further Transformer
M CRC SC D D D D
fills header data
1 2 3 4
Array representation
M CRC SC D D D D
enhanced by
1 2 3 4 E2E Transformer
Array representation
M CRC SC D D D D
result of
1 2 3 4 COM Based Transformer
- AUTOSAR Confidential -
As shown in figure 7.20 the example illustrates that for the E2E header (’CRC’ and ’SC’)
and the ’M’ header three further ISignals are defined within the ISignalGroup in
order to compensate the space required by the additional transformers.
This section specifies the configuration of the E2E protection that is invoked "out-of-
box" by RTE and realized by E2E Transformer [38], E2E Library [23] and CRC Li-
brary [39].
The specific configuration for an E2E transformer takes place in EndToEndTrans-
formationDescription and EndToEndTransformationISignalProps shown
in Figure 7.21 and in EndToEndTransformationComSpecProps (see more details
in [5])
[TPS_SYST_02275] Relation between EndToEndTransformationDescription
and EndToEndTransformationComSpecProps dIt is possible to overwrite the
ISignal specific E2E settings that are defined in EndToEndTransformation-
Description with settings available in the EndToEndTransformationCom-
SpecProps defined at the PortPrototype of a SwComponentType. With this ap-
proach it is possible to define Port-Prototype specific configuration options for the E2E
data transformer.c(RS_SYST_00056)
Identifiable
TransformationTechnology
«enumeration»
EndToEndProfileBehaviorEnum
PRE_R4_2
R4_2 +transformer 1
«atpVariation»
+transformationDescription 0..1
FibexElement Describable
ISignal FibexElement
+iSignal TransformationDescription
ISignalGroup
+ dataTypePolicy: DataTypePolicyEnum 0..*
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
Describable EndToEndTransformationDescription
+e2eProfileCompatibilityProps 0..1
ARElement
E2EProfileCompatibilityProps
Class EndToEndTransformationDescription
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note EndToEndTransformationDescription holds these attributes which are profile specific and have the same
value for all E2E transformers.
Base ARObject, Describable, TransformationDescription
Attribute Type Mult. Kind Note
clearFromValid Boolean 0..1 attr Clear monitoring window on transition from state Valid to
ToInvalid state Invalid.
counterOffset PositiveInteger 0..1 attr Offset of the counter in the Data[] array in bits.
crcOffset PositiveInteger 0..1 attr Offset of the CRC in the Data[] array in bits.
dataIdMode DataIdModeEnum 0..1 attr This attribute describes the inclusion mode that is used to
include the implicit two-byte Data ID in the one-byte CRC.
dataIdNibble PositiveInteger 0..1 attr Offset of the Data ID nibble in the Data[] array in bits.
Offset
e2eProfile E2EProfileCompatibility 0..1 ref Reference to additional settings for the E2E state
Compatibility Props machine.
Props
maxDelta PositiveInteger 0..1 attr Maximum allowed difference between two counter values
Counter of two consecutively received valid messages. For
example, if the receiver gets data with counter 1 and Max
DeltaCounter is 3, then at the next reception the receiver
can accept Counters with values 2, 3 or 4.
maxErrorState PositiveInteger 0..1 attr Maximal number of checks in which ProfileStatus equal to
Init E2E_P_ERROR was determined, within the last Window
Size checks, for the state E2E_SM_INIT.
maxErrorState PositiveInteger 0..1 attr Maximal number of checks in which ProfileStatus equal to
Invalid E2E_P_ERROR was determined, within the last Window
Size checks, for the state E2E_SM_INVALID.
maxErrorState PositiveInteger 0..1 attr Maximal number of checks in which ProfileStatus equal to
Valid E2E_P_ERROR was determined, within the last Window
Size checks, for the state E2E_SM_VALID.
maxNoNewOr PositiveInteger 0..1 attr The maximum allowed amount of consecutive failed
RepeatedData counter checks.
minOkStateInit PositiveInteger 0..1 attr Minimal number of checks in which ProfileStatus equal to
E2E_P_OK was determined, within the last WindowSize
checks, for the state E2E_SM_INIT.
minOkState PositiveInteger 0..1 attr Minimal number of checks in which ProfileStatus equal to
Invalid E2E_P_OK was determined, within the last WindowSize
checks, for the state E2E_SM_INVALID.
minOkState PositiveInteger 0..1 attr Minimal number of checks in which ProfileStatus equal to
Valid E2E_P_OK was determined, within the last WindowSize
checks, for the state E2E_SM_VALID.
offset PositiveInteger 0..1 attr Offset of the E2E header in the Data[] array in bits.
profileBehavior EndToEndProfile 0..1 attr Behavior of the check functionality
BehaviorEnum
profileName NameToken 1 attr Definition of the E2E profile.
syncCounterInit PositiveInteger 0..1 attr Number of checks required for validating the consistency
of the counter that shall be received with a valid counter
(i.e. counter within the allowed lock-in range) after the
detection of an unexpected behavior of a received
counter.
upperHeader PositiveInteger 0..1 attr This attribute describes the number of upper-header bits
BitsToShift to be shifted.
value = 0 or not present: shift of upper header is NOT
performed.
5
4
Class EndToEndTransformationDescription
4
value > 0: the E2E Transformer on the protect-side, takes
the first upperHeaderBitsToShift bits from the upper buffer
(e.g. SOME/IP header part generated by SOME/IP
transformer) and shifts them towards the lower bytes and
bits within the Data[] for the length of the E2E header
(e.g. 12 bytes in case of E2E Profile 4). This means the
shift distance is fixed - it depends on the E2E header size
- what is configured here is the number of bits that are to
be shifted. This option is defined because the Some/IP
header generated by SOME/IP transformer shall be, due
to compatibility between non-protected and
E2E-protected communication, at the same position,
which is before E2E header.
windowSizeInit PositiveInteger 0..1 attr Size of the monitoring window of state Init for the E2E
state machine.
windowSize PositiveInteger 0..1 attr Size of the monitoring window of state Invalid for the E2E
Invalid state machine.
windowSize PositiveInteger 0..1 attr Size of the monitoring window of state Valid for the E2E
Valid state machine.
Table 7.26: EndToEndTransformationDescription
Enumeration DataIdModeEnum
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Supported inclusion modes to include the implicit two-byte Data ID in the one-byte CRC.
Literal Description
all16Bit Two bytes are included in the CRC (double ID configuration).
Tags:atp.EnumerationLiteralIndex=0
alternating8Bit One of the two bytes byte is included, alternating high and low byte, depending on parity of the
counter (alternating ID configuration). For even counter low byte is included; For odd counters the
high byte is included.
Tags:atp.EnumerationLiteralIndex=1
lower12Bit The low byte is included in the implicit CRC calculation, the low nibble of the high byte is transmitted
along with the data (i.e. it is explicitly included), the high nibble of the high byte is not used. This is
applicable for the IDs up to 12 bits.
Tags:atp.EnumerationLiteralIndex=2
lower8Bit Only low byte is included, high byte is never used. This is applicable if the IDs in a particular system
are 8 bits.
Tags:atp.EnumerationLiteralIndex=3
Class E2EProfileCompatibilityProps
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note This meta-class collects settings for configuration of the E2E state machine.
Tags:atp.recommendedPackage=E2EProfileCompatibilityPropsCollection
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
5
4
Class E2EProfileCompatibilityProps
transitToInvalid Boolean 0..1 attr E2E State machine behavior concerning transition from
Extended NODATA/INIT to INVALID
value=0 (false): no direct transition from NODATA to
INVALID, no transition from INIT to INVALID due to
counter-related faults (Autosar R19-11 or former
behavior)
value=1 (true): direct transition from NODATA to INVALID
covered, transition from INIT to INVALID due to
counter-related faults covered (state machine extended)
Enumeration EndToEndProfileBehaviorEnum
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Behavior of the check functionality
Literal Description
PRE_R4_2 Check has the legacy behavior, before AUTOSAR Release 4.2.
Tags:atp.EnumerationLiteralIndex=0
R4_2 Check behaves like new P4/P5/P6 profiles introduced in AUTOSAR Release 4.2.
Tags:atp.EnumerationLiteralIndex=1
This chapter provides different configuration settings for particular E2E Profiles. Please
note that in future additional recommended configuration settings might be added.
Caveat: The E2E wrapper approach involves technologies that are not subjected to
the AUTOSAR standard and is superseded by the superior E2E transformer approach
(which is fully standardized by AUTOSAR). Hence, new projects (without legacy con-
straints due to carry-over parts) shall use the fully standardized E2E transformer ap-
proach.
The E2E Profile 1 configuration setting C is foreseen for CAN/FlexRay messages
that are serialized by the COM based transformer and should be used with RTE
event-based communication, i.e. queued communication with queue size = 1, using
Rte_Send / Rte_Receive.
[TPS_SYST_02069] Recommended configuration settings for E2E Profile 1 con-
figuration setting C dThe recommended configuration settings for E2E Profile 1 con-
figuration setting C are defined in Table 7.31.c(RS_SYST_00056)
The E2E Profile 4 configuration setting A is foreseen for long messages that are seri-
alized by the SOME/IP transformer. The configuration setting 4A should be used with
RTE event-based communication, i.e. queued communication with queue size = 1,
using Rte_Send / Rte_Receive.
This configuration setting is quite strict as it does not allow any errors, i.e.:
1. Repetitions
2. Counter jumps bigger than 1.
3. Errors not related to counters (e.g. CRC, data ID, length)
As soon as any error is detected, there is a transition to invalid state.
[TPS_SYST_02070] Recommended configuration settings for E2E Profile 4 con-
figuration setting A dThe recommended configuration settings for E2E Profile 4 con-
figuration setting A are defined in Table 7.32.c(RS_SYST_00056)
The E2E Profile 4 configuration setting B is foreseen for long messages that are seri-
alized by the SOME/IP transformer. The configuration setting 4B should be used with
RTE event-based communication, i.e. queued communication with queue size = 1,
using Rte_Send / Rte_Receive.
This configuration setting requires having within the monitoring window the following
properties:
1. At least one OK message
2. At most one error not related to counters (e.g. CRC, data ID, length)
3. the remaining data in the monitoring window may be
• repetitions or
• jumps above 1.
As soon as any error is detected, there is a transition to invalid state.
[TPS_SYST_02071] Recommended configuration settings for E2E Profile 4 con-
figuration setting B dThe recommended configuration settings for E2E Profile 4 con-
figuration setting B are defined in Table 7.33.c(RS_SYST_00056)
The E2E Profile 7 configuration setting A is foreseen for long messages (up to 4 MB)
that are serialized by the SOME/IP transformer.
This configuration setting is quite strict as it does not allow any errors, i.e.:
1. Repetitions
2. Counter jumps bigger than 1.
3. Errors not related to counters (e.g. CRC, data ID, length)
As soon as any error is detected, there is a transition to invalid state.
[TPS_SYST_02134] Recommended configuration settings for E2E Profile 7 con-
figuration setting A dThe recommended configuration settings for E2E Profile 7 con-
figuration setting A are defined in Table 7.34.c(RS_SYST_00056)
The E2E Profile 7 configuration setting B is foreseen for long messages (up to 4 MB)
that are serialized by the SOME/IP transformer.
This configuration setting requires having within the monitoring window the following
properties:
1. At least one OK message
2. At most one error not related to counters (e.g. CRC, data ID, length)
3. the remaining data in the monitoring window may be
• repetitions or
• jumps above 1.
As soon as any error is detected, there is a transition to invalid state.
[TPS_SYST_02135] Recommended configuration settings for E2E Profile 7 con-
figuration setting B dThe recommended configuration settings for E2E Profile 7 con-
figuration setting B are defined in Table 7.35.c(RS_SYST_00056)
The E2E Profile 4m configuration setting A is foreseen for long messages that are
serialized by e.g. the SOME/IP transformer.
This configuration setting is quite strict as it does not allow any errors, i.e.:
1. Repetitions
2. Counter jumps bigger than 1 at the source side
3. Errors not related to counters (e.g. CRC, data ID, length)
As soon as any error is detected, there is a transition to invalid state.
[TPS_SYST_02349] Recommended configuration settings for E2E Profile 4m
configuration setting A dThe recommended configuration settings for E2E Profile
4m configuration setting A are defined in Table 7.37.c(RS_SYST_00056)
Please note that the ISignal that represents the ClientServerOperation re-
quest shall refer an EndToEndTransformationDescription that defines the
maxDeltaCounter for the sink. The ISignal that represents the ClientServer-
Operation response shall refer an EndToEndTransformationDescription that
defines the maxDeltaCounter for the source.
The E2E Profile 7m configuration setting A is foreseen for long messages (up to 4 MB)
that are serialized by e.g. the SOME/IP transformer.
This configuration setting is quite strict as it does not allow any errors, i.e.:
1. Repetitions
2. Counter jumps bigger than 1 at the source side
3. Errors not related to counters (e.g. CRC, data ID, length)
As soon as any error is detected, there is a transition to invalid state.
[TPS_SYST_02350] Recommended configuration settings for E2E Profile 7m
configuration setting A dThe recommended configuration settings for E2E Profile
7m configuration setting A are defined in Table 7.38.c(RS_SYST_00056)
Please note that the ISignal that represents the ClientServerOperation re-
quest shall refer an EndToEndTransformationDescription that defines the
maxDeltaCounter for the sink. The ISignal that represents the ClientServer-
Operation response shall refer an EndToEndTransformationDescription that
defines the maxDeltaCounter for the source.
+transformer 1
«atpVariation»
FibexElement
+transformationDescription 0..1
ISignal
Describable
+ dataTypePolicy: DataTypePolicyEnum
TransformationDescription
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
+transformationISignalProps 0..*
Describable
UserDefinedTransformationDescription
«atpVariation»
TransformationISignalProps
UserDefinedTransformationProps
+dataPrototypeTransformationProps 0..*
Identifiable
UserDefinedTransformationISignalProps DataPrototypeTransformationProps +transformationProps
TransformationProps
0..1
Please note that all these UserDefined classes are Identifiable or Describable
and therefore are able to describe special data (sdg) which is not represented by the
standard model.
Class <<atpVariation>> UserDefinedTransformationISignalProps
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note The UserDefinedTransformationISignalProps is used to specify ISignal specific configuration properties
for custom transformers.
Base ARObject, Describable, TransformationISignalProps
Attribute Type Mult. Kind Note
– – – – –
Table 7.39: UserDefinedTransformationISignalProps
Class UserDefinedTransformationProps
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note The class UserDefinedTransformationProps specifies specific configuration properties of a user defined
serializer.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable, TransformationProps
Attribute Type Mult. Kind Note
– – – – –
Table 7.40: UserDefinedTransformationProps
AUTOSAR supports the usage of the so-called Tag-Length-Value (TLV) encoding. The
following sub-sections explain the details and the extent of the support for TLV encod-
ing.
[TPS_SYST_05016] Assignment of TLV data ids dThe assignment of TLV data ids
is done in the context of the specification of SOMEIPTransformationISignal-
Props, namely by means of the attribute SOMEIPTransformationISignalProps.
tlvDataIdDefinition.tlvDataIdDefinition.id.c(RS_SYST_00058)
This approach takes benefit from the fact that the TlvDataIdDefinition is able to
create references to relevant model elements.
The assignment of the TLV data id is therefore done by creating such a reference and
assigning a TLV data id to it by means of the attribute TlvDataIdDefinition.id.
Please note that the assignment of TLV data ids is compulsory for an entire data struc-
ture that has at least one optional member. In a nutshell, this conclusion (that is also
backed by [PRS_SOMEIP_00230], see [19]) is the motivation for the existence of [con-
str_1641] and [constr_1642].
Please note further that the assignment of TLV data ids is not restricted to data struc-
tures with optional members. There is also a use case to support sending the elements
of a specific data structure in arbitrary order even if none of the elements is considered
optional.
Moreover, TLV data ids can also be assigned to arguments of a ClientServerOp-
eration. Using TLV data ids for arguments supports that arguments can be sent in
arbitrary order and that new arguments can be added at arbitrary positions during the
evolution of the interface. Note that optional arguments are not supported.
[TPS_SYST_02378] Optional method arguments dAUTOSAR Classic platform does
not support the existence of optional method arguments.c()
The reason for the restriction in [TPS_SYST_02378] is that the RTE does not have an
API to handle optional method arguments.
TransformationISignalProps ARElement
SOMEIPTransformationISignalProps +tlvDataIdDefinition TlvDataIdDefinitionSet
0..* +tlvDataIdDefinition
AutosarDataPrototype
TlvDataIdDefinition
ArgumentDataPrototype +tlvArgument
0..1 «atpIdentityContributor»
+ direction: ArgumentDirectionEnum [0..1]
+ id: PositiveInteger
+ serverArgumentImplPolicy: ServerArgumentImplPolicyEnum [0..1]
ApplicationCompositeElementDataPrototype
+tlvRecordElement
ApplicationRecordElement
0..1
+ isOptional: Boolean [0..1]
AtpStructureElement
Identifiable +tlvImplementationDataTypeElement
AbstractImplementationDataTypeElement
0..1
Figure 7.23: Definition of data ids for the TLV encoding inside a SOME/IP message
To sum it up: the usage of TLV data ids and optional members are two different fea-
tures. Optional members require the usage of TLV data ids, but TLV data ids can also
be used without having optional members.
Class TlvDataIdDefinitionSet
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note This meta-class acts as a container of TlvDataIdDefinitions to be used in a given context
Tags:atp.recommendedPackage=TlvDataDefinitionSets
Base ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
tlvDataId TlvDataIdDefinition * aggr This aggregation represents the collection of TlVDataTid
Definition Definitions aggregated by the TlvDataIdDefinitionSet
Stereotypes: atpSplitable
Tags:atp.Splitkey=tlvDataIdDefinition.id
Class TlvDataIdDefinition
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note This meta-class represents the ability to define the tlvDataId.
Base ARObject
Attribute Type Mult. Kind Note
id PositiveInteger 1 attr This attribute represents the definition of the value of the
TlvDataId
Stereotypes: atpIdentityContributor
5
4
Class TlvDataIdDefinition
tlvArgument ArgumentDataPrototype 0..1 ref This reference assigns a tlvDataId to a given argument of
a ClientServerOperation.
tlv AbstractImplementation 0..1 ref This reference associates the definition of a TLV data id
Implementation DataTypeElement with a given AbstractImplementationDataTypeElement.
DataType
Element
tlvRecord ApplicationRecord 0..1 ref This reference associates the definition of a TLV data id
Element Element with a given ApplicationRecordElement.
In this case, a constraint to keep TLV data ids in sync between Application-
DataType and ImplementationDataType would not even be helpful because ei-
ther side might not know about the actual data type used as the basis of the creation
of the Transformer at the other end.
Nevertheless, if both an ApplicationDataType and the mapped Implementa-
tionDataType are annotated with TLV data Ids within the same model then the as-
sociated values shall obviously be identical for corresponding sub-elements.
The TLV encoding supports the definition of a so-called wire type that controls how
the information about the length of length fields shall be interpreted. The meaning of
specific settings of the wire type is defined in [19].
[TPS_SYST_05017] Definition of the applicable wire type attribute SOMEIP-
TransformationISignalProps.isDynamicLengthFieldSize shall be used to
define the applicable wire type dIf the value of attribute SOMEIPTransformation-
ISignalProps.isDynamicLengthFieldSize is set to True then wire type 5-7
shall be used.
If the value of attribute SOMEIPTransformationISignalProps.isDynami-
cLengthFieldSize does not exist or is set to False then wire type 4 shall be used.c
(RS_SYST_00058)
[constr_1652] Definition of static length fields sizes in case of TLV usage
dIf TlvDataIdDefinitions are defined for a SOMEIPTransformationISig-
nalProps, the attributes sizeOfArrayLengthFields, sizeOfStructLength-
Fields, sizeOfStringLengthFields and sizeOfUnionLengthFields shall
be greater than 0.c()
Rationale for the existence of [constr_1652]: The TLV serialization requires the usage
of length fields. If wire type 4 is used the length field size shall be statically configured.
If wire types 5-7 (dynamic length field size) are used the static configuration of the
length field size shall also be present since not all length fields are preceded by a tag,
e.g. structures contained in an array or the top-level struct contained in a SOME/IP
event. Not using length fields here would result in ambiguities.
[constr_1653] Identical values for length fields sizes in case of TLV usage
dIf TlvDataIdDefinitions are defined for a SOMEIPTransformationISig-
nalProps, the attributes sizeOfArrayLengthFields, sizeOfStructLength-
Fields, sizeOfStringLengthFields and sizeOfUnionLengthFields shall
have an identical value.c()
Rationale for the existence of [constr_1653]: if an unknown member or argument is
encountered the deserializer cannot determine the actual datatype of the member/ar-
gument when wire type 4 is used.
8 Gateways
A gateway is a function within an EcuInstance that performs as a FrameMap-
ping, IPduMapping or ISignalMapping function between two or more Commu-
nicationClusters.
PackageableElement
FibexElement
EcuInstance Gateway
+ecu
«atpVariation»
«atpVariation» «atpVariation»
+targetIPdu 1
+sourceIPdu 1 +targetIPdu 1
Identifiable
PduTriggering
PduMappingDefaultValue +defaultValue
0..1
+defaultValueElement 1..*
DefaultValueElement
+ elementByteValue: Integer
+ elementPosition: Integer
Figure 8.1 shows the meta-model for the Gateway description in the System Template.
Class Gateway
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note A gateway is an ECU that is connected to two or more clusters (channels, but not redundant), and
performs a frame, Pdu or signal mapping between them.
Tags:atp.recommendedPackage=Gateways
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
ecu EcuInstance 1 ref Reference to one ECU instance that implements the
gateway.
frameMapping FrameMapping * aggr Frame Gateway: The entire source frame is mapped as it
is onto the target frame (what in general is only possible
inside of a common platform). In this case source and
target frame should be the identical object.
atpVariation: If frames are variable in clusters, the
gateway frame mapping needs to be variable, too.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
iPduMapping IPduMapping * aggr IPdu Gateway: Arranges those IPdus that are transferred
by the gateway from one channel to the other in pairs and
defines the mapping between them.
atpVariation: If PDUs are variable in clusters, the gateway
PDU mapping needs to be variable, too.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
signalMapping ISignalMapping * aggr Signal Gateway: Arranges those signals that are
transferred by the gateway from one channel to the other
in pairs and defines the mapping between them.
atpVariation: If signals are variable in clusters, the
gateway signal mapping needs to be variable, too.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
+targetFrame 1 +sourceFrame 1
Identifiable
FrameTriggering
Class FrameMapping
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note The entire source frame is mapped as it is onto the target frame (what in general is only possible inside of
a common platform). In this case source and target frame should be the identical object.
Each pair consists in a SOURCE and a TARGET referencing to a FrameTriggering.
The Frame Mapping is not supported by the Autosar BSW. The existence is optional and has been
incorporated into the System Template mainly for compatibility in order to allow interchange between
FIBEX and AUTOSAR descriptions.
Base ARObject
Attribute Type Mult. Kind Note
introduction DocumentationBlock 0..1 aggr This represents introductory documentation about the
frame mapping.
sourceFrame FrameTriggering 1 ref Source destination of the referencing mapping.
targetFrame FrameTriggering 1 ref Target destination of the referencing mapping.
IPduMapping «atpMixed»
+introduction DocumentationBlock
+ pduMaxLength: PositiveInteger [0..1]
+ pdurTpChunkSize: PositiveInteger [0..1] 0..1
+targetIPdu 1
TargetIPduRef
+sourceIPdu 1 +targetIPdu 1
Identifiable
PduTriggering
PduMappingDefaultValue
+defaultValue
0..1
+defaultValueElement 1..*
DefaultValueElement
+ elementByteValue: Integer
+ elementPosition: Integer
Class IPduMapping
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note Arranges those IPdus that are transferred by the gateway from one channel to the other in pairs and
defines the mapping between them.
Base ARObject
Attribute Type Mult. Kind Note
introduction DocumentationBlock 0..1 aggr This represents introductory documentation about the
IPdu mapping.
pduMaxLength PositiveInteger 0..1 attr Define the maximum length in bytes which limits the
length of the Pdu during gateway operation if the runtime
length of the received Pdu exceeds this limit.
pdurTpChunk PositiveInteger 0..1 attr Optionally defines the to be configured Pdu Router Tp
Size ChunkSize for this routing relation.
sourceIPdu PduTriggering 1 ref Source destination of the referencing mapping.
targetIPdu TargetIPduRef 1 aggr Target destination of the referencing mapping.
Class TargetIPduRef
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note Target destination of the referencing mapping.
Base ARObject
Attribute Type Mult. Kind Note
5
4
Class TargetIPduRef
defaultValue PduMappingDefault 0..1 aggr If no I-Pdu has been received a default value will be
Value distributed.
targetIPdu PduTriggering 1 ref IPdu Reference
Class PduMappingDefaultValue
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note Default Value which will be distributed if no I-Pdu has been received since last sending.
Base ARObject
Attribute Type Mult. Kind Note
defaultValue DefaultValueElement 1..* aggr The default value consists of a number of elements. Each
Element default value element is represented by the element and
the position in an array.
Class DefaultValueElement
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note The default value consists of a number of elements. Each element is one byte long and the number of
elements is specified by SduLength.
Base ARObject
Attribute Type Mult. Kind Note
elementByte Integer 1 attr The integer value of a freely defined data byte.
Value
elementPosition Integer 1 attr This attribute specifies the byte position of the element
within the default value
Table 8.6: DefaultValueElement
to the destination module by the PduR, if the runtime length of the actually received
Pdu exceeds IPduMapping.pduMaxLength.c()
If the attribute IPduMapping.pduMaxLength is defined the value will be derived into
the EcuC PduLength configuration parameter.
• If the runtime length of the received Pdu does not exceed PduLength (now con-
figured to the value of IPduMapping.pduMaxLength) then the PduR will for-
ward the runtime length of the received Pdu to the corresponding targetIPdu.
• If the runtime length of the received Pdu does exceed PduLength (now config-
ured to the value of IPduMapping.pduMaxLength) then the PduR will forward
the PduLength of the received Pdu to the corresponding targetIPdu.
If the attribute IPduMapping.pduMaxLength is not defined then the Pdu.length
is used to derive the PduLength configuration parameter. This corresponds to the
normal routing operation.
[constr_5166] Existence of IPduMapping.pduMaxLength dIf several IPduMap-
pings refer to the same PduTriggering in IPduMapping.sourceIPdu, then all of
these IPduMappings shall provide either no IPduMapping.pduMaxLength value,
or the same IPduMapping.pduMaxLength value.c()
[TPS_SYST_02311] IPduMapping.pduMaxLength relying on the environment
length configuration dIPduMapping.pduMaxLength shall not exceed the available
amount of free payload bytes in the surrounding Pdus or frames of routedPdu, where
routedPdu is the sourceIPdu or the targetIPdu, e.g. if routedPdu is contained
in a ContainerIPdu with (ContainerIPdu.headerType = shortHeader), then
IPduMapping.pduMaxLength shall not exceed (ContainerIPdu.length - 4) (4
being the byte length of the short HeaderId/Length field)c()
Example: Pdu_A is transmitted on CAN_1 network in a CAN-FD frame and forwarded
by a gateway as part of a ContainerIPdu to CAN_2 network.
Pdu_A in the transmitting ECU_A (CAN_1) has the following configuration:
Pdu.length = 9 bytes.
The routing path to route Pdu_A as Contained IPdu to CAN_2 has the following con-
figuration:
• IPduMapping.pduMaxLength = 60 byte
• IPduMapping.sourceIPdu = PduTriggering referring to PDU_A
• IPduMapping.targetIPdu = refers to PduTriggering referring to PDU_B
(PDU_B as part of a ContainerIPdu)
The length information in the system description are:
• sourceIPdu.length = 9 byte
• targetIPdu.length = 60 byte (due to pduMaxLength = 60 byte).
ISignalMapping «atpMixed»
+introduction DocumentationBlock
0..1
+sourceSignal 1 +targetSignal 1
Identifiable
ISignalTriggering
FibexElement FibexElement
ISignal ISignalGroup
+iSignal
+ dataTypePolicy: DataTypePolicyEnum
0..*
+ iSignalType: ISignalTypeEnum [0..1]
+ length: UnlimitedInteger
+systemSignal 1 +systemSignalGroup 1
+transformingSystemSignal
ARElement ARElement
SystemSignal 0..1 SystemSignalGroup
Class ISignalMapping
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Multiplatform
Note Arranges those signals (or SignalGroups) that are transferred by the gateway from one channel to the
other in pairs and defines the mapping between them. Each pair consists in a source and a target
referencing to a ISignalTriggering.
Base ARObject
Attribute Type Mult. Kind Note
introduction DocumentationBlock 0..1 aggr This represents introductory documentation about the
ISignal mapping.
sourceSignal ISignalTriggering 1 ref Source destination of the referencing mapping.
targetSignal ISignalTriggering 1 ref Target destination of the referencing mapping.
SignalGateway: ISignalMapping
A: ISignalTriggering B: ISignalTriggering A1: ISignalTriggering B1: ISignalTriggering A3: ISignalTriggering B2: ISignalTriggering
A: ISignalGroup B: ISignalGroup
A3: ISignal
9.1 Introduction
This chapter describes the modeling of how a global time synchronization in an
AUTOSAR system can be achieved. There are two kinds of time bases: synchro-
nized time base and offset time base. This manifests in two possible values for the
attribute category (see [constr_3519]).
[constr_3519] Value of category of GlobalTimeDomain dThe attribute category
of GlobalTimeDomain can have the following values:
• SYNCHRONIZED: this time base does not depend on the existence of another
time base
• OFFSET: this time base depends on the existence of another time base. It deliv-
ers a value that represents an offset relative to the referenced (GlobalTimeDo-
main.offsetTimeDomain) synchronized time base.
c()
There are several use cases for implementing a system-wide global time in an vehicle:
• In case of an accident it may be necessary to post-mortem analyze whether the
vehicle ECUs performed according to specification. This implies that it shall be
possible to unambiguously determine the sequence of activities before a crash.
This sequence can only be determined if all components in the distributed system
depend on a reliable global time basis.
• It may be necessary that several ECUs in the distributed system need to act in
concert with respect to the time that a specific activity is executed. A very trivial
example for this requirement is the activation of turn indicators in a car. These
are rarely connected to a single ECU (which could take care of synchronously
flashing the turn indicators) but their synchronized execution is still very essential
for the vehicle operation.
• The distribution of several global time bases shall be possible (e.g. a vehicle local
time based on the runtime of the car and a GPS-based time).
• It shall be possible to define offset time bases which have the property that they
are based on a synchronized time base and distribute the offset time value as
difference to the synchronized time base.
It is obvious that the distribution of global time within a vehicle requires a system-wide
context and therefore, the AUTOSAR System Template defines relevant meta-classes
and their relations for this purpose.
Of course, the actual implementation of global time distribution is done in a couple
of basic-software modules that need to be configured in the context of integrating a
particular ECU. The purpose of the meta-model described in chapter 9 is to support
the configuration of these basic-software modules.
The modeling of how the distribution of global time is supposed to work can roughly be
distributed into two parts, the discussion of the big picture (see 9.2) and the description
of the details that eventually will support the configuration of the corresponding basic-
software modules. The latter can be found in chapter 9.3.
1
For the intents and purposes of this chapter, always make sure to read global-time domain rather
than global time-domain.
Identifiable
GlobalTimeCorrectionProps
PduTriggering
+ offsetCorrectionAdaptionInterval: TimeValue [0..1]
+ offsetCorrectionJumpThreshold: TimeValue [0..1]
+ rateCorrectionMeasurementDuration: TimeValue [0..1] +pduTriggering 0..1
+ rateCorrectionsPerMeasurementDuration: PositiveInteger [0..1]
+offsetTimeDomain 0..1
FibexElement
GlobalTimeDomain
+globalTimeDomainProperty
AbstractGlobalTimeDomainProps
«atpVariation» 0..1
+networkSegmentId NetworkSegmentIdentification
0..1 + networkSegmentId: PositiveInteger [0..1]
«atpVariation»
+gateway 0..*
«atpVariation» «atpVariation»
Identifiable Identifiable
GlobalTimeSlave GlobalTimeMaster
«atpVariation»
+ followUpTimeoutValue: TimeValue [0..1] + immediateResumeTime: TimeValue [0..1]
+ timeLeapFutureThreshold: TimeValue [0..1] + isSystemWideGlobalTimeMaster: Boolean
+ timeLeapHealingCounter: PositiveInteger [0..1] + syncPeriod: TimeValue
+ timeLeapPastThreshold: TimeValue [0..1]
Identifiable
CommunicationConnector
The characteristics of accessing the information contained in this Pdu do make any
requirements on the nature of the Pdu. Therefore, it is sufficient and applicable to use
the GeneralPurposePdu for this use case.
To make this possible, it is necessary to include the global time use case in the set of
standardized values of the attribute GeneralPurposePdu.category. In other words,
[constr_3081] applies.c()
[constr_3261] GlobalTimeDomain.pduTriggering category dThe Pdu that is
referenced by the PduTriggering that in turn is referenced by GlobalTimeDo-
main in the role pduTriggering shall be a GeneralPurposePdu of category
GLOBAL_TIME.c()
[TPS_SYST_05010] GlobalTimeDomain.pduTriggering is not required on Eth-
ernet dThe Pdu for transmitting global time information is not required on the Ethernet
bus. Here, the information is accessed directly from the Ethernet Interfaces, i.e. the
hardware already keeps track of the global time.c()
[constr_1369] CommunicationConnectors shall be attached to the same Com-
municationCluster dAll CommunicationConnectors referenced from Global-
TimeMaster and GlobalTimeSlaves aggregated in one GlobalTimeDomain shall
be referenced in the role commConnector by the same PhysicalChannel aggre-
gated by the same CommunicationCluster.c()
[constr_1370] Consistency of GlobalTimeDomain dThe GlobalTimeSlave ref-
erenced in the role GlobalTimeGateway.slave and the GlobalTimeMaster refer-
enced in the role GlobalTimeGateway.master shall not be aggregated by the same
GlobalTimeDomain.c()
The background of [constr_1370] is that the GlobalTimeGateway is supposed to
connect two GlobalTimeDomains it is hardly possible that the GlobalTimeGate-
way.slave and the GlobalTimeMaster can be aggregated by the same Global-
TimeDomain.
[TPS_SYST_05011] Ownership of GlobalTimeGateway dSince the existence of a
GlobalTimeGateway is only justified if a GlobalTimeDomain exists that is refer-
enced by a GlobalTimeDomain in the role globalTimeSubDomain it seems appro-
priate to aggregate the GlobalTimeGateway at the GlobalTimeDomain referenced
in the role globalTimeSubDomain.c()
In other words, the GlobalTimeGateway shall be aggregated at the GlobalTime-
Domain that also aggregates the master.
Please note that GlobalTimeDomain.gateway effectively has a 0..1 multiplicity since
no more than one globalTimeMaster is allowed per GlobalTimeDomain.
[constr_1371] Consistency of attribute host dWithin the context of an ag-
gregating GlobalTimeDomain, the CommunicationConnectors referenced in
the role GlobalTimeGateway.master.communicationConnector and Global-
TimeGateway.slave.communicationConnector shall be aggregated by the same
EcuInstance that is referenced in the role GlobalTimeGateway.host.c()
FR ETH
TS TS
TS
TS
A partial outline of the example system description structure is shown in figure 9.3.
TimeDomain:
GlobalTimeDomain
domainId = 1
category = SYNCHRONIZED
+globalTimeSubDomain
TM11: GlobalTimeFrMaster
+globalTimeMaster
sub11: GlobalTimeDomain
isSystemWideGlobalTimeMaster = true
domainId = 1
category = SYNCHRONIZED
+slave
:GlobalTimeFrSlave
+slave
:GlobalTimeFrSlave
+slave +slave
TS1:
GlobalTimeFrSlave
+globalTimeSubDomain
+gateway
TG1:
GlobalTimeGateway
+slave
:GlobalTimeCanSlave
In figure 9.4, an example of a Offset Time Sync setup is shown. The example is based
on the setup shown in figure 9.2 and extends this with the definition of an offset time
domain.
The Global time master ECU creates the synchronized TimeDomain and provides it to
several globalTimeSubDomains. The figure needs to be interpreted in the way that
the OffsetTimeDomain is based on the TimeDomain and is sort of overlaid, although
drawn side by side.
The time slave TS_O receives the TimeDomain as a GlobalTimeSlave and also
provides the OffsetTimeDomain as TM51 in the role of a GlobalTimeMaster on the
same network FR.
FR ETH FR
TS TS TS
TS
TS TS
A partial outline of the example system description structure is shown in figure 9.5.
domainId = 1 domainId = 16
category = SYNCHRONIZED category = OFFSET
+globalTimeSubDomain +globalTimeSubDomain
+slave +slave
TS5:
GlobalTimeFrSlave
+globalTimeSubDomain +globalTimeSubDomain
+master
sub12: GlobalTimeDomain sub52: +globalTimeMaster TM52: GlobalTimeCanMaster
GlobalTimeDomain isSystemWideGlobalTimeMaster = false
domainId = 1
category = SYNCHRONIZED domainId = 16
category = OFFSET
+offsetTimeBase +gateway
TG5:
GlobalTimeGateway
+slave
:GlobalTimeCanSlave
+globalTimeSubDomain
sub21: GlobalTimeDomain
domainId = 1
category = SYNCHRONIZED
Class GlobalTimeDomain
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime
Note This represents the ability to define a global time domain.
Tags:atp.recommendedPackage=GlobalTimeDomains
Base ARObject, CollectableElement, FibexElement, Identifiable, MultilanguageReferrable, Packageable
Element, Referrable
Attribute Type Mult. Kind Note
debounceTime TimeValue 0..1 attr Defines the minimum amount of time between two time
sync messages are transmitted.
domainId PositiveInteger 1 attr This represents the ID of the GlobalTimeDomain used in
the network messages sent on behalf of global time
management.
gateway GlobalTimeGateway * aggr A GlobalTimeGateway may exist in the context of a
GlobalTimeDomain to actively update the global time
information as it is routed from one GlobalTimeDomain to
another.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
globalTime GlobalTimeCorrection 0..1 aggr Defintion of attributes for rate and offset correction.
CorrectionProps Props
globalTime AbstractGlobalTime 0..1 aggr Additional properties of the GlobalTimeDomain.
Domain DomainProps
Stereotypes: atpVariation
Property
Tags:vh.latestBindingTime=postBuild
5
4
Class GlobalTimeDomain
globalTime GlobalTimeMaster 0..1 aggr This represents the single master of a GlobalTime
Master Domain. A GlobalTimeDomain may have no GlobalTime
Domain.master, e.g. when it gets its time from a GPS
receiver.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
globalTimeSub GlobalTimeDomain * ref By this means it is possible to create a hierarchy of sub
Domain Domains where one global time domain can declare one
or more other global time domains as its subDomains.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
network NetworkSegment 0..1 aggr Defines the numerical identification of a GlobalTime sub
SegmentId Identification domain.
offsetTime GlobalTimeDomain 0..1 ref Reference to a synchronized time domain this offset time
Domain domain is based on. The reference source is the offset
time domain. The reference target is the synchronized
time domain.
pduTriggering PduTriggering 0..1 ref This PduTriggering will be taken to transmit the global
time information from a GlobalTimeMaster to a the
associated GlobalTimeSlaves.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
slave GlobalTimeSlave * aggr This represents the collections of slaves of the Global
TimeDomain. A GlobalTimeDomain may have no Global
TimeDomain.slaves, e.g. when it propagates its time
directly to sub domains.
Stereotypes: atpVariation
Tags:vh.latestBindingTime=postBuild
syncLoss TimeValue 0..1 attr This attribute describes the timeout for the situation that
Timeout the time synchronization gets lost in the scope of the time
domain.
Table 9.1: GlobalTimeDomain
Class NetworkSegmentIdentification
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime
Note This meta-class represents the ability to identify the PhysicalChannel on a system scope in a numerical
way. One possible application of this approach is the Time Validation.
Base ARObject
Attribute Type Mult. Kind Note
5
4
Class NetworkSegmentIdentification
network PositiveInteger 0..1 attr This attribute represents the numerical identifier of a
SegmentId PhysicalChannel on system level scope.
Class GlobalTimeGateway
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime
Note This represents the ability to define a time gateway for establishing a global time domain over several
communication clusters.
5
4
Class GlobalTimeGateway
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
host EcuInstance 1 ref The GlobalTimeGateway is hosted by the referenced Ecu
Instance.
master GlobalTimeMaster 1 ref This represents the master of the global time gateway.
slave GlobalTimeSlave 1 ref This represents the slave of the GlobalTimeGateway.
This chapter described the detailing of how the concept of global time synchronization
is applied to the CAN bus in particular.
The implementation of global time synchronization on the CAN bus is modeled by
means of GlobalTimeCanMaster, a concrete subclass of GlobalTimeMaster. A
similar approach applies for the GlobalTimeCanSlave, which is derived from Glob-
alTimeSlave.
Identifiable
GlobalTimeMaster
GlobalTimeCanMaster «enumeration»
GlobalTimeCrcSupportEnum
+ crcSecured: GlobalTimeCrcSupportEnum [0..1]
+ syncConfirmationTimeout: TimeValue crcSupported
crcNotSupported
Identifiable
GlobalTimeSlave
«enumeration»
GlobalTimeCanSlave GlobalTimeCrcValidationEnum
+ crcValidated: GlobalTimeCrcValidationEnum crcValidated
+ sequenceCounterJumpWidth: PositiveInteger [0..1]
crcNotValidated
crcIgnored
crcOptional
In addition to the CAN specific Master and Slave properties CAN specific CanGlob-
alTimeDomainProps can be described.
«atpVariation»
+globalTimeSubDomain 0..*
FibexElement
+offsetTimeDomain 0..1
GlobalTimeDomain
«atpVariation»
+globalTimeDomainProperty 0..1
AbstractGlobalTimeDomainProps
CanGlobalTimeDomainProps
Class GlobalTimeCanMaster
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::CAN
Note This represents the specialization of the GlobalTimeMaster for the CAN communication.
Base ARObject, GlobalTimeMaster , Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
crcSecured GlobalTimeCrcSupport 0..1 attr Definition of whether or not CRC is supported. This is
Enum only relevant for selected bus systems.
sync TimeValue 1 attr This represents the value for the confirmation timeout.
Confirmation Unit: seconds.
Timeout
Table 9.8: GlobalTimeCanMaster
Class GlobalTimeCanSlave
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::CAN
Note This represents the specialization of the GlobalTimeSlave for the CAN communication.
Base ARObject, GlobalTimeSlave, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
crcValidated GlobalTimeCrc 1 attr Definition of whether or not validation of the CRC is
ValidationEnum supported.
sequence PositiveInteger 0..1 attr Specifies the maximum allowed gap of the sequence
CounterJump counter between two SYNC resp. two OFS messages.
Width
Table 9.9: GlobalTimeCanSlave
Class CanGlobalTimeDomainProps
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::CAN
Note Enables the definition of Can Global Time specific properties.
Base ARObject, AbstractGlobalTimeDomainProps
5
4
Class CanGlobalTimeDomainProps
Attribute Type Mult. Kind Note
fupDataIDList PositiveInteger 0..16 attr The DataIDList for FUP messages to calculate CRC.
(ordered)
ofnsDataIDList PositiveInteger 0..16 attr The DataIDList for OFNS messages to calculate CRC.
(ordered)
ofsDataIDList PositiveInteger 0..16 attr The DataIDList for OFS messages to calculate CRC.
(ordered)
syncDataIDList PositiveInteger 0..16 attr The DataIDList for SYNC messages to calculate CRC.
(ordered)
This chapter described the detailing of how the concept of global time synchroniza-
tion is applied to the Ethernet bus in particular. For details concerning the functional
behavior please refer to [42].
The implementation of global time synchronization on the Ethernet bus is modeled
by means of GlobalTimeEthMaster, a concrete subclass of GlobalTimeMaster.
A similar approach applies for the GlobalTimeEthSlave, which is derived from
GlobalTimeSlave.
Identifiable
«enumeration»
GlobalTimeMaster
GlobalTimeCrcSupportEnum
+ immediateResumeTime: TimeValue [0..1]
crcSupported
+ isSystemWideGlobalTimeMaster: Boolean
crcNotSupported
+ syncPeriod: TimeValue
GlobalTimeEthMaster
+subTlvConfig 0..1
EthTSynSubTlvConfig
Identifiable
GlobalTimeSlave
GlobalTimeEthSlave «enumeration»
GlobalTimeCrcValidationEnum
+ crcValidated: GlobalTimeCrcValidationEnum [0..1]
crcValidated
crcNotValidated
crcIgnored
crcOptional
«atpVariation»
+globalTimeSubDomain 0..*
FibexElement
GlobalTime::GlobalTimeDomain
«atpVariation»
+globalTimeDomainProperty 0..1
GlobalTime::
AbstractGlobalTimeDomainProps «enumeration»
EthGlobalTimeMessageFormatEnum
IEEE802_1AS
IEEE802_1AS_AUTOSAR
EthTSynCrcFlags
EthGlobalTimeDomainProps
+ crcCorrectionField: Boolean [0..1]
+ destinationPhysicalAddress: MacAddressString [0..1] +crcFlags + crcDomainNumber: Boolean [0..1]
+ fupDataIDList: PositiveInteger [0..16] {ordered} 0..1 + crcMessageLength: Boolean [0..1]
+ messageCompliance: EthGlobalTimeMessageFormatEnum + crcPreciseOriginTimestamp: Boolean [0..1]
+ vlanPriority: PositiveInteger [0..1] + crcSequenceId: Boolean [0..1]
+ crcSourcePortIdentity: Boolean [0..1]
Class GlobalTimeEthMaster
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note This represents the specialization of the GlobalTimeMaster for Ethernet communication.
Base ARObject, GlobalTimeMaster , Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
crcSecured GlobalTimeCrcSupport 0..1 attr Definition of whether or not CRC is supported. This is
Enum only relevant for selected bus systems.
subTlvConfig EthTSynSubTlvConfig 0..1 aggr Defines the subTLV fields which shall be included in the
time sync message.
Class EthTSynSubTlvConfig
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note Defines the subTLV fields which shall be included in the time sync message.
5
4
Class EthTSynSubTlvConfig
Base ARObject
Attribute Type Mult. Kind Note
ofsSubTlv Boolean 0..1 attr Defines whether an AUTOSAR Follow_Up TLV OFS
Sub-TLV is used.
statusSubTlv Boolean 0..1 attr Defines whether an AUTOSAR Follow_Up TLV Status
Sub-TLV is used.
timeSubTlv Boolean 0..1 attr Defines whether an AUTOSAR Follow_Up TLV Time
Sub-TLV is used.
userDataSubTlv Boolean 0..1 attr Defines whether an AUTOSAR Follow_Up TLV UserData
Sub-TLV is used.
Class GlobalTimeEthSlave
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note This represents the specialization of the GlobalTimeSlave for Ethernet communication.
Base ARObject, GlobalTimeSlave, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
crcValidated GlobalTimeCrc 0..1 attr Definition of whether or not validation of the CRC is
ValidationEnum supported.
Class EthGlobalTimeDomainProps
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note Enables the definition of Ethernet Global Time specific properties.
Base ARObject, AbstractGlobalTimeDomainProps
Attribute Type Mult. Kind Note
crcFlags EthTSynCrcFlags 0..1 aggr Defines the fields of the message which shall be taken
into account for CRC calculation and verification.
destination MacAddressString 0..1 attr Defines the MAC multicast address the Ethernet time
Physical sync messages are communicated on.
Address
fupDataIDList PositiveInteger 0..16 attr The DataIDList for FUP messages to calculate CRC.
(ordered)
managed EthGlobalTime * aggr Collection of CouplingPorts which are managed in the
CouplingPort ManagedCouplingPort scope of this Ethernet GlobalTimeDomain.
message EthGlobalTimeMessage 1 attr Defines the compliance of the Ethernet time sync
Compliance FormatEnum messages to specific standards.
vlanPriority PositiveInteger 0..1 attr Defines which VLAN priority shall be assigned to a time
sync message in case the message is sent using a VLAN
tag.
Class EthTSynCrcFlags
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note Defines the fields of the message which shall be taken into account for CRC calculation and verification.
5
4
Class EthTSynCrcFlags
Base ARObject
Attribute Type Mult. Kind Note
crcCorrection Boolean 0..1 attr CorrectionField from the Follow_Up Message Header
Field shall be included in CRC calculation.
crcDomain Boolean 0..1 attr DomainNumber from the Follow_Up Message Header
Number shall be included in CRC calculation.
crcMessage Boolean 0..1 attr MessageLength from the Follow_Up Message Header
Length shall be included in CRC calculation.
crcPrecise Boolean 0..1 attr PreciseOriginTimestamp from the Follow_Up Message
Origin Field shall be included in CRC calculation.
Timestamp
crcSequenceId Boolean 0..1 attr SequenceId from the Follow_Up Message Header shall
be included in CRC calculation.
crcSourcePort Boolean 0..1 attr SourcePortIdentity from the Follow_Up Message Header
Identity shall be included in CRC calculation.
Enumeration EthGlobalTimeMessageFormatEnum
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note Specifies which message formats are available to for the Ethernet time sync protocol.
Literal Description
IEEE802_1AS Message format according to IEEE 802.1AS standard.
Tags:
atp.EnumerationLiteralIndex=0
xml.name=IEEE802-1AS
IEEE802_1AS_ Message format according to IEEE 802.1AS standard with AUTOSAR extensions.
AUTOSAR
Tags:
atp.EnumerationLiteralIndex=1
xml.name=IEEE802-1AS-AUTOSAR
• an ECU is connected to an Ethernet switch but does not manage the switch (see
section 9.3.2.2)
• an ECU is connected to an Ethernet switch and also manages this switch (see
section 9.3.2.3)
The CouplingPort is used in either use-case to describe the connection of the ECU
to the Ethernet network / switch. Thus there are some attributes related to the Cou-
plingPort which apply to both use-cases.
In case the ECU is directly connected to the Ethernet network and does not manage
an Ethernet switch (of course there may be Ethernet switches used in the topology,
but for this use-case these switches are not visible to the description of this ECU) the
Ethernet time synchronization only needs to cope with the connection of this ECU to
the Ethernet network. Considering the example in figure 9.13 this applies to the ECUs
TS1, TS2, TS3, and TM which are just connected to the Ethernet switches but do not
manage any Ethernet switch.
AbstractGlobalTimeDomainProps
GlobalTimeCouplingPortProps
+globalTimeDomainProperty 0..1
«atpVariation» + propagationDelay: TimeValue
«atpVariation»
+globalTimeSubDomain 0..*
+globalTimeProps 0..1
FibexElement
GlobalTimeDomain CouplingPortDetails
+ debounceTime: TimeValue [0..1]
+ domainId: PositiveInteger +couplingPortDetails 0..1
+ syncLossTimeout: TimeValue [0..1] +couplingPort 0..1
Identifiable
CouplingPort
«atpVariation» «atpVariation»
+slave 0..* +globalTimeMaster +couplingPort 0..*
0..1
Identifiable Identifiable
FibexElement
GlobalTimeSlave GlobalTimeMaster
EcuInstance
+ followUpTimeoutValue: TimeValue [0..1] + immediateResumeTime: TimeValue [0..1]
+ timeLeapFutureThreshold: TimeValue [0..1] + isSystemWideGlobalTimeMaster: Boolean
+ timeLeapHealingCounter: PositiveInteger [0..1] + syncPeriod: TimeValue
+ timeLeapPastThreshold: TimeValue [0..1]
«atpVariation»
+communicationConnector 1
+connector *
+communicationConnector Identifiable
1 CommunicationConnector «atpVariation»
GlobalTimeEthSlave
EthernetCommunicationController
Figure 9.12: Overview of the Ethernet time sync in relation with a CouplingPort of an
ECU
In case an ECU manages an Ethernet switch then that management ECU can basically
be the GlobalTimeEthMaster or the GlobalTimeEthSlave located (see also fig-
ure 9.13). For the description of the time delay compensation on System Template
level this does not matter.
0 0
1 1
Switch Switch
2 3 4 5 2 3 4 5
0 0 0 0 0 0
EthGlobalTimeManagedCouplingPort
GlobalTimeCouplingPortProps
+managedCouplingPort 0..*
+ propagationDelay: TimeValue
EthGlobalTimeDomainProps
+globalTimeProps 0..1
+ destinationPhysicalAddress: MacAddressString [0..1]
+ fupDataIDList: PositiveInteger [0..16] {ordered}
+ messageCompliance: EthGlobalTimeMessageFormatEnum CouplingPortDetails
+ vlanPriority: PositiveInteger [0..1]
+couplingPortDetails 0..1
+couplingPort 0..1
AbstractGlobalTimeDomainProps Identifiable
CouplingPort
+globalTimeDomainProperty 0..1
«atpVariation»
«atpVariation»
+globalTimeSubDomain 0..* +couplingPort 0..*
FibexElement «atpVariation,atpSplitable»
GlobalTimeDomain
«atpVariation» «atpVariation»
+ecuInstance 0..1
+slave 0..* +globalTimeMaster 0..1
FibexElement
Identifiable Identifiable
EcuInstance
GlobalTimeSlave GlobalTimeMaster
Identifiable
«atpVariation»
CommunicationController
GlobalTimeEthMaster
Figure 9.14: Overview of the Ethernet time sync in relation with a CouplingPort of an
Ethernet switch
Class EthGlobalTimeManagedCouplingPort
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::ETH
Note Specifies a CouplingPort which is managed by an Ethernet Global Time Domain.
Base ARObject
Attribute Type Mult. Kind Note
couplingPort CouplingPort 0..1 ref Defines which CouplingPort is managed by this EthGlobal
TimeManagedCouplingPort.
pdelayLatency TimeValue 0..1 attr Threshold for calculated Pdelay. If a measured Pdelay
Threshold exceeds pdelayLatencyThreshold, the measured Pdelay
value is discarded.
pdelayRequest TimeValue 0..1 attr Defines the period for the pdelay request messages.
Period
5
4
Class EthGlobalTimeManagedCouplingPort
pdelayRespAnd TimeValue 0..1 attr Timeout value for Pdelay_Resp and Pdelay_Resp_
RespFollowUp Follow_Up after a Pdelay_Req has been transmitted resp.
Timeout a Pdelay_Resp has been received. A value of 0 or not
defining this attribute deactivates this timeout observation.
pdelay Boolean 1 attr Defines whether PDELAY RESPONSE and PDELAY
Response RESPONSE FOLLOW UP shall be sent on this Coupling
Enabled Port.
Table 9.17: EthGlobalTimeManagedCouplingPort
Class GlobalTimeCouplingPortProps
Package M2::AUTOSARTemplates::SystemTemplate::Fibex::Fibex4Ethernet::EthernetTopology
Note Defines properties for the usage of the CouplingPort in the scope of Global Time Sync.
Base ARObject
Attribute Type Mult. Kind Note
propagation TimeValue 1 attr If cyclic propagation delay measurement is enabled, this
Delay parameter represents the default value of the propagation
delay until the first actually measured propagation delay is
available. If cyclic propagation delay measurement is
disabled, this parameter defines a fixed value for the
propagation delay.
This chapter described the detailing of how the concept of global time synchronization
is applied to the Flexray bus in particular.
The implementation of global time synchronization on the Flexray bus is modeled by
means of GlobalTimeFrMaster, a concrete subclass of GlobalTimeMaster. A
similar approach applies for the GlobalTimeFrSlave, which is derived from Glob-
alTimeSlave.
Identifiable
GlobalTimeMaster
GlobalTimeFrMaster «enumeration»
GlobalTimeCrcSupportEnum
+ crcSecured: GlobalTimeCrcSupportEnum
crcSupported
crcNotSupported
Identifiable
GlobalTimeSlave
«enumeration»
GlobalTimeFrSlave
GlobalTimeCrcValidationEnum
+ crcValidated: GlobalTimeCrcValidationEnum
crcValidated
+ sequenceCounterJumpWidth: PositiveInteger [0..1]
crcNotValidated
crcIgnored
crcOptional
In addition to the FlexRay specific Master and Slave properties FlexRay specific Fr-
GlobalTimeDomainProps can be described.
«atpVariation»
+globalTimeSubDomain 0..*
FibexElement
+offsetTimeDomain 0..1
GlobalTimeDomain
«atpVariation»
+globalTimeDomainProperty 0..1
AbstractGlobalTimeDomainProps
FrGlobalTimeDomainProps
Class GlobalTimeFrMaster
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::FR
Note This represents the specialization of the GlobalTimeMaster for Flexray communication.
Base ARObject, GlobalTimeMaster , Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
crcSecured GlobalTimeCrcSupport 1 attr Definition of whether or not CRC is supported. This is
Enum only relevant for selected bus systems.
Class GlobalTimeFrSlave
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::FR
Note This represents the specialization of the GlobalTimeSlave for Flexray communication.
Base ARObject, GlobalTimeSlave, Identifiable, MultilanguageReferrable, Referrable
5
4
Class GlobalTimeFrSlave
Attribute Type Mult. Kind Note
crcValidated GlobalTimeCrc 1 attr Definition of whether or not validation of the CRC is
ValidationEnum supported.
sequence PositiveInteger 0..1 attr Specifies the maximum allowed gap of the sequence
CounterJump counter between two SYNC resp. two OFS messages.
Width
Table 9.20: GlobalTimeFrSlave
Class FrGlobalTimeDomainProps
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::FR
Note Enables the definition of Flexray GlobalTime specific properties.
Base ARObject, AbstractGlobalTimeDomainProps
Attribute Type Mult. Kind Note
ofsDataIDList PositiveInteger 0..16 attr The DataIDList for OFS messages to calculate CRC.
(ordered)
syncDataIDList PositiveInteger 0..16 attr The DataIDList for SYNC messages to calculate CRC.
(ordered)
This chapter describes the details of how the concept of global time synchronization
is applied to user defined Timebase Providers. The implementation of global time
synchronization by user defined timebase providers is modeled by means of UserDe-
finedGlobalTimeMaster, a concrete subclass of GlobalTimeMaster. A similar
approach applies for the UserDefinedGlobalTimeSlave, which is derived from
GlobalTimeSlave.
GlobalTimeMaster
UserDefinedGlobalTimeMaster
GlobalTimeSlave
UserDefinedGlobalTimeSlave
Class UserDefinedGlobalTimeMaster
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::UserDefined
Note This represents the specialization of the GlobalTimeMaster for user defined communication.
Base ARObject, GlobalTimeMaster , Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 9.22: UserDefinedGlobalTimeMaster
Class UserDefinedGlobalTimeSlave
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime::UserDefined
Note This represents the specialization of the GlobalTimeSlave for user defined communication.
Base ARObject, GlobalTimeSlave, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
– – – – –
Table 9.23: UserDefinedGlobalTimeSlave
The purpose of this chapter is basically to provide the class tables of meta-classes
taken to implement configuration properties in the context of global time synchroniza-
tion. The specifics about how these meta-classes are used is explained in the bus-
specific chapters (i.e. chapters 9.3.1, 9.3.2, and 9.3.3).
Enumeration GlobalTimeCrcSupportEnum
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime
Note This enumeration is used to define whether and how CRC on the TX side shall be utilized.
Literal Description
crcNotSupported This indicates that CRC is not supported
Tags:atp.EnumerationLiteralIndex=0
5
4
Enumeration GlobalTimeCrcSupportEnum
crcSupported This indicates that CRC is supported
Tags:atp.EnumerationLiteralIndex=1
Enumeration GlobalTimeCrcValidationEnum
Package M2::AUTOSARTemplates::SystemTemplate::GlobalTime
Note This enumeration provides values for the evaluation of the CRC
Literal Description
crcIgnored The CRC is supposed to be ignored
Tags:atp.EnumerationLiteralIndex=0
crcNotValidated The CRC is not supposed to be present. If CRC is present the message is ignored.
Tags:atp.EnumerationLiteralIndex=1
crcOptional Either the CRC is present and then shall be validated or the CRC is not present and no CRC check is
done.
Tags:atp.EnumerationLiteralIndex=3
crcValidated This CRC is supposed to be validated.
Tags:atp.EnumerationLiteralIndex=2
A so-called “fire & forget” method in SOME/IP represents a special form of a method
dedicated to the sole purpose of conveying information from the service consumer to
the service provider. The semantics of a “fire & forget” method is comparable to the
semantics of an event, only reverse. In case that the ServiceInterface contains
a “fire & forget” method the service consumer is able to call this method without the
expectation of any response from the service provider.
[TPS_SYST_02286] “fire & forget” method with data in a ServiceInterface dA
“fire & forget” method of a ServiceInterface that contains data shall be described
as a VariableDataPrototype in a SenderReceiverInterface. The service
provider will consume the VariableDataPrototype. The service consumer will
provide the VariableDataPrototype.c()
If such a “fire & forget” method contains several parameters the VariableDataPro-
totype shall be typed by an AutosarDataType of category STRUCTURE. Each pa-
rameter of the “fire & forget” method shall be represented as a member of the STRUC-
TURE.
[TPS_SYST_02287] “Fire & forget” method without data in a ServiceInterface
dA “fire & forget” method of a ServiceInterface that does not contain any data
shall be described as a Trigger in a TriggerInterface. The service provider will
consume the Trigger. The service consumer will provide the Trigger.c()
To distinguish “fire & forget” methods with parameters from Events a sub-collection is
introduced in the ServiceInterface Collection. The sub-collection refers to all “fire &
forget” methods represented as VariableDataPrototypes and Triggers that are
defined by the ServiceInterface.
[TPS_SYST_02288] “Fire & forget” method in a ServiceInterface
dThe “fire & forget” methods of ServiceInterface shall be wrapped by
a Collection element with category SET and collectionSemantics
SO_SERVICE_FIRE_AND_FORGET_METHODS.c()
Listing 10.2: Example for a fire & forget Method Collection
<AR-PACKAGE>
<SHORT-NAME>FireAndForgetMethods</SHORT-NAME>
<ELEMENTS>
<!-- /FireAndForgetMethods/RadarService_FireAndForgetMethods-->
<COLLECTION>
<SHORT-NAME>RadarService_FireAndForgetMethods</SHORT-NAME>
<CATEGORY>SET</CATEGORY>
<COLLECTION-SEMANTICS>SO_SERVICE_FIRE_AND_FORGET_METHODS</COLLECTION-
SEMANTICS>
<ELEMENT-REFS>
<ELEMENT-REF DEST="VARIABLE-DATA-PROTOTYPE">/PortInterfaces/
RadarService_Reset/Reset</ELEMENT-REF>
<ELEMENT-REF DEST="TRIGGER">/PortInterfaces/
RadarService_LogCurrentState/RadarService_LogCurrentState</
ELEMENT-REF>
</ELEMENT-REFS>
</COLLECTION>
</ELEMENTS>
</AR-PACKAGE>
A Field represents a piece of data hosted by a server that exposes to one or more
client(s) a get accessor and/or a set mutator. Clients can optionally receive notifications
of changes of the Field’s value. In addition a Field has a concrete value at any time.
As soon as the ServiceInterface is offered a Field of this ServiceInterface
can be accessed by a client.
</PDU-ACTIVATION-ROUTING-GROUP>
</METHOD-ACTIVATION-ROUTING-GROUPS>
<EVENT-HANDLERS>
<!-- /ServiceInstancaCollectionSets/SomeIpServiceInstances/
RadarService_1/EventGroup_All -->
<EVENT-HANDLER>
<SHORT-NAME>EventGroup_All</SHORT-NAME>
<EVENT-GROUP-IDENTIFIER>1</EVENT-GROUP-IDENTIFIER>
<EVENT-MULTICAST-ADDRESSS>
<APPLICATION-ENDPOINT-REF-CONDITIONAL>
<APPLICATION-ENDPOINT-REF DEST="APPLICATION-ENDPOINT">/
CommunicationClusters/EthernetCluster/Vlan73/
MyEcuMulticastSocketAddress/MyEcuMulticastAep</APPLICATION-
ENDPOINT-REF>
</APPLICATION-ENDPOINT-REF-CONDITIONAL>
</EVENT-MULTICAST-ADDRESSS>
<MULTICAST-THRESHOLD>2</MULTICAST-THRESHOLD>
<PDU-ACTIVATION-ROUTING-GROUPS>
<!-- /ServiceInstancaCollectionSets/SomeIpServiceInstances/
RadarService_1/EventGroup_All/
RadarService_1_eventAndNotifierActivationUnicastGroup -->
<PDU-ACTIVATION-ROUTING-GROUP>
<SHORT-NAME>RadarService_1_eventAndNotifierActivationUnicastGroup
</SHORT-NAME>
<EVENT-GROUP-CONTROL-TYPE>ACTIVATION-UNICAST</EVENT-GROUP-CONTROL
-TYPE>
<I-PDU-IDENTIFIER-UDP-REFS>
<I-PDU-IDENTIFIER-UDP-REF DEST="SO-CON-I-PDU-IDENTIFIER">/
SoConIpduIdentifierSet/RadarServicePduSet/
RadarService_BrakeEvent</I-PDU-IDENTIFIER-UDP-REF>
<I-PDU-IDENTIFIER-UDP-REF DEST="SO-CON-I-PDU-IDENTIFIER">/
SoConIpduIdentifierSet/RadarServicePduSet/
RadarService_UpdateRate_Notifier</I-PDU-IDENTIFIER-UDP-REF>
</I-PDU-IDENTIFIER-UDP-REFS>
</PDU-ACTIVATION-ROUTING-GROUP>
<!-- /ServiceInstancaCollectionSets/SomeIpServiceInstances/
RadarService_1/EventGroup_All/RadarService_1_TriggerUnicastGroup
-->
<PDU-ACTIVATION-ROUTING-GROUP>
<SHORT-NAME>RadarService_1_TriggerUnicastGroup</SHORT-NAME>
<EVENT-GROUP-CONTROL-TYPE>TRIGGER-UNICAST</EVENT-GROUP-CONTROL-
TYPE>
<I-PDU-IDENTIFIER-UDP-REFS>
<I-PDU-IDENTIFIER-UDP-REF DEST="SO-CON-I-PDU-IDENTIFIER">/
SoConIpduIdentifierSet/RadarServicePduSet/
RadarService_UpdateRate_Notifier</I-PDU-IDENTIFIER-UDP-REF>
</I-PDU-IDENTIFIER-UDP-REFS>
</PDU-ACTIVATION-ROUTING-GROUP>
<!-- /ServiceInstancaCollectionSets/SomeIpServiceInstances/
RadarService_1/EventGroup_All/
RadarService_1_eventAndNotifierActivationMulticastGroup -->
<PDU-ACTIVATION-ROUTING-GROUP>
<SHORT-NAME>
RadarService_1_eventAndNotifierActivationMulticastGroup</SHORT
-NAME>
<EVENT-GROUP-CONTROL-TYPE>ACTIVATION-MULTICAST</EVENT-GROUP-
CONTROL-TYPE>
<I-PDU-IDENTIFIER-UDP-REFS>
<I-PDU-IDENTIFIER-UDP-REF DEST="SO-CON-I-PDU-IDENTIFIER">/
SoConIpduIdentifierSet/RadarServicePduSet/
RadarService_BrakeEvent</I-PDU-IDENTIFIER-UDP-REF>
<I-PDU-IDENTIFIER-UDP-REF DEST="SO-CON-I-PDU-IDENTIFIER">/
SoConIpduIdentifierSet/RadarServicePduSet/
RadarService_UpdateRate_Notifier</I-PDU-IDENTIFIER-UDP-REF>
</I-PDU-IDENTIFIER-UDP-REFS>
</PDU-ACTIVATION-ROUTING-GROUP>
</PDU-ACTIVATION-ROUTING-GROUPS>
</EVENT-HANDLER>
</EVENT-HANDLERS>
<INSTANCE-IDENTIFIER>1</INSTANCE-IDENTIFIER>
<LOCAL-UNICAST-ADDRESSS>
<APPLICATION-ENDPOINT-REF-CONDITIONAL>
<APPLICATION-ENDPOINT-REF DEST="APPLICATION-ENDPOINT">/
CommunicationClusters/EthernetCluster/Vlan73/
MyEcuUnicastSocketAddress/MyEcuUnicastAep</APPLICATION-ENDPOINT-
REF>
</APPLICATION-ENDPOINT-REF-CONDITIONAL>
</LOCAL-UNICAST-ADDRESSS>
<MINOR-VERSION>0</MINOR-VERSION>
<SERVICE-IDENTIFIER>27</SERVICE-IDENTIFIER>
</PROVIDED-SERVICE-INSTANCE>
11 Software Cluster
A consequence of the domain controller concept is that the individual domain controller
ECUs become very complex and typically host several thousand software-components.
As far as the methodology on the AUTOSAR classic platform is concerned2 , the ECU
needs to be fully integrated before the generation of the RTE can be started.
The integration involves not only the consistent configuration of all basic software mod-
ules but also requires the creation of connections between the application software and
the service software-components that represent the service layer of the AUTOSAR ba-
sic software.
This leads to the following list of issues:
• Generation of the RTE takes a long time.
1
This term is inspired by the existence of functional domains inside a typical vehicle, not to be con-
fused with the definition of the term (“central authentication server”) in general computer science.
2
The workflow on the AUTOSAR classic platform is centered around the idea to build a complete
executable image for each ECU in one step
Application Layer
Applic ation Applic ation Applic ation
Software Software Software
Com ponent Com ponent Com ponent
AU TOSA R AU TOSA R AU TOSA R
Inte rfa ce Inte rfa ce Inte rfa ce
Runtime Environment
L ibs Services CD Ds
Runtime Environment
Services Layer
Com pl ex
ECU Abstr action Layer Dri vers
Microcontroller
Figure 11.2: Replace an existing Software Cluster without reprogramming the entire
ECU
In other words, the rest of the software on the respective ECU can be left unchanged
and is kept binary identical if a given Software Cluster is flashed onto the respec-
tive ECU.
[TPS_SYST_02315]{DRAFT} Definition of a software cluster on the AUTOSAR
classic platform dOn the AUTOSAR classic platform, a Software Cluster is rep-
resented by meta-class CpSoftwareCluster. A CpSoftwareCluster is defined
by references to a collection of either
• CompositionSwComponentType in the role swComposition, in this case the
CpSoftwareCluster is described as a re-usable asset out of the context of a
concrete System.
«isOfType»
«atpSplitable,atpVariation» 1
{redefines
+swCluster 0..* +softwareComposition atpType}
ARElement +swComposition SwComponentType
CpSoftwareCluster CompositionSwComponentType
«atpVariation,atpSplitable» 0..*
«atpVariation,atpSplitable»
+component 0..*
!
AtpPrototype
SwComponentPrototype
+swComponent 0..1
«atpVariation,atpSplitable»
«instanceRef»
+swComponentAssignment 0..*
SwComponentPrototypeAssignment
4
Class CpSoftwareCluster
swComponent SwComponent * aggr This is the collection of SwComponentPrototype
Assignment PrototypeAssignment Assignments
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=swComponentAssignment, swComponent
Assignment.variationPoint.shortLabel
atp.Status=draft
vh.latestBindingTime=postBuild
swComposition CompositionSw * ref Software Components in the context of a CompositionSw
ComponentType ComponentType belonging to this CP Software Cluster.
This reference can be used to describe the belonging
SWCs when the CP Software Cluster is described out of
the context of a System, e.g. reusable CP Software
Cluster.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=swComposition.compositionSwComponent
Type, swComposition.variationPoint.shortLabel
atp.Status=draft
vh.latestBindingTime=systemDesignTime
Class SwComponentPrototypeAssignment
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This meta-class is only required to allow for the variant modeling of an instanceRef.
Tags:atp.Status=draft
Base ARObject
Attribute Type Mult. Kind Note
swComponent SwComponent 0..1 iref hierarchical tree(s) of Software Components belonging to
Prototype this CP Software Cluster. This reference is used to
describe the belonging SWCs if the CP Software Cluster
is described in the context of a System,
Tags:atp.Status=draft
InstanceRef implemented by:ComponentInSystem
InstanceRef
Table 11.2: SwComponentPrototypeAssignment
4
Class CompositionSwComponentType
Note A CompositionSwComponentType aggregates SwComponentPrototypes (that in turn are typed by Sw
ComponentTypes) as well as SwConnectors for primarily connecting SwComponentPrototypes among
each others and towards the surface of the CompositionSwComponentType. By this means, hierarchical
structures of software-components can be created.
Tags:atp.recommendedPackage=SwComponentTypes
Base ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier , AtpType, CollectableElement,
Identifiable, MultilanguageReferrable, PackageableElement, Referrable, SwComponentType
Attribute Type Mult. Kind Note
component SwComponent * aggr The instantiated components that are part of this
Prototype composition. The aggregation of SwComponentPrototype
is subject to variability with the purpose to support the
conditional existence of a SwComponentPrototype.
Please be aware: if the conditional existence of Sw
ComponentPrototypes is resolved post-build the
deselected SwComponentPrototypes are still contained in
the ECUs build but the instances are inactive in that they
are not scheduled by the RTE.
The aggregation is marked as atpSplitable in order to
allow the addition of service components to the ECU
extract during the ECU integration.
The use case for having 0 components owned by the
CompositionSwComponentType could be to deliver an
empty CompositionSwComponentType to e.g. a supplier
for filling the internal structure.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=component.shortName, component.variation
Point.shortLabel
vh.latestBindingTime=postBuild
connector SwConnector * aggr SwConnectors have the principal ability to establish a
connection among PortPrototypes. They can have many
roles in the context of a CompositionSwComponentType.
Details are refined by subclasses.
The aggregation of SwConnectors is subject to variability
with the purpose to support variant data flow.
The aggregation is marked as atpSplitable in order to
allow the extension of the ECU extract with AssemblySw
Connectors between ApplicationSwComponentTypes and
ServiceSwComponentTypes during the ECU integration.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=connector.shortName, connector.variation
Point.shortLabel
vh.latestBindingTime=postBuild
constantValue ConstantSpecification * ref Reference to the ConstantSpecificationMapping to be
Mapping MappingSet applied for initValues of PPortComSpecs and RPortCom
Spec.
Stereotypes: atpSplitable
Tags:atp.Splitkey=constantValueMapping
dataType DataTypeMappingSet * ref Reference to the DataTypeMapping to be applied for the
Mapping used ApplicationDataTypes in PortInterfaces.
Background: when developing subsystems it may happen
that ApplicationDataTypes are used on the surface of
CompositionSwComponentTypes. In this case it would be
reasonable to be able to also provide the intended
mapping to the ImplementationDataTypes. However, this
5
4
Class CompositionSwComponentType
4
mapping shall be informal and not technically binding for
the implementors mainly because the RTE generator is
not concerned about the CompositionSwComponent
Types.
Rationale: if the mapping of ApplicationDataTypes on the
delegated and inner PortPrototype matches then the
mapping to ImplementationDataTypes is not impacting
compatibility.
Stereotypes: atpSplitable
Tags:atp.Splitkey=dataTypeMapping
instantiation InstantiationRTEEvent * aggr This allows to define instantiation specific properties for
RTEEventProps Props RTE Events, in particular for instance specific scheduling.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=instantiationRTEEventProps.shortLabel,
instantiationRTEEventProps.variationPoint.shortLabel
vh.latestBindingTime=codeGenerationTime
Class SwComponentPrototype
Package M2::AUTOSARTemplates::SWComponentTemplate::Composition
Note Role of a software component within a composition.
Base ARObject, AtpFeature, AtpPrototype, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
type SwComponentType 0..1 tref Type of the instance.
Stereotypes: isOfType
Details regarding the Software Cluster Resource are described in section 11.2.
There are in principle two different approaches to connect Software Clusters with
each other:
Off-board In this case the connection is created by a software tool on the basis of the
binary image of the Software Cluster and modeled information that formally
describes the so-called Software Cluster Binary Manifest. The content
Application Layer
Runtime Environment
Binary Ma nifest
+parameterDataPrototype AutosarDataPrototype
«instanceRef» ParameterDataPrototype
0..1
AtpPrototype
+modeDeclarationGroupPrototype ModeDeclarationGroupPrototype
AtpStructureElement
Identifiable
+trigger
Trigger
«instanceRef» 0..1
+ swImplPolicy: SwImplPolicyEnum [0..1]
+resource 0..1
+portElementToComResourceMapping Identifiable
+mapping 0..*
«atpVariation,atpSplitable»
ARElement
0..* +portElementToComResourceMapping CpSoftwareClusterServiceResource
AtpStructureElement
System
+serviceResource 0..1
«atpVariation,atpSplitable»
«atpSplitable,atpVariation»
«atpVariation,atpSplitable»
+swCluster 0..* +softwareClusterToResourceMapping 0..*
«atpVariation,atpSplitable» 0..*
+resourceNeeds 0..*
+subContainer 0..*
EcucIndexableValue
«atpVariation,atpSpli
ARElement
Identifiable
EcucModuleConfigurationValues +container EcucContainerValue
+ ecucDefEdition: RevisionLabelString [0..1] «atpVariation,atpSplitable» 0..*
+ implementationConfigVariant: EcucConfigurationVariantEnum [0..1]
+ postBuildVariantUsed: Boolean [0..1]
4
Class CpSoftwareClusterResource (abstract)
globalResource PositiveInteger 0..1 attr A unique identifiers per resource used for the connection
Id process. The identifier is required to be unique in the
scope of a single machine. If software clusters are
designed to be reused on multiple machines the
uniqueness requirements applies for all the intended
machines.
Tags:atp.Status=draft
isMandatory Boolean 0..1 attr This attribute indicates, that the resource is mandatory to
operate the Software Cluster. If the resource is not
provided on the machine the connection process of any
Software Cluster requiring this resource gets aborted.
Tags:atp.Status=draft
Class RoleBasedResourceDependency
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This class specifies a dependency between CpSoftwareClusterResources.
Tags:atp.Status=draft
Base ARObject
Attribute Type Mult. Kind Note
resource CpSoftwareCluster 0..1 ref Reference to resource for which the dependency is
Resource depicted.
Tags:atp.Status=draft
role Identifier 0..1 attr This is attributes characterizes the kind of dependency
Tags:atp.Status=draft
4
Class CpSoftwareClusterCommunicationResource
Note Represents a single resource required or provided by a CP Software Cluster which relates to the port
based communication on VFB level.
Tags:atp.Status=draft
Base ARObject, CpSoftwareClusterResource, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
communication CpSoftwareCluster 0..1 aggr This aggregation supports the further qualification of the
ResourceProps Communication enclosing CpSoftwareClusterCommunicationRecource by
ResourceProps means of additional attributes depending on the nature of
the CpSoftwareClusterCommunicationRecource.
Class DataComProps
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note Represents a single resource required or provided by a CP Software Cluster which relates to the port
based communication on VFB level.
Tags:atp.Status=draft
Base ARObject, CpSoftwareClusterCommunicationResourceProps
Attribute Type Mult. Kind Note
sendIndication SendIndicationEnum 0..1 attr Send indication behavior for last-is-the best data
communication.
Table 11.10: DataComProps
Enumeration SendIndicationEnum
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This meta-class provides a way to specify in which way redundancy shall be applied on collection
level.
Tags:atp.Status=draft
Literal Description
anySendOperation This value represents the requirement that any send operation of the Software Cluster is indicated.
Tags:
atp.EnumerationLiteralIndex=2
atp.Status=draft
5
4
Enumeration SendIndicationEnum
none This value represents the requirement that send operations of the Software Cluster are not indicated.
Tags:
atp.EnumerationLiteralIndex=1
atp.Status=draft
Class CpSoftwareClusterServiceResource
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note Represents a single resource required or provided by a CP Software Cluster which relates to the BSW.
Tags:atp.Status=draft
Base ARObject, CpSoftwareClusterResource, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
resourceNeeds EcucContainerValue * ref Refernce(s) to one or multiple EcucContainerValue(s)
qualifying the characteristics of the resource.
Tags:atp.Status=draft
Class CpSoftwareClusterToResourceMapping
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster
Note This meta class maps a service resource to CP Software Clusters. By this mapping it’s specified whether
the Software Cluster has to provide or to require the resource.
Tags:atp.Status=draft
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
provider CpSoftwareCluster 0..1 ref CP Software Cluster providing the resource
Tags:atp.Status=draft
requester CpSoftwareCluster * ref CP Software Cluster requesting the resource
Tags:atp.Status=draft
service CpSoftwareCluster 0..1 ref Service resource for which the mapping applies.
Resource ServiceResource
Tags:atp.Status=draft
3
As opposed to design level, on which the actual CpSoftwareCluster exists
Figure 11.7: Two Software Cluster exchange information in their Software Cluster
Binary Manifests.
This means that, at run-time, the Software Cluster Binary Manifest consists
of data structures that are partly non-modifiable (to define e.g. meta-data or describe
the access to a resource) and partly modifiable (to store the connection information,
see Figure 11.7).
Figure 11.8: Two Software Cluster and their fully-configured Software Cluster
Binary Manifests
The missing pieces in the Software Cluster Binary Manifest can be filled by
exchanging information at either configuration-time (off-board) or run-time (on-board),
see Figure 11.8. The algorithm used to create an off-board connection is identical to
the algorithm used to create an on-board connection.
The difference ist mainly that the creation of the on-board connection needs the infor-
mation stored in the model of a Software Cluster Binary Manifest on-board,
i.e. a significant amount of on-board storage is required for holding the connection
meta-data.
The logical structure of the Software Cluster Binary Manifest is depicted in
Figure 11.9
Identifiable
CpSoftwareClusterResource
+resource 0..1
ARElement Identifiable
CpSoftwareCluster BinaryManifestResource
+cpSoftwareCluster 0..1
ARElement
BinaryManifestRequireResource
CpSoftwareClusterBinaryManifestDescriptor +requireResource
+ connectionIsMandatory: Boolean [0..1]
+ softwareClusterId: PositiveInteger [0..1] 0..*
+provideResource BinaryManifestProvideResource
+resourceDefinition 0..1
Identifiable
+resourceDefinition BinaryManifestResourceDefinition
0..*
Identifiable
BinaryManifestAddressableObject
0..*
+itemDefinition {ordered}
BinaryManifestMetaDataField Identifiable
+metaDataField BinaryManifestItemDefinition
+ size: PositiveInteger [0..1]
0..* + value: VerbatimString [0..1] + isOptional: Boolean [0..1]
+ size: PositiveInteger [0..1]
+auxiliaryFieldDefinition
0..*
4
Class CpSoftwareClusterBinaryManifestDescriptor
softwareCluster PositiveInteger 0..1 attr This attribute represents the value of the id of the
Id corresponding CP software cluster. This id is only
assigned by an integrator and can therefore not be part of
the description of the CP software cluster itself.
Tags:atp.Status=draft
4
Class BinaryManifestResource (abstract)
item (ordered) BinaryManifestItem * aggr This aggregation represents the collection of binary
manifest handles owned by the enclosing binary manifest
resource.
Tags:atp.Status=draft
resource CpSoftwareCluster 0..1 ref This reference identifies the CpSoftwareClusterResource
Resource (on design level) that corresponds to the BinaryManifest
Resource (on integration level).
Tags:atp.Status=draft
resource BinaryManifest 0..1 ref this reference identifies the definition of the Binary
Definition ResourceDefinition ManifestResource. The definition provides configuration
information that is shared among all BinaryManifest
Resources that refer to the BinaryManifestResource
Definition.
Tags:atp.Status=draft
resourceGuard String 0..1 attr This attribute specifies the guard value of the enclosing
Value binary manifest resource.
Tags:atp.Status=draft
+resource 0..1
Identifiable
BinaryManifestResource
Identifiable
BinaryManifestProvideResource BinaryManifestRequireResource
BinaryManifestAddressableObject
+ numberOfNotifierSets: PositiveInteger [0..1] + connectionIsMandatory: Boolean [0..1]
+ supportsMultipleNotifierSets: Boolean [0..1] + address: Address [0..1]
+ symbol: SymbolString [0..1]
Identifiable
BinaryManifestItem
BinaryManifestResourceDefinition
+ isUnused: Boolean [0..1]
+auxiliaryField 0..*
0..*
+itemDefinition {ordered} +value 0..1 +defaultValue 0..1
BinaryManifestItemPointerValue BinaryManifestItemNumericalValue
+ address: Address [0..1] + value: Numerical [0..1]
+ symbol: SymbolString [0..1]
c(RS_SYST_00061)
Please note that custom values of BinaryManifestAddressableObject.cate-
gory are supported as long as the custom value is created in a way that it will not
clash with standardized values that may be added in the future. Such a name clash
can be prevented by using company-specific or project-specific prefixes, suffixes, or
infixes in the value.
[TPS_SYST_02340]{DRAFT} Semantics of abstract meta-class BinaryMani-
festItemValue dSub-classes of abstract meta-class BinaryManifestItemValue
can be used to specify default values for a BinaryManifestItem.c(RS_SYST_-
00061)
Class BinaryManifestItemValue (abstract)
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster::BinaryManifest
Note This meta-class has the ability to act as an abstract base class for values of binary manifest item.
Tags:atp.Status=draft
Base ARObject
Subclasses BinaryManifestItemNumericalValue, BinaryManifestItemPointerValue
Attribute Type Mult. Kind Note
– – – – –
Table 11.23: BinaryManifestItemValue
Class BinaryManifestItemNumericalValue
Package M2::AUTOSARTemplates::SystemTemplate::SoftwareCluster::BinaryManifest
Note This meta-class has the ability to provide a numerical value for a binary manifest item.
Tags:atp.Status=draft
Base ARObject, BinaryManifestItemValue
Attribute Type Mult. Kind Note
value Numerical 0..1 attr This attribute specifies the actual numerical value to be
used in the binary manifest handle.
Tags:atp.Status=draft
4
Class BinaryManifestMetaDataField
size PositiveInteger 0..1 attr The value of this attribute represents the size of the
meta-data field in bytes.
Tags:atp.Status=draft
value VerbatimString 0..1 attr This attribute specifies the value of the meta-data field.
Tags:atp.Status=draft
SW Cluster
CpSoftwareCluster
CommunicationResource
PortElementToCommunication
ResourceMapping
SWCL11
CpSoftwareCluster
Extract
Composition 1
CommunicationResource
Comp 1.1
DataMapping
PortElementToCommunication Comp 1.2
ResourceMapping
SYSTEM SystemSignal
Composition 1 Composition 2
Comp 1.1 Comp 2.1
Comp 2.2 DataMapping
Comp 1.2 SW Cluster
CpSoftwareCluster
CommunicationResource
SystemSignal
PortElementToCommunication
Composition 3 (Host)
DataMapping ResourceMapping
Comp 3.1
Comp 3.2 HOST DataMapping
Extract
SystemSignal Composition 3 (Host) SystemSignal
Comp 3.1
Comp 3.2 DataMapping
SystemSignal
Meta-classes, Chapters Usage to describe the System Con- Usage to describe the System Configura-
straints tion
CommunicationCluster, The Topology is completely described in the The Topology description will be unchanged
EcuInstance (chapter 3) System Constraint Description. copied to the System Configuration descrip-
tion. The Topology may only be changed
during another iteration development step of
the whole system.
FrameTriggering, The System with category SYS- In contrary to the System with category
PduTriggering, ISignal- TEM_CONSTRAINT_DESCRIPTION de- SYSTEM_CONSTRAINT_DESCRIPTION
Triggering (chapter 6) scribes all FrameTriggerings that are the final System with category
predefined on all CommunicationClus- SYSTEM_DESCRIPTION contains all
ters of a vehicle. The predefinition of the FrameTriggerings, PduTriggerings,
communication matrix forces the system ISignalTriggerings that will be sent by
generator to use the given FrameTrigger- any EcuInstance in the car. No matter if
ings. Constraints for the system generator they were predefined (system constraint) or
arise here e.g. from the used bus bandwidth, if they were generated by the system gener-
used identifiers as well as from the timing ator. The available information, in addition
and at which position in a Frame a Pdu is to the information, which is inserted by the
transmitted on a PhysicalChannel on a AUTOSAR Ecu configuration generator step,
CommunicationCluster. will be used as input to configure the Basic
SW for the communication.
Such a manual definition of the communica-
tion can be made for any reason where it is
necessary to restrict the system generator.
One example is the usage of legacy EcuIn-
stances in an AUTOSAR System. The
FrameTriggerings that are transmitted or
received by these legacy EcuInstances
are constraints for the system generator be-
cause they cannot be changed, if the com-
patibility is supposed to be achieved without
any changes at the legacy EcuInstances.
Gateway (chapter 8) The System with category SYS- In contrary to the System with category
TEM_CONSTRAINT_DESCRIPTION de- SYSTEM_CONSTRAINT_DESCRIPTION
scribes all Gateways in the system including the final System with category SYS-
their IPduMappings and ISignalMap- TEM_DESCRIPTION describes all Gate-
pings that are predefined. The reasons for ways with all their IPduMappings and
such predefinitions are quite the same as for ISignalMappings. No matter if they were
the predefinitions of the FrameTrigger- predefined (System Constraint) or if they
ings. were generated by the System Generator.
SwcToEcuMapping (subsec- The mapping of Software Components to In a complete System with category SYS-
tion 5.1.1) EcuInstances may be predefined. The TEM_DESCRIPTION, all Software Compo-
predefinition will force the system generator nents are mapped to EcuInstances.
to use the specified mapping. Thus, with the
SwcToEcuMapping element it is possible to
describe that one or more Software Compo-
nents shall be mapped to a specific EcuIn-
stance.
MappingConstraint There may be system constraints that limit After the mapping has been com-
(subsection 5.1.4) the system generators freedom to map pleted, the System with category SYS-
Software Components to arbitrary EcuIn- TEM_DESCRIPTION will contain mapping
ComponentClustering stances. These system constraints can be descriptions for all elements, and the map-
(subsubsection 5.1.4.1) necessary e.g. for optimization and safety ping constraints are obsolete. But that does
reasons to make additional guidelines for the not mean that mapping constraints have to
ComponentSeparation ( System Generator. be deleted after the system generation step.
subsubsection 5.1.4.2) By deleting the mapping constraints you
would lose the information why a mapping of
a Software Component to an EcuInstance
is chosen.
5
4
Meta-classes, Chapters Usage to describe the System Con- Usage to describe the System Configura-
straints tion
DataMapping (section 5.2) The System with category SYS- In contrary to the System with category
TEM_CONSTRAINT_DESCRIPTION may de- SYSTEM_CONSTRAINT_DESCRIPTION
SenderReceiver- scribe the predefined mapping of Software the final System with category SYS-
ToSignalMapping ( Components to certain EcuInstances (see TEM_DESCRIPTION shall contain all
subsubsection 5.2.1.1) chapter 5.1.1). Only if such a mapping ex- DataMapping definitions. No matter if
ists, it is reasonable to define the DataMap- they were predefined (system constraint)
SenderReceiverToSig- ping of the data exchanged between the or if they were generated by the System-
nalGroupMapping ( Software Components. Generator.
subsubsection 5.2.1.2)
ClientServerToSig-
nalMapping (subsubsection
5.2.1.3)
SignalPathConstraint It can be necessary e.g. for optimization SignalPathConstraints are not an
(subsection 5.2.2) and safety reasons to make additional guide- obligatory part of the System with
lines for the System Generator, which spe- category SYSTEM_DESCRIPTION. In
CommonSignalPath ( cific way a VariableDataPrototype or the final System with category SYS-
subsubsection 5.2.2.1) ClientServerOperation should take in TEM_DESCRIPTION every ISignal is as-
the network without defining in which Pdu signed to a Pdu and every Pdu is assigned to
ForbiddenSignalPath and Frame it is transmitted. a Frame. Thereby the paths of Variable-
(subsubsection 5.2.2.2) DataPrototypes or ClientServerOp-
erations on the network are implicitly
PermissibleSignal- described. But that does not mean that
Path (subsubsection 5.2.2.3) the SignalPathConstraints have to be
deleted after the system generation step.
SeparateSignalPath (sub- By deleting the SignalPathConstraints
subsection 5.2.2.4) you would lose the information why you have
chosen e.g. a specific mapping of an ISig-
nal into a Pdu. If you extend or change
the system at a later stage the missing
SignalPathConstraints could lead to
not wanted signal mappings by the System
Generator.
System
Description
SoftwareComposition
System
Description Empty Composition
1
Collaboration scenarios between different departments of an OEM are also supported by the
System with category SYSTEM_EXTRACT. For the sake of simplicity such scenarios are not addressed
here.
In contrast to the System with category ECU_EXTRACT the System with category
SYSTEM_EXTRACT may contain CompositionSwComponentTypes. Empty Compo-
sitionSwComponentTypes in the System with category SYSTEM_EXTRACT rep-
resent subsystems that need to be refined by a Supplier. Figure 13.1 shows an ex-
ample where a System with category SYSTEM_DESCRIPTION is stripped down to a
subsystem.
System Extract example
SoftwareComposition
System
Configuration
Description
SoftwareComposition
System
Extract (all
elements
that are not
relevant for
ECU A are
removed
Port used only in ECU internal communication SWC mapped to ECU A
Port used in ECU external communication SWC mapped to ECU B
- AUTOSAR Confidential -
Figure
5 13.1:05.02.2008
System Extract creation: irrelevant
ECU Extract elements are removed from the System
- Specification Improvement
Description
• The Supplier adjusts the Signal mappings to the actual ports of the inner
AtomicSwComponentType prototype.
2. The Supplier creates an own structure to base the ECU development on System
with category ECU_SYSTEM_DESCRIPTION and perform a view mapping be-
tween the OEM’s System with category SYSTEM_EXTRACT and the System
with category ECU_SYSTEM_DESCRIPTION. In this case the following steps
may follow:
• The Supplier develops an own structure how the ECU shall be designed
but needs to respect the required outer boundary of the OEM’s required
communication behavior (ReceiverComSpecs and SenderComSpecs).
• The Supplier adjusts the Signal mappings to the actual ports of the inner
AtomicSwComponentType prototype.
When the design of the System with category ECU_SYSTEM_DESCRIPTION is com-
plete the following steps follow:
• The Supplier generates the System with category ECU_EXTRACT from his
System with category ECU_SYSTEM_DESCRIPTION. The resulting System
with category ECU_EXTRACT does not include prototypes of type Composi-
tionSwComponentType any longer.
• Based on this System with category ECU_EXTRACT the actual ECU configura-
tion is done.
PDU_Z
Figure 13.2: Example topology with two EcuInstances and three Pdus exchanged be-
tween them
SWCompAplusBplusC
The atomic SwComponentPrototypes ‘A1’, ‘A2’, ‘B1’ and ‘C1’ are mapped to ‘ECU
A’. The atomic SwComponentPrototypes ‘A3’, ‘B2’ and the empty composition
‘SWCompC‘ are mapped to ‘ECU B’. The data sent from
• ‘A1’ to ‘A3’ is mapped to ‘PDU_X’, ‘SignalX1’,
• ‘B1’ to ‘B2’ is mapped to ‘PDU_X’, ‘SignalX2’ and
• ‘A3’ to ‘B1’ and ‘A3’ to ‘SWCompC‘ is mapped to ‘PDU_Y’, ‘SignalY1’
• ‘SWCompC‘ to ‘C1’ is mapped to ‘PDU_Z’, ‘SignalZ1’
As usual, the data mapping rules refer to the VariableDataPrototype in the
PPortPrototype of the sending SW component. Note that DataMappings can be
performed on compositions and on atomic SwComponentPrototypes as described
in chapter 5.2.1. 2
Figure 13.4 shows how the System extract for ECU A and for ECU B of this SW com-
position would look like: Only those elements are included that are relevant for the
subsystem.
2
Data mapping is allowed on empty compositions and on compositions that contain atomic SwCom-
ponentPrototypes.
SWCompAplusBplusC
SWCompAplusBplusC
SW-C Mapped to
R P P PDU_Z,
A3
SWCompC SignalZ1
R Empty Composition P
SWCompC
In both figures all SwComponentPrototypes and compositions that are mapped onto
the EcuInstance are included. The SwConnector between these SwComponent-
Prototypes are also included. Furthermore, the relevant topology information and
communication matrix have to be included, but they are out of scope of this example.
SwConnectors that were used to connect to SW components that are not included in
the System Extract are not included. Instead, the mapping to an ISignal in a Pdu is
used to identify the source/destination of that data.
The problem that new mapping rules have to be added arises for example in the Sys-
tem Extract for ‘ECU A’ with the mapping to ‘PDU Y’, ‘SignalY1’: Since SW component
‘A3’, which was referenced in the original mapping, is no longer included, the data
mapping needs a new data element in a port to reference to. In the example, it is the
required port of ‘B1’, so that the Supplier has the information that B1 receives the data
via ‘PDU Y’.
SoftwareComposition
Empty Composition
V Y
X
Z
SwCompAplusB PortInterfaceMapping
SwCompA SwCompB
SW-C
R
A2
SW-C SW-C SW-C
P P R R P R
A1 B1 B3
SW-C
R P
A3
SwCompAplusB PortInterfaceMapping
SwCompA SwCompB
SW-C
R
A2
SW-C SW-C
P P R R P P P
A1 B1
P R
SW Component mapped to ECU A Port typed by Interface X
- AUTOSAR Confidential -
14 9
ECU Extract of the System Configuration
05.02.2008 ECU Extract - Specification Improvement
Description
This chapter describes contents and creation of the AUTOSAR System with cate-
gory ECU_EXTRACT, based on Meta Model elements contained in the System Tem-
plate and Software Component Template.
The System with category ECU_EXTRACT represents the view of one specific
EcuInstance onto the overall System with category SYSTEM_DESCRIPTION. The
System with category ECU_EXTRACT forms the basis for configuring that particular
EcuInstance in focus.
For instance, RTE configuration fundamentally depends on the number and types of
SwComponentPrototypes deployed onto the EcuInstance; Services are config-
ured according to those Software Components’ ServiceNeeds; the COM-stack BSW
also holds true for Variation points that ultimately are resolved at system configuration
time but affect post-build configuration parameters. (14.6)
The System with category ECU_EXTRACT logically forms one entity. Therefore, for
ease of readability the rest of the chapter assumes just one file, “the XML file”. How-
ever, it explicitly is allowed to split the System with category ECU_EXTRACT over
several files.
14.1 Topology
Only those Topology elements relevant for the EcuInstance in scope are taken over
from the System with category SYSTEM_DESCRIPTION into the System with cat-
egory ECU_EXTRACT.
• The System with category ECU_EXTRACT is always associated with exactly
one EcuInstance. Therefore exactly one EcuInstance is included along with
all classes included in EcuInstance by composition: CommunicationCon-
trollers and CommunicationConnectors with all their CommConnector-
Ports.
• A CommunicationCluster is included along with all its PhysicalChannels if
at least one PhysicalChannel is used by the EcuInstance. In other words, if
at least one of the included CommunicationConnectors is referenced by any
of a CommunicationCluster’s PhysicalChannels, the whole Communica-
tionCluster and all its PhysicalChannels are included.
• From the used PhysicalChannels, only those FrameTriggerings,
PduTriggerings, ISignalTriggerings shall be included that are used
by the EcuInstance, e.g. they are associated with a FramePort, IPdu-
Port, ISignalPort belonging to one of the EcuInstance’s Communica-
tionConnectors. Note: Including just a subset of a PhysicalChannel’s
FrameTriggerings, PduTriggerings, ISignalTriggerings is possible
without changing the PhysicalChannel itself because of the splitable
stereotype applied on the PhysicalChannel / FrameTriggering, PduTrig-
gering, ISignalTriggering composition.
As the Topology elements are not modified when taken over into the System with
category ECU_EXTRACT, their package structure and short names are not touched
(see section 14.4.1).
System
Configuration
Description
ECU
Extract
Figure 14.1: Flattening of a hierarchic Software Composition into an ECU Flat View, and
the distinction between ports used in internal and those used in external communica-
tion.
The first step of extracting the ECU specific Software View is the creation of a new
CompositionSwComponentType (further referred to as ECU flat view). This new
element serves as a container for collecting all SwComponentPrototypes of type
AtomicSwComponentType deployed on the EcuInstance. In order to include the
ECU flat view into the actual System with category ECU_EXTRACT, the System shall
have its child class RootSwCompositionPrototype pointing to this ECU flat view.
Next, all SwcToEcuMappings present in the System with category SYS-
TEM_DESCRIPTION need to be analyzed according to the precedence rules (Section
5.1.1) in order to establish the exact set of AtomicSwComponentType instances to
be included on this EcuInstance.
For each of these component instances, regardless of their order of depth in the Sys-
tem Configuration Description’s Component hierarchy, exactly one SwComponent-
Prototype shall be created in the ECU flat view CompositionSwComponentType.
The new element’s description and type information shall be taken over from the
original SwComponentPrototype as present in the System with category SYS-
TEM_DESCRIPTION. As an important exception to this rule, the SwComponentPro-
totype’s shortName shall be unique in the name space formed by the ECU flat view.
The special case of prototypes of ParameterSwComponentTypes and Service-
ProxySwComponentTypes is treated in almost the same way. The only difference is
that these component types can be instantiated at most once per EcuInstance and
that for a given prototype in the System, instances on several EcuInstances can
be created. The replication of ParameterSwComponentTypes and ServiceProx-
ySwComponentTypes on several EcuInstances does not require any special treat-
ment of their communication properties. For ParameterSwComponentTypes there
are SwConnectors defined but no communication is involved. For more details see
[TPS_SWCT_01422] in the SwComponentTemplate [5].
The ECU flat view contains delegated PortPrototypes to display the outside com-
munication of an EcuInstance. VariableDataPrototypes and ClientServer-
Operations of these delegated PortPrototypes are mapped to SystemSignals.
The original instance references indicating the mapped AutosarDataPrototype
need to be adjusted to the new “flat” location in the ECU flat view.
While for the System with category SYSTEM_DESCRIPTION it is sufficient to
describe DataMappings only on the provider side, the System with category
ECU_EXTRACT additionally requires such DataMappings on the requiring side’s ports.
In this case, a new DataMapping maps to the existing SystemSignal, previously
defined in the System with category SYSTEM_DESCRIPTION on the provider side.
This is explained in more detail in figure 14.6, that is a continuation of the example from
figure 13.3 in chapter 13.2.
To derive an ECU_EXTRACT from a System with category SYSTEM_DESCRIPTION
or SYSTEM_EXTRACT unambiguous ClientServerToSignalMappings are re-
quired for inter-ECU n:1 client-server communication. In particular the communication
path from the server to each client shall be uniquely mapped.
In this context, "communication path" encompasses the set of delegation/assem-
bly connectors that connect the server (provide-port on SWC) through to the client
(require-port on SWC).
[constr_3264] Server side ClientServerToSignalMappings in case of a n:1
inter-ECU client-server communication dIf within the System with category SYS-
TEM_DESCRIPTION or SYSTEM_EXTRACT the ClientServerToSignalMappings
for inter-ECU n:1 client-server communication are placed on the provider (server) side,
then each of these ClientServerToSignalMappings shall (in the hierarchy of
SwComponentPrototypes) refer to a "unique communication path" w.r.t. the EcuIn-
stances the client SwComponentPrototypes are mapped to.c()
Note: A "unique communication path" has the property that, starting from the
ClientServerOperation of a PortPrototype, a sequence of Delegation-
SwConnectors and AssemblySwConnectors leads to the client side and termi-
nates at either at most one PortPrototype that is owned by the AtomicSwCompo-
nentType of the client’s SwComponentPrototype or, if the path terminates at more
than one PortPrototype, then the following shall hold: The clients’ SwComponent-
Prototypes typed by AtomicSwComponentTypes owning these PortPrototypes
shall be mapped to the same EcuInstance and the client identifier is used to distin-
guish the different clients (see [TPS_SYST_01087]).
The following example scenarios will show at which PortPrototypes the
ClientServerToSignalMappings are allowed to be specified in a System with
category SYSTEM_DESCRIPTION or SYSTEM_EXTRACT to derive an ECU_EXTRACT.
RootTopLevelComposition
ClientComposition
ServerComposition
P1 R1 R Client1
Server P
ClientComposition
P2 R2 R Client 2
For the scenario described in figure 14.2 the following statements apply:
• ClientServerToSignalMappings for the provide-port Server.P are ambigu-
ous and thus [constr_3243] exists to forbid this situation.
• ClientServerToSignalMappings are permitted for ClientComposi-
tion.R1/ClientComponsition.R2 and Client1.R/Client2.R (client-side) or for
ServerComposition.P1/ServerComposition.P2 (provider-side) since there is no
ClientServer Communication
ambiguity.
RootTopLevelComposition
ClientComposition
ServerComposition
P1 R1 R Client 1
Server P
P2 R2 R Client 2
RootTopLevelComposition
ClientComposition
ServerComposition
R1 R Client1
Server P P1
ClientComposition
R2 R Client 2
- AUTOSAR Confidential -
For
12 the scenario
05.02.2008 described in figureECU14.4 the following
Extract - Specification Improvement statements apply:
• ClientServerToSignalMappings for the provide-ports Server.P and Server-
Composition.P1 are ambiguous and thus [constr_3243] exists to forbid this situa-
tion.
• ClientServerToSignalMappings are permitted for ClientComposi-
tion.R1/ClientComposition.R2 and Client1.R/Client2.R (client-side) since there is
no ambiguity.
RootTopLevelComposition
ClientComposition
ServerComposition
R1 R Client 1
Server P P1
R2 R Client 2
For the scenario described in figure 14.5 the following statements apply:
- AUTOSAR Confidential -
13
• ClientServerToSignalMappings
05.02.2008
for the provide-ports Server.P and Server-
ECU Extract - Specification Improvement
Composition.P1 are not ambiguous (since although there is fork in the communi-
cation path, both sub-paths end up at the same ECU).
• ClientServerToSignalMappings are permitted for ClientComposi-
tion.R1/ClientComponsition.R2 and Client1.R/Client2.R (client-side) or for
ServerComposition.P1/ServerComposition.P2 (provider-side) since there is no
ambiguity.
[TPS_SYST_01145] PortInterfaceMappings in the ECU Extract dIn the System
with category ECU_EXTRACT the missing PortInterfaceMappings on the com-
plementary side needs to be supplemented to DelegationSwConnectors.c()
Figure 14.6 shows how the System with category ECU_EXTRACT for ECU A of the
SW composition that is defined in figure 13.3 would look like: Only those SwCompo-
nentPrototypes are included that are mapped to ECU A. The hierarchy present in
the System with category SYSTEM_DESCRIPTION has been flattened into Compo-
sitionSwComponentType ‘EcuAFlatView’, including newly created SwComponent-
Prototype ‘A1E’, ‘A2E’, ‘B1E’ and ‘C1E’ for the component instances mapped to ECU
A.
EcuAFlatView Mapped to
R SW-C P PDU_X,
B1E SignalX2
SW-C
R Mapped to
A2E
PDU_Z, P
SW-C SignalZ1
P Mapped to Mapped to
A1E
PDU_X, PDU_Y, SW-C
R
SignalX1 SignalY1 C1E
P R
Figure 14.6: Example ECU extract for ECU A of above introduced composition
• In the remaining structure of linked PortGroups find out the top level Port-
Groups (i.e. which are not referred by any higher level PortGroup on this
EcuInstance) and put an element representing each top level PortGroup into
the CompositionSwComponentType of the ECU flat view. This can result in
name conflicts, which should be resolved by a suitable algorithm.
• Link these top level PortGroups to the inner PortGroups of the atomic com-
ponent instances of the flat view according to the links found in the hierarchical
structure. Naturally, the top level PortGroups in the ECU flat view are not di-
rectly referring any PortPrototypes and due to the first step they should be
linked to at least one inner PortGroup.
• The PortGroups in SwComponentPrototypes with an AtomicSwCompo-
nentType on the EcuInstance should be unchanged.
Each software component might need services which are provided by the ECU Basic
Software through AUTOSAR Services. ServiceNeeds are used to provide detailed
information what the software component expects from the AUTOSAR Services when
integrated on an actual ECU (see SWComponentTemplate [5] for more details). If an
ECU Extract is created the following rules apply to the existing ServiceNeeds:
[constr_3068] DoIpPowerModeStatusNeeds in the category ECU_EXTRACT dIf
and only if DoIP (i.e. any of the subclasses of DoIpServiceNeeds are present) is
used on an Ecu then the DoIpPowerModeStatusNeeds shall exist exactly once in a
System of category ECU_EXTRACT.c()
[constr_1265] DoIpGidSynchronizationNeeds can only exist once per
ECU_EXTRACT dWithin the context of one System of category ECU_EXTRACT, there
can only be at most one DoIpGidSynchronizationNeeds.c()
[constr_1266] DoIpGidNeeds can only exist once per ECU_EXTRACT dWithin the
context of one System of category ECU_EXTRACT, there can only be at most one
DoIpGidNeeds.c()
[constr_1267] DoIpActivationLineNeeds can only exist once per
ECU_EXTRACT dWithin the context of one System of category ECU_EXTRACT,
there can only be at most one DoIpActivationLineNeeds.c()
[constr_3083] Exactly one AtomicSwComponentType on an EcuInstance
may use GeneralCallbackEventDataChanged / GeneralCallbackEventSta-
tusChange dThe Dem only supports exactly one AtomicSwComponentType
using GeneralCallbackEventDataChanged / GeneralCallbackEventSta-
tusChange on one EcuInstance.c()
[constr_3084] Service port in the role PowerTakeOff dWithin the context of one
EcuInstance, there can only be one service port that uses the role PowerTakeOff in
the RoleBasedPortAssignment.role.c()
14.3 Communication
In explaining how SystemSignals are handled in the System with category
ECU_EXTRACT, Section 14.2.3 touched on the topic of inter-ECU Communication.
However, in order to enable the ECU Configuration of the COM-Stack, the relevant in-
formation of all layers of the AUTOSAR COM-Stack needs to be present in the System
with category ECU_EXTRACT, including the central Communication classes ISig-
nal, Pdu and Frame.
The above mentioned Communication elements have dependencies on each other, for
ordinary COM-communication this means:
• Frames are assembled from one or more Pdus.
• ISignalIPdus carry their information in form of ISignals.
• ISignals as interaction points between RTE and COM refer to SystemSig-
nals.
Note that the above list is not complete; TP and NM require additional elements. How-
ever, for the sake of clarity the following paragraphs describes the standard use case of
a direct Signal-based communication between two EcuInstances. Once the handling
of this case is understood, the additional model elements as NPdu, NmPdu, System-
SignalGroup etc. can be handled following the same basic principles.
For the System with category ECU_EXTRACT only the ECU-relevant subset of in-
formation present in the system-wide communication is to be considered. In order to
establish this set of information, the dependencies in the list above are being followed.
14.3.1 Frame
• The System with category ECU_EXTRACT shall contain all Frame elements
which are referenced by any included FrameTriggering.
14.3.2 PDU
Frames are assembled from one or more Pdus. In order to include all required Pdu
elements, the following selection criteria apply:
• The System with category ECU_EXTRACT shall contain all Pdu elements which
are referenced by any included Frame’s PduToFrameMapping.
• The System with category ECU_EXTRACT shall contain all Pdu elements which
are referenced by any included PduTriggering.
• For multiplexed Pdus, additionally all ISignalIPdus referenced by the Multi-
plexedIPdu’s static and dynamic parts need to be included.
The second criterion is e.g. required in a pure post-build configuration scenario,
where the frame-layout may not be completed at the time of System with category
ECU_EXTRACT creation.
Whereas the rules specified in Section 14.2.3 for the inclusion of SystemSignal com-
prise all SystemSignals that are being used by the Software Components in the ECU,
the inclusion rules above stated for ISignalIPdus and ISignals may require the in-
clusion of additional SystemSignals. Also, strictly speaking both SystemSignals
and SystemSignalGroup need to be considered. The complete inclusion rules for
SystemSignals and SystemSignalGroups are:
• The System with category ECU_EXTRACT shall contain all SystemSignals
and SystemSignalGroup elements which are referenced by any included
DataMapping.
• The System with category ECU_EXTRACT shall contain all SystemSignal
elements which are referenced by any included ISignal.
• The System with category ECU_EXTRACT shall contain all SystemSignal-
Group elements which are referenced by any included ISignalGroup.
In addition on the receiving EcuInstance the following cases exist:
• only one SystemSignal out of the transmitted SystemSignalGroup is re-
ceived: no SystemSignalGroup is required in the Ecu Extract of the receiving
EcuInstance.
• more than one but not all SystemSignals out of the transmitted SystemSig-
nalGroup are received: new SystemSignalGroup shall be created in the
System with category ECU_EXTRACT of the receiving EcuInstance contain-
ing the received SystemSignals.
• all SystemSignals out of the transmitted SystemSignalGroup are received:
the original SystemSignalGroup shall be the taken over to the System with
category ECU_EXTRACT of the receiving EcuInstance.
14.3.5 Gateways
Gateways that refer the EcuInstance shall be included in the System with cate-
gory ECU_EXTRACT. The complete inclusion rules for Gateways are:
• The System with category ECU_EXTRACT shall contain all FrameMapping
elements that are aggregated by the Gateway element.
• The System with category ECU_EXTRACT shall contain all IPduMapping ele-
ments that are aggregated by the Gateway element.
• The System with category ECU_EXTRACT shall contain all ISignalMapping
elements that are aggregated by the Gateway element.
• ISignal definitions that are not directly relevant for the Gateway in case that
the Pdu containing these ISignals is routed as a whole (Pdu Routing) shall be
omitted .
• ISignalGroup definitions that are not directly relevant for the Gateways in case
that the Pdu containing these ISignalGroups is routed as a whole (Pdu Rout-
ing) shall be omitted .
14.3.6 TP configuration
The TP-configuration element TpConfig and all its associated elements shall be in-
cluded into the System with category ECU_EXTRACT if the EcuInstance has an
TpAddress configured in this TpConfig.
14.3.7 NM configuration
The Nm configuration part of the System with category ECU_EXTRACT shall include
the NmEcu that references the included EcuInstance. In addition a NmCoordinator
composed by this NmEcu shall be included. Furthermore any NmNode referenced by
the NmCoordinator shall be included. For each included NmNode the composing Nm-
Cluster shall be included. For each included NmCluster the composing NmConfig
shall be included.
As detailed in the sections above, extracting information from the System with cat-
egory SYSTEM_DESCRIPTION into an System with category ECU_EXTRACT is a
non-trivial transformation: While some of the model elements are simply copied ver-
batim into the System with category ECU_EXTRACT, it is additionally necessary to
create new elements reducing parts of system-wide structures, most noticeably in flat-
tening of the hierarchical VFB view to the ECU Flat View.
All such elements being created or modified in the process of generating the System
with category ECU_EXTRACT shall reside in the same ARPackage. In order to avoid
namespace conflicts with existing elements, the package shall exclusively be used for
this purpose.
By creating derivation elements from elements originally contained in the System with
category SYSTEM_DESCRIPTION package structure, duplications of names may oc-
cur. This kind of name clashes shall be resolved by a suitable naming algorithm (see
section 14.4.3).
All Elements that are taken over from the System with category SYS-
TEM_DESCRIPTION unchanged (e.g. AtomicSwComponentType, PortInterface,
ApplicationDataType, EcuInstance, CommunicationCluster) shall remain in
their original packages.
ARElements not used in the System with category ECU_EXTRACT shall not be
copied to the ECU Extract XML file.
In more detail, ARPackages taken over from System with category SYS-
TEM_DESCRIPTION will not be altered by the ECU extraction process, except that
some ARElements will not be included in the actual XML file of the extract: AREle-
ments which exist in the System with category SYSTEM_DESCRIPTION but have
been stripped for the System with category ECU_EXTRACT are not actually deleted
from their ARPackage, but merely are skipped in the XML file forming the extract. Note
that having such a partial view on an ARPackage doesn’t break the original ARPack-
age definition because the composition of PackageableElement, responsible for
adding ARElements to ARPackage, is stereotyped splitable; this means sev-
eral XML files can contribute to an ARPackage, or in case of the ECU Extract an
AUTOSAR description file may contain only a subset of the complete ARPackage.
The software component descriptions provide several means to declare data proto-
types which have to be available for measurement and calibration (MCD) tools on the
EcuInstance. Together with the System with category ECU_EXTRACT it is required
to provide a list of references to the description of these data for further processing in
the scope of the EcuInstance. In addition, the MCD tools need a unique name for
each instance of such a data prototype. Since the data descriptions are part of the
nested composition structure and are contained in reusable types (components or port
interfaces), the system description itself does in general not provide unique names for
those.
This means, providing such a list with references and unique names for MCD data is
also a task of the ECU extractor tool. This list is part of the artifact ECU Flat Map,
which is further explained below.
When performing the extract process, name clashes may occur, necessitating a nam-
ing scheme for elements derived in ECU generation: By flattening the Software Com-
position hierarchy all component instances present on the considered EcuInstance
are put in one ECU-wide software composition. Name clashes may occur for the fol-
lowing reasons:
1. SwComponentPrototypes taken from different Software Compositions are al-
lowed to have identical short names in the hierarchical structure. As all SwCom-
ponentPrototypes will be located in the same ECU Flat View, the original
name spaces separation no longer exists.
2. Multiple instances of the same CompositionSwComponentType are mapped
to an EcuInstance: In this case, duplicates of all contained SwComponent-
Prototypes will be placed next to each other in the ECU flat composition.
3. The two mechanisms just mentioned may also lead to name clashes in Au-
tosarDataPrototypes if their names shall be used as MCD data names. In
addition, reuse of a PortInterface can also lead to name clashes if it provides
data elements to be used by MCD.
4. The setup of PortGroups in the ECU flat view can result in name clashes, be-
cause two port groups originating from different component types (i.e. different
name spaces) may be aggregated within the flat view.
Therefore the System with category ECU_EXTRACT generator shall take care that all
elements derived or created during the extraction process have unique short names.
These unique names shall be created in an initial step of the extraction process which
leads to the creation of an initial ECU Flat Map. Some ways to satisfy this requirement
may be:
• Use globally unique identifiers (GUID) for generating short names.
• Add a number to the original name; if done consistently the flat map approach
makes this reproducible.
• Expand the name recursively by the names of the containing elements (e.g. com-
positions) until is is unique.
• Allow human interaction (this may be combined with an initially proposed name
expansion).
The creation of a new short name is compulsory only if otherwise a clash would occur.
[constr_2025] Uniqueness of symbol attributes dWith the exception of RunnableEn-
tities that are subject to [constr_1234] (RunnableEntities owned by NvBlockSwCompo-
nentTypes), in the context of a single EcuInstance the values of the RunnableEn-
tity.symbol in combination with the attribute symbol of the meta-class Symbol-
Props owned by AtomicSwComponentType of all deployed RunnableEntities shall
be unique such that no two (or more) combinations of RunnableEntity.symbol and
As described in the previous section, potential name clashes during ECU extraction
shall be avoided by assigning unique names to the elements specifically created for
the System with category ECU_EXTRACT and for the list of MCD data per EcuIn-
stance. Considering the use case of iterative development (also see Section 14.5),
the same names shall be assigned to existing elements in consecutive iterations. El-
ements which have been modified or newly introduced between two ECU extract iter-
ations shall not use an existing short name. Additionally, the ECU extractor tool shall
not re-use any short name used in any iteration from previous development phases if
the meaning of the element is not exactly the same (i.e. the element’s back reference
into the System Configuration Description is not the same.)
For development scenarios in real life projects iterative development shall be sup-
ported.
The following use case shall be considered:
Changes in the System with category SYSTEM_DESCRIPTION require the recre-
ation of an System with category ECU_EXTRACT. In the successive re-run of ECU
configuration, ECU configuration parameters which were configured based on the pre-
vious System with category ECU_EXTRACT need to be maintained for those parts in
the System with category ECU_EXTRACT that didn’t change between iterations.
Consequently, there are two requirements on the extraction process:
• Elements that are present in both versions of the System with category SYS-
TEM_DESCRIPTION shall not change their short names between the two ECU
Extracts either.
• If changes between the two versions of the System with category SYS-
TEM_DESCRIPTION lead to the creation of new model elements in the System
with category ECU_EXTRACT, then these newly created elements shall have
new names that have not been used in previous iterations of the System with
category ECU_EXTRACT. (See also Section 14.4.4).
In order to fulfill these requirements, a back-tracing of the relevant model elements
in the System with category ECU_EXTRACT to their counterparts in the System
with category SYSTEM_DESCRIPTION shall be established. Based on these back
«atpVariation,atpSplitable»
+instance 1..*
Identifiable Identifiable
FlatInstanceDescriptor AtpFeature
+upstreamReference
+ role: Identifier [0..1]
«instanceRef» 0..1
+ecuExtractReference
«instanceRef» 0..1
+swDataDefProps 0..1
«atpVariation»
SwDataDefProps
Class FlatMap
Package M2::AUTOSARTemplates::CommonStructure::FlatMap
Note Contains a flat list of references to software objects. This list is used to identify instances and to resolve
name conflicts. The scope is given by the RootSwCompositionPrototype for which it is used, i.e. it can be
applied to a system, system extract or ECU-extract.
An instance of FlatMap may also be used in a preliminary context, e.g. in the scope of a software
component before integration into a system. In this case it is not referred by a RootSwComposition
Prototype.
Tags:atp.recommendedPackage=FlatMaps
Base ARElement, ARObject, AtpBlueprint, AtpBlueprintable, CollectableElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
instance FlatInstanceDescriptor 1..* aggr A descriptor instance aggregated in the flat map.
The variation point accounts for the fact, that the system
in scope can be subject to variability, and thus the
existence of some instances is variable.
The aggregation has been made splitable because the
content might be contributed by different stakeholders at
different times in the workflow. Plus, the overall size might
be so big that eventually it becomes more manageable if
it is distributed over several files.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=instance.shortName, instance.variation
Point.shortLabel
vh.latestBindingTime=postBuild
Class FlatInstanceDescriptor
Package M2::AUTOSARTemplates::CommonStructure::FlatMap
Note Represents exactly one node (e.g. a component instance or data element) of the instance tree of a
software system. The purpose of this element is to map the various nested representations of this
instance to a flat representation and assign a unique name (shortName) to it.
Use cases:
• Specify unique names of measurable data to be used by MCD tools
• Specify unique names of calibration data to be used by MCD tool
• Specify a unique name for an instance of a component prototype in the ECU extract of the
system description
Note that in addition it is possible to assign alias names via AliasNameAssignment.
Base ARObject, Identifiable, MultilanguageReferrable, Referrable
Attribute Type Mult. Kind Note
5
4
Class FlatInstanceDescriptor
ecuExtract AtpFeature 0..1 iref Refers to the instance in the ECU extract. This is valid
Reference only, if the FlatMap is used in the context of an ECU
extract.
The reference shall be such that it uniquely defines the
object instance. For example, if a data prototype is
declared as a role within an SwcInternalBehavior, it is not
enough to state the SwcInternalBehavior as context and
the aggregated data prototype as target. In addition, the
reference shall also include the complete path identifying
instance of the component prototype and the Atomic
SoftwareComponentType, which is refered by the
particular SwcInternalBehavior.
Tags:xml.sequenceOffset=40
InstanceRef implemented by:AnyInstanceRef
role Identifier 0..1 attr The role denotes the particular role of the downstream
memory location described by this FlatInstanceDescriptor.
It applies to use case where one upstream object results
in multiple downstream objects, e.g. ModeDeclaration
GroupPrototypes which are measurable. In this case the
RTE will provide locations for current mode, previous
mode and next mode.
rtePluginProps RtePluginProps 0..1 aggr The properties of a communication graph with respect to
the utilization of RTE Implementation Plug-in.
Stereotypes: atpSplitable
Tags:atp.Splitkey=rtePluginProps
swDataDef SwDataDefProps 0..1 aggr The properties of this FlatInstanceDescriptor.
Props
upstream AtpFeature 0..1 iref Refers to the instance in the context of an "upstream"
Reference descriptions, wich could be the system or system extract
description, the basic software module description or (if a
flat map is used in preliminary context) a description of an
atomic component or composition. This reference is
optional in case the flat map is used in ECU context.
The reference shall be such that it uniquely defines the
object instance in the given context. For example, if a
data prototype is declared as a role within an SwcInternal
Behavior, it is not enough to state the SwcInternal
Behavior as context and the aggregated data prototype
as target. In addition, the reference shall also include the
complete path identifying the instance of the component
prototype that contains the particular instance of Swc
InternalBehavior.
Tags:xml.sequenceOffset=20
InstanceRef implemented by:AnyInstanceRef
«atpVariation,atpSplitable»
«atpVariation,atpSplitable»
+aliasName 1..*
+flatInstance
«atpIdentityContributor» FlatInstanceDescriptor
+ shortLabel: String 0..1
+ role: Identifier [0..1]
MultilanguageReferrable
+identifiable Identifiable
0..1 + category: CategoryString [0..1]
+ uuid: String [0..1]
+label 0..1
MultilanguageLongName
Class AliasNameSet
Package M2::AUTOSARTemplates::CommonStructure::FlatMap
Note This meta-class represents a set of AliasNames. The AliasNameSet can for example be an input to the
A2L-Generator.
Tags:atp.recommendedPackage=AliasNameSets
Base ARElement, ARObject, AtpBlueprint, AtpBlueprintable, CollectableElement, Identifiable, Multilanguage
Referrable, PackageableElement, Referrable
Attribute Type Mult. Kind Note
aliasName AliasNameAssignment 1..* aggr AliasNames contained in the AliasNameSet.
Stereotypes: atpSplitable; atpVariation
Tags:
atp.Splitkey=aliasName.shortLabel, aliasName.variation
Point.shortLabel
vh.latestBindingTime=preCompileTime
Class AliasNameAssignment
Package M2::AUTOSARTemplates::CommonStructure::FlatMap
5
4
Class AliasNameAssignment
Note This meta-class represents the ability to associate an alternative name to a flat representations or an
Identifiable.
The usage of this name is defined outside of AUTOSAR. For example this name can be used by MCD
tools or as a name for component instances in the ECU extract.
Note that flatInstance and identifiable are mutually exclusive.
Base ARObject
Attribute Type Mult. Kind Note
flatInstance FlatInstanceDescriptor 0..1 ref Assignment of a unique name to a flat representation.
Tags:xml.sequenceOffset=60
identifiable Identifiable 0..1 ref Assignment of a unique name to an Identifiable.
Tags:xml.sequenceOffset=50
label MultilanguageLong 0..1 aggr This represents an "Alias LongName".
Name
Tags:xml.sequenceOffset=20
shortLabel String 1 attr This attribute represents the alias name. It is modeled as
string because the alias name is used outside of
AUTOSAR and therefore no naming conventions can be
applied within AUTOSAR.
Stereotypes: atpIdentityContributor
Tags:xml.sequenceOffset=10
During the ECU extraction process, the ECU FlatMap will be processed in the follow-
ing steps:
1. Create the entries shortName and upstreamReference of the FlatMap or, if
a previous version exists, try to reuse them. Resolve name conflicts.
2. Generate the ECU Software Composition.
3. Create the entries ecuExtractReference of the ECU FlatMap.
More details are define be the AUTOSAR methodology, see [4]. The methodology
also allows to have a FlatMap for the whole system. This System FlatMap can be
created and maintained independently from the ECU extraction process, but can be
used as an input for the creation of the ECU FlatMap.
[constr_3378] Maximal one AliasNameAssignment allowed per FlatIn-
stanceDescriptor dIn a given instance of AliasNameSet in the bound system
there shall be at most one aliasName per FlatInstanceDescriptor.c()
With the MC Support information AUTOSAR builds a bridge to tools processing ASAM
ASAP2 files. In order to support the interoperability of converter tools the following
mapping of AUTOSAR attributes to ASAM ASAP2 [21] (also known as "A2l" respec-
tively "ASAM MCD 2MC") is recommended:
• If the FlatInstanceDescriptor references DataPrototypes:
FlatInstanceDescriptor.shortName ->
MEASUREMENT Name
CHARACTERISTIC Name
FlatInstanceDescriptor.(longName + desc |upstreamReference.desc) ->
MEASUREMENT LongIdentifier
CHARACTERISTIC LongIdentifier
AliasNameAssignment.shortLabel ->
MEASUREMENT [-> DISPLAY_IDENTIFIER]
CHARACTERISTIC [-> DISPLAY_IDENTIFIER]
AliasNameAssignment.label(if provided) +
FlatInstanceDescriptor.(desc |upstreamReference.desc) ->
MEASUREMENT LongIdentifier
CHARACTERISTIC LongIdentifier
• If AliasNameAssignment references a SwSystemconstant:
AliasNameAssignment.shortLabel ->
SYSTEM_CONSTANT -> Name for SwSystemconstants
• If AliasNameAssignment references a Unit:
AliasNameAssignment.shortLabel ->
UNIT -> Name for Units
When RTE Implementation Plug-Ins are used to modularize the RTE implemen-
tation, it’s required to decide which communication graphs are implemented by the RTE
or by an specific RTE Implementation Plug-In. Thereby an RTE Implementa-
tion Plug-In is a part of the overall RTE implementation which is not provided by
the RTE Generator but from an additional source (e.g. a Plug-In Generator or a manu-
ally implemented source code).
ARElement AtpPrototype
+flatMap
AtpBlueprint Identifiable
AtpBlueprintable 0..1 «atpSplitable»
RootSwCompositionPrototype
FlatMap
«atpVariation,atpSplitable»
+instance 1..*
Identifiable
FlatInstanceDescriptor
Identifiable
+ecuExtractReference AtpFeature
+subContainer 0..*
+associatedRtePlugin EcucIndexableValue
RtePluginProps
Identifiable
+rtePluginProps 0..1 EcucContainerValue
+associatedCrossSwClusterComRtePlugin
«atpSplitable» 0..1
0..1
«invariant»
{at least one of the two references shall
be set..}
Class RtePluginProps
Package M2::AUTOSARTemplates::CommonStructure::FlatMap
Note The properties of a communication graph with respect to the utilization of RTE Implementation Plug-in.
Base ARObject
Attribute Type Mult. Kind Note
associated EcucContainerValue 0..1 ref This associates a communication graph to a specific RTE
CrossSwCluster Implementation Plug-in handling cross Software Cluster
ComRtePlugin communication.
associatedRte EcucContainerValue 0..1 ref This associates a communication graph to a specific RTE
Plugin Implementation Plug-in handling local Software Cluster
communication or communication in a non-cluster ECU.
• contextElement: RootSwCompositionPrototype
• contextElement: SwComponentPrototype
• contextElement: PPortPrototype
• target: VariableDataPrototype
According the AUTOSAR Meta-Model various further model elements are exist to
describe the complete communication graph, for instance with the means of As-
semblySwConnectors, SwComponentType.ports, RunnableEntitys and Vari-
ableAccesses. Nevertheless all such related elements of this communication graph
are addressed by this single FlatInstanceDescriptor and all access of Exe-
cutableEntitys to this communication graph are handled by the associated RTE
Implementation Plug-In.
[constr_3458] FlatInstanceDescriptor.rtePluginProps shall only ref-
erence a EcucContainerValue representing a RteRipsPlugin dFlatIn-
stanceDescriptor.rtePluginProps shall only reference an EcucContainer-
Value which defines the identity of the RTE Implementation Plug-In. This
requires that the according EcucContainerValue’s definition references a
EcucContainerDef having a destinationUri set to /AUTOSAR/EcucDestina-
tionUriDefSets/RteRipsUriDefSet/RteRipsPluginc()
[constr_5175]{DRAFT} RtePluginProps shall reference at least one EcucCon-
tainerValue representing a RteRipsPlugin dIf a FlatInstanceDescriptor
owns are RtePluginProps this RtePluginProps shall define the associate-
dRtePlugin reference and/or the associatedCrossSwClusterComRtePlugin
reference.c()
To support different work-flows the FlatInstanceDescriptor.rtePluginProps
is defined as atpSplitable. Therefore it’s possible the do the assignment of
communication graphs immediately during the creation of the ECU Flat Map or in a
second processing step after the ECU Flat Map is already created.
Further information, specifications, and applicable constraints on assignments of com-
munication graphs are provided in the document SWS RTE [37] at which specific an-
chor points of an communication graphs the assignment shall be described.
Some further notes about the chosen modeling pattern
In general it is an unusual pattern, that a meta class not being related to ECU configu-
ration references an EcucContainerValue. But the FlatInstanceDescriptor
of the ECU Extract is in any case closely related to the configuration of the ECU.
Furthermore in case of data conversion it’s mandatory to provide for each different
representation a FlatInstanceDescriptor for the communication graph. Further
information about such configurations is provided in the document SWS RTE [37].
The alternative approach to describe the RTE Implementation Plug-In as meta
class is not the right approach since only very few properties of RTE Implementa-
tion Plug-Ins are standardized. There is also no need to exchange information
between different development parties about those properties. Due to this reason RTE
Implementation Plug-Ins are described by the means of ECU Configuration ele-
ments.
The alternative approach to model the relationship between FlatIn-
stanceDescriptors and the container which represents the RTE Implemen-
tation Plug-In with a mapping pattern was rejected due to the very high number
of expected configuration elements.
In case of flattening the hierarchical VFB view to the ECU flat view representation,
the case may appear that one conditional SwComponentPrototype is nested within
another SwComponentPrototype depending on another variance condition. As the
resulting ECU flat view only has a flat representation of SwComponentPrototypes,
such a double condition needs to be resolved to a single condition in the resulting
SwComponentPrototypes.
In this case, the variation condition formula needs to be altered such that the two (or
more) individual conditions are combined in a boolean AND function.
Use case: In complex systems the problem occurs that parameter values may depend
on the configuration of the vehicle due to functional side effects. E.g. the calibration
of a lambda sensor depends from the kind of transmission due to mechanical impacts
(e.g due to additional / different curvatures in the exhaust pipe)
The difficulty is that those dependencies are typically detected after design of the soft-
ware components and shall not change the software component design. Furthermore
this is typical use case for post build variability since the ECU SW should not change
due to environmental variability.
[TPS_SYST_02029] Multiple ParameterDataPrototype instances in an EcuEx-
tract dIt shall be possible to instruct the RTE Generator to provide various instances for
a ParameterDataPrototype in the System with category ECU_EXTRACT. There-
fore one FlatInstanceDescriptor per expected data instance has to point to the
ParameterDataPrototype as an atpTarget.c()
Figure 15.1: Example of network setup with one Frame being received and sent on the
same ECU and channel
In the system description there exists one definition for the Frame_X and one
FrameTriggering for the PhysicalChannel (figure 15.2). Each EcuIn-
stance sending or receiving the FrameTriggering does define one Frame-
Port per direction, thus for ECU4 there are two FramePorts defined.
For each Pdu mapped to the Frame there exists one definition for the Pdu_X and
one PduTriggering for the PhysicalChannel. Each EcuInstance sending
or receiving the Pdu does define one IPduPort per direction, thus for ECU4
there are two IPduPorts defined.
PduPort_ECU1_out
PduPort_ECU2_in
Pdu_X PduTriggering_X PduPort_ECU3_in
PduPort_ECU4_in
PduPort_ECU4_out
PduToFrameMapping
FramePort_ECU1_out
FramePort_ECU2_in
Frame_X FrameTriggering_X FramePort_ECU3_in
FramePort_ECU4_in
FramePort_ECU4_out
Figure 15.2: Structure to reflect the frame- and pdu-triggering setup of one Frame being
received and sent by the same Gateway ECU
In case a System Extract / ECU Extract is build, only the relevant FramePorts
and IPduPorts for the corresponding EcuInstance are extracted. Especially
in case an additional EcuInstance is designed to send and receive the same
Frame all the other ECU extracts will not be affected by this change.
Channel_J
Figure 15.3: Example of network setup with one Frame being received and sent on the
same ECU and channel
In the system description there exists one definition for the Frame_X and one
FrameTriggering for the PhysicalChannel (figure 15.4). Each EcuIn-
stance sending or receiving the FrameTriggering does define one Frame-
Port per direction, thus for ECU4 there are two FramePorts defined.
For each Pdu mapped to the Frame there exists one definition for the Pdu_X and
one PduTriggering for the PhysicalChannel. Each EcuInstance sending
or receiving the Pdu does define one IPduPort per direction, thus for ECU4
there are two IPduPorts defined.
For each ISignal mapped to the Pdu there exists one definition for the Signal_X
and one ISignalTriggering for the PhysicalChannel. Each EcuIn-
stance sending or receiving the ISignal does define one ISignalPort per
direction, thus for ECU4 there are two ISignalPorts defined.
Example 15.4 shows a System Description where only the DataMapping for the
PPorts is defined. Please note that in the COM configuration a ComIPdu has a
ComIPduDirection. Therefore two ComIPdus (Tx and Rx) need to be created
from such a System Description.
SignalPort_ECU1_out
SignalPort_ECU2_in
SignalPort_ECU3_in
ISignal_X ISignalTriggering_X SignalPort_ECU4_in
SignalPort_ECU4_out
ISignalToIPduMapping PduPort_ECU1_out
PduPort_ECU2_in
Pdu_X PduTriggering_X PduPort_ECU3_in
PduPort_ECU4_in
PduPort_ECU4_out
PduToFrameMapping
FramePort_ECU1_out
FramePort_ECU2_in
Frame_X FrameTriggering_X FramePort_ECU3_in
FramePort_ECU4_in
FramePort_ECU4_out
Figure 15.4: Structure to reflect the frame- and pdu-triggering setup of one Frame being
received and sent on the same ECU and channel (System Description with ECU1, ECU2,
ECU3 and ECU4)
In case a System Extract / ECU Extract is build, only the relevant FramePorts,
IPduPorts and ISignalPorts for the corresponding EcuInstance are ex-
tracted. Especially in case an additional EcuInstance is designed to send and
receive the same Frame all the other ECU extracts will not be affected by this
change. Figure 15.5 shows a System Extract where only the description for ECU4
is available. Please note that in this example the VariableDataPrototype in
the PPort and the VariableDataPrototype in the RPort of the Software Com-
ponent are mapped to the same SystemSignal.
SignalPort_ECU4_in
ISignal_X ISignalTriggering_X
SignalPort_ECU4_out
ISignalToIPduMapping
PduPort_ECU4_in
Pdu_X PduTriggering_X
PduPort_ECU4_out
PduToFrameMapping
FramePort_ECU4_in
Frame_X FrameTriggering_X
FramePort_ECU4_out
For every defined Pdu that is contained in the Frame exactly one PduTrig-
gering is defined. This also means that all defined FrameTriggerings refer
to the same PduTriggerings with the FrameTriggering.pduTriggering
reference.
The communication direction of the Pdu is defined by PduTriggering refer-
ences to IPduPorts. All sender IPduPorts and receiver IPduPorts are ref-
erenced by the same PduTriggering.
The description of ISignals and ISignalTriggerings shall be defined ac-
cordingly. Please also note that in case of n:1 sender-receiver communication
each sender shall be represented by the same SystemSignal according to
[constr_3086].
Example: In figure 15.6 a small example is shown. Three different Ecus (Ecu1, Ecu2,
Ecu3) are sending the same Frame to Ecu4.
• Ecu1 sends the Frame with CanId = 3 as described with FrameTriggering3.
• Ecu2 sends the Frame with CanId = 2 as described with FrameTriggering2.
• Ecu3 sends the Frame with CanId = 1 as described with FrameTriggering1.
The Frame contains one single Pdu. Only one PduTriggering is defined
here that refers to three IPduPorts with communicationDirection "out"
(Ecu1OutPort, Ecu2OutPort and Ecu3OutPort) and to one IPduPort with com-
municationDirection "in" (Ecu4InPort). Please note that the references
between the Triggering elements (FrameTriggering.pduTriggering and
PduTriggering.iSignalTriggering) are not visible in figure 15.6 for the
sake of clarity.
The description of the ISignal that is included in the Pdu and the ISignal-
Triggering is defined accordingly.
Upstream Mapping: In the basic Ecu configuration for the receiving Ecu that is de-
rived from such a System Extract all FrameTriggerings shall be mapped
to the same Pdu that is passed to a upper layer module (e.g. Nm, PduR).
This corresponds to the upstream mapping rules for COM Signals defined in
[TPS_SYST_01066] and [TPS_SYST_01067].
• CanIf: several CanIfRxPduCfg containers need to be created with different
CanIfRxPduCanIds that all point to the same Pdu (CanIfRxPduRef).
• FrIf: several FrIfFrameTriggering containers need to be created that all point
to the same Pdu (FrIfFrameStructure/FrIfPdusInFrame/FrIfPduRef)
communicationDirection = out
communicationDirection = out
communicationDirection = out
:ISignalToIPduMapping
+iPdu
communicationDirection = out
communicationDirection = out
communicationDirection = in
:Frame
identifier = 3
+framePort Ecu4InPort: FramePort
communicationDirection = in
FrameTriggering2:
+framePort Ecu2OutPort: FramePort
CanFrameTriggering
communicationDirection = out
identifier = 2
communicationDirection = in
communicationDirection = in
Figure 15.6: Example for a N:1 Sender Receiver communication description in a System
Extract
4
MOST FIBEX Element Description AUTOSAR Element Mapping Rule
PDU TRIGGERING The PDU-TRIGGERING is PduTriggering A PduTriggering shall be
created for every OP-TYPE created for every Pdu that
that is transported on this contains ClientServer-
CHANNEL. Operations that corre-
spond to a OPType and
shall be transported on the
PhysicalChannel that
aggregates this PduTrig-
gering.
PDU In FIBEX the OP-TYPE cor- Pdu In AUTOSAR the
responds to a PDU in the ClientServerOpera-
communication description tion representing the OP-
TYPE shall be mapped with
the ClientServerToSig-
nalMapping to a System-
Signal. For the System-
Signal an ISignal shall
be created. The ISignal
is mapped into an ISig-
nalIPdu.
Table 15.1: Mapping of MOST FIBEX elements to AUTOSAR elements
A 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 ([43]).
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.
+clientServerOperation 1 +clientServerOperation 1
+targetOperation 1
{redefines
atpTarget} «instanceRef» «instanceRef»
DataMapping Identifiable
ClientServerToSignalMapping ClientIdDefinition
+ clientId: Numerical
1 +clientServerOperation +clientServerOperation 1
AtpInstanceRef
OperationInSystemInstanceRef
AutosarDataPrototype
VariableDataPrototype
DataMapping
TriggerToSignalMapping
+trigger 1
AtpInstanceRef
TriggerInSystemInstanceRef
«instanceRef»
1
{redefines
+trigger 1 +targetTrigger atpTarget}
AtpStructureElement
Identifiable
Trigger
Identifiable MappingConstraint
EcuResourceEstimation
SwcToApplicationPartitionMapping
«atpVariation»
«atpVariation»
+swCompToEcuMapping
ComponentSeparation ComponentClustering
+swImplMapping *
Identifiable
+swMapping 0..* * SwcToImplMapping
Identifiable
SwcToEcuMapping
AtpInstanceRef
+swComponentPrototype
ComponentInSystemInstanceRef
0..1
+component
ARElement
1..*
J1939ControllerApplication
+swComponentPrototype
0..1
+component
1..*
SignalPaths::SwcToSwcOperationArguments
SignalPaths::
SwcToSwcSignal + direction: SwcToSwcOperationArgumentsDirectionEnum
+dataElement 2 +operation 2
AtpInstanceRef AtpInstanceRef
InstanceRefs::VariableDataPrototypeInSystemInstanceRef InstanceRefs::
OperationInSystemInstanceRef
«atpVariation»
+pncMapping *
Describable
PncMapping
+ pncIdentifier: PositiveInteger
+ pncWakeupEnable: Boolean [0..1]
+ shortLabel: Identifier [0..1]
+vfc 0..*
AtpInstanceRef
PortGroupInSystemInstanceRef
+comManagementPortGroup 0..*
AtpInstanceRef
PortGroupInSystemInstanceRef
«instanceRef»
1
+target {redefines atpTarget} +comManagementPortGroup 0..*
+innerGroup 0..*
AtpStructureElement
Identifiable «instanceRef»
PortGroup
«instanceRef»
AtpInstanceRef
ARElement
AtpStructureElement
System
+base
«atpDerived»
0..1
{redefines
atpBase}
«atpVariation,atpSplitable»
+rootSoftwareComposition 0..1
AtpPrototype
ComponentInSystemInstanceRef Identifiable
+contextComposition
RootSwCompositionPrototype
0..1
{subsets
atpContextElement}
«isOfType»
1
*
{redefines 1
{ordered,
atpTarget} {redefines
subsets
+targetComponent +contextComponent +softwareComposition
atpContextElement} atpType}
AtpPrototype
CompositionSwComponentType
SwComponentPrototype
+component
0..* «atpVariation,atpSplitable»
«isOfType»
0..1
{redefines
+type atpType}
ARElement
AtpBlueprint
AtpBlueprintable
AtpType
SwComponentType
Class ComponentInSystemInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::InstanceRefs
Note
Base ARObject, AtpInstanceRef
Attribute Type Mult. Kind Note
base System 0..1 ref Stereotypes: atpDerived
Tags:xml.sequenceOffset=10
context SwComponent * ref Tags:xml.sequenceOffset=30
Component Prototype
(ordered)
context RootSwComposition 0..1 ref Tags:xml.sequenceOffset=20
Composition Prototype
target SwComponent 1 ref Tags:xml.sequenceOffset=40
Component Prototype
«instanceRef»
AtpInstanceRef
ARElement
+base
AtpStructureElement
«atpDerived» 0..1 System
{redefines
atpBase}
«atpVariation,atpSplitable»
+rootSoftwareComposition 0..1
AtpPrototype
OperationInSystemInstanceRef
Identifiable
1 +contextComposition RootSwCompositionPrototype
{redefines 0..1
+targetOperation atpTarget} {subsets
AtpStructureElement atpContextElement}
«isOfType»
Identifiable
1
ClientServerOperation {redefines
subsets atpContextElement} +softwareComposition
atpType}
«atpVariation»
{ordered,
0..*
AtpPrototype
SwComponentPrototype «isOfType»
0..1
{redefines
atpType} +type
ARElement
AtpBlueprint
AtpBlueprintable
AtpType
SwComponentType
1
{subsets «atpVariation,atpSplitable»
atpContextElement}
+contextPort +port 0..*
AtpBlueprintable
AtpPrototype
PortPrototype
ARElement
AtpBlueprint
AtpBlueprintable
AtpType
PortInterface
Class OperationInSystemInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::InstanceRefs
Note
Base ARObject, AtpInstanceRef
Attribute Type Mult. Kind Note
5
4
Class OperationInSystemInstanceRef
base System 0..1 ref Stereotypes: atpDerived
Tags:xml.sequenceOffset=10
context SwComponent * ref Tags:xml.sequenceOffset=30
Component Prototype
(ordered)
context RootSwComposition 0..1 ref Tags:xml.sequenceOffset=20
Composition Prototype
contextPort PortPrototype 1 ref Tags:xml.sequenceOffset=40
targetOperation ClientServerOperation 1 ref Tags:xml.sequenceOffset=50
«instanceRef»
AtpInstanceRef
ARElement
AtpStructureElement
System
+base
«atpDerived»
0..1
{redefines
atpBase}
«atpVariation,atpSplitable»
+rootSoftwareComposition 0..1
VariableDataPrototypeInSystemInstanceRef AtpPrototype
+contextComposition Identifiable
RootSwCompositionPrototype
0..1
{subsets
atpContextElement}
«isOfType»
0..1
{redefines
+targetDataPrototype atpTarget} 1
{redefines
+softwareComposition
AutosarDataPrototype atpType}
VariableDataPrototype CompositionSwComponentType
+dataElement 0..*
*
{ordered, «atpVariation,atpSplitable»
subsets
+contextComponent atpContextElement} +component 0..*
AtpPrototype
SenderReceiverInterface
SwComponentPrototype
«isOfType»
1 0..1
{subsets {redefines atpType} +type
+contextPort atpContextElement} ARElement
DataInterface AtpBlueprintable AtpBlueprint
AtpPrototype +port AtpBlueprintable
PortPrototype AtpType
0..*«atpVariation,atpSplitable» SwComponentType
ARElement
AtpBlueprint
AtpBlueprintable
AtpType
PortInterface
Class VariableDataPrototypeInSystemInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::InstanceRefs
Note
Base ARObject, AtpInstanceRef
5
4
Class VariableDataPrototypeInSystemInstanceRef
Attribute Type Mult. Kind Note
base System 0..1 ref Stereotypes: atpDerived
context SwComponent * ref
Component Prototype
(ordered)
context RootSwComposition 0..1 ref
Composition Prototype
contextPort PortPrototype 1 ref
targetData VariableDataPrototype 0..1 ref
Prototype
AtpInstanceRef
TriggerInSystemInstanceRef
ARElement
+base AtpStructureElement
«atpDerived» System
0..1
{redefines
atpBase}
«atpVariation,atpSplitable»
+rootSoftwareComposition 0..1
AtpPrototype
+contextComposition Identifiable
RootSwCompositionPrototype
0..1
{subsets
atpContextElement} «isOfType»
1 1
+softwareComposition {redefines atpType}
{redefines
+targetTrigger atpTarget}
CompositionSwComponentType
atpContextElement}
AtpStructureElement
Identifiable
Trigger
0..*
{subsets
+trigger 0..* {ordered,
subsets «atpVariation,atpSplitable»
1
AtpPrototype AtpBlueprintable
TriggerInterface
SwComponentPrototype AtpPrototype
PortPrototype
+port 0..*
0..1 «isOfType»
{redefines «atpVariation,atpSplitable»
ARElement atpType} +type
AtpBlueprint ARElement
AtpBlueprintable
AtpBlueprint
AtpType
AtpBlueprintable
PortInterface AtpType
SwComponentType
Class TriggerInSystemInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::InstanceRefs
Note
Base ARObject, AtpInstanceRef
Attribute Type Mult. Kind Note
base System 0..1 ref This represents that base of the InstanceRef
Stereotypes: atpDerived
Tags:xml.sequenceOffset=10
context SwComponent * ref This represents the set of context components. The
Component Prototype association is ordered because it needs to respect the
(ordered) nesting order.
Tags:xml.sequenceOffset=30
context RootSwComposition 0..1 ref This represents the reference to the RootSw
Composition Prototype Compositiontype representing a context of the Instance
Ref.
Tags:xml.sequenceOffset=20
contextPort PortPrototype 1 ref This represents the PortPrototype in which the target
Trigger is located.
Tags:xml.sequenceOffset=40
targetTrigger Trigger 1 ref This represents the target Trigger.
Tags:xml.sequenceOffset=50
«atpDerived»
0..1
{redefines
atpBase}
«atpVariation,atpSplitable»
+rootSoftwareComposition 0..1
AtpPrototype
PortGroupInSystemInstanceRef Identifiable
+contextComposition
RootSwCompositionPrototype
0..1
{subsets
atpContextElement}
«isOfType»
*
{ordered,
subsets 1
+contextComponent atpContextElement} {redefines
+softwareComposition
atpType}
AtpPrototype
SwComponentPrototype +component CompositionSwComponentType
0..* «atpVariation,atpSplitable»
«isOfType»
1 0..1
{redefines {redefines
+type
+target atpTarget} atpType}
AtpStructureElement +portGroup ARElement
Identifiable 0..* AtpBlueprint
AtpBlueprintable
PortGroup «atpVariation»
AtpType
SwComponentType
+innerGroup
0..*
«instanceRef»
Class PortGroupInSystemInstanceRef
Package M2::AUTOSARTemplates::SystemTemplate::InstanceRefs
Note
Base ARObject, AtpInstanceRef
Attribute Type Mult. Kind Note
base System 0..1 ref Stereotypes: atpDerived
Tags:xml.sequenceOffset=10
context SwComponent * ref Tags:xml.sequenceOffset=30
Component Prototype
(ordered)
context RootSwComposition 0..1 ref Tags:xml.sequenceOffset=20
Composition Prototype
target PortGroup 1 ref Link to a PortGroup that is defined in a component which
is part of this CompositionSwComponentType.
Tags:xml.sequenceOffset=40
have a System Extract where the RootSwComposition may contain other composi-
tions. If the referenced PortGroup is part of the RootSwCompositionPrototype
itself then the contextComposition reference to the RootSwCompositionPro-
totype shall be skipped and the RootSwCompositionPrototype shall be refer-
enced as contextComponent. In this scenario we have an Ecu Extract where the
RootSwComposition contains PortPrototypes that describe the external communi-
cation.
+/abstractBase 0..1
{redefines
atpBase}
«atpAbstract»
AtpInstanceRef
DataPrototypeInPortInterfaceInstanceRef
«atpAbstract»
1
{redefines
+targetDataPrototype atpTarget}
AtpPrototype
DataPrototype
«atpAbstract» «atpAbstract»
0..1 0..*
{subsets {ordered,
+rootDataPrototype atpContextElement} +contextDataPrototype subsets atpContextElement}
AutosarDataPrototype ApplicationCompositeElementDataPrototype
C.1 ComStack
M2 Parameter
M2 Parameter
4
SystemTemplate::Fibex::Fibex4Multiplatform::ISignalMapping
Mapping Rule Mapping Type
In the System Extract an explicit ISignalMapping or an implicit ISignalMapping may be defined. full
Explicit Mapping: Create Container for each ISignalMapping.sourceSignal where the referenced
ISignalTriggering refers to an ISignal. Implicit Mapping: Ifthe ISignalMapping.sourceSignal refers
to an ISignalTriggering where the ISignalTriggering refers to an ISignalGroup (and no explicit
mapping is defined for the ISignalGroup), then create Container for each ISignal referenced by the
ISignalGroup where the shortName of the source ISignal matches the shortName of a destination
ISignal of the ISignalMapping.targetSignal ISignalGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00544]
M2 Parameter
SystemTemplate::Fibex::Fibex4Multiplatform::ISignalMapping.targetSignal
Mapping Rule Mapping Type
Explicit Mapping: Create Container for each targetSignal reference that is defined in the ISignal full
Mapping. Implicit Mapping: If the ISignalMapping.targetSignal refers to an ISignalTriggering where
the ISignalTriggering refers to an ISignalGroup (and no explicit mapping is defined for the ISignal
Group), then create Container for each ISignal referenced by the ISignalGroup where the short
Name of the target ISignal matches the shortName of a source ISignal of the ISignal
Mapping.sourceSignal ISignalGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00546]
4
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00549]
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00317]
4
Template Description
Specifies number of messages to occur before the message is passed again
M2 Parameter
CommonStructure::Filter::DataFilter.period
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00312]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalTriggering.iSignal
Mapping Rule Mapping Type
Explicit Mapping: Create Container if ISignal is referenced from ISignalMapping.sourceSignal or full
ISignalMapping.targetSignal via ISignalTriggering. Implicit Mapping: If the ISignalMapping.source
Signal refers to an ISignalTriggering where the ISignalTriggering refers to an ISignalGroup (and no
explicit mapping is defined for the ISignalGroup), then create Container for each ISignal referenced
by the ISignalGroup where the shortName of the source ISignal matches the shortName of a
destination ISignal of the ISignalMapping.targetSignal ISignalGroup. If the ISignalMapping.target
Signal refers to an ISignalTriggering where the ISignalTriggering refers to an ISignalGroup (and no
explicit mapping is defined for the ISignalGroup), then create Container for each ISignal referenced
by the ISignalGroup where the shortName of the target ISignal matches the shortName of a
source ISignal of the ISignalMapping.sourceSignal ISignalGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00551]
4
ComGwSource ECUC-CHOICE-CONTAINER-DEF
BSW Description
This choice container allows the definition of the gateway source signal either by reference to an already configured COM
signal / group signal or by a source description container.
Template Description
M2 Parameter
SystemTemplate::Fibex::Fibex4Multiplatform::ISignalMapping.sourceSignal
Mapping Rule Mapping Type
Explicit Mapping: Create Container for sourceSignal reference that is defined in the ISignal full
Mapping. Implicit Mapping: If the ISignalMapping.sourceSignal refers to an ISignalTriggering
where the ISignalTriggering refers to an ISignalGroup (and no explicit mapping is defined for the
ISignalGroup), then create Container for each ISignal referenced by the ISignalGroup where the
shortName of the source ISignal matches the shortName of a destination ISignal of the ISignal
Mapping.targetSignal ISignalGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00545]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalTriggering.iSignal
Mapping Rule Mapping Type
Explicit Mapping: Create Container if ISignal is referenced from ISignalMapping.sourceSignal or full
ISignalMapping.targetSignal via ISignalTriggering. Implicit Mapping: If the ISignalMapping.source
Signal refers to an ISignalTriggering where the ISignalTriggering refers to an ISignalGroup (and no
explicit mapping is defined for the ISignalGroup), then create Container for each ISignal referenced
by the ISignalGroup where the shortName of the source ISignal matches the shortName of a
destination ISignal of the ISignalMapping.targetSignal ISignalGroup. If the ISignalMapping.target
Signal refers to an ISignalTriggering where the ISignalTriggering refers to an ISignalGroup (and no
explicit mapping is defined for the ISignalGroup), then create Container for each ISignal referenced
by the ISignalGroup where the shortName of the target ISignal matches the shortName of a
source ISignal of the ISignalMapping.sourceSignal ISignalGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00551]
4
Reference to an object of a gateway relation. Either to a ComSignal or a ComGroupSignal.
Template Description
An ISignalToIPduMapping describes the mapping of ISignals to ISignalIPdus and defines the position of the ISignal within an
ISignalIPdu.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalToIPduMapping
Mapping Rule Mapping Type
Refers to the to be routed ComSignal or ComGroupSignal. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00547]
4
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalToIPduMapping.startPosition
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00259]
4
BSW Parameter BSW Type
ComSignalType ECUC-ENUMERATION-PARAM-DEF
BSW Description
The AUTOSAR type of the signal. Whether or not the signal is signed or unsigned can be found by examining the value of
this attribute. This type could also be used to reserved appropriate storage in AUTOSAR COM.
Template Description
With the aggregation of SwDataDefProps an ISignal specifies how it is represented on the network. This representation
follows a particular policy. Note that this causes some redundancy which is intended and can be used to support flexible
development methodology as well as subsequent integrity checks.
If the policy "networkRepresentationFromComSpec" is chosen the network representation from the ComSpec that is
aggregated by the PortPrototype shall be used. If the "override" policy is chosen the requirements specified in the Port
Interface and in the ComSpec are not fulfilled by the networkRepresentationProps. In case the System Description doesn’t
use a complete Software Component Description (VFB View) the "legacy" policy can be chosen.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignal.dataTypePolicy
Mapping Rule Mapping Type
The mapping depends from the setting in the ISignal.dataTypePolicy: - ISignal.dataTypePolicy = full
override or legacy: SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignal.network
RepresentationProps.swBaseType - ISignal.dataTypePolicy = networkRepresentationFromCom
Spec: if defined on ComSpec: SWComponentTemplate::Communication::SenderCom
Spec.networkRepresentation.swBaseType SWComponentTemplate::Communication::SenderCom
Spec.compositeNetworkRepresentation.networkRepresentation.swBaseType SWComponent
Template::Communication::ReceiverComSpec.networkRepresentation.swBaseType
SWComponentTemplate::Communication::ReceiverComSpec.compositeNetwork
Representation.networkRepresentation.swBaseType if not defined on ComSpec: Common
Structure::ImplementationDataTypes::ImplementationDataType.swDataDefProps.swBaseType Find
the ImplementationDataType according to TPS_SYST_02079 and access SwDataDefProps.sw
BaseType. Consequence: If two SenderReceiverToSignalMappings that point to the same System
Signal result in incompatible BaseTypes (see constr_1220 in SoftwareComponentTemplate) =>
ComSignalType should not be configured. - ISignal.dataTypePolicy = portInterfaceDefinition –>
option has atpStatus "removed", in consequence no mapping is available." - ISignal.dataTypePolicy
= transformingISignal Hardcoded to UINT8_N or UINT8_DYN. Datatype can be derived from
SystemSignal.dynamicLength: UINT8_N should be used if SystemSignal.dynamicLength = false
UINT8_DYN should be used if SystemSignal.dynamicLength = true
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00127]
4
The UpdateIndicationBit indicates to the receivers that the signal (or the signal group) was updated by the sender. Length is
always one bit. The UpdateIndicationBitPosition attribute describes the position of the update bit within the SignalIPdu. For
Signals of a ISignalGroup this attribute is irrelevant and shall be ignored.
Note that the exact bit position of the updateIndicationBitPosition is linked to the value of the attribute packingByteOrder
because the method of finding the bit position is different for the values mostSignificantByteFirst and mostSignificantByte
Last. This means that if the value of packingByteOrder is changed while the value of updateIndicationBitPosition remains
unchanged the exact bit position of updateIndicationBitPosition within the enclosing ISignalIPdu still undergoes a change.
This attribute denotes the least significant bit for "Little Endian" and the most significant bit for "Big Endian" packed signals
within the IPdu (see the description of the packingByteOrder attribute). In AUTOSAR the bit counting is always set to
"sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most
significant bit in byte 0 is bit 7.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalToIPduMapping.updateIndicationBitPosition
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00257]
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00387]
M2 Parameter
4
BSW Description
Reference to the I-PDU groups this I-PDU belongs to.
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalIPduGroup.iSignalIPdu
Mapping Rule Mapping Type
Find IPduGroup that points to this SignalIPdu and create the reference. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00206]
M2 Parameter
M2 Parameter
4
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalToIPduMapping
Mapping Rule Mapping Type
Find ISignal in the IPdu which refers to a SystemSignal and create reference to this Signal. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00518]
M2 Parameter
4
Reference to ComMainFunctionRouteSignals which performs signal gateway related activities.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Com_10024]
M2 Parameter
4
Template Description
AUTOSAR COM and AUTOSAR IPDUM are filling not used areas of an IPDU with this bit-pattern. This attribute is mandatory
to avoid undefined behavior. This byte-pattern will be repeated throughout the IPdu.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalIPdu.unusedBitPattern
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00017]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::TransmissionModeDeclaration.
transmissionModeFalseTiming
Mapping Rule Mapping Type
Create Container if a timing specification is defined for this IPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00454]
4
Mapping Rule Mapping Type
Create Container if a timing specification is defined for this IPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00351]
4
valid [ECUC_Com_00281]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::EventControlledTiming.repetitionPeriod
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00282]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::CyclicTiming.timeOffset
Mapping Rule Mapping Type
The value for the True and the False Transmission Mode can be derived from IPdu full
Timing.TransmissionModeDeclaration.TransmissionModeTiming element
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00180]
4
BSW Description
Defines the repetition period in seconds of the periodic transmission requests in case ComTxModeMode is configured to
PERIODIC or MIXED. In case of the mixed transmission mode only the periodic part is affected.
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::CyclicTiming.timePeriod
Mapping Rule Mapping Type
The value for the True and the False Transmission Mode can be derived from IPdu full
Timing.TransmissionModeDeclaration.TransmissionModeTiming element
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00178]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::TransmissionModeDeclaration.
transmissionModeTrueTiming
Mapping Rule Mapping Type
Create Container if a timing specification is defined for this IPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00455]
4
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::TransmissionModeTiming
Mapping Rule Mapping Type
Create Container if a timing specification is defined for this IPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00351]
4
ComTxModeNumberOfRepetitions = EventControlledTiming.numberOfRepetitions full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00281]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::EventControlledTiming.repetitionPeriod
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00282]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::CyclicTiming.timeOffset
Mapping Rule Mapping Type
The value for the True and the False Transmission Mode can be derived from IPdu full
Timing.TransmissionModeDeclaration.TransmissionModeTiming element
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00180]
4
BSW Parameter BSW Type
ComTxModeTimePeriod ECUC-FLOAT-PARAM-DEF
BSW Description
Defines the repetition period in seconds of the periodic transmission requests in case ComTxModeMode is configured to
PERIODIC or MIXED. In case of the mixed transmission mode only the periodic part is affected.
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Timing::CyclicTiming.timePeriod
Mapping Rule Mapping Type
The value for the True and the False Transmission Mode can be derived from IPdu full
Timing.TransmissionModeDeclaration.TransmissionModeTiming element
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00178]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalIPduGroup.containedISignalIPduGroup
Mapping Rule Mapping Type
5
4
If the IPduGroup has a reference to a contained IPduGroup then create this reference. Please note full
that in COM the contained IPduGroup points to the containing IPduGroup and in System Template
the containing ISignalIPduGroup points to the contained ISignalIPduGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00185]
M2 Parameter
M2 Parameter
4
Reference to EcucPartition, where the according Com_MainFunction instance is assigned to.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Com_10014]
M2 Parameter
M2 Parameter
4
This callback function indicates that the signals/signal groups to be sent via a dedicated Com_MainFunctionTx instance will
now be prepared for transmission.
If this parameter is omitted no notification shall take place.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
This container contains the configuration parameters of the AUTOSAR COM module’s Filters.
Note: On sender side the container is used to specify the transmission mode conditions.
Template Description
Base class for data filters. The type of the filter is specified in attribute dataFilterType. Some of the filter types require
additional arguments which are specified as attributes of this class.
M2 Parameter
CommonStructure::Filter::DataFilter
Mapping Rule Mapping Type
Create container on the receiver side if the NonqueuedReceiverComSpec contains a DataFilter. full
Create Container on the sender side if the TransmissionModeCondition element contains a
reference to this signal.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00339]
4
valid [ECUC_Com_00235]
4
M2 Parameter
CommonStructure::Filter::DataFilter.offset
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00313]
4
BSW Description
Defines the length of the first deadline monitoring timeout period in seconds. This timeout is used immediately after start (or
restart) of the deadline monitoring service. The timeout period of the successive periods is configured by ECUC_Com_00263.
Template Description
• ISignalPort with communicationDirection = in:
Optional first timeout value in seconds for the reception of the ISignal.
• ISignalPort with communicationDirection = out:
Optional first timeout value in seconds for transmission deadline monitoring.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalPort.firstTimeout
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00183]
M2 Parameter
4
Mapping Rule Mapping Type
Tx: If an ISignal has no ISignalPort assigned a ComSignal shall always be created in the full
transmitting ECUs in order to send the init value. Rx: If an ISignal has no ISignalPort assigned
there is no need for the existence of a ComSignal in the rec. Ecu
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00811]
M2 Parameter
M2 Parameter
4
BSW Description
This parameter defines the action performed upon expiration of the reception deadline monitoring timer.
Template Description
This attribute controls the behavior with respect to the handling of timeouts.
M2 Parameter
SWComponentTemplate::Communication::NonqueuedReceiverComSpec.handleTimeoutType
Mapping Rule Mapping Type
If a full DataMapping exists for the SystemSignal and there is a single receiver on this ECU then full
this information shall be configured in accordance with the configured NonqueuedReceiverCom
Spec. If a full DataMapping exists for the SystemSignal and there are multiple receivers on this
ECU then this information is available in the NonqueuedReceiverComSpecs. In this case the
attribute ComRxDataTimeoutAction of the related ComSignal/ComSignalGroup shall be configured
to NONE to ensure that the RTE always has access to the last received value. Please note that the
SWS_RTE defines an algorithm to implement the applicable timeout action.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00412]
4
4
Representation.networkRepresentation.swBaseType if not defined on ComSpec: Common
Structure::ImplementationDataTypes::ImplementationDataType.swDataDefProps.swBaseType Find
the ImplementationDataType according to TPS_SYST_02079 and access SwDataDefProps.sw
BaseType. Consequence: If two SenderReceiverToSignalMappings that point to the same System
Signal result in incompatible BaseTypes (see constr_1220 in SoftwareComponentTemplate) =>
ComSignalType should not be configured. - ISignal.dataTypePolicy = portInterfaceDefinition –>
option has atpStatus "removed", in consequence no mapping is available." - ISignal.dataTypePolicy
= transformingISignal Hardcoded to UINT8_N or UINT8_DYN. Datatype can be derived from
SystemSignal.dynamicLength: UINT8_N should be used if SystemSignal.dynamicLength = false
UINT8_DYN should be used if SystemSignal.dynamicLength = true
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00127]
4
4
Optional timeout value in seconds for the transmission of the ISignal. The attribute value is used to configure the Com
Timeout in the COM module. The RTE ignores this attribute. The timeout can also be specified with the enderCom
Spec.transmissionAcknowledge.timeout attribute. If a full DataMapping exists for the SystemSignal and the value is available
in the configured SenderComSpec, then the timeout value in the SenderComSpec overrides this optional timeout
specification during the creation of the Base Ecu Configuration of the COM module.
This attribute can be used in the following cases:
• legacy signal where the System Description doesn’t use a complete Software Component Description (VFB View)
and where the DataMapping is missing.
• bus monitoring use cases in which the DataMapping is ignored.
TransmissionAcknowledgementRequest.timeout:
Number of seconds before an error is reported or in case of allowed redundancy, the value is sent again.
NonqueuedReceiverComSpec.aliveTimeout:
Specify the amount of time (in seconds) after which the software component (via the RTE) needs to be notified if the
corresponding data item have not been received according to the specified timing description.
If the aliveTimeout attribute is 0 no timeout monitoring shall be performed.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalPort.timeout, SWComponent
Template::Communication::TransmissionAcknowledgementRequest.timeout, SWComponent
Template::Communication::NonqueuedReceiverComSpec.aliveTimeout
Mapping Rule Mapping Type
TX Signals: If a full DataMapping exist for the SystemSignal this information may be available from full
a configured SenderComSpec.transmissionAcknowledge.timeout that specifies the amount of time
(in seconds) after which the software component (via the RTE) needs to be notified if the
corresponding data item have not been transmitted according to the specified timing description. In
this case the timeout value in SenderComSpec overrides the optional timeout specification in the
System Template defined on the ISignalPort. RX Signals: If a full DataMapping exist for the
SystemSignal this information may be available from a configured NonqueuedReceiverCom
Spec.aliveTimeout. In this case the timeout value in ReceiverComSpec overrides the optional
timeout specification in the System Template defined on the ISignalPort. Please note that the
SWS_RTE defines an algorithm to finally set the applicable timeout value.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00263]
M2 Parameter
4
valid [ECUC_Com_00232]
4
A ComSignalGroup container shall be created for an ISignalGroup that is contained in an ISignal full
IPdu which the Com module is sending. The creation of a ComSignalGroup container may be
omitted for an ISignalGroup that is contained in an ISignalIPdu which the Com module is receiving
if no Rx ISignalPort exists for the ISignalGroup.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00345]
M2 Parameter
4
M2 Parameter
CommonStructure::Filter::DataFilter.mask
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00235]
4
BSW Description
The name of this attribute corresponds to the parameter name in the [17] specification of Reception Filtering.
Range = 0..(ComFilterPeriod-1)
Template Description
Specifies the initial number of messages to occur before the first message is passed
M2 Parameter
CommonStructure::Filter::DataFilter.offset
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00313]
M2 Parameter
4
4
Representation.networkRepresentation.swBaseType if not defined on ComSpec: Common
Structure::ImplementationDataTypes::ImplementationDataType.swDataDefProps.swBaseType Find
the ImplementationDataType according to TPS_SYST_02079 and access SwDataDefProps.sw
BaseType. Consequence: If two SenderReceiverToSignalMappings that point to the same System
Signal result in incompatible BaseTypes (see constr_1220 in SoftwareComponentTemplate) =>
ComSignalType should not be configured. - ISignal.dataTypePolicy = portInterfaceDefinition –>
option has atpStatus "removed", in consequence no mapping is available." - ISignal.dataTypePolicy
= transformingISignal Hardcoded to UINT8_N or UINT8_DYN. Datatype can be derived from
SystemSignal.dynamicLength: UINT8_N should be used if SystemSignal.dynamicLength = false
UINT8_DYN should be used if SystemSignal.dynamicLength = true
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00127]
4
4
In case the ComSignal is a UINT8_N, UINT8_DYN the string shall be interpreted as a decimal representation of the
characters separated by blanks, e.g. "97 98 100" means a string "abd", where the char "a" is in byte 0(lowest address), "b" is
in byte 1, and "d" is in byte 2 and (highest address). For the ComSignalType UINT8_DYN the dynamic length shall be set to
the number of configured characters. An empty string "" shall be interpreted as 0-sized dynamic signal.
Template Description
Defines and enables the ComTimeoutSubstituition for this ISignal.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignal.timeoutSubstitutionValue
Mapping Rule Mapping Type
The mapping of ComTimeoutSubstitutionValue depends on the setting in the ISignal.dataType full
Policy: - ISignal.dataTypePolicy = override or legacy: SystemTemplate::Fibex::FibexCore::Core
Communication::ISignal.timeoutSubstitutionValue - ISignal.dataTypePolicy = network
RepresentationFromComSpec: SWComponentTemplate::Communication::NonequeuedReceiver
ComSpec.timeoutSubstitutionValue - ISignal.dataTypePolicy = transformingISignal this is not
supported.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_10006]
4
M2 Parameter
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalGroup.comBasedSignalGroupTransformation
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_10003]
4
4
in the configured SenderComSpec, then the timeout value in the SenderComSpec overrides this optional timeout
specification during the creation of the Base Ecu Configuration of the COM module.
This attribute can be used in the following cases:
• legacy signal where the System Description doesn’t use a complete Software Component Description (VFB View)
and where the DataMapping is missing.
• bus monitoring use cases in which the DataMapping is ignored.
TransmissionAcknowledgementRequest.timeout:
Number of seconds before an error is reported or in case of allowed redundancy, the value is sent again.
NonqueuedReceiverComSpec.aliveTimeout:
Specify the amount of time (in seconds) after which the software component (via the RTE) needs to be notified if the
corresponding data item have not been received according to the specified timing description.
If the aliveTimeout attribute is 0 no timeout monitoring shall be performed.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalPort.timeout, SWComponent
Template::Communication::TransmissionAcknowledgementRequest.timeout, SWComponent
Template::Communication::NonqueuedReceiverComSpec.aliveTimeout
Mapping Rule Mapping Type
TX Signals: If a full DataMapping exist for the SystemSignal this information may be available from full
a configured SenderComSpec.transmissionAcknowledge.timeout that specifies the amount of time
(in seconds) after which the software component (via the RTE) needs to be notified if the
corresponding data item have not been transmitted according to the specified timing description. In
this case the timeout value in SenderComSpec overrides the optional timeout specification in the
System Template defined on the ISignalPort. RX Signals: If a full DataMapping exist for the
SystemSignal this information may be available from a configured NonqueuedReceiverCom
Spec.aliveTimeout. In this case the timeout value in ReceiverComSpec overrides the optional
timeout specification in the System Template defined on the ISignalPort. Please note that the
SWS_RTE defines an algorithm to finally set the applicable timeout value.
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00263]
M2 Parameter
4
BSW Parameter BSW Type
ComTransferProperty ECUC-ENUMERATION-PARAM-DEF
BSW Description
Defines if a write access to this signal can trigger the transmission of the corresponding I-PDU. If the I-PDU is triggered,
depends also on the transmission mode of the corresponding I-PDU.
Template Description
Defines how the referenced ISignal contributes to the send triggering of the ISignalIPdu.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalToIPduMapping.transferProperty
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00232]
4
BSW Description
Contains the configuration parameters of the Com user modules.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
This parameter enables/disables the cancellation feature: true: enabled false: disabled
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00780]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Com_00438]
M2 Parameter
M2 Parameter
4
Communication Direction of the Connector Port (input or output Port).
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::CommConnectorPort.communicationDirection
Mapping Rule Mapping Type
Find IPduTriggering of the regarded SignalIPdu. The IPduTriggering contains a reference to an full
IPduPort that is aggegated by the regarded ECU. If the communicationDirection of the Comm
ConnectorPort is "in" than the IPdu is received.
Mapping Status ECUC Parameter ID
valid [ECUC_LdCom_-
00007]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_LdCom_-
00011]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
LdComUserModule ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
Contains the configuration parameters of the LdCom user modules.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
This container contains the sub containers of the IpduM module.
• The IpduMTxPathway subcontainer includes information about sent I-PDUs.
• The IpduMRxPathway includes information about received I-PDUs.
• The IpduMContainerTxPdu and IpduMContainedTxPdu include information about the sending of ContainerPdus.
• The IpduMContainerRxPdu and IpduMContainedRxPdu include information about the reception of ContainerPdus.
Template Description
M2 Parameter
M2 Parameter
4
valid [ECUC_IpduM_00206]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ContainerIPdu.containedPduTriggering
Mapping Rule Mapping Type
In the SysT the ContainerPdu references all PduTriggerings which can be put inside this Container. partial
In the EcuC each Contained Pdu refers to the Containers it can be transported in. In case of
IPDUM_ACCEPT_ALL reception strategy: a set of IpduMContainedRxPdu without an Ipdu
MContainedRxInContainerPduRef is derived. An IpduMContainedRxPdu shall only be derived
once in this set of IPDUM_ACCEPT_ALL reception Pdus. The identity of an IpduMContainedRx
Pdu in the set of IPDUM_ACCEPT_ALL reception Pdus is defined by the IpduMContainedRxPdu
ShortHeaderId and IpduMContainedRxPduLongHeaderId.
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00173]
M2 Parameter
4
If the ContainerIPdu directly references the PduTriggering in the role ContainerIPdu.containedPdu full
Triggering then this attribute is derived from IPdu.containedIPduProps. If the ContainerIPdu
indirectly references the PduTriggering via ContainerIPdu.containedIPduTriggeringProps then this
attribute is derived from that ContainerIPdu.containedIPduTriggeringProps.
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00207]
M2 Parameter
4
Template Description
Defines whether this ContainedIPdu shall be collected using a last-is-best or queued semantics.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ContainedIPduProps.collectionSemantics
Mapping Rule Mapping Type
If the ContainerIPdu directly references the PduTriggering in the role ContainerIPdu.containedPdu full
Triggering then this attribute is derived from IPdu.containedIPduProps. If the ContainerIPdu
indirectly references the PduTriggering via ContainerIPdu.containedIPduTriggeringProps then this
attribute is derived from that ContainerIPdu.containedIPduTriggeringProps.
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00198]
M2 Parameter
M2 Parameter
4
Priority handling for a ContainerIPdu is enabled if at least one ContainedIPdu contains the attribute full
"priority" within its aggregated ContainerIPduProps, and there are different priorities configured
within one ContainerIPdu (Reason: When all ContainedIPdus have the same priority, they cannot
be prioritized). If the ContainerIPdu directly references the PduTriggering in the role Container
IPdu.containedPduTriggering then this attribute is derived from IPdu.containedIPduProps. If the
ContainerIPdu indirectly references the PduTriggering via ContainerIPdu.containedIPduTriggering
Props then this attribute is derived from that ContainerIPdu.containedIPduTriggeringProps.
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00210]
M2 Parameter
4
M2 Parameter
SystemTemplate::Fibex::Fibex4Ethernet::ServiceInstances::PduCollectionTriggerEnum.never
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
M2 Parameter
4
No Header is used and the location of each containedPdu in the ContainerPdu is statically configured.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ContainerIPduHeaderTypeEnum.noHeader
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
M2 Parameter
4
BSW Description
The IpduMContainedRxPdus which are referencing this IpduMContainerRxPdu are expected inside this IpduMContainerRx
Pdu, but there may also occur other Pdus inside this IpduMContainerRxPdu as well. This also supports the case where no
IpduMContainedRxPdu references the IpduMContainerRxPdu.
Template Description
No fixed set of containedIPdus is defined for reception, any known containedIPdu (based on headerId) shall be expected
within this ContainerIPdu.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::RxAcceptContainedIPduEnum.acceptAll
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
No Header is used and the location of each containedPdu in the ContainerPdu is statically configured.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ContainerIPduHeaderTypeEnum.noHeader
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
4
The value of this parameter can not be derived from the System Extract but the System Extract partial
may define a minimum queue size. If this parameter is used in the context of the IpduMContainer
TxPdu then the minimumTxContainerQueueSize attribute needs to be respected. If this parameter
is used in the context of the IpduMContainerRxPdu then the minimumRxContainerQueueSize
attribute needs to be respected.
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00185]
M2 Parameter
4
IpduMContainerTxPduRef ECUC-REFERENCE-DEF
BSW Description
Reference to the Pdu which represents the container and is used for transmission.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_IpduM_00208]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
The period between successive calls to IpduM_MainFunctionTx in seconds. This parameter may be used by the IpduM
generator to transform the values of the reception related timing configuration parameters of the IpduM module to internal
implementation specific counter or tick values. The IpduM module’s internal timing handling is implementation specific.
The IpduM module (generator) may rely on the fact that IpduM_MainFunctionTx is scheduled according to the value
configured here.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
IpduMByteOrder ECUC-ENUMERATION-PARAM-DEF
BSW Description
This parameter defines the ByteOrder for all segments (static and dynamic part) and for the selectorField within the
MultiplexedPdu.
The absolute position of a segment in the MultiplexedIPdu is determined by the definition of the ByteOrder parameter: If BIG_
ENDIAN is specified, the SegmentPosition indicates the bit position of the most significant bit in an IPDU. If LITTLE_ENDIAN
is specified, the SegmentPosition indicates the bit position of the least significant bit in an IPDU.
Template Description
MultiplexedIPdu.selectorFieldByteOrder:
This attribute defines the order of the bytes of the selectorField and the packing into the MultiplexedIPdu. Please consider
that [constr_3247] and [constr_3223] are restricting the usage of this attribute.
In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not
delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn’t need to be
described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.
SegmentPosition.segmentByteOrder:
This attribute defines the order of the bytes of the segment and the packing into the MultiplexedIPdu. Please consider that
[constr_3247] and [constr_3224] are restricting the usage of this attribute.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::MultiplexedIPdu.selectorFieldByteOrder, System
Template::Fibex::FibexCore::CoreCommunication::SegmentPosition.segmentByteOrder
Mapping Rule Mapping Type
A mix between Little Endian and Big Endian within a MultiplexedIPdu is not allowed. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00162]
M2 Parameter
4
The StaticPart and the DynamicPart can be separated in multiple segments within the multiplexed PDU.
The ISignalIPdus are copied bit by bit into the MultiplexedIPdu. If the space of the first segment is 5 bits large than the first 5
bits of the ISignalIPdu are copied into this first segment and so on.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SegmentPosition
Mapping Rule Mapping Type
Shall be derived from segmentPosition elements that are aggregated by the DynamicPart. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00170]
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
Create container if StaticPart exists in the MultiplexedIPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00049]
M2 Parameter
4
The StaticPart and the DynamicPart can be separated in multiple segments within the multiplexed PDU.
The ISignalIPdus are copied bit by bit into the MultiplexedIPdu. If the space of the first segment is 5 bits large than the first 5
bits of the ISignalIPdu are copied into this first segment and so on.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SegmentPosition
Mapping Rule Mapping Type
Can be derived from the segmentPosition. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00054]
4
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::MultiplexedIPdu.selectorFieldStartPosition
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00161]
4
valid [ECUC_IpduM_00052]
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00121]
M2 Parameter
4
Template Description
The StaticPart and the DynamicPart can be separated in multiple segments within the multiplexed PDU.
The ISignalIPdus are copied bit by bit into the MultiplexedIPdu. If the space of the first segment is 5 bits large than the first 5
bits of the ISignalIPdu are copied into this first segment and so on.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SegmentPosition
Mapping Rule Mapping Type
Can be derived from the segmentPosition. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00054]
4
This parameter is necessary to describe the position of the selector field within the IPdu.
Note that the absolute position of the selectorField in the MultiplexedIPdu is determined by the definition of the selectorField
ByteOrder attribute of the Multiplexed Pdu. If Big Endian is specified, the start position indicates the bit position of the most
significant bit in the IPdu. If Little Endian is specified, the start position indicates the bit position of the least significant bit in
the IPdu. In AUTOSAR the bit counting is always set to "sawtooth" and the bit order is set to "Decreasing". The bit counting in
byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.
In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not
delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn’t need to be
described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::MultiplexedIPdu.selectorFieldStartPosition
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00161]
M2 Parameter
4
Mapping Rule Mapping Type
Create container for each DynamicPartAlternative of the MultiplexedIPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00056]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
4
Configuration parameters for an instance of a Tx_Request call into the IpduM. When a Tx Request with the IpduMTxStatic
HandleId is received by the IpduM, all segments (defined in the IpduMStaticSegment container) are copied from the incoming
I-PDU into the outgoing I-PDU buffer and then the send mode honored. This container is used for the static part of a Tx
Request configuration. Therefore, for each outgoing I-PDU there will be one instance of this container for the static part if it
exists.
Template Description
Some parts/signals of the I-PDU may be the same regardless of the selector field. Such a part is called static part. The static
part is optional.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::StaticPart
Mapping Rule Mapping Type
Create container if StaticPart exists in the MultiplexedIPdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00082]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SegmentPosition
Mapping Rule Mapping Type
Shall be derived from segmentPosition elements that are aggregated by the StaticPart. full
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00171]
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00209]
M2 Parameter
4
BSW Description
Headers inside a Container I-PDU shall be ordered big endian.
Template Description
Most significant byte shall come at the lowest address (also known as BigEndian or as Motorola-Format)
M2 Parameter
GenericStructure::GeneralTemplateClasses::PrimitiveTypes::ByteOrderEnum.mostSignificantByteFirst
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_IpduM_00141]
M2 Parameter
M2 Parameter
4
The parameter describes the behaviour of SecOC when authentication build counter has reached the configuration value Sec
OCAuthenticationBuildAttempts, or the query of the freshness function returns E_NOT_OK or the calculation of the
authenticator has returned a non-recoverable error such as returning E_NOT_OK or KEY_FAILURE. If the configuration
parameter is not present, SecOC module shall remove the Authentic I-PDU from its internal buffer and cancel the
transmission request If the configuration parameter is present, SecOC will use this value for each byte of Freshness Value
and Authenticator when building the Authentication Information, and will not cancel the transmission request.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00047]
M2 Parameter
M2 Parameter
4
SecOCQueryFreshnessValue ECUC-ENUMERATION-PARAM-DEF
BSW Description
This parameter specifies if the freshness value shall be determined through a C-function (CD) or a software component
(SW-C).
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_SecOC_-
00003]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00107]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
4
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecureCommunicationProps.authenticationBuildAttempts
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00079]
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
4
BSW Parameter BSW Type
SecOCFreshnessValueTruncLength ECUC-INTEGER-PARAM-DEF
BSW Description
This parameter defines the length in bits of the Freshness Value to be included in the payload of the Secured I-PDU. This
length is specific to the least significant bits of the complete Freshness Counter. If the parameter is 0 no Freshness Value is
included in the Secured I-PDU.
Template Description
This attribute defines the length in bits of the Freshness Value to be included in the payload of the Secured I-PDU. This length
is specific to the least significant bits of the complete Freshness Counter. If the attribute is 0 no Freshness Value is included
in the Secured I-PDU.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecureCommunicationFreshnessProps.
freshnessValueTxLength
Mapping Rule Mapping Type
1:1 mapping if value is set by SecureCommunicationFreshnessProps.freshnessValueTxLength. If full
the attribute is not set to a value the parameter value of 0 shall be assumed which means that no
Freshness Value is included in the Secured I-PDU.
Mapping Status ECUC Parameter ID
valid
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00077]
M2 Parameter
4
SecOCPduType ECUC-ENUMERATION-PARAM-DEF
BSW Description
This parameter defines API Type to use for communication with PduR.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecureCommunicationProps.securedAreaLength
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00091]
M2 Parameter
4
SecOCRxSecuredPdu ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
This container specifies the Pdu that is received by the SecOC module from the PduR. For this Pdu the Mac verification is
provided.
Template Description
If this attribute is set to true the SecuredIPdu contains the Authentication Information for an AuthenticIPdu that is transmitted
in a separate message. The AuthenticIPdu contains the original payload, i.e. the secured data.
If this attribute is set to false this SecuredIPdu contains the payload of an Authentic IPdu supplemented by additional
Authentication Information.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecuredIPdu.useAsCryptographicIPdu
Mapping Rule Mapping Type
Create the SecOCRxSecuredPdu if the SecuredIPdu is received by the regarded ECU and the full
attribute useAsCryptographicIPdu = false or not defined
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00069]
4
PDU identifier assigned by SecOC module. Used by PduR for SecOC_[If|Tp]RxIndication.
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPdu
Mapping Rule Mapping Type
Reference to the EcuC Pdu which represents the received SecuredIPdu PduTriggering full
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00042]
M2 Parameter
4
BSW Description
Reference to the global Pdu.
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPdu
Mapping Rule Mapping Type
Reference to the EcuC Pdu which represents the received Authentic SecuredIPdu PduTriggering full
referenced by SecuredIPdu.payload
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00063]
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00065]
M2 Parameter
4
SecOC links an AuthenticIPdu and CryptographicIPdu together by repeating a specific part (Message Linker) of the Authentic
IPdu in the CryptographicIPdu. This attribute defines the startPosition in bits of the messageLinker.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecureCommunicationProps.messageLinkPosition
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00059]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_SecOC_-
00008]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
4
valid
M2 Parameter
M2 Parameter
4
This reference is used to collect Pdus that are using the same SecOC buffer.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00025]
M2 Parameter
4
This parameter defines the length (in bytes) of the area within the Pdu which shall be secured
Template Description
This attribute defines the length in bytes of the area within the payload Pdu which will be secured.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecureCommunicationProps.securedAreaLength
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00088]
M2 Parameter
M2 Parameter
4
Template Description
This attribute defines the size of the header which is inserted into the SecuredIPdu. If this attribute is set to anything but no
Header, the SecuredIPdu contains the Secured I-PDU Header to indicate the length of the AuthenticIPdu. The AuthenticIPdu
contains the original payload, i.e. the secured data.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecuredIPdu.useSecuredPduHeader
Mapping Rule Mapping Type
The SecOCAuthPduHeaderLength value shall be derived from useSecuredPduHeader in the full
following way: If useSecuredIPduHeader is set to "noHeader" the value shall be 0. If useSecured
IPduHeader is set to "securedPduHeader08Bit" the value shall be 1. If useSecuredIPduHeader is
set to "securedPduHeader16Bit" the value shall be 2. If useSecuredIPduHeader is set to "secured
PduHeader32Bit" the value shall be 4.
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00093]
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPdu
Mapping Rule Mapping Type
Reference to the EcuC Pdu which represents the sent SecuredIPdu PduTriggering full
Mapping Status ECUC Parameter ID
5
4
valid [ECUC_SecOC_-
00027]
M2 Parameter
4
SecOCTxAuthenticPduRef ECUC-REFERENCE-DEF
BSW Description
Reference to the global Pdu.
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPdu
Mapping Rule Mapping Type
Reference to the EcuC Pdu which represents the sent Authentic SecuredIPdu PduTriggering full
referenced by SecuredIPdu.payload
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00056]
4
M2 Parameter
M2 Parameter
4
SecOC SecOC/SecOCTxPduProcessing/SecOCTxSecuredPduLayer/SecOCTxSecuredPduCollection/
SecOCUseMessageLink
BSW Parameter BSW Type
SecOCMessageLinkLen ECUC-INTEGER-PARAM-DEF
BSW Description
Length of the Message Linker inside the Authentic I-PDU in bits.
Template Description
SecOC links an AuthenticIPdu and CryptographicIPdu together by repeating a specific part (Message Linker) of the Authentic
IPdu in the CryptographicIPdu. This attribute defines the length in bits of the messageLinker.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::SecureCommunicationProps.messageLinkLength
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_SecOC_-
00060]
4
M2 Parameter
C.1.5 PduR
M2 Parameter
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00294]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
The PduRLowerModule will decide who will call the APIs and who will implement the APIs.
For example, if the CanIf module is referenced then the PDU Router module will implement the PduR_CanIfRxIndication API.
And the PDUR module will call the CanIf_Transmit API. Other APIs are of course also covered.
An upper module can also be an lower module (e.g. the IpduM module).
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00338]
M2 Parameter
M2 Parameter
4
Enable support for MetaData handling. The MetaData is defined by the referenced MetaDataType of the global PDU
definitions. This feature may be used for efficient address based routing and generic CAN-CAN-routing, where the MetaData
contains the CAN ID.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
PduRRoutingPaths ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
Represents one table of routing paths.
This routing table allows multiple configurations that can be used to create several routing tables in the same configuration.
This is mainly used for post-build (e.g. post-build selectable) but can be used by pre-compile and link-time for variant
handling.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00339]
M2 Parameter
M2 Parameter
4
Template Description
IPduMapping:
Arranges those IPdus that are transferred by the gateway from one channel to the other in pairs and defines the mapping
between them.
PduTriggering:
The PduTriggering describes on which channel the IPdu is transmitted. The Pdu routing by the PduR is only allowed for
subclasses of IPdu.
Depending on its relation to entities such channels and clusters it can be unambiguously deduced whether a fan-out is
handled by the Pdu router or the Bus Interface.
If the fan-out is specified between different clusters it shall be handled by the Pdu Router. If the fan-out is specified between
different channels of the same cluster it shall be handled by the Bus Interface.
TpConfig:
Contains all configuration elements for AUTOSAR TP.
M2 Parameter
SystemTemplate::Fibex::Fibex4Multiplatform::IPduMapping, SystemTemplate::Fibex::FibexCore::CoreCommunication::
PduTriggering, SystemTemplate::TransportProtocols::TpConfig
Mapping Rule Mapping Type
For each MultiplatformGateway.pduMapping; for each SignaIPdu-MultiplexedPdu Connection; for full
each IPduTriggering; for each TpConfig create one PduRRoutingPath.
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00248]
M2 Parameter
SystemTemplate::Fibex::Fibex4Multiplatform::TargetIPduRef.defaultValue
Mapping Rule Mapping Type
Container should be created if PduMappingDefaulValue is described in the Sys-T full
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00299]
4
The default value consists of a number of elements. Each element is one byte long and the number of elements is specified
by SduLength.
M2 Parameter
SystemTemplate::Fibex::Fibex4Multiplatform::DefaultValueElement
Mapping Rule Mapping Type
Container shall be created for each DefaultValueElement that is aggregated by PduMapping full
DefaultValue.
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00300]
M2 Parameter
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PdurIPduGroup.iPdu
Mapping Rule Mapping Type
If the PduTriggering this PduRRoutingPath is derived from is the target of a PdurIPduGroup.iPdu full
reference then a PduRRoutingPathGroupRef shall be created at the PduRRoutingPath and the
respective PduRRoutingPathGroup shall be referenced from the PduRRoutingPathGroupRef.
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00352]
Template Description
M2 Parameter
4
M2 Parameter
SystemTemplate::Fibex::Fibex4Multiplatform::IPduMapping.pdurTpChunkSize
Mapping Rule Mapping Type
PduRTpThreshold shall only be configured by IpduMapping.pduRTpChunkSize if the following full
conditions hold: (1) The routing path uses the "Tp" API (2) The routing path only contains one
single destination routing path.
Mapping Status ECUC Parameter ID
valid [ECUC_PduR_00320]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
C.1.6 Nm Interface
Template Description
5
4
CanNmCluster:
Can specific NmCluster attributes
FlexrayNmCluster:
FlexRay specific NM cluster attributes.
UdpNmCluster:
Udp specific NmCluster attributes
M2 Parameter
SystemTemplate::NetworkManagement::CanNmCluster, SystemTemplate::NetworkManagement::FlexrayNmCluster,
SystemTemplate::NetworkManagement::UdpNmCluster
Mapping Rule Mapping Type
Bus Type can be derived from the BusNm Configuration in the System Description. full
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00218]
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
Defines whether this NmCluster contributes to the partial network mechanism.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::NmPdu.iSignalToIPduMapping, SystemTemplate::Network
Management::NmCluster.nmPncParticipation
Mapping Rule Mapping Type
If an NmPdu contains user data defined via the existence of NmPdu.iSignalToIPduMapping (and is full
consequently handled via the PduR and Com) then NmComUserDataSupport shall be set to true.
If there exists a NmCluster which has a NmNode which refers to a NmEcu and that NmEcu in turn
references the EcuInstance for which this Ecu Configuration is derived and the NmCluster.nmPnc
Participation has the value "true" or is not defined then NmComUserDataSupport shall be set to
true.
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00241]
4
valid [ECUC_Nm_00248]
4
M2 Parameter
SystemTemplate::NetworkManagement::NmCluster.nmPncParticipation
Mapping Rule Mapping Type
Set to true if at least one NmCluster has nmPncParticipation set to true. full
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00259]
4
NmPnFilterMaskByteValue ECUC-INTEGER-PARAM-DEF
BSW Description
Parameter to configure the filter mask byte.
Template Description
Bit mask for NM-Pdu Payload used to configure the NM filter mask for the Network Management.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::CommunicationConnector.pncFilterArrayMask
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00257]
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00231]
M2 Parameter
4
This container contains all global configuration parameters of the Nm Interface.
Template Description
A NM coordinator is an ECU, which is connected to at least two busses, and where the requirement exists that shutdown of
NM of at least two of these busses (also referred to as coordinated busses) has to be performed synchronously.
M2 Parameter
SystemTemplate::NetworkManagement::NmCoordinator
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00196]
M2 Parameter
Template Description
M2 Parameter
4
NmNumberOfChannels ECUC-INTEGER-PARAM-DEF
BSW Description
Number of NM channels allowed within one ECU.
Template Description
M2 Parameter
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Nm_00210]
4
Template Description
Defines if this EcuInstance shall implement the dynamic PNC-to-channel-mapping functionality on this Communication
Connector and its respective PhysicalChannel.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::CommunicationConnector.dynamicPncToChannelMappingEnabled
Mapping Rule Mapping Type
If at least one dynamicPncToChannelMappingEnabled attribute is defined and if at least one full
CommunicationConnector of the EcuInstance has dynamicPncToChannelMappingEnabled set to
true, then NmDynamicPncToChannelMappingSupport shall be set to true. Otherwise NmDynamic
PncToChannelMappingSupport shall be set to false
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00246]
4
SystemTemplate::NetworkManagement::NmEcu.nmStateChangeIndEnabled
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00215]
M2 Parameter
4
BSW Description
Template Description
M2 Parameter
M2 Parameter
4
Absolute offset (with respect to the NM-PDU) of the partial networking request release information vector that is defined in
bytes as an index starting with 0.
M2 Parameter
SystemTemplate::System.pncVectorOffset
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Nm_00252]
M2 Parameter
C.1.7 EcuC
M2 Parameter
4
BSW Parameter BSW Type
EcucPduCollection ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
Collection of all Pdu objects flowing through the Com-Stack.
Template Description
M2 Parameter
M2 Parameter
4
SWComponentTemplate::PortInterface::MetaDataItem.metaDataItemType == ADDRESS_ full
EXTENSION_16
Mapping Status ECUC Parameter ID
valid
4
Template Description
This aggregation contributes the specification of the concrete meta-data item type.
M2 Parameter
SWComponentTemplate::PortInterface::MetaDataItem.metaDataItemType
Mapping Rule Mapping Type
SWComponentTemplate::PortInterface::MetaDataItem.metaDataItemType == LIN_NAD_8 full
Mapping Status ECUC Parameter ID
valid
M2 Parameter
4
Mapping Rule Mapping Type
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
Pdu can be triggered by the J1939 request message.
Template Description
CanFrameTriggering.j1939requestable:
Frame can be triggered by the J1939 request message.
J1939TpPg.requestable:
Parameter Group can be triggered by the J1939 request message.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.j1939requestable, System
Template::TransportProtocols::J1939TpPg.requestable
Mapping Rule Mapping Type
CanFrameTriggering.j1939requestable: CanFrameTriggering references a Frame where the full
aggregated PduToFrameMapping references the given Pdu. J1939TpPg.requestable: J1939TpPg
references the given Pdu in the role sdu.
Mapping Status ECUC Parameter ID
valid [ECUC_EcuC_00072]
4
SWComponentTemplate::Datatype::DataPrototypes::VariableDataPrototype, SystemTemplate::DataMapping::
SenderReceiverToSignalMapping, SystemTemplate::Fibex::FibexCore::CoreCommunication::SystemSignal, System
Template::Fibex::FibexCore::CoreCommunication::ISignal, SystemTemplate::Fibex::FibexCore::CoreCommunication::
ISignalIPdu
Mapping Rule Mapping Type
A MetaDataTypeRef shall be derived for a given Pdu if a MetaDataItemSet exists that refers to a full
VariablePrototype that is also referenced from a SenderReceiverToSignalMapping that in turn
references a SystemSignal that is referenced by a ISignal that is mapped to an ISignalIPdu that is
derived to the mentioned Pdu in EcuC.
Mapping Status ECUC Parameter ID
valid [ECUC_EcuC_00077]
4
BSW Parameter BSW Type
SysTPduToFrameTriggeringRef ECUC-FOREIGN-REFERENCE-DEF
BSW Description
Reference to the FrameTriggering from the SystemTemplate which this Pdu belongs to.
SysTPduToFrameTriggeringRef shall be used for UserDefinedPdus, NmPdus and NPdus which are not going through the
Pdu Router. This reference shall not be used if SysTPduToPduTriggeringRef exists.
Template Description
The FrameTriggering describes the instance of a frame sent on a channel and defines the manner of triggering (timing
information) and identification of a frame on the channel, on which it is sent.
For the same frame, if FrameTriggerings exist on more than one channel of the same cluster the fan-out/in is handled by the
Bus interface.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::FrameTriggering
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_EcuC_00052]
4
BSW Description
The PduIdType is used within the entire AUTOSAR Com Stack except for bus drivers. The size of this global type depends on
the maximum number of PDUs used within one software module. If no software module deals with more PDUs that 256, this
type can be set to uint8. If at least one software module handles more than 256 PDUs, this type shall be set to uint16. See
AUTOSAR_SWS_CommunicationStackTypes for more details.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_EcuC_00058]
M2 Parameter
4
M2 Parameter
M2 Parameter
4
BSW Description
References the SW Component instances from the Ecu Extract that shall be executed in this partition.
Template Description
M2 Parameter
SystemTemplate::SWmapping::SwcToEcuMapping.partition
Mapping Rule Mapping Type
The EcucPartitionSoftwareComponentInstanceRef is derived from an SwcToEcuMapping which full
references an EcuPartition and one or several SwComponentPrototypes. For each SwComponent
Prototype that is referenced by the SwcToEcuMapping in the component role an EcucPartition
SoftwareComponentInstanceRef shall be created that refers to the same SwComponentPrototype
as the the SwcToEcuMapping.
Mapping Status ECUC Parameter ID
valid [ECUC_EcuC_00036]
M2 Parameter
M2 Parameter
M2 Parameter
4
This meta-class represents the ability to specify a logical grouping of units.The category denotes the unit system that the
referenced units are associated to.
In this way, e.g. country-specific unit systems (CATEGORY="COUNTRY") can be defined as well as specific unit systems for
certain application domains.
In the same way a group of equivalent units, can be defined which are used in different countries, by setting
CATEGORY="EQUIV_UNITS". KmPerHour and MilesPerHour could such be combined to one group named "vehicle_speed".
The unit MeterPerSec would not belong to this group because it is normally not used for vehicle speed. But all of the
mentioned units could be combined to one group named "speed".
Note that the UnitGroup does not ensure the physical compliance of the units. This is maintained by the physical dimension.
M2 Parameter
AsamHdo::Units::UnitGroup
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_EcuC_00062]
M2 Parameter
Template Description
This specifies one predefined variant. It is characterized by the union of all system constant values and post-build variant
criterion values aggregated within all referenced system constant value sets and post build variant criterion value sets plus
the value sets of the included variants.
M2 Parameter
GenericStructure::VariantHandling::PredefinedVariant
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
5
4
valid [ECUC_EcuC_00010]
C.1.8 ComM
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::PhysicalChannel.commConnector
Mapping Rule Mapping Type
* Can, Lin, Fr: For each CommunicationCluster the EcuInstance is connected to, one Com full
MChannel container is created. * For Ethernet: For each EthernetPhysicalChannel the Ecu
Instance is connected to, one ComMChannel container is created.
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00565]
4
BSW Description
Identifies the bus type of the channel.
Template Description
The CommunicationCluster is the main element to describe the topological connection of communicating ECUs.
A cluster describes the ensemble of ECUs, which are linked by a communication medium of arbitrary topology (bus, star, ring,
...). The nodes within the cluster share the same communication protocol, which may be event-triggered, time-triggered or a
combination of both.
A CommunicationCluster aggregates one or more physical channels.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::CommunicationCluster
Mapping Rule Mapping Type
Depends of the used CommunicationCluster subclass: abstractCanCluster –> COMM_BUS_ full
TYPE_CAN FlexRayCluster –> COMM_BUS_TYPE_FR EthernetCluster –> COMM_BUS_TYPE_
ETH LinCluster –> COMM_BUS_TYPE_LIN UserDefinedCluster –> COMM_BUS_TYPE_CDD
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00567]
M2 Parameter
M2 Parameter
4
valid [ECUC_ComM_-
00635]
M2 Parameter
4
Defines if the optional SenderReceiver Port of Interface ComM_CurrentChannelRequest will be provided for this channel.
True means enabled. False means disabled
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.controller
Mapping Rule Mapping Type
5
4
If the CommunicationController is not referenced by NmNode or if the CommunicationController is full
an EthernetCommunicationController not referenced by NmNode and slaveActAsPassive
CommunicationSlave set to FALSE or not present, the ComMNmVariant of the corresponding Com
MChannel shall be set to NONE if not explicitly set to LIGHT. If the CommunicationController is an
EthernetCommunicationController not referenced by NmNode and slaveActAsPassive
CommunicationSlave is set to TRUE, the ComMNmVariant of the corresponding ComMChannel
shall be set to SLAVE_PASSIVE. If the CommunicationController is referenced by a Nm Node and
NmEcu.nmPassiveModeEnabled attribute is present and is set to true, the ComMNm Variant shall
be set to PASSIVE. If the Communication Controller is referenced by NmNode and NmEcu.nm
PassiveModeEnabled attribute is not present or is set to false the ComMNmVariant shall be set to
FULL. Set to SLAVE_ACTIVE if the CommunicationController is defined as a Lin Slave. In the
System Template the LinMaster/LinSlave is connected to the LinChannel via a Communication
Connector.
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00568]
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00571]
M2 Parameter
M2 Parameter
4
Template Description
Defines if this EcuInstance shall implement the PncGateway functionality on this CommunicationConnector and its respective
PhysicalChannel. Several EcuInstances on the same PhysicalChannel can have the PncGateway functionality enabled, but
only one of them shall have the pncGatewayType "active".
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::CommunicationConnector.pncGatewayType
Mapping Rule Mapping Type
1:1 mapping none or not defined –> do not create ECUC Parameter full
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00842]
4
Reference to the ComMUser that corresponds to this channel user.
ImplementationType: COMM_UserHandleType
Template Description
Mode Management PortGroup to be mapped onto a communication channel. This reference is optional in case that the
System Description doesn’t use a complete Software Component Description (VFB View). This supports the inclusion of
legacy systems.
M2 Parameter
SystemTemplate::ComManagementMapping.comManagementPortGroup
Mapping Rule Mapping Type
The ComMUser reference shall be derived from the ComMgrUserNeeds which are referenced by partial
the ComManagementMapping. Further mappings may be required from an ECU integration point
of view.
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00658]
4
The ComMChannels that need to be referenced shall be derived from the PhysicalChannels that full
are either reachable by PncMapping.pncGroup, PncMapping.pncPdurGroup, or by Pnc
Mapping.physicalChannel. From the pncGroup reference all ISignalIPduGroups can be retrieved to
which the PncMapping refers. From the ISignalIPduGroup all ISignalIPdus shall be collected that
are contained in the ISignalIPduGroup or one of the sub ISignalIPduGroups. The search for all
PduTriggerings associated with these ISignalIPdus provides a set of PhysicalChannels since the
PduTriggerings are directly aggregated by a PhysicalChannel. From the pncPdurGroup reference
all PdurIPduGroups can be retrieved to which the PncMapping refers to. From the PdurIPduGroup
all PduTriggerings associated with these PdurIPduGroups provides a set of PhysicalChannels
since the PduTriggerings are directly aggregated by a PhysicalChannel. In addition to the Physical
Channels that are retrieved from the PncMapping.pncGroup and PncMapping.pncPdurGroup the
directly referenced PncMapping.physicalChannels shall be added. Please note that the Pnc
Mapping.physicalChannel reference was introduced in Release 4.4.0 and for backward
compatibility reasons nobody is forced to configure this new reference. Therefore the old approach
via the PncMapping.pncGroup and PncMapping.pncPdurGroup shall still be respected.
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00880]
M2 Parameter
M2 Parameter
4
valid [ECUC_ComM_-
00881]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
4
ComMPncId ECUC-INTEGER-PARAM-DEF
BSW Description
Partial network cluster identification number.
Template Description
Identifer of the Partial Network Cluster. This number represents the absolute bit position of this Partial Network Cluster in the
NM Pdu.
M2 Parameter
SystemTemplate::PncMapping::PncMapping.pncIdentifier
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00874]
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
In case the owner of the ComMgrUserNeeds is a BSW module then the ComMUser.shortName = full
{capitalizedMip}_{ServiceDependency.symbolicNameProps.symbol}.
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00653]
M2 Parameter
M2 Parameter
4
ComMGeneral ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
General configuration parameters of the Communication Manager.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
ComMEcuGroupClassification ECUC-INTEGER-PARAM-DEF
BSW Description
Defines whether a mode inhibition affects the ECU or not.
Examples:
000: No mode inhibition can be activated
001: Wake up inhibition can be enabled
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_ComM_-
00560]
4
BSW Parameter BSW Type
ComMPncSupport ECUC-BOOLEAN-PARAM-DEF
BSW Description
Enables or disables support of partial networking.
False: Partial Networking is disabled True: Partial Networking is enabled
Template Description
Describes a mapping between one or several Virtual Function Clusters onto Partial Network Clusters. A Virtual Function
Cluster is realized by a PortGroup. A Partial Network Cluster is realized by one or more IPduGroups.
M2 Parameter
SystemTemplate::PncMapping::PncMapping
Mapping Rule Mapping Type
If at least one Pnc is configured this parameter shall be set to true. Otherwise false. full
Mapping Status ECUC Parameter ID
valid [ECUC_ComM_-
00839]
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
ComMVersionInfoApi ECUC-BOOLEAN-PARAM-DEF
BSW Description
Switches the possibility to read the version information with the service ComM_GetVersionInfo(). true: Enabled false:
Disabled
Template Description
M2 Parameter
M2 Parameter
C.1.9 Xcp
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Xcp_00184]
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Xcp_00051]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Xcp_00067]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Xcp_00058]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Xcp_00061]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Xcp_00064]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
4
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPduPort
Mapping Rule Mapping Type
The direction of the Pdu can be derived from the PduTriggering that refers to the GeneralPurpose full
Pdu that represents the XcpPdu.
Mapping Status ECUC Parameter ID
valid [ECUC_Xcp_00105]
M2 Parameter
Template Description
M2 Parameter
4
BSW Description
This container specifies transmission PDUs.
Template Description
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPduPort
Mapping Rule Mapping Type
The direction of the Pdu can be derived from the PduTriggering that refers to the GeneralPurpose full
Pdu that represents the XcpPdu.
Mapping Status ECUC Parameter ID
valid [ECUC_Xcp_00101]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
Create a container for each BusMirrorChannel that is composed by an instance of a BusMirro full
ChannelMappingCan in the role targetChannel which is available in the SystemExtract.
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00052]
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Mirror_00063]
M2 Parameter
4
M2 Parameter
SystemTemplate::BusMirror::BusMirrorChannel.channel
Mapping Rule Mapping Type
This reference shall be derived from the: - CanCluster that aggregates the AbstractCanPhysical full
Channel that is referenced by the BusMirrorChannel in case that this reference is used in the
MirrorDestNetworkCan container - FlexrayCluster that aggregates the PhysicalChannel that is
referenced by the BusMirrorChannel in case that this reference is used in the MirrorDestNetwork
Flexray container - EthernetPhysicalChannel that is referenced by the BusMirrorChannel in case
that this reference is used in the MirrorDestNetworkIp container - UserDefinedCluster that
aggregates the PhysicalChannel that is referenced by the BusMirrorChannel in case that this
reference is used in the MirrorDestNetworkCdd container
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00064]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Mirror_00054]
4
If this parameter is aggregated by MirrorDestNetworkCan container take the value from the Bus full
MirrorChannel that is aggregated in the role targetChannel by the instance of BusMirrorChannel
MappingCan. If this parameter is aggregated by MirrorDestNetworkFlexray container take the
value from the BusMirrorChannel that is aggregated in the role targetChannel by the instance of
BusMirrorChannelMappingFlexray. If this parameter is aggregated by MirrorDestNetworkIp
container take the value from the BusMirrorChannel that is aggregated in the role targetChannel by
the instance of BusMirrorChannelMappingIp. If this parameter is aggregated by MirrorDestNetwork
Cdd container take the value from the BusMirrorChannel that is aggregated in the role target
Channel by the instance of BusMirrorChannelMappingUserDefined. If this parameter is
aggregated by MirrorSourceNetworkCan container take the value from the BusMirrorChannel that
is aggregated in the role sourceChannel by the instance of BusMirrorChannelMapping. If this
parameter is aggregated by MirrorSourceNetworkFlexray container take the value from the Bus
MirrorChannel that is aggregated in the role sourceChannel by the instance of BusMirrorChannel
Mapping. If this parameter is aggregated by MirrorSourceNetworkLin container take the value from
the BusMirrorChannel that is aggregated in the role sourcetChannel by the instance of BusMirror
ChannelMapping.
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00012]
4
This reference shall be derived from the: - CanCluster that aggregates the AbstractCanPhysical full
Channel that is referenced by the BusMirrorChannel in case that this reference is used in the
MirrorDestNetworkCan container - FlexrayCluster that aggregates the PhysicalChannel that is
referenced by the BusMirrorChannel in case that this reference is used in the MirrorDestNetwork
Flexray container - EthernetPhysicalChannel that is referenced by the BusMirrorChannel in case
that this reference is used in the MirrorDestNetworkIp container - UserDefinedCluster that
aggregates the PhysicalChannel that is referenced by the BusMirrorChannel in case that this
reference is used in the MirrorDestNetworkCdd container
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00064]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Mirror_00054]
4
If this parameter is aggregated by MirrorDestNetworkCan container take the value from the Bus full
MirrorChannel that is aggregated in the role targetChannel by the instance of BusMirrorChannel
MappingCan. If this parameter is aggregated by MirrorDestNetworkFlexray container take the
value from the BusMirrorChannel that is aggregated in the role targetChannel by the instance of
BusMirrorChannelMappingFlexray. If this parameter is aggregated by MirrorDestNetworkIp
container take the value from the BusMirrorChannel that is aggregated in the role targetChannel by
the instance of BusMirrorChannelMappingIp. If this parameter is aggregated by MirrorDestNetwork
Cdd container take the value from the BusMirrorChannel that is aggregated in the role target
Channel by the instance of BusMirrorChannelMappingUserDefined. If this parameter is
aggregated by MirrorSourceNetworkCan container take the value from the BusMirrorChannel that
is aggregated in the role sourceChannel by the instance of BusMirrorChannelMapping. If this
parameter is aggregated by MirrorSourceNetworkFlexray container take the value from the Bus
MirrorChannel that is aggregated in the role sourceChannel by the instance of BusMirrorChannel
Mapping. If this parameter is aggregated by MirrorSourceNetworkLin container take the value from
the BusMirrorChannel that is aggregated in the role sourcetChannel by the instance of BusMirror
ChannelMapping.
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00012]
4
This reference shall be derived from the: - CanCluster that aggregates the AbstractCanPhysical full
Channel that is referenced by the BusMirrorChannel in case that this reference is used in the
MirrorDestNetworkCan container - FlexrayCluster that aggregates the PhysicalChannel that is
referenced by the BusMirrorChannel in case that this reference is used in the MirrorDestNetwork
Flexray container - EthernetPhysicalChannel that is referenced by the BusMirrorChannel in case
that this reference is used in the MirrorDestNetworkIp container - UserDefinedCluster that
aggregates the PhysicalChannel that is referenced by the BusMirrorChannel in case that this
reference is used in the MirrorDestNetworkCdd container
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00064]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Mirror_00054]
4
If this parameter is aggregated by MirrorDestNetworkCan container take the value from the Bus full
MirrorChannel that is aggregated in the role targetChannel by the instance of BusMirrorChannel
MappingCan. If this parameter is aggregated by MirrorDestNetworkFlexray container take the
value from the BusMirrorChannel that is aggregated in the role targetChannel by the instance of
BusMirrorChannelMappingFlexray. If this parameter is aggregated by MirrorDestNetworkIp
container take the value from the BusMirrorChannel that is aggregated in the role targetChannel by
the instance of BusMirrorChannelMappingIp. If this parameter is aggregated by MirrorDestNetwork
Cdd container take the value from the BusMirrorChannel that is aggregated in the role target
Channel by the instance of BusMirrorChannelMappingUserDefined. If this parameter is
aggregated by MirrorSourceNetworkCan container take the value from the BusMirrorChannel that
is aggregated in the role sourceChannel by the instance of BusMirrorChannelMapping. If this
parameter is aggregated by MirrorSourceNetworkFlexray container take the value from the Bus
MirrorChannel that is aggregated in the role sourceChannel by the instance of BusMirrorChannel
Mapping. If this parameter is aggregated by MirrorSourceNetworkLin container take the value from
the BusMirrorChannel that is aggregated in the role sourcetChannel by the instance of BusMirror
ChannelMapping.
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00012]
M2 Parameter
4
valid [ECUC_Mirror_00009]
4
BSW Parameter BSW Type
MirrorNetworkId ECUC-INTEGER-PARAM-DEF
BSW Description
Network ID of the bus.
Template Description
This attribute defines the networkId of the communication channel.
M2 Parameter
SystemTemplate::BusMirror::BusMirrorChannel.busMirrorNetworkId
Mapping Rule Mapping Type
If this parameter is aggregated by MirrorDestNetworkCan container take the value from the Bus full
MirrorChannel that is aggregated in the role targetChannel by the instance of BusMirrorChannel
MappingCan. If this parameter is aggregated by MirrorDestNetworkFlexray container take the
value from the BusMirrorChannel that is aggregated in the role targetChannel by the instance of
BusMirrorChannelMappingFlexray. If this parameter is aggregated by MirrorDestNetworkIp
container take the value from the BusMirrorChannel that is aggregated in the role targetChannel by
the instance of BusMirrorChannelMappingIp. If this parameter is aggregated by MirrorDestNetwork
Cdd container take the value from the BusMirrorChannel that is aggregated in the role target
Channel by the instance of BusMirrorChannelMappingUserDefined. If this parameter is
aggregated by MirrorSourceNetworkCan container take the value from the BusMirrorChannel that
is aggregated in the role sourceChannel by the instance of BusMirrorChannelMapping. If this
parameter is aggregated by MirrorSourceNetworkFlexray container take the value from the Bus
MirrorChannel that is aggregated in the role sourceChannel by the instance of BusMirrorChannel
Mapping. If this parameter is aggregated by MirrorSourceNetworkLin container take the value from
the BusMirrorChannel that is aggregated in the role sourcetChannel by the instance of BusMirror
ChannelMapping.
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00012]
M2 Parameter
4
Pre-configured mask based filter for CAN frames.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
MirrorSourceCanFilterId ECUC-INTEGER-PARAM-DEF
BSW Description
Unique identifier of the pre-configured CAN filter.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
MirrorSourceCanFilterLower ECUC-INTEGER-PARAM-DEF
BSW Description
Lowest CAN ID that is accepted by the filter.
Template Description
M2 Parameter
M2 Parameter
4
M2 Parameter
SystemTemplate::BusMirror::BusMirrorCanIdRangeMapping.sourceCanIdMask
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00027]
4
Mirror Mirror/MirrorConfigSet/MirrorSourceNetwork/MirrorSourceNetworkCan/MirrorSourceCanSingleId
Mapping
BSW Parameter BSW Type
MirrorSourceCanSingleIdMappingSourceCanId ECUC-INTEGER-PARAM-DEF
BSW Description
Original CAN ID.
Template Description
This reference points to the sourceFrame with sourceCanId on the sourceChannel.
M2 Parameter
SystemTemplate::BusMirror::BusMirrorCanIdToCanIdMapping.souceCanId
Mapping Rule Mapping Type
Take the value from the identifier attribute of the referenced CanFrameTriggering. full
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00023]
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00042]
4
4
parameter is aggregated by MirrorSourceNetworkFlexray container take the value from the Bus
MirrorChannel that is aggregated in the role sourceChannel by the instance of BusMirrorChannel
Mapping. If this parameter is aggregated by MirrorSourceNetworkLin container take the value from
the BusMirrorChannel that is aggregated in the role sourcetChannel by the instance of BusMirror
ChannelMapping.
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00012]
M2 Parameter
M2 Parameter
4
BSW Description
Cycle repetition of accepted cycles.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
Mirror Mirror/MirrorConfigSet/MirrorSourceNetwork/MirrorSourceNetworkFlexRay/MirrorSourceFlexRay
Filter
BSW Parameter BSW Type
MirrorSourceFlexRayFilterLowerSlot ECUC-INTEGER-PARAM-DEF
BSW Description
Lowest slot ID that is accepted by the filter.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
This reference shall be derived from the: - CanCluster that aggregates the AbstractCanPhysical full
Channel that is referenced by the BusMirrorChannel in case that this reference is used in the
MirrorDestNetworkCan container - FlexrayCluster that aggregates the PhysicalChannel that is
referenced by the BusMirrorChannel in case that this reference is used in the MirrorDestNetwork
Flexray container - EthernetPhysicalChannel that is referenced by the BusMirrorChannel in case
that this reference is used in the MirrorDestNetworkIp container - UserDefinedCluster that
aggregates the PhysicalChannel that is referenced by the BusMirrorChannel in case that this
reference is used in the MirrorDestNetworkCdd container
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00064]
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00030]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
Unique identifier of the pre-configured LIN filter.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
MirrorSourceLinToCanBaseId ECUC-INTEGER-PARAM-DEF
BSW Description
Base ID merged with the LIN frame ID to form the CAN ID.
Template Description
Base ID merged with the LIN frame ID to form the CAN ID.
Only required when a BusMirrorChannel that refers to a LinPhysicalChannel in the role channel is referenced in the role
sourceChannel.
M2 Parameter
SystemTemplate::BusMirror::BusMirrorChannelMappingCan.mirrorSourceLinToCanRangeBaseId
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00041]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Mirror_00068]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Mirror_00065]
M2 Parameter
C.2 Can
M2 Parameter
4
This container contains the configuration parameters of the CAN controller(s).
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
Specifies the CAN controller base address.
Template Description
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
CanControllerBaudRateConfigID ECUC-INTEGER-PARAM-DEF
BSW Description
This ID is used by SetBaudrate API and uniquely identifies a specific baud rate configuration within a controller configuration.
Template Description
M2 Parameter
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00478]
4
Specifies phase segment 1 in time quantas.
timeSeg1 = Phase_Seg1
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanTopology::CanControllerConfiguration.timeSeg1
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00074]
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00316]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
4
CanTTControllerEcucPartitionRef ECUC-REFERENCE-DEF
BSW Description
Maps the Time triggered CAN controller to zero or one ECUC partitions. The ECUC partition referenced is a subset of the
ECUC partitions where the CAN driver is mapped to.
Template Description
M2 Parameter
4
valid [ECUC_Can_00135]
M2 Parameter
4
Enables/disables the respective interrupts. Bit Position set to 1: Enable respective interrupt. Bit Position set to 0: Disable
respective interrupt.
Bit Position / Interrupt Source: 10: Application Watchdog. 9: Watch Trigger reached. 8: Initialization Watch Trigger reached.
7: Change of Error Level. 6: Tx Overflow. 5: Tx Underflow. 4: Global Time Error. 3: Gap. 2: Start of Cycle. 1: Time
Discontinuity. 0: Master State Change.
Bit position "1: Time Discontinuity" and "4: Global Time Error" shall only be configurable if parameter CanTTControllerLevel2
equals TRUE.
Template Description
M2 Parameter
4
NTU = system clock period x (TUR Numerator / TUR Denominator) full
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00141]
M2 Parameter
4
BSW Description
Enables/disables the TUR restore. Note that the value configured for TUR can be derived from the value configured for NTU
and the local oscillator preriod. TRUE: TUR restore enabled. FALSE: TUR restore disabled.
This parameter shall only be configurable if parameter CanTTControllerLevel2 equals TRUE.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00157]
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00319]
M2 Parameter
4
CanHardwareObject ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
This container contains the configuration (parameters) of CAN Hardware Objects.
Template Description
M2 Parameter
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00485]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
4
Number of hardware objects used to implement one HOH. In case of a HRH this parameter defines the number of elements
in the hardware FIFO or the number of shadow buffers, in case of a HTH it defines the number of hardware objects used for
multiplexed transmission or for a hardware FIFO used by a FullCAN HTH.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00326]
4
BSW Description
Payload length of 16 Bytes
Template Description
Standard 11-bit-identifiers are used (CAN 2.0A)
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanCommunication::CanAddressingModeType.standard
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid
M2 Parameter
4
CanTTHardwareObjectTrigger is specified in the SWS TTCAN and contains the configuration (parameters) of TTCAN triggers
for Hardware Objects, which are additional to the configuration (parameters) of CAN Hardware Objects.
This container is only included and valid if TTCAN is supported by the controller and, enabled (see CanSupportTTCANRef,
ECUC_Can_00430), and used.
Template Description
M2 Parameter
4
valid [ECUC_Can_00148]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Can_00145]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
Enables/Disables the Global Time APIs used when hardware timestamping is supported by CAN controller.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
This parameter describes the period for cyclic call to Can_MainFunction_Busoff. Unit is seconds.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
CanMainFunctionPeriod ECUC-FLOAT-PARAM-DEF
BSW Description
This parameter describes the period for cyclic call to Can_MainFunction_Read or Can_MainFunction_Write depending on
the referring item. Unit is seconds. Different poll-cycles will be configurable if more than one CanMainFunctionPeriod is
configured. In this case multiple Can_MainFunction_Read() or Can_MainFunction_Write() will be provided by the CAN Driver
module.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Can_00430]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00253]
M2 Parameter
M2 Parameter
4
BSW Description
This parameter abstracts from the CAN Driver specific parameter Controller. Each controller of all connected CAN Driver
modules shall be assigned to one specific ControllerId of the CanIf. Range: 0..number of configured controllers of all CAN
Driver modules
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
This parameter defines the name of <User_ControllerBusOff>. This parameter depends on the parameter CanIfDispatchUser
CtrlBusOffUL. If CanIfDispatchUserCtrlBusOffUL equals CAN_SM the name of <User_ControllerBusOff> is fixed. If CanIf
DispatchUserCtrlBusOffUL equals CDD, the name of <User_ControllerBusOff> is selectable.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00686]
M2 Parameter
M2 Parameter
4
This container contains the init parameters of the CAN Interface.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00257]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
Used as mask value in combination with CanIfHrhRangeBaseId for a masked ID range in which all CAN Ids shall pass the
software filtering. The size of this parameter is limited by CanIfHrhRangeRxPduRangeCanIdType.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00258]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
This container contains the configuration (parameters) of each receive CAN L-PDU.
The SHORT-NAME of "CanIfRxPduConfig" container itself represents the symolic name of Receive L-PDU.
This L-SDU produces a meta data item of type CAN_ID_32.
Template Description
M2 Parameter
4
valid [ECUC_CanIf_00822]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00744]
4
BSW Parameter BSW Type
STANDARD_CAN ECUC-ENUMERATION-LITERAL-DEF
BSW Description
CAN 2.0 or CAN FD frame with standard identifier (11 bits)
Template Description
CanFrameTriggering.canAddressingMode:
The CAN protocol supports two types of frame formats. The standard frame format uses 11-bit identifiers and is defined in
the CAN specification 2.0 A. Additionally the extended frame format allows 29-bit identifiers and is defined in the CAN
specification 2.0 B.
CanFrameTriggering.canFrameRxBehavior:
Defines which CAN protocol shall be expected for frame reception.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.canAddressingMode, System
Template::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.canFrameRxBehavior
Mapping Rule Mapping Type
canAddressingMode = "standard" and canFrameRxBehavior = "any". full
Mapping Status ECUC Parameter ID
valid
4
CAN 2.0 frame with standard identifier (11 bits)
Template Description
CanFrameTriggering.canAddressingMode:
The CAN protocol supports two types of frame formats. The standard frame format uses 11-bit identifiers and is defined in
the CAN specification 2.0 A. Additionally the extended frame format allows 29-bit identifiers and is defined in the CAN
specification 2.0 B.
CanFrameTriggering.canFrameRxBehavior:
Defines which CAN protocol shall be expected for frame reception.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.canAddressingMode, System
Template::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.canFrameRxBehavior
Mapping Rule Mapping Type
canAddressingMode = "standard" and canFrameRxBehavior = "can20". full
Mapping Status ECUC Parameter ID
valid
4
M2 Parameter
M2 Parameter
M2 Parameter
4
Enables and disables the Rx buffering for reading of received L-SDU data.
True: Enabled False: Disabled
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
CanIfRxPduUserRxIndicationName ECUC-FUNCTION-NAME-DEF
BSW Description
This parameter defines the name of the <User_RxIndication>. This parameter depends on the parameter CanIfRxPduUserRx
IndicationUL. If CanIfRxPduUserRxIndicationUL equals CAN_TP, CAN_NM, PDUR, XCP, CAN_TSYN, J1939NM or J1939TP,
the name of the <User_RxIndication> is fixed. If CanIfRxPduUserRxIndicationUL equals CDD, the name of the <User_Rx
Indication> is selectable.
Template Description
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00003]
M2 Parameter
M2 Parameter
4
This container contains the configuration (parameters) of a transmit CAN L-PDU. It has to be configured as often as a
transmit CAN L-PDU is needed.
The SHORT-NAME of "CanIfTxPduConfig" container represents the symolic name of Transmit L-PDU.
This L-SDU consumes a meta data item of type CAN_ID_32.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00592]
4
BSW Parameter BSW Type
STANDARD_CAN ECUC-ENUMERATION-LITERAL-DEF
BSW Description
CAN frame with standard identifier (11 bits)
Template Description
CanFrameTriggering.canAddressingMode:
The CAN protocol supports two types of frame formats. The standard frame format uses 11-bit identifiers and is defined in
the CAN specification 2.0 A. Additionally the extended frame format allows 29-bit identifiers and is defined in the CAN
specification 2.0 B.
CanFrameTriggering.canFrameTxBehavior:
Defines which CAN protocol shall be used for frame transmission.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.canAddressingMode, System
Template::Fibex::Fibex4Can::CanCommunication::CanFrameTriggering.canFrameTxBehavior
Mapping Rule Mapping Type
canAddressingMode = "standard" and canFrameRxBehavior = "can20". full
Mapping Status ECUC Parameter ID
valid
4
ECU wide unique, symbolic handle for transmit CAN L-SDU.
Range: 0..max. number of CantTxPduIds
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
CanIfFixedBuffer ECUC-BOOLEAN-PARAM-DEF
BSW Description
This parameter defines if the buffer element length shall be fixed to 8 Bytes for buffers to which only PDUs < 8 Bytes are
assigned.
TRUE: Minimum buffer element length is fixed to 8 Bytes. FALSE: Buffer element length depends on the configured length of
the referenced global PDUs (see ECUC_EcuC_00078).
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00835]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00127]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
Selects support for multiple CAN Drivers.
True: Enabled False: Disabled
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanIf_00610]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
CANIF_SEV_ERRORSTATE_BUSOFF ECUC-REFERENCE-DEF
BSW Description
The CAN controller transitioned to state busoff.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
CANIF_SEV_TX_ERROR_DETECTED ECUC-REFERENCE-DEF
BSW Description
A transmission related error was detected. Depending on the context data this could indicate suspicious CAN activity.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_CanIf_00843]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_CanTrcv_-
00101]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
CANTRCV_E_BUS_ERROR ECUC-REFERENCE-DEF
BSW Description
Reference to the DemEventParameter which shall be issued when bus error has occurred.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_CanTrcv_-
00161]
M2 Parameter
4
Defines whether pncWakeupCanId and pncWakeupCanIdMask shall be interpreted as extended or standard CAN ID.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanTopology::CanCommunicationConnector.pncWakeupCanIdExtended
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTrcv_-
00164]
M2 Parameter
4
Bit mask for CAN Payload used to configure the CAN Transceiver for partial network wakeup.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanTopology::CanCommunicationConnector.pncWakeupDataMask
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTrcv_-
00166]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanTrcv_-
00090]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
Type of the Time Service Predefined Timer.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
CanTrcvWakeUpSupport ECUC-ENUMERATION-PARAM-DEF
BSW Description
Informs whether wake up is supported by polling or not supported. In case no wake up is supported by the hardware, setting
has to be NOT_SUPPORTED. Only in the case of wake up supported by polling, function CanTrcv_MainFunction has to be
present and to be invoked by the scheduler.
Template Description
M2 Parameter
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00040]
4
BSW Description
Enables/Disables the handling of the Active Wakeup Bit in the CanNm module.
Template Description
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00042]
4
If set to true this attribute enables the support of CarWakeUp bit evaluation in received NmPdus.
M2 Parameter
SystemTemplate::NetworkManagement::CanNmNode.nmCarWakeUpRxEnabled
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00074]
M2 Parameter
4
Node specific time offset in the periodic transmission node. It determines the start delay of the transmission. Specified in
seconds.
M2 Parameter
SystemTemplate::NetworkManagement::CanNmNode.nmMsgCycleOffset
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00029]
4
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.nmNodeId
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00031]
4
CanNmPnEraCalcEnabled ECUC-BOOLEAN-PARAM-DEF
BSW Description
Specifies if CanNm calculates the PN request information for external requests. (ERA)
false: PN request are not calculated true: PN request are calculated
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
M2 Parameter
SystemTemplate::NetworkManagement::NmCluster.nmRepeatMsgIndEnabled
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00089]
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.rxNmPdu
Mapping Rule Mapping Type
Create container for each NmPdu that is received on the regarded Nm cluster full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00038]
M2 Parameter
4
CanNmRxPduRef ECUC-REFERENCE-DEF
BSW Description
Reference to the global PDU that is used by this CanNm channel.
Template Description
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00097]
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.txNmPdu
Mapping Rule Mapping Type
Create container for each NmPdu that is transmitted on the regarded Nmcluster full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00036]
4
Handle Id to be used by the Lower Layer to confirm the transmission of the CanNmTxPdu to the LowerLayer.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00021]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::NmPdu.iSignalToIPduMapping
Mapping Rule Mapping Type
If an NmPdu contains user data defined via the existence of NmPdu.iSignalToIPduMapping and is full
consequently handled via the PduR and Com this attribute shall be set to true.
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00044]
4
BSW Description
Enables/disables the coordinator synchronization support.
Template Description
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00094]
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00072]
M2 Parameter
4
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::EcuInstance.pnResetTime
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00059]
M2 Parameter
M2 Parameter
4
SystemTemplate::NetworkManagement::NmEcu.nmUserDataEnabled
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanNm_-
00004]
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
CanTpChannel ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
This container contains the configuration parameters of the CanTp channel.
Template Description
Configuration parameters of the CanTp channel.
M2 Parameter
SystemTemplate::TransportProtocols::CanTpChannel
Mapping Rule Mapping Type
Create Container ifor each CanTpChannel that exist in ECU Extract. full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00288]
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.tpSdu
Mapping Rule Mapping Type
Create container for each existing CanTpConnection that contains a reference to an N-SDU that is full
received.
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00137]
4
SystemTemplate::TransportProtocols::CanTpConnection.maxBlockSize
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00276]
4
This container is required for each RxNSdu and TxNSdu with AddressingFormat CANTP_EXTENDED. When DynIdSupport
is enabled, this container is also required for each RxNSdu with AddressingFormat CANTP_NORMALFIXED or CANTP_
MIXED29BIT. When DynIdSupport is enabled and GenericConnectionSupport is not enabled, this container is also required
for each TxNSdu with AddressingFormat CANTP_NORMALFIXED or CANTP_MIXED29BIT.
Template Description
Declares which communication addressing mode is supported.
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.addressingFormat
Mapping Rule Mapping Type
Create container if addressingFormat is set to "extended". full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00139]
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00277]
4
CanTpRxAddressingFormat ECUC-ENUMERATION-PARAM-DEF
BSW Description
Declares which communication addressing mode is supported for this RxNSdu. Definition of Enumeration values: CanTp
Standard to use normal addressing format. CanTpExtended to use extended addressing format. CanTpMixed to use mixed
11 bit addressing format. CanTpNormalFixed to use normal fixed addressing format. CanTpMixed29Bit to use mixed 29 bit
addressing format.
Template Description
Declares which communication addressing mode is supported.
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.addressingFormat
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00281]
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.dataPdu
Mapping Rule Mapping Type
Create container if the CanTpConnection contains a reference to a DataNpdu that is received by full
the regarded ECU.
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00256]
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00258]
M2 Parameter
M2 Parameter
4
Reference to a Pdu in the COM-Stack.
Template Description
M2 Parameter
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00250]
4
This parameter indicates how many Flow Control wait N-PDUs can be consecutively transmitted by the receiver. It is local to
the node and is not transmitted inside the FC protocol data unit.
CanTpRxWftMax is used to avoid sender nodes being potentially hooked-up in case of a temporarily reception inability on the
part of the receiver nodes, whereby the sender could be waiting continuously.
Template Description
This attribute defines the maximum number of flow control PDUs that can be consecutively be transmitted by a receiver.
M2 Parameter
SystemTemplate::TransportProtocols::CanTpNode.maxFcWait
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00251]
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.flowControlPdu
Mapping Rule Mapping Type
Create container if the CanTpConnection contains a reference to a FlowControlNPdu that is full
received by the regarded ECU.
5
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00259]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.tpSdu
Mapping Rule Mapping Type
Create container for each existing CanTpConnection that contains a reference to an N-SDU that is full
transmitted.
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00138]
4
This container is required for each RxNSdu and TxNSdu with AddressingFormat CANTP_EXTENDED. When DynIdSupport
is enabled, this container is also required for each RxNSdu with AddressingFormat CANTP_NORMALFIXED or CANTP_
MIXED29BIT. When DynIdSupport is enabled and GenericConnectionSupport is not enabled, this container is also required
for each TxNSdu with AddressingFormat CANTP_NORMALFIXED or CANTP_MIXED29BIT.
Template Description
Declares which communication addressing mode is supported.
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.addressingFormat
Mapping Rule Mapping Type
Create container if addressingFormat is set to "extended". full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00139]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00263]
4
BSW Parameter BSW Type
CanTpRxFcNPdu ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
Used for grouping of the ID of a PDU and the Reference to a PDU. This N-PDU consumes a meta data item of type CAN_
ID_32.
Template Description
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.flowControlPdu
Mapping Rule Mapping Type
Create container if the CanTpConnection contains a reference to a FlowControlNPdu that is full
received by the regarded ECU.
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00271]
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00272]
4
CanTpTxNPdu ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
Used for grouping of the ID of a PDU and the Reference to a PDU. This N-PDU produces a meta data item of type CAN_
ID_32.
Template Description
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.dataPdu
Mapping Rule Mapping Type
Create container if the CanTpConnection contains a reference to a DataNpdu that is received by full
the regarded ECU.
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00274]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
This specifies whether or not Sfs, FCs and the last CF shall be padded to 8 bytes length in case it contains less payload.
true: The N-PDU received uses padding for SF, FC and the last CF. (N-PDU length is always 8 bytes)
false: The N-PDU received does not use padding for SF, CF and the last CF. (N-PDU length is dynamic)
M2 Parameter
SystemTemplate::TransportProtocols::CanTpConnection.paddingActivation
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00269]
4
valid [ECUC_CanTp_-
00240]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_CanTp_-
00299]
M2 Parameter
M2 Parameter
4
CanTpFlexibleDataRateSupport ECUC-BOOLEAN-PARAM-DEF
BSW Description
Enable support for CAN FD frames.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
M2 Parameter
4
CanSMBorTimeL1 ECUC-FLOAT-PARAM-DEF
BSW Description
This time parameter defines in seconds the duration of the bus-off recovery time in level 1 (short recovery time).
Template Description
This attribute defines the duration of the bus-off recovery time in level 1 (short recovery time) in seconds.
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanTopology::CanClusterBusOffRecovery.borTimeL1
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_CanSM_-
00128]
4
If borTimeTxEnsured is defined set this parameter to true otherwise to false. full
Mapping Status ECUC Parameter ID
valid [ECUC_CanSM_-
00130]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
CANSM_E_BUS_OFF ECUC-REFERENCE-DEF
BSW Description
Reference to configured DEM event to report bus off errors for this CAN network.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_CanSM_-
00336]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_CanSM_-
00349]
M2 Parameter
C.3 J1939
M2 Parameter
4
BSW Parameter BSW Type
J1939TpRxChannel ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
This container describes a reception channel of the J1939Tp module. A channel referencing N-PDUs without MetaData is
used for all N-SDUs that share the same source address (SA) and the same destination address (BAM: DA = 0xFF, CMDT:
DA != 0xFF). A channel with N-PDUs with MetaData is used for all possible source and destination addresses.
Template Description
A J1939TpConnection represents an internal path for the transmission or reception of a Pdu via J1939Tp and describes the
sender and the receiver of this particular communication. The J1939Tp module routes a Pdu (J1939 PGN) through the
connection.
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection
Mapping Rule Mapping Type
Create container for each existing J1939TpConnection that is used to transmit a NSdu. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00053]
4
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.flowControlPdu
Mapping Rule Mapping Type
Information can be derived from a received directlNPdu that is referenced by the J1939Tp full
Connection.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00128]
M2 Parameter
M2 Parameter
4
J1939TpRxDa ECUC-INTEGER-PARAM-DEF
BSW Description
Destination address (DA) of this channel. This parameter is only required for channels with fixed DA which use N-PDUs with
MetaData containing the DA.
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.dataPdu
Mapping Rule Mapping Type
Information can be derived from a received NPdu that is referenced by the J1939TpConnection. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00117]
M2 Parameter
M2 Parameter
4
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.bufferRatio
Mapping Rule Mapping Type
Please note that in the System Template this attribute is defined per J1939TpConnection. All full
J1939TpConnections in an ECU shall have the same value.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00188]
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpPg.directPdu
Mapping Rule Mapping Type
Information can be derived from a received directlNPdu that is referenced by the J1939TpPg. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00130]
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00132]
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpPg.sdu
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00063]
M2 Parameter
4
Reference to the Pdu object representing the N-SDU.
Template Description
M2 Parameter
4
valid [ECUC_J1939Tp_-
00065]
4
BSW Description
Source address (SA) of this channel. This parameter is only required for channels with fixed SA which use N-PDUs with Meta
Data containing the SA.
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.flowControlPdu
Mapping Rule Mapping Type
Information can be derived from a received FlowControlNPdu that is referenced by the J1939Tp full
Connection.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00135]
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00136]
M2 Parameter
4
J1939TpRxFcNPdu ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
This N-PDU represents the TP.CM frame that is used in reverse direction for a J1939 transport protocol session using the
CMDT protocol type. TP.CM in reverse direction is used for intermediate and final acknowledgement of received data and to
abort the connection. This N-PDU consumes a meta data item of type CAN_ID_32.
Please note: This sub container is only required when J1939TpTxProtocolType is J1939TP_PROTOCOL_CMDT or when it is
not configured at all.
Template Description
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.flowControlPdu
Mapping Rule Mapping Type
Information can be derived from a transmitted FlowControlNPdu that is referenced by the J1939Tp full
Connection.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00144]
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00146]
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.flowControlPdu
Mapping Rule Mapping Type
Information can be derived from a transmitted FlowControlNPdu that is referenced by the J1939Tp full
Connection.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00138]
4
BSW Parameter BSW Type
J1939TpTxCmNPduRef ECUC-REFERENCE-DEF
BSW Description
Reference to the Pdu object representing the N-PDU.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.dataPdu
Mapping Rule Mapping Type
Information can be derived from a transmitted NPdu that is referenced by the J1939TpConnection. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00142]
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00171]
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpPg.directPdu
Mapping Rule Mapping Type
Information can be derived from a transmitted directlNPdu that is referenced by the J1939TpPg. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00140]
4
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpPg.sdu
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00147]
4
J1939TpTxNSduId ECUC-INTEGER-PARAM-DEF
BSW Description
The N-SDU identifier used for communication with PduR.
Template Description
M2 Parameter
M2 Parameter
4
valid [ECUC_J1939Tp_-
00148]
4
Enable support for repetition of failed transmission using TP.CM_CTS with a packet number that has already been sent.
Retransmission is handled via the retry feature of PduR_J1939TpCopyTxData.
Template Description
Enable support for protocol retry.
M2 Parameter
SystemTemplate::TransportProtocols::J1939TpConnection.retry
Mapping Rule Mapping Type
Please note that in the System Template the retry support is defined per J1939TpConnection. All full
J1939TpConnections in an ECU shall have the same value.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Tp_-
00193]
M2 Parameter
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.rxNmPdu
Mapping Rule Mapping Type
Shall be derived from the NmPdu that is referenced by the NmNode. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00010]
4
BSW Description
Contains the configuration of the PDU used to transmit the AddressClaimed PG. This PDU produces a meta data item of type
CAN_ID_32.
Template Description
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.txNmPdu
Mapping Rule Mapping Type
Shall be derived from the NmPdu that is referenced by the NmNode. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00009]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00045]
4
J1939NmExternalNodeNameVehicleSystem ECUC-INTEGER-PARAM-DEF
BSW Description
Vehicle System field of the NAME of this external node.
Template Description
Vehicle System field of the NAME of this node.
M2 Parameter
SystemTemplate::NetworkManagement::J1939NodeName.vehicleSystem
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00048]
4
valid [ECUC_J1939Nm_-
00049]
M2 Parameter
SystemTemplate::NetworkManagement::NmCluster.nmNode
Mapping Rule Mapping Type
This reference shall be derived from NmClusters that aggregate the nmNode in the Ecu Extract. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00029]
4
ECU Instance field of the NAME of this node.
M2 Parameter
SystemTemplate::NetworkManagement::J1939NodeName.ecuInstance
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00024]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00025]
4
J1939NmNodePreferredAddress ECUC-INTEGER-PARAM-DEF
BSW Description
Source address of this node used for address claiming.
Template Description
Node identifier of local NmNode. Shall be unique in the NmCluster.
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.nmNodeId
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00016]
4
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Nm_-
00038]
4
BSW Parameter BSW Type
J1939DcmRxPdu ECUC-PARAM-CONF-CONTAINER-DEF
BSW Description
Contains parameters to configure the J1939DcmRxPdu.
This PDU consumes meta data items of type CAN_ID_32 for PDUs received from CanIf, and of type SOURCE_
ADDRESS_16, TARGET_ADDRESS_16, and PRIORITY_8 for PDUs received from J1939Tp.
Template Description
Represents the IPdus handled by J1939Dcm.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::J1939DcmIPdu
Mapping Rule Mapping Type
The direction of the J1939DcmIPdu shall be derived from the PduTriggering and the references to full
IPduPorts.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Dcm_-
00046]
4
Template Description
J1939 specific NmCluster attributes
M2 Parameter
SystemTemplate::NetworkManagement::J1939NmCluster
Mapping Rule Mapping Type
Container shall be created for each J1939NmCluster that is available in the EcuExtract. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Rm_-
00009]
M2 Parameter
SystemTemplate::NetworkManagement::NmCluster.nmNode
Mapping Rule Mapping Type
This reference shall be derived from NmClusters that aggregate the nmNode in the Ecu Extract. full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Rm_-
00052]
M2 Parameter
4
Mapping Rule Mapping Type
+ J1939NM user exists always, UserPGN has 0x0ee00 as solitary value + J1939DCM user exists if full
transmitted J1939DcmIPdus exist which are requestable + COM user exists if transmitted ISignal
IPdus exist which are requestable + CDD user exists if transmitted UserDefinedPdus or User
DefinedIPdus exist which are requestable + RTE users cannot be derived
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Rm_-
00010]
4
Template Description
ISignalIPdu:
Represents the IPdus handled by Com. The ISignalIPdu assembled and disassembled in AUTOSAR COM consists of one or
more signals. In case no multiplexing is performed this IPdu is routed to/from the Interface Layer.
A maximum of one dynamic length signal per IPdu is allowed.
CanFrameTriggering.j1939requestable:
Frame can be triggered by the J1939 request message.
CanFrameTriggering.identifier:
This attribute is used to define the identifier this frame shall use on the CAN network.
J1939TpPg.requestable:
Parameter Group can be triggered by the J1939 request message.
J1939TpPg.pgn:
Parameter group number (PGN) of a J1939 message (parameter group, PG) that can be received or transmitted via J1939Tp.
The PGN may be omitted when the a directPdu is referenced and is mapped into a CanFrameTriggering with an identifier.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::ISignalIPdu, SystemTemplate::Fibex::Fibex4Can::Can
Communication::CanFrameTriggering.j1939requestable, SystemTemplate::Fibex::Fibex4Can::CanCommunication::Can
FrameTriggering.identifier, SystemTemplate::TransportProtocols::J1939TpPg.requestable, System
Template::TransportProtocols::J1939TpPg.pgn
Mapping Rule Mapping Type
This parameter can be derived fromISignalIPdu and a combination of CanFrame full
Triggering.j1939requestable and CanFrameTriggering.identifier or J1939TpPg.requestable and
J1939TpPg.pgn.
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Rm_-
00033]
4
Mapping Rule Mapping Type
This parameter can be derived from the Pdu and a combination of CanFrame
Triggering.j1939requestable and CanFrameTriggering.identifier or J1939TpPg.requestable and
J1939TpPg.pgn
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Rm_-
00070]
4
Enables support for the Request2 PGN (RQST2).
M2 Parameter
SystemTemplate::Fibex::Fibex4Can::CanTopology::J1939Cluster.request2Support
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_J1939Rm_-
00073]
C.4 FlexRay
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_Fr_00457]
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00394]
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00002]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00397]
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
FrCtrlEcucPartitionRef ECUC-REFERENCE-DEF
BSW Description
Maps one single Flexray controller to zero or one ECUC partitions. The ECUC partition referenced is a subset of the ECUC
partitions where the Flexray driver is mapped to.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayFifoConfiguration.channel
5
4
Mapping Rule Mapping Type
If channelA is referenced set Parameter to FR_CHANNEL_A. If channelB is referenced set full
parameter to FR_CHANNEL_B. If two identical FlexrayFifoConfiguration elements exist with
references to A and B only one FrFifo container shall be created (FR_CHANNEL_AB
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00449]
4
FrMsgIdMask ECUC-INTEGER-PARAM-DEF
BSW Description
FIFO message identifier acceptance criteria (Mask filter).
Template Description
FIFO message identifier acceptance criteria (Mask filter).
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayFifoConfiguration.msgIdMask
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00011]
4
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationController.allowHaltDueToClock
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00402]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::PhysicalChannel.commConnector
Mapping Rule Mapping Type
If channelA refers the connector set parameter to FR_CHANNEL_A. If ChannelB refers the full
connector set parameter to FR_CHANNEL_B. If channelA and channelB refer the connector set
parameter to FR_CHANNEL_AB,
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00404]
4
Template Description
Value used to compensate for reception delays on channel A Unit: Microticks. This optional parameter shall only be filled out
if channel A is used.
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationController.delayCompensationA
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00407]
4
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00448]
4
BSW Parameter BSW Type
FrPKeySlotOnlyEnabled ECUC-BOOLEAN-PARAM-DEF
BSW Description
Flag indicating whether or not the node shall enter key slot only mode following startup. Remarks: This parameter maps to
FlexRay Protocol 2.1 Rev. A parameter pSingleSlotEnabled.
Template Description
Flag indicating whether or not the node shall enter key slot only mode following startup.
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationController.keySlotOnlyEnabled
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00425]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00413]
4
FrPMacroInitialOffsetB ECUC-INTEGER-PARAM-DEF
BSW Description
Integer number of macroticks between the static slot boundary and the following macrotick boundary of the secondary time
reference point based on the nominal macrotick duration [Macroticks].
Template Description
Integer number of macroticks between the static slot boundary and the closest macrotick boundary of the secondary time
reference point based on the nominal macrotick duration. (pMacroInitialOffset). This optional parameter shall only be filled
out if channel B is used.
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationController.macroInitialOffsetB
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00416]
4
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationController.microInitialOffsetB
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00418]
4
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationController.
maximumDynamicPayloadLength
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00422]
4
Template Description
Referenced channel used by the node to send a wakeup pattern. (pWakeupChannel)
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCommunicationConnector.wakeUpChannel
Mapping Rule Mapping Type
If channelA refers to the FlexrayCommunicationConnector and wakeUpChannel=true then Fr full
PWakeupChannel = FR_CHANNEL_A. If channelB refers to the FlexrayCommunicationConnector
and wakeUpChannel = true then FrPWakeupChanel = FR_CHANNEL_B.
Mapping Status ECUC Parameter ID
valid [ECUC_Fr_00426]
4
Template Description
FlexRay specific attributes to the physicalCluster
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCluster
Mapping Rule Mapping Type
Container shall be created if the ECU is connected to a FlexRay Cluster. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06001]
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06098]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
4
BSW Description
This parameter provides a zero-based consecutive index of the FlexRay Communication Controllers. Upper layer BSW
modules and the FrIf itself use this index to identify a FlexRay CC.
Template Description
M2 Parameter
M2 Parameter
4
valid [ECUC_FrIf_06090]
M2 Parameter
4
The first communication cycle where the frame is sent.
This value is incremented at the beginning of each new cycle, ranging from 0 to 63, and is reset to 0 after a sequence of 64
cycles.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::CycleRepetition.BaseCycle
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06051]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreTopology::PhysicalChannel.frameTriggering
Mapping Rule Mapping Type
FrameTriggering element in the System Template is aggregated by the PhysicalChannel that is full
used to transmit this FlexRay Frame
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06052]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::FrameTriggering.frame
Mapping Rule Mapping Type
Reference shall comply to the reference in the System Description between the FrameTriggering full
element and the Frame.element.
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06048]
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_00009]
4
Data frame which is sent over a communication medium. This element describes the pure Layout of a frame sent on a
channel.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::Frame
Mapping Rule Mapping Type
Create container for each FlexRay Frame that is transmitted or received via the regarded full
communication controller..
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_05364]
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
FrIfVBTriggeringRef ECUC-REFERENCE-DEF
BSW Description
Reference to the assigned Frame triggering.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
The channels that are used by the cluster are described in the System Template by the full
CommunicationCluster-PhysicalChannel relationship.
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06006]
4
BSW Description
Upper limit for the start up listen timeout and wake up listen timeout in the presence of noise. It is used as a multiplier of the
node parameter pdListenTimeout.
Template Description
Upper limit for the start up and wake up listen timeout in the presence of noise. Expressed as a multiple of the cluster
constant pdListenTimeout. Unit microticks
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCluster.listenNoise
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06009]
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06011]
4
BSW Description
Number of minislots in the dynamic segment
Remark: Upper limit 7986 for FlexRay Protocol 2.1 Rev. A compliance
Template Description
Number of Minislots in the dynamic segment.
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCluster.numberOfMinislots
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06014]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06021]
4
BSW Description
Duration of the idle phase within a dynamic slot [Minislots].
Template Description
The duration of the dynamic slot idle phase in minislots.
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCluster.dynamicSlotIdlePhase
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06026]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06034]
4
Duration of the symbol window [Macroticks].
Remark: Range 0-142 for FlexRay Protocol 2.1 Rev. A compliance.
Template Description
Number of bits in the Transmission Start Sequence [gdBits].
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCluster.transmissionStartSequenceDuration
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06037]
4
The size of the window used to detect wakeups [gdBit]. Remarks: This parameter maps to FlexRay Protocol 2.1 Rev. A
parameter gdWakeupSymbolRxWindow. Upper limit 301 for FlexRay Protocol 2.1 Rev. A compliance.
Template Description
The size of the window used to detect wakeups [gdBit].
Remarks: This parameter maps to FlexRay Protocol 2.1 Rev. A parameter gdWakeupSymbolRxWindow.
M2 Parameter
SystemTemplate::Fibex::Fibex4Flexray::FlexrayTopology::FlexrayCluster.wakeupRxWindow
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06041]
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06042]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_05368]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
The FlexRay Cycle in which the communication operation will execute this job
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
FrIfMainFunctionPeriod ECUC-FLOAT-PARAM-DEF
BSW Description
The execution cycle of the FrIf_MainFunction_<FrIfCluster.ShortName>() in seconds. The FrIf does not require this
information but the BSW scheduler, which invokes the cluster main functions, needs it in order to plan its tasks.
Template Description
M2 Parameter
4
valid [ECUC_FrIf_05370]
4
The value specifies the offset of the PDU within the Frame [bytes].
Template Description
This attribute describes the bitposition of a Pdu within a Frame.
Please note that the absolute position of the Pdu in the Frame is determined by the definition of the packingByteOrder
attribute. If Big Endian is specified, the start position indicates the bit position of the most significant bit in the Frame. If Little
Endian is specified, the start position indicates the bit position of the least significant bit in the Frame. The bit counting in byte
0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.
The Pdus are byte aligned in a Frame and only the values 0, 8, 16, 24,... (for little endian) and 7, 15, 23, ... (for big endian)
are allowed.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduToFrameMapping.startPosition
Mapping Rule Mapping Type
Please note that the startPosition attribute is defined in bits and the FrIfPduOffset parameter is full
defined in bytes.
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06070]
M2 Parameter
4
Indication to the receivers that the corresponding Pdu was updated by the sender. This attribute describes the position of the
update bit in the frame that aggregates this PDUToFrameMapping. Length is always one bit.
Note that the exact bit position of the updateIndicationBitPosition is linked to the value of the attribute packingByteOrder
because the method of finding the bit position is different for the values mostSignificantByteFirst and mostSignificantByte
Last. This means that if the value of packingByteOrder is changed while the value of updateIndicationBitPosition remains
unchanged the exact bit position of updateIndicationBitPosition within the enclosing Frame still undergoes a change.
This attribute denotes the least significant bit for "Little Endian" and the most significant bit for "Big Endian" packed signals
within the IPdu (see the description of the packingByteOrder attribute). In AUTOSAR the bit counting is always set to
"sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most
significant bit in byte 0 is bit 7.
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduToFrameMapping.updateIndicationBitPosition
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06071]
M2 Parameter
4
valid [ECUC_FrIf_05372]
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_00016]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
Defines whether the PDU is transmitted immediate or decoupled.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
FrIfTxPduId ECUC-INTEGER-PARAM-DEF
BSW Description
The global PDU identifier, which has to be used by the upper layer BSW module. The identifier has to be zero based and
consecutive.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_06112]
M2 Parameter
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrIf_00002]
M2 Parameter
M2 Parameter
4
Configuration parameter to enable/disable FrIf support to disable branches of an active star.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
API name that is called when FREE_OP_B is selected as communication operation. See also chapter 8.8.3 Configurable
Interfaces.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
FrIfGetGetChannelStatusSupport ECUC-BOOLEAN-PARAM-DEF
BSW Description
Configuration parameter to enable/disable FrIf support to enable/disable of polling the FlexRay Driver to getting error
information about the FlexRay communications bus.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
valid [ECUC_FrNm_00007]
M2 Parameter
4
M2 Parameter
SystemTemplate::NetworkManagement::FlexrayNmCluster.nmCarWakeUpBitPosition
Mapping Rule Mapping Type
The position of the Car Wakeup bit in the Ecuc is defined by the configuration parameters FrNmCar full
WakeUpBytePosition and FrNmCarWakeUpBitPosition (position in wakeUpByte). In the SysT the
position is described only by the bit position in the NmMessage.
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00075]
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00014]
4
FrNmNodeId ECUC-INTEGER-PARAM-DEF
BSW Description
NM node identifier configured for the respective FlexRay Channel.
It is used for identifying the respective NM node in the NM-cluster. It must be unique for each NM node within one NM cluster.
Template Description
Node identifier of local NmNode. Shall be unique in the NmCluster.
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.nmNodeId
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00017]
4
Mapping Rule Mapping Type
If NmCluster.nmPncParticipation has the value "true" or is not defined then FrNmPnEnabled shall full
be set to true.
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00072]
M2 Parameter
M2 Parameter
4
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.rxNmPdu
Mapping Rule Mapping Type
Create Container if the regarded NmNode recieves a Pdu full
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00010]
M2 Parameter
M2 Parameter
5
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00012]
4
BSW Description
Specifies if FrNm handle PN shutdown messages to support a synchronized PNC shutdown across a PN topology. This is
only used for ECUs in the role of a top-level PNC coordinator or intermediate PNC coordinator. Thus, the PNC gateway
functionality is enabled and therefore ERA calculation is used.
FALSE: synchronized PNC shutdown is disabled
TRUE: synchronized PNC shutdown is enabled.
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.txNmPdu
Mapping Rule Mapping Type
Create Container if the regarded NmNode transmits a Pdu full
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00009]
M2 Parameter
4
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::NmPdu.iSignalToIPduMapping
Mapping Rule Mapping Type
Create container for each NmPdu that aggregates the ISignalToIPduMapping element. The full
configuration for these Pdus (e.g. Transfer Properties) shall be derived from this information.
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00055]
M2 Parameter
4
Reference to the NM User Data I-PDU in the global PDU collection.
Template Description
M2 Parameter
M2 Parameter
4
BSW Parameter BSW Type
FrNmMainFunctionPeriod ECUC-FLOAT-PARAM-DEF
BSW Description
This parameter defines the processing cycle of the main function of FrNm module in seconds.
Template Description
Defines the processing cycle of the main function of FrNm module.
M2 Parameter
SystemTemplate::NetworkManagement::FlexrayNmCluster.nmMainFunctionPeriod
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00035]
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00029]
4
BSW Parameter BSW Type
FrNmVoteInhibitionEnabled ECUC-BOOLEAN-PARAM-DEF
BSW Description
Pre-processor switch for enabling the inhibition of vote changes from the next-to-last repetition cycle to the last repetition
cycle before the Ready Sleep Counter expires.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::NmPdu.iSignalToIPduMapping
Mapping Rule Mapping Type
If an NmPdu contains user data defined via the existence of NmPdu.iSignalToIPduMapping and is full
consequently handled via the PduR and Com this attribute shall be set to true.
5
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00054]
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00049]
4
BSW Parameter BSW Type
FrNmPassiveModeEnabled ECUC-BOOLEAN-PARAM-DEF
BSW Description
Pre-processor switch for enabling Passive Node Configuration support.
Template Description
Enables support of the Passive Mode. The passive mode is configurable per channel.
M2 Parameter
SystemTemplate::NetworkManagement::NmNode.nmPassiveModeEnabled
Mapping Rule Mapping Type
1:1 mapping. nmNode.nmPassiveModeEnabled shall always have the same value in all Nm full
Clusters with the same bus protocol in the scope of one EcuInstance.
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00043]
M2 Parameter
M2 Parameter
M2 Parameter
4
For one EcuInstance all contributing FlexrayCommunicationConnector.pncFilterDataMask will be full
bitwise ORed to obtain aggregated pncFilterDataMask value for this ECU. Since the pncFilterData
Mask is calculated over the whole payload of the NmPdu, the leading Bytes of this aggregated pnc
FilterDataMask shall be ignored based on the System.pncVectorOffset value. In order to get the Fr
NmPnFilterMaskByteIndex and FrNmPnFilterMaskByteValue for all the bytes aggregated pncFilter
DataMask shall be processed in a littleEndian way. E.g. if pncVectorOffset = 2 and aggregated pnc
FilterDataMask has the value 2ˆ63 this will end up in a FrNmPnFilterMaskByte with FrNmPnFilter
MaskByteIndex = 5 and FrNmPnFilterMaskByteValue = 128.
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00064]
4
For one EcuInstance all contributing FlexrayCommunicationConnector.pncFilterDataMask will be full
bitwise ORed to obtain aggregated pncFilterDataMask value for this ECU. Since the pncFilterData
Mask is calculated over the whole payload of the NmPdu, the leading Bytes of this aggregated pnc
FilterDataMask shall be ignored based on the System.pncVectorOffset value. In order to get the Fr
NmPnFilterMaskByteIndex and FrNmPnFilterMaskByteValue for all the bytes aggregated pncFilter
DataMask shall be processed in a littleEndian way. E.g. if pncVectorOffset = 2 and aggregated pnc
FilterDataMask has the value 2ˆ63 this will end up in a FrNmPnFilterMaskByte with FrNmPnFilter
MaskByteIndex = 5 and FrNmPnFilterMaskByteValue = 128.
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00066]
M2 Parameter
4
SystemTemplate::NetworkManagement::NmEcu.nmRemoteSleepIndEnabled
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00044]
4
BSW Description
Pre-processor switch for disabling vote changes in the last two repetition cycles before the Ready Sleep Counter expires.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrNm_00037]
M2 Parameter
M2 Parameter
4
BSW Description
Preprocessor switch for defining the number of concurrent channels the module supports. Up to 32 channels shall be
definable here.
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
4
SystemTemplate::TransportProtocols::FlexrayTpEcu.cancellation
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00036]
M2 Parameter
M2 Parameter
4
This container contains the configuration parameters and sub containers of the AUTOSAR FrTp module.
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.tpConnectionControl
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00005]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.transmitter, SystemTemplate::TransportProtocols::FlexrayTp
Connection.receiver
Mapping Rule Mapping Type
If the local address is the sender it shall be derived from FlexrayTpConnection.transmitter. If the full
remote address is the receiver it shall be derived from FlexrayTpConnection.receiver.
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00010]
4
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.multicast
Mapping Rule Mapping Type
If FlexRayTpConnection contains a mulicast reference to TpAddress than set this parameter to true full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00019]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.transmitter, SystemTemplate::TransportProtocols::FlexrayTp
Connection.receiver
Mapping Rule Mapping Type
If the local address is the sender it shall be derived from FlexrayTpConnection.transmitter. If the full
remote address is the receiver it shall be derived from FlexrayTpConnection.receiver.
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00021]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.rxPduPool, SystemTemplate::TransportProtocols::FlexrayTp
Connection.txPduPool
Mapping Rule Mapping Type
Depending whether the regarded Ecu is the transmitter or the receiver this reference shall be full
created if the FlexrayTpPduPool element is referenced by the FlexrayTpConnection via the txPdu
Pool or rxPduPool reference. If the regarded ECU is the transmitter then the txPduPool holds the
sent NPdus and the rxPduPool holds the received NPdus. If the ECU is the receiver then the txPdu
Pool holds the received NPdus and the rxPduPool holds the sent NPdus.
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00025]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.directTpSdu
Mapping Rule Mapping Type
Create container if an Rx Pdu is referenced by the FlexRayTpConnection full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00027]
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00028]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.rxPduPool, SystemTemplate::TransportProtocols::FlexrayTp
Connection.txPduPool
Mapping Rule Mapping Type
Depending whether the regarded Ecu is the transmitter or the receiver this reference shall be full
created if the FlexrayTpPduPool element is referenced by the FlexrayTpConnection via the txPdu
Pool or rxPduPool reference. If the regarded ECU is the transmitter then the txPduPool holds the
sent NPdus and the rxPduPool holds the received NPdus. If the ECU is the receiver then the txPdu
Pool holds the received NPdus and the rxPduPool holds the sent NPdus.
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00039]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnection.directTpSdu
Mapping Rule Mapping Type
Create container if an Tx Pdu is referenced by the FlexRayTpConnection full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00041]
4
FrTpTxSduId ECUC-INTEGER-PARAM-DEF
BSW Description
This is a unique identifier for a to be transmitted message from the PduR to the FrTp.
ImplementationType: PduIdType
Template Description
M2 Parameter
M2 Parameter
4
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00029]
4
FrTpTimeBr ECUC-FLOAT-PARAM-DEF
BSW Description
This parameter defines the time in seconds the FrTp requires to transmit a corresponding FlowControl Frame. According to
ISO 10681-2 this parameter is a performance requirement.
Template Description
Time (in seconds) until transmission of the next FlowControl N-PDU.
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnectionControl.timeBr
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00047]
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00032]
4
This parameter defines the timeout value in seconds a receiver is waiting for a CF or a LF.
Template Description
This parameter defines the timeout value in seconds for waiting for a CF or FF-x (in case of retry) after receiving the last CF
or after sending an FC or AF on the receiver side. Specified in seconds.
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpConnectionControl.timeoutCr
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00035]
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpPduPool.nPdu
Mapping Rule Mapping Type
Create container for each NPdu that is referenced by the regarded FlexrayTpPduPool. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00022]
M2 Parameter
M2 Parameter
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00026]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayTpPduPool.nPdu
Mapping Rule Mapping Type
Create container for each NPdu that is referenced by the regarded FlexrayTpPduPool. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrTp_00037]
4
Handle Id to be used by the FrIf to confirm the transmission of the FrTpTxPdu to the FrIf module (FrTp_TxConfirmation) and
for TriggerTransmit (FrTp_TriggerTransmit).
Template Description
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
M2 Parameter
4
local
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00015]
M2 Parameter
M2 Parameter
4
M2 Parameter
M2 Parameter
M2 Parameter
4
BSW Description
This container contains the configuration (parameters) of one FlexRay TP channel.
Template Description
A channel is a group of connections sharing several properties.
The FlexRay AutosarTransport Layer supports several channels. These channels can work concurrently, thus each of them
requires its own state machine and management data structures and its own PDU-IDs.
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel
Mapping Rule Mapping Type
Create container for each FlexrayArTpChannel that exists in the Ecu Extract. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00005]
4
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00008]
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.tpConnection
Mapping Rule Mapping Type
Create container for each existing FlexrayArTpConnection that is aggregated by FlexrayArTp full
Channel in the System description.
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00010]
4
BSW Description
This parameter defines the number of TxNPdus to which this connection has prioritized access. It must be ensured that the
number of prioritized PDUs of all connections is smaller than the total number of TxNPdus in the associated PDU pool.
Template Description
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpConnection.source
Mapping Rule Mapping Type
LocalAddress can be derived from the TpNode that is referenced by the FlexRayTpConnection as full
source.
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00018]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpConnection.multicast
Mapping Rule Mapping Type
5
4
If multicast is used set this attribute to true. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00027]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpConnection.target
Mapping Rule Mapping Type
RemoteAddress can be derived from the TpNode that is referenced by the FlexRayTpConnection full
as target.
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00037]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpConnection.directTpSdu
Mapping Rule Mapping Type
Create container for every IPdu that is received by the FrArTp and the regarded Ecu. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00038]
M2 Parameter
M2 Parameter
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpConnection.directTpSdu
Mapping Rule Mapping Type
5
4
Create container for every IPdu that is transmitted by the FrArTp and the regarded Ecu. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00055]
M2 Parameter
M2 Parameter
4
BSW Description
Here can be specified, whether segmentation within a 1:n connection is allowed or not.
Template Description
This attribute defines whether segmentation within a 1:n connection is allowed or not.
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.multicastSegmentation
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00013]
4
valid [ECUC_FrArTp_-
00021]
4
BSW Description
This parameter defines the maximum number of retries (if retry is configured for the particular channel).
Template Description
This attribute defines the maximum number of retries (if retry is configured for the particular channel).
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.maxRetries
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00026]
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.nPdu
Mapping Rule Mapping Type
Create container if NPdus are referenced by the FlexrayArTpChannel. full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00029]
M2 Parameter
SystemTemplate::Fibex::FibexCore::CoreCommunication::PduTriggering.iPduPort
Mapping Rule Mapping Type
The direction of the Npdu can be derived from the triggering elements that contain references to full
IN- and OUT-Ports.
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00030]
M2 Parameter
Template Description
4
M2 Parameter
4
This parameter defines the minimum amount of time between two succeeding CFs of a 1:n segmented transmission in
seconds. Valid values are 0, 100µs, 200µs ... 900µs, 1ms, 2ms .. 127ms. The value can be changed at runtime using the Fr
ArTp_ChangeParameter interface.
FrArTpStMinGrpSeg must be an integer multiple of the cycle length multiplied with the multiplexing factor, i.e. FrArTpStMin
GrpSeg = n * FrIfGdCycle * m, where n is an integer >= 0 and m is the cycle multiplexor of those cycles where PDUs of the
PDU pool are scheduled.
Please note: Due to the scheduling strategies of FrArTp, FrArTpStMinGrpSeg can only be kept to a degree defined by the
maximum temporal distance of the PDUs of a PDU pool within one FlexRay cycle.
Template Description
This attribute defines the minimum amount of time between two succeeding CFs of a 1:n segmented transmission in
seconds. Valid values are 0, 100µs, 200µs ... 900µs, 1ms, 2ms .. 127ms. The value can be changed at runtime using the Fr
ArTp_ChangeParameter interface.
minimumMulticastSeparationTime shall be an integer multiple of the cycle length multiplied with the multiplexing factor, i.e.
minimumMulticastSeparationTime = n * cycle * m, where n is an integer >= 0, cycle is FlexrayCluster.cycle, and m is the cycle
multiplexor of those cycles where PDUs of the PDU pool are scheduled. Please note: Due to the scheduling strategies of Fr
Tp, minimumMulticastSeparationTime can only be kept to a degree defined by the maximum temporal distance of the PDUs
of a PDU pool within one FlexRay cycle.
Range: 0 .. 0.127
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.minimumMulticastSeperationTime
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00060]
4
BSW Description
This parameter defines the time in seconds between receiving the last CF of a block or an FF-x (or SF-x) and sending out an
FC or AF.
It is obvious that FRARTP_TIME_BR + (FRARTP_TIMEOUT_AR * FRARTP_MAX_AR) < FRARTP_TIMEOUT_BS must hold
(because the transmission duration on the bus has also to be considered).
This parameter is defined in ISO 15765-2. It is contained in the configuration as a performance requirement.
Template Description
This attribute defines the time in seconds between receiving the last CF of a block or an FF-x (or SF-x) and sending out an
FC or AF.
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.timeBr
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00044]
4
This parameter states the timeout in seconds between the PDU transmit request of the Transport Layer to the FlexRay
Interface and the corresponding confirmation of the FlexRay Interface on the receiver side (for FC or AF).
Template Description
This attribute states the timeout in seconds between the PDU transmit request of the Transport Layer to the FlexRay Interface
and the corresponding confirmation of the FlexRay Interface on the receiver side (for FC or AF).
M2 Parameter
SystemTemplate::TransportProtocols::FlexrayArTpChannel.timeoutAr
Mapping Rule Mapping Type
1:1 mapping full
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00048]
4
Mapping Status ECUC Parameter ID
valid [ECUC_FrArTp_-
00050]