0% found this document useful (0 votes)
43 views64 pages

AUTOSAR ASWS TransformerGeneral

Uploaded by

nithin662
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views64 pages

AUTOSAR ASWS TransformerGeneral

Uploaded by

nithin662
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

General Specification of Transformers

AUTOSAR Release 4.2.1

General Specification of
Document Title Transformers
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 658
Document Classification Standard

Document Status Final


Part of AUTOSAR Release 4.2.1

Document Change History


Release Changed by Description
AUTOSAR
Initial Release
4.2.1 Release
Management

1 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Disclaimer
Disclaimer
This specification 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 specification.
The material contained in this specification is protected by copyright and other types of
Intellectual Property Rights. The commercial exploitation of the material contained in
this specification requires a license to such Intellectual Property Rights.
This specification 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 specification may be utilized or reproduced, in
any form or by any means, without permission in writing from the publisher.
The AUTOSAR specifications have been developed for automotive applications only.
They have neither been developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.

Advice for users


AUTOSAR specifications may contain exemplary items (exemplary reference models,
"use cases", and/or references to exemplary technical solutions, devices, processes or
software).
Any such exemplary items are contained in the specifications for illustration purposes
only, and they themselves are not part of the AUTOSAR Standard. Neither their pres-
ence in such specifications, nor any later documentation of AUTOSAR conformance of
products actually implementing such exemplary items, imply that intellectual property
rights covering such exemplary items are licensed under the same rules as applicable
to the AUTOSAR Standard.

2 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Table of Contents
1 Introduction and functional overview 5

2 Acronyms and Abbreviations 6

3 Related documentation 7
3.1 Input documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Related standards and norms . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Related specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Constraints and assumptions 9
4.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Applicability to car domains . . . . . . . . . . . . . . . . . . . . . . . . 9
5 Dependencies to other modules 10
5.1 File structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.1 Code file structure . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.2 Header file structure . . . . . . . . . . . . . . . . . . . . . . . 10
6 Requirements Tracing 11

7 Functional Specification 13
7.1 Buffer Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.2 Transformer Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.2.1 Serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2.2 Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2.4 Custom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.3 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.3.1 Errors of Serializer Transformers . . . . . . . . . . . . . . . . 20
7.3.2 Errors of Safety Transformers . . . . . . . . . . . . . . . . . . 20
7.3.3 Errors of Security Transformers . . . . . . . . . . . . . . . . . 22
7.3.4 Errors of Custom Transformers . . . . . . . . . . . . . . . . . 22
7.4 Development Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.5 Production Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.6 Extended Production Errors . . . . . . . . . . . . . . . . . . . . . . . . 23
7.6.1 XFRM_E_MALFORMED_MESSAGE . . . . . . . . . . . . . 23
7.7 Error Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8 API specification 25
8.1 Imported types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2 Type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.3 Function definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.3.1 <Mip>_<transformerId> . . . . . . . . . . . . . . . . . . . . . 26
8.3.2 <Mip>_Inv_<transformerId> . . . . . . . . . . . . . . . . . . . 31
8.3.3 <Mip>_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

8.3.4 <Mip>_DeInit . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.3.5 <Mip>_GetVersionInfo . . . . . . . . . . . . . . . . . . . . . . 36
8.4 Callback notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.5 Scheduled functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.6 Expected interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9 Sequence diagrams 38

10 Configuration specification 39
10.1 How to read this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.2 Containers and configuration parameters . . . . . . . . . . . . . . . . . 39
10.2.1 XfrmGeneral . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.2.2 XfrmImplementationMapping . . . . . . . . . . . . . . . . . . 41
10.2.3 XfrmSignal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.2.4 XfrmDemEventParameterRefs . . . . . . . . . . . . . . . . . 46
A Referenced Meta Classes 48

4 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

1 Introduction and functional overview


Transformer enable AUTOSAR systems to use a data transformation mechanism to
linearize and transform data.
Transformers can be concatenated to transformer chains which are executed by the
RTE for inter-ECU communcation that is configured to be transformed.
A transformer provides well defined function signatures per each communication rela-
tion (port based and signal based), which is marked for transformation. The function
signature depends on the transmitted data elements (Client/Server operation signature
or Sender/Receiver interface signature) only. The output of a transformer will be always
a linear byte array.
A more powerful system can chain multiple transformers where the input of the first
transformer in the chain gets the data from the RTE. Each following transformer uses
the output of the preceding transformer as input. All transformers following the first one
then have generic signature with just a byte array as IN and OUT parameter. Such an
architecture could be used to design systems, where you can flexibly add functionality
like safety or security protection to a serialized stream.

5 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

2 Acronyms and Abbreviations


There are no acronyms and abbreviations relevant to this document that are not in-
cluded in the [1, AUTOSAR glossary].

6 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

3 Related documentation

3.1 Input documents

[1] Glossary
AUTOSAR_TR_Glossary
[2] General Specification of Basic Software Modules
AUTOSAR_SWS_BSWGeneral
[3] System Template
AUTOSAR_TPS_SystemTemplate
[4] Specification of SOME/IP Transformer
AUTOSAR_SWS_SOMEIPTransformer
[5] Specification of RTE Software
AUTOSAR_SWS_RTE
[6] Software Component Template
AUTOSAR_TPS_SoftwareComponentTemplate

7 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

3.2 Related standards and norms


Not applicable.

3.3 Related specification


Not applicable.

8 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

4 Constraints and assumptions

4.1 Limitations
Both data transformation and communication itself are very extensive fields and can
get quite complex because a lot of use cases and scenarios are theoretically possible.
Because these have a big impact on the functionality of transformer (especially in the
RTE), this diversity makes it necessary to impose a few restrictions and assumptions
to the transformers.
If the transformation targets primarily the serialization of large complex data elements,it
is most efficient when the transformation is used for communication over busses with
large PDU sizes (e.g. Ethernet). If busses with small PDU size are used (e.g CAN),
the byte array produced by the serializer would have to be spanned over multiple PDUs
which is possible but inefficient.
Subject to transformation are the data elements (VariableDataProto-
types) of ports typed with SenderReceiverInterfaces and the operations
(ClientServerOperations) of ports typed with ClientServerInterfaces.
This imposes the majority of restrictions and is therefore the most important contraint!
As a consequence of this decision, it is not possible to transform whole PDUs. The
reason for this is the fact that inside the RTE (where the transformation happens) there
exist no PDUs because these are built inside the Com module.
Nonetheless, it is still possible to aggregate multiple transformed data elements of
Sender/Receiver-Communication into one large PDU inside Com (each transformed
data element is visible within Com as an ISignal). But in this case, all data ele-
ments/ISignals contained in this PDU are transformed independently from each other,
each including its own header (if the transformation adds headers). As a conse-
quence of this, it is not possible to transform data structures where the data struc-
ture’s sub-elements are produced by different data elements of different PPortPro-
totypes/SWCs.
The length of the transformer chains is not limited by the solutions chosen within this
concept. But to enable a memory efficient configuration and implementation, the max-
imum length is artificially limited to 255 because current use cases see a maximum
chain length of 3.

4.2 Applicability to car domains


No restrictions.

9 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

5 Dependencies to other modules


There are not dependencies to AUTOSAR SWS modules.

5.1 File structure

5.1.1 Code file structure

The code file structure of transformers is defined by the [2, SWS BSW General] as all
transformers are BSW modules. Deviations are specified in the SWS documents of the
specific transformers.

5.1.2 Header file structure

The header file structure of transformers is defined by the [2, SWS BSW General] as
all transformers are BSW modules. Deviations are specified in the SWS documents of
the specific transformers.

10 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

6 Requirements Tracing
The following table references the SRS requirements which are fulfilled by this docu-
ment.
Feature Description Satisfied by
[SRS_BSW_00337] Classification of development errors [SWS_Xfrm_00061]
[SRS_BSW_00404] BSW Modules shall support [SWS_Xfrm_00060]
post-build configuration
[SRS_BSW_00407] Each BSW module shall provide a [SWS_Xfrm_00057]
function to read out the version [SWS_Xfrm_00058]
information of a dedicated module [SWS_Xfrm_00059]
implementation
[SRS_BSW_00411] All AUTOSAR Basic Software [SWS_Xfrm_00057]
Modules shall apply a naming rule for [SWS_Xfrm_00058]
enabling/disabling the existence of [SWS_Xfrm_00059]
the API
[SRS_BSW_00441] Naming convention for type, macro [SWS_Xfrm_00060]
and function
[SRS_BSW_00466] Classification of extended production [SWS_Xfrm_00070]
errors [SWS_Xfrm_00071]
[SRS_BSW_00469] Fault detection and healing of [SWS_Xfrm_00070]
production errors and extended [SWS_Xfrm_00071]
production errors
[SRS_Xfrm_00001] A transformer shall work on data [SWS_Xfrm_00017]
given by the Rte [SWS_Xfrm_00018]
[SWS_Xfrm_00019]
[SWS_Xfrm_00020]
[SWS_Xfrm_00021]
[SWS_Xfrm_00022]
[SWS_Xfrm_00023]
[SWS_Xfrm_00024]
[SWS_Xfrm_00025]
[SWS_Xfrm_00048]
[SRS_Xfrm_00002] A transformer shall provide fixed [SWS_Xfrm_00034]
interfaces [SWS_Xfrm_00036]
[SWS_Xfrm_00037]
[SWS_Xfrm_00038]
[SWS_Xfrm_00039]
[SWS_Xfrm_00040]
[SWS_Xfrm_00041]
[SWS_Xfrm_00042]
[SWS_Xfrm_00043]
[SWS_Xfrm_00044]
[SWS_Xfrm_00045]
[SWS_Xfrm_00046]
[SWS_Xfrm_00047]
[SWS_Xfrm_00052]
[SWS_Xfrm_00053]
[SWS_Xfrm_00062]

11 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

[SRS_Xfrm_00003] A Transformer shall support in-place [SWS_Xfrm_00010]


and copy buffering [SWS_Xfrm_00011]
[SWS_Xfrm_00012]
[SWS_Xfrm_00013]
[SWS_Xfrm_00014]
[SRS_Xfrm_00004] A transformer shall support error [SWS_Xfrm_00026]
handling [SWS_Xfrm_00027]
[SWS_Xfrm_00028]
[SWS_Xfrm_00029]
[SWS_Xfrm_00030]
[SWS_Xfrm_00051]
[SRS_Xfrm_00005] A transformer shall be able to deal [SWS_Xfrm_00008]
with more data than expected [SWS_Xfrm_00049]
[SRS_Xfrm_00006] A Transformer shall support [SWS_Xfrm_00001]
concurrent execution [SWS_Xfrm_00009]
[SWS_Xfrm_00054]
[SWS_Xfrm_00055]
[SWS_Xfrm_00056]
[SRS_Xfrm_00007] A deserializer transformer shall [SWS_Xfrm_00048]
support extraction of data
[SRS_Xfrm_00008] A transformer shall specify its output [SWS_Xfrm_00002]
format [SWS_Xfrm_00003]
[SWS_Xfrm_00004]
[SWS_Xfrm_00005]
[SWS_Xfrm_00006]
[SWS_Xfrm_00007]
[SRS_Xfrm_00010] Each transformer class shall provide [SWS_Xfrm_00029]
a fixed set of abstract errors [SWS_Xfrm_00030]
[SWS_Xfrm_00031]
[SWS_Xfrm_00032]
[SWS_Xfrm_00033]
[SWS_Xfrm_00050]
[SRS_Xfrm_00011] A transformer shall belong to a [SWS_Xfrm_00030]
specific transformer class

12 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

7 Functional Specification
A transformers takes data from the RTE, works on them and returns the output back
to the RTE. It can both serialize/linearize data (transform them from a structured into a
linear form) and transform (modify or extend linear data) them (e.g add a checksum).
Transformers are BSW modules in the System Service Cluster which provide services
to the RTE. The transformers are executed by the RTE when the RTE needs the service
which a transformer provides.
A transformer is no library because transformers can hold an internal state but they
can work as well stateless.
[SWS_Xfrm_00001] d Transformers shall be stateful only, if the dedicated transformer
functionality requires maintaining a transformer state. c(SRS_Xfrm_00006)
Please note that stateful transformers cannot be used like a library.
It is possible to connect a set of transformers together into a transformer chain. The
RTE coordinates the execution of the transformer chain and calls the transformers
of the chain exactly in the specified order. Using that mechanism, inter-ECU com-
muncation is transformed if configured accordingly. This configuration is done in the
[3, System Template]. The maximum length of a transformer chain is limited to 255
transformers.
The order of transformers configured in the [3, System Template] represents the order
on the sending side. The order on the receiving side is the inverse of the sending side.

13 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

An example of data transformation is shown in Figure 7.1.


ECU 1 Sending Application ECU 2 Receiving Application
SWC SWC

Transformer 1 Retransformer 1

RTE
RTE

Transformer 2 Retransformer 2

Com Com

Figure 7.1: Transformer Example

In this example, a SWC sends complex data which are transformed using a transformer
chains with two transformers. Transformer 1 serializes the data and Transformer 2
simply transforms them. On the receiver side, the same transformer chain is executed
in reverse order with the respective retransformers. From the SWC’s point of view it
is totally transparent for them which transformer are used or whether transformers are
used at all.
In general transformers have to specify their output format to enable remote ECUs to
correctly work with the transformed data. For that, the on-wire format has to be fixed.
[SWS_Xfrm_00002] d A transformer shall consider that the target ECU might have a
different architecture than the sender ECU (e.g. 8/16/32bit, little/big endian, etc.) so
the on-wire format shall be fixed. c(SRS_Xfrm_00008)
[SWS_Xfrm_00003] d A transformer shall clearly define endianness of multi-byte
words. c(SRS_Xfrm_00008)
[SWS_Xfrm_00004] d A transformer shall clearly define the ordering of the contained
data elements in the complex data if it is a serializer. c(SRS_Xfrm_00008)
[SWS_Xfrm_00005] d A transformer shall clearly define the data semantics.
c(SRS_Xfrm_00008) (i.e. representation of data values, e.g. two’s complement for
signed integers, character encoding for textual data, etc.)

14 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

[SWS_Xfrm_00006] d A transformer shall clearly define the source (=target) data type
of the data represented by the byte array if it is a serializer. c(SRS_Xfrm_00008)
This is determined by the connected PortPrototype/SystemSignal.
[SWS_Xfrm_00007] d A transformer shall clearly define the padding of data.
c(SRS_Xfrm_00008)
All of this information is available statically during RTE generation and can therefore be
"hardcoded" in the transformer implementation.
A transformer gets its input data via a pointer which destination can vary in length.
Therefore, an implementation of a transformer has to cope with input data which are
longer than expected.
[SWS_Xfrm_00008] d The way to deal with unexpected data shall be specified by the
transformer specific SWS. In general the transformer shall discard the unexpected data
but shall tolerate the expected fraction. c(SRS_Xfrm_00005)
This also includes the configurability of the PortInterfaceMapping where it can be
configured that a sender sends more data than the client receives.
[SWS_Xfrm_00049] d An implementation of a transformer shall be able to cope with
NULL_PTR as input data. The detailed behavior shall be specified in the specific trans-
former SWS. c(SRS_Xfrm_00005)
[SWS_Xfrm_00009] d A transformer shall be implemented re-entrant because there
exist valid configurations which can lead to a concurrent execution of a transformer.
c(SRS_Xfrm_00006)
This is independent whether the transformer keeps internal state or not. An explicit
synchronization mechanisms inside the transformer might be necessary.
It is possible to configure for a transformer (which is not the first in the the transformer
chain of the sending side) to have access to the original data sent by the SWC. This
is only supported for the non-first transformers on the sending/calling side (down from
SWC to Rte), not for those on the receiving/called side (up from Rte to SWC). This
configuration can be set in the [3, System Template]. The RTE ensures that the original
data (which still are placed in the context of the SWC) are not modified by the SWC
until the end of the transformer chain.
[SWS_Xfrm_00054] d If a VariableDataPrototype is mapped to multiple ISig-
nals which referr to DataTransformations and if those DataTransforma-
tions referr to the same TransformationTechnologys at the beginning of
their list of ordered references transformer and no XfrmVariableDataPro-
totypeInstanceRef is specified for that TransformationTechnology and no
ComBasedTransformer is included in the transformer chains, the execution should
be optimzed.
As optimization those first transformers should be executed only once and the re-
sult should be taken as input for the further transformers for those ISignals.
c(SRS_Xfrm_00006)

15 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

If multiple transformer chains in case of a signal fanout in RTE have the same set
of transformers at the beginning of the transformer chain, it is possible to optimize
and execute those transformers only once for all transformer chains together. The
result can be shared between all transformer chains. This is only possible if no
ComBasedTransformer is involved.
[SWS_Xfrm_00055] d If the transformer execution is optimized, the XfrmImplemen-
tationMapping shall map all transformers which execution can be optimized to the
same BswModuleEntry. c(SRS_Xfrm_00006)
If the transformer execution is optimized, the name pattern of the transformer function
cannot fulfill the requirements on the name pattern anymore because the same function
transforms data for multiple ISignals.

Configuration Generated Code

Sending Can be Sending


Application Application
SWC
combined SWC

Transformer 1 Transformer 1 Transformer 1

Transformer 2 Transformer 3 Transformer 2 Transformer 3

Transformer 4 Transformer 4

Transformer 5 Transformer 5

Transformer 6 Transformer 6

Receiving Receiving
ISignal1 Application ISignal2 ISignal1 Application ISignal2
SWC SWC

Figure 7.2: Example of a transformer optimization

7.1 Buffer Handling


A transformer will usually work on the data and/or generate some protocol information
which are stored in a header and/or footer of the output. Therefore it needs a place
to write the result to. Transformers can work with two buffer handling modes: In-place
buffer and out-of-place buffer. Which one is used is determined by the configuration in
the [3, System Template] and influences the transformer’s interface.

16 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

[SWS_Xfrm_00010] d A transformer which uses in-place buffering shall use the in-
put buffer also as output buffer. (See [SWS_Xfrm_00040] and [SWS_Xfrm_00045])
c(SRS_Xfrm_00003)
In this case, the transformation function takes just one buffer pointer argument
[SWS_Xfrm_00011] d A transformer which uses out-of-place buffering shall work
with two buffers: One for the input to the transformer and one for its output.
c(SRS_Xfrm_00003)
[SWS_Xfrm_00012] d A transformer which uses out-of-place buffering shall not alter
the data of the input buffer. c(SRS_Xfrm_00003)
The Rte allocates the buffers that are used by the transformers. It calculates the
needed buffer size which is needed in worst case for the output.
Depending on the specific place of a transformer inside the transformer chain, not all
transformers are able to use in-place buffering because a transformer is not allowed
modify the original data in the context of the SWC. Also the last transformer on the
receiving side cannot use in-place as it has to write its result directly into the buffer of
the SWC.
[SWS_Xfrm_00013] d The first transformer in the chain on the sending side shall use
out-of-place buffering. c(SRS_Xfrm_00003)
[SWS_Xfrm_00014] d The last transformer in the chain on the receiving side shall use
out-of-place buffering. c(SRS_Xfrm_00003)

7.2 Transformer Classes


Different kinds of transformers exist which fulfill totally different functionality. Hence the
transformers are categorized into classes.
A transformer class shall contain all transformers which provide similar functionality. At
most one transformer of each transformer class shall be allowed per transformer chain.
Currently, the following transformer classes are defined:
• Serializer
• Safety
• Security
• Custom
Further transformer classes might be specified in future AUTOSAR releases.

17 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

7.2.1 Serializer

A serializer transformer accepts complex data (either a Sender/Receiver data element


or a Client/Server operation with its arguments) from the RTE and provides the result-
ing byte array as a signal or part of IPdu, which is finally transmitted to the receiver by
COM.
[SWS_Xfrm_00017] d A serializer shall take data elements (complex or atomic) and
serialize them into a linear representation (byte array). c(SRS_Xfrm_00001)
[SWS_Xfrm_00018] d The serialization algorithm shall be defined for all possible com-
plex data input. c(SRS_Xfrm_00001)
[SWS_Xfrm_00048] d A deserializer transformer (serializer transformer on receiver
side) shall be able to return all or a subset of the deserialized data to the RTE.
c(SRS_Xfrm_00001, SRS_Xfrm_00007)
The [4, SOME/IP Transformer] is a serializer transformer standardized by AUTOSAR.

7.2.2 Safety

A safety transformer protects the communication against unintentional modifications to


ensure a safe data transmission.
[SWS_Xfrm_00019] d A safety transformer shall protect the inter-ECU communication
of safety related SWCs. c(SRS_Xfrm_00001)
[SWS_Xfrm_00020] d A safety transformer shall ensure the correct order of data trans-
missions. c(SRS_Xfrm_00001)
[SWS_Xfrm_00021] d A safety transformer shall ensure the correct content of data
transmissions. c(SRS_Xfrm_00001)
This could be done for example by adding sequence counters and checksums which
fulfill the safety requirements.

7.2.3 Security

A security transformer protects the communication against intentional modifications to


ensure security of the bus communication.
[SWS_Xfrm_00022] d A security transformer shall protect the inter-ECU communica-
tion of security related SWCs. c(SRS_Xfrm_00001)
[SWS_Xfrm_00023] d A security transformer shall ensure the authenticity of data
transmissions. c(SRS_Xfrm_00001)
[SWS_Xfrm_00024] d A security transformer shall ensure the integrity of data trans-
missions. c(SRS_Xfrm_00001)

18 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

[SWS_Xfrm_00025] d A security transformer shall ensure the freshness of data trans-


missions. c(SRS_Xfrm_00001)
This could be done for example by adding sequence counters and checksums which
fulfill the security requirements.

7.2.4 Custom

Custom transformers are not specified by AUTOSAR but can be specified by any party
in the development workflow to implement a transformer which is not standardized.
Custom transformers can be implemented as CDDs.

7.3 Error Handling


The transformers return errors to the RTE which coordinates the further execution and
the notifications of errors up to the SWC.
[SWS_Xfrm_00026] d Transformers shall return errors to the RTE as return codes.
c(SRS_Xfrm_00004)
The RTE decides on the return codes whether to continue the execution of the trans-
former chain or abort.
There exist two different kinds of transformer errors: Soft Errors and Hard Errors. If a
transformer returns a soft error, the Rte continues with the execution of the transformer
chain. If a transformer returns a hard error,the Rte aborts the execution of the trans-
former chain because the error was so severe that there are no meaningful data for the
next transformer in the chain.
The value range of errors is divided:
• 0x00: Success
• 0x01 - 0x7F: Soft Errors
• 0x80 - 0xFF: Hard Errors
[SWS_Xfrm_00027] d If a transformer cannot generate a valid output, it shall return a
hard error. c(SRS_Xfrm_00004)
[SWS_Xfrm_00051] d If a transformer returns a hard error, it shall leave the output
buffer unchanged c(SRS_Xfrm_00004)
[SWS_Xfrm_00028] d If a transformer produces an output but wants to signal warning
to the SWC, it shall return a soft error. c(SRS_Xfrm_00004)
For each transformer class, a fixed error set is defined.

19 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

[SWS_Xfrm_00029] d Each transformer class shall have its own set of abstract errors.
c(SRS_Xfrm_00004, SRS_Xfrm_00010)
[SWS_Xfrm_00030] d Each transformer shall return only errors which are a subset
of the errors defined for the transformer’s transformer class. c(SRS_Xfrm_00004,
SRS_Xfrm_00010, SRS_Xfrm_00011)

7.3.1 Errors of Serializer Transformers

[SWS_Xfrm_00031] d A serializer transformer shall return one of the following errors:

Error Name Error Error Description


Code Type
E_OK 0x00 - Serialization was successful.
E_SER_GENERIC_ERROR 0x80 Hard A generic not precisely detailed error
occured.
E_SER_MALFORMED_ 0x81 Hard The received message is malformed.
MESSAGE The transformer is not able to produce
an output.
E_SER_SERVICE_UNKNOWN 0x82 Hard The service of the data is unknown.
E_SER_WRONG_VERSION 0x83 Hard The version of the receiving transformer
didn’t match the sending transformer.

c(SRS_Xfrm_00010)

7.3.2 Errors of Safety Transformers

[SWS_Xfrm_00032] d A safety transformer shall return one of the following errors:

Error Name ErrorError Description


Code Type
E_OK 0x00 - The communication is safe.
E_SAFETY_VALID_REP 0x01 Soft The data are valid according to
safety, although data with a re-
peated counter were received.
E_SAFETY_VALID_SEQ 0x02 Soft The data are valid according to
safety, although a counter jump
occurred.
E_SAFETY_VALID_ERR 0x03 Soft The data are valid according to
safety, although the check itself
failed.
E_SAFETY_NODATA_OK 0x20 Soft No data are available since ini-
tialization of transformer.

20 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Error Name Error Error Description


Code Type
E_SAFETY_NODATA_REP 0x21 Soft No data are available since
initialization of transformer be-
cause a repeated counter was
received.
E_SAFETY_NODATA_SEQ 0x22 Soft No data are available since ini-
tialization of transformer and a
counter jump occurred.
E_SAFETY_NODATA_ERR 0x23 Soft No data are available since ini-
tialization of transformer. There-
fore the check failed.
E_SAFETY_INIT_OK 0x30 Soft Not enough data were received
to use them.
E_SAFETY_INIT_REP 0x31 Soft Not enough data were received
to use them but some with a re-
peated counter were received.
E_SAFETY_INIT_SEQ 0x32 Soft Not enough data were received
to use them, additionally a
counter jump occurred.
E_SAFETY_INIT_ERR 0x33 Soft Not enough data were received
to use them, additionally a check
failed.
E_SAFETY_INVALID_OK 0x40 Soft The data are invalid and cannot
be used.
E_SAFETY_INVALID_REP 0x41 Soft The data are invalid and can-
not be used because a repeated
counter was received.
E_SAFETY_INVALID_SEQ 0x42 Soft The data are invalid and cannot
be used due to a counter jump.
E_SAFETY_INVALID_ERR 0x43 Soft The data are invalid and cannot
be used because a check failed.
E_SAFETY_SOFT_RUNTIMEERROR 0x77 Soft A runtime error occured, safety
properties could not be checked
(state or status cannot be deter-
mined) but non-protected output
data could be produced nonethe-
less.
E_SAFETY_HARD_RUNTIMEERROR 0xFF Hard A runtime error occured, safety
properties could not be checked
and no output data could be pro-
duced.

c(SRS_Xfrm_00010)

21 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

7.3.3 Errors of Security Transformers

[SWS_Xfrm_00033] d A security transformer shall return one of the following errors:

Error Name Error Error Description


Code Type
E_OK 0x00 - The communication is secure.
E_SEC_NOT_AUTH 0x01 Soft The data was not authenticated cor-
rectly.
E_SEC_NOT_FRESH 0x02 Soft The data was not fresh.

c(SRS_Xfrm_00010)

7.3.4 Errors of Custom Transformers

[SWS_Xfrm_00050] d A custom transformer shall return one of the custom errors


specified for the custom transformer:

Error Name Error Error Description


Code Type
E_OK 0x00 - No error occured.
0x01 Soft A transformer specific soft error oc-
- cured.
0x7F
0x80 Hard A transformer specific hard error oc-
- cured.
0xFF

c(SRS_Xfrm_00010)

7.4 Development Errors


[SWS_Xfrm_00061] d

Type of error Related error code Value


Error code if any other API service, <MIP>_E_UNINIT 0x01
except GetVersionInfo is called
before the transformer module was
initialized with Init or after a call to
DeInit
Error code if an invalid configuration <MIP>_E_INIT_FAILED 0x02
set was selected

22 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

API service called with wrong <MIP>_E_PARAM 0x03


parameter
API service called with invalid pointer <MIP>_E_PARAM_POINTER 0x04

where MIP is the Module Implementation Prefix of the transformer as defined in


[SWS_BSW_00102] totally written in uppercase. c(SRS_BSW_00337)

7.5 Production Errors


No production errors are specified for transformers.

7.6 Extended Production Errors


This chapter list and specifies the Extended Production Errors for transformers.

7.6.1 XFRM_E_MALFORMED_MESSAGE

[SWS_Xfrm_00070] d

Error Name: XFRM_E_MALFORMED_MESSAGE


Short Transformer not able to produce output due to malformed message content.
Description:
Long Description: The data handed over to the transformer was malformed. The transformer
was not able to produce an output based on the input because it was
malformed.
Fail The format of the transformer’s input doesn’t
Detection Criteria: conform to the specification of the specific
transformer.
PASS The format of the transformer’s input conforms to
the specification of the specific transformer.
Secondary N/A
Parameters:
Time Required: N/A
Monitor On every execution of transformer.
Frequency:

c(SRS_BSW_00466, SRS_BSW_00469)
[SWS_Xfrm_00071] d The Extended Production Error
XFRM_E_MALFORMED_MESSAGE shall exist for every transformer which has
XFRM_E_MALFORMED_MESSAGE set. c(SRS_BSW_00466, SRS_BSW_00469)

23 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

7.7 Error Notification


Defined in [2, SWS BSW General].

24 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

8 API specification

8.1 Imported types


[SWS_Xfrm_00034] d A transformer shall use the ImplementationDataTypes
defined by RTE in the transformer’s Module Interlink Types Header file.
c(SRS_Xfrm_00002)
Module Interlink Types Header file, see [SWS_Rte_07503].

8.2 Type definitions


[SWS_Xfrm_00060] d

Name <Mip>_ConfigType
Type Structure
Element: void implementation specific –
Description This is the type of the data structure containing the initialization data for
the transformer.

Table 8.1: <Mip>_ConfigType

c(SRS_BSW_00404, SRS_BSW_00441)

8.3 Function definitions


This section defines the generic interfaces of all transformers. These are detailed by
the specifications of the specific transformer modules.
[SWS_Xfrm_00062] d The name pattern transformerId should be used for the APIs
which belong to the BswModuleEntry referenced from a XfrmImplementation-
Mapping:
• Com_<ComSignalName> if no XfrmVariableDataPrototypeInstanceRef
exists in the XfrmImplementationMapping and XfrmISignalRef is used in
XfrmSignal and the data are sent/received using Com module.
• Com_<ComSignalGroupName> if no XfrmVariableDataPrototypeIn-
stanceRef exists in the XfrmImplementationMapping and XfrmISignal-
Ref is used in XfrmSignal and the data are sent/received using Com module.
• LdCom_<LdComIpduName> if no XfrmVariableDataPrototypeIn-
stanceRef exists in the XfrmImplementationMapping and the data
are sent/received using LdCom module.

25 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

• <ComponentName>_<p>_<o> if XfrmVariableDataPrototypeIn-
stanceRef exists.
where
• <ComponentName> is the shortName of the SwComponentPrototype which
describes the context of XfrmVariableDataPrototypeInstanceRef.
• <p> is the shortName of the PortPrototype which describes the context of
XfrmVariableDataPrototypeInstanceRef. (This is comparable to p used
in the RTE APIs.)
• <o> is the shortName of the VariableDataPrototype referenced by Xfrm-
VariableDataPrototypeInstanceRef. (This is comparable to o used in the
RTE APIs.)
• <ComSignalName> is the shortName of ComSignal which references the
ISignal (using ComSystemTemplateSystemSignalRef that references
ISignalToIPduMapping which references the ISignal) that references the
DataTransformation.
• <ComSignalGroupName> is the shortName of ComSignalGroup which ref-
erences the ISignalGroup (using ComSystemTemplateSystemSignal-
GroupRef that references ISignalToIPduMapping which references the
ISignalGroup) that references the DataTransformation.
• <LdComIpduName> is the shortName of LdComIPdu which references
the ISignal (using LdComSystemTemplateSignalRef that references
ISignalToIPduMapping which references the ISignal) that references the
DataTransformation.
c(SRS_Xfrm_00002)
The name pattern for transformerId is not necessary from the technical point of
view to get the transformer working but defines a reliable pattern which simplifies the
understandability.

8.3.1 <Mip>_<transformerId>

[SWS_Xfrm_00036] d

Service name: <Mip>_<transformerId>


Syntax: uint8 <Mip>_<transformerId>(
uint8* buffer,
uint16* bufferLength,
const <type>* dataElement
)
Service ID[hex]: 0x03
Sync/Async: Synchronous

26 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Reentrancy: Reentrant
Parameters (in): dataElement Data element which shall be transformed
Parameters (in- None
out):
Parameters buffer Buffer allocated by the RTE, where the transformed
(out): data has to be stored by the transformer
bufferLength Used length of the buffer
Return value: uint8 0x00 (E_OK): Transformation successful 0x01 - 0xff:
Specific errors
Description: This function is the interface of the first transformer in a
transformer chain of Sender/Receiver communication.

The length of the transformed data shall be calculated


by the transformer during runtime and returned in the
OUT parameter bufferLength. It may be smaller than the
maximum buffer size used by the RTE for buffer allocation.

Table 8.2: Xfrm_transformerId1

where
• type is data type of the data element
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
• transformerId is the name pattern for the transformer specified in
[SWS_Xfrm_00062].
c(SRS_Xfrm_00002)
This function specified in [SWS_Xfrm_00036] exists on the sender side for each trans-
formed Sender/Receiver communication which uses transformation.
[SWS_Xfrm_00037] d The function <Mip>_<transformerId> specified in
[SWS_Xfrm_00036] shall exist for the first reference in the list of ordered references
transformer from a DataTransformation to a TransformationTechnology
if the DataTransformation is referenced by an ISignal in the role dataTrans-
formation where the ISignal references a SystemSignal which is referenced
by SenderReceiverToSignalMapping, a SenderRecRecordElementMapping
or a SenderRecArrayElementMapping. c(SRS_Xfrm_00002)
[SWS_Xfrm_00038] d

Service name: <Mip>_<transformerId>

27 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Syntax: uint8 <Mip>_<transformerId>(


const Rte_Cs_TransactionHandleType *TransactionHandle,
uint8 *buffer,
uint16 *bufferLength,
[Std_ReturnType returnValue,]
[<type> data_1,] ...
[<type> data_n]
)
Service ID[hex]: 0x03
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): TransactionHandle Transaction handle according to
[SWS_Rte_08732] (clientId and
sequenceCounter) needed to differentiate
between multiple requests.
returnValue Return value of the server runnable which needs
to be transformed on server side for transmission
to the calling client. This argument is only
available for serializers of the response of a
Client/Server communication.
data_1 Client/Server operation argument which shall be
transformed (in the same order as in the
corresponding interface)
... ...
data_n Client/Server operation argument which shall be
transformed (in the same order as in the
corresponding interface)
Parameters None
(inout):
Parameters (out): buffer Buffer allocated by the RTE, where the
transformed data has to be stored by the
transformer
bufferLength Used length of the buffer
Return value: uint8 0x00 (E_OK): Transformation successful
0x01 - 0xff: Specific errors
Description: This function is the interface of the first transformer in a transformer chain of
Client/Server communication. It takes the operation arguments and optionally
the return value as input and outputs an uint8 array containing the
transformed data.

The length of the transformed data shall be calculated by the transformer


during runtime and returned in the OUT parameter bufferLength. It may be
smaller than the maximum buffer size used by the RTE for buffer allocation.

where
• type is data type of the data element
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
• transformerId is the name pattern for the transformer specified in
[SWS_Xfrm_00062].

28 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

c(SRS_Xfrm_00002)
Please note that both the IN and IN/OUT arguments of the ClientServerOpera-
tion which are transformed are IN arguments from the transformer’s point of view
because both are only read by the transformer and not written.
For the arguments of ClientServerOperation which are handed over to the
transformer as data_1, ..., data_n the requirements to API parameters stated in
chapter API Parameters of [5, SWS RTE] are valid (especially [SWS_Rte_01017],
[SWS_Rte_01018] and [SWS_Rte_05107]).
[SWS_Xfrm_00039] d The function <Mip>_<transformerId> specified in
[SWS_Xfrm_00038] shall exist for the first reference in the list of ordered refer-
ences transformer from a DataTransformation to a TransformationTech-
nology if the DataTransformation is referenced by an ISignal in the role
dataTransformation where the ISignal references a SystemSignal which
is referenced by ClientServerToSignalMapping in the callSignal or re-
turnSignal. c(SRS_Xfrm_00002)
[SWS_Xfrm_00040] d

Service name: <Mip>_<transformerId>


Syntax: uint8 <Mip>_<transformerId>(
uint8 *buffer,
uint16 *bufferLength,
[const uint8 *inputBuffer,]
uint16 inputBufferLength,
[<originalData1>, ...
<originalDataN>]
)
Service ID[hex]: 0x03
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): inputBuffer This argument only exists for transformers
configured for out-of-place transformation. It holds
the input data for the transformer.
If executeDespiteDataUnavailability is
set to true and the transformer is exevcuted
without valid input data, Rte will hand over a NULL
pointer to the transformer.
inputBufferLength This argument holds the length of the
transformer’s input data (in the inputBuffer
argument).
If executeDespiteDataUnavailability is
set to true and the transformer is exevcuted
without valid input data, the length will be equal to
0.

29 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

<originalData> These arguments only exists for transformers on


the sending side that are configured for access to
the original data.
• This denotes the data element represented
by the VariableDataPrototype if a
Sender/Receiver communication is
transformed.
• This denotes all arguments of the
ClientServerOperation if a
Client/Server communication is
transformed.

Parameters buffer This argument is only an INOUT argument for


(inout): transformers which are not configured for
out-of-place transformation. It is the buffer where
the input data are placed by the RTE and which is
filled by the transformer with its output. This
parameter points to the buffer with the output of
the previous transformer. If the current transformer
has a headerLength different from 0, the output
data of the previous transformer begin at position
headerLength.
Parameters (out): buffer This argument is only an OUT argument for
transformers configured for out-of-place
transformation. It is the buffer allocated by the
RTE, where the transformed data has to be stored
by the transformer
bufferLength Used length of the buffer
Return value: uint8 0x00 (E_OK): Transformation successful
0x01 - 0xff: Specific errors
Description: This function is the interface of a transformer which is not the first transformer
in a transformer chain. It takes the output of an earlier transformer in the
chain and transforms the data.

The length of the transformed data shall be calculated by the transformer


during runtime and returned in the OUT parameter bufferLength. It may be
smaller than the maximum buffer size used by the RTE for buffer allocation.

where
• type is data type of the data element
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
• transformerId is the name pattern for the transformer specified in
[SWS_Xfrm_00062].
c(SRS_Xfrm_00002)
[SWS_Xfrm_00041] d The function <Mip>_<transformerId> specified in
[SWS_Xfrm_00040] shall exist for the non-first reference in the list of ordered refer-
ences transformer from a DataTransformation to a TransformationTech-

30 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

nology if the DataTransformation is referenced by an ISignal in the role data-


Transformation. c(SRS_Xfrm_00002)
[SWS_Xfrm_00052] d Each function that satisfies the name pattern
<Mip>_<transformerId> (independent from the position in the transformer
chain) shall implement its BswModuleEntry which has the same shortName and is
referenced by XfmTransformationBswModuleEntryRef. c(SRS_Xfrm_00002)
[SWS_Xfrm_00056] d If the transformer execution is optimized and one function trans-
forms data (independent from the position in the transformer chain) for multiple ISig-
nals, the <sigName> of the functions name pattern (<Mip>_<transformerId>)
may be any shortName of any ISignal which is transformed by that BswModuleEn-
try. c(SRS_Xfrm_00006)

8.3.2 <Mip>_Inv_<transformerId>

[SWS_Xfrm_00042] d

Service name: <Mip>_Inv_<transformerId>


Syntax: uint8 <Mip>_Inv_<transformerId>(
const uint8* buffer,
uint16 bufferLength,
<type>* dataElement
)
Service ID[hex]: 0x04
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): buffer Buffer allocated by the RTE, where the still serial-
ized data are stored by the Rte
bufferLength Used length of the buffer
Parameters (in- None
out):
Parameters dataElement Data element which is the result of the transforma-
(out): tion and contains the deserialized data element
Return value: uint8 0x00 (E_OK): Transformation successful 0x01 - 0xff:
Specific errors
Description: This function is the interface of a first transformer in a trans-
former chain of Sender/Receiver communication (this is the
last executed transformer on the receiving side!).

Table 8.3: Xfrm_Inv_transformerId1

where
• type is data type of the data element

31 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

• Mip is the Module Implementation Prefix of the transformer as defined in


[SWS_BSW_00102]
• transformerId is the name pattern for the transformer specified in
[SWS_Xfrm_00062].
c(SRS_Xfrm_00002)
[SWS_Xfrm_00043] d The function <Mip>_Inv_<transformerId> specified in
[SWS_Xfrm_00042] shall exist for the first reference in the list of ordered references
transformer from a DataTransformation to a TransformationTechnology
if the DataTransformation is referenced by an ISignal in the role dataTrans-
formation where the ISignal references a SystemSignal which is referenced
by SenderReceiverToSignalMapping, a SenderRecRecordElementMapping
or a SenderRecArrayElementMapping. c(SRS_Xfrm_00002)
[SWS_Xfrm_00044] d

Service name: <Mip>_Inv_<transformerId>


Syntax: uint8 <Mip>_Inv_<transformerId>(
Rte_Cs_TransactionHandleType *TransactionHandle,
const uint8 *buffer,
uint16 bufferLength,
[Std_ReturnType *returnValue,]
<type> *data_1, ...
<type> *data_n
)
Service ID[hex]: 0x04
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): buffer Buffer allocated by the RTE, where the still
transformed data are stored by the Rte
bufferLength Used length of the buffer
Parameters None
(inout):
Parameters (out): TransactionHandle Transaction handle according to
[SWS_Rte_08732] (clientId and
sequenceCounter) needed to differentiate
between multiple requests.
returnValue Return value of the server runnable which needs
to be transformed on server side for transmission
to the calling client. This argument is only
available for serializers of the response of a
Client/Server communication.
data_1 Client/Server operation argument which shall be
transformed (in the same order as in the
corresponding interface)
... ...
data_n Client/Server operation argument which shall be
transformed (in the same order as in the
corresponding interface)
Return value: uint8 0x00 (E_OK): Transformation successful
0x01 - 0xff: Specific errors

32 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Description: This function is the interface of the first transformer in a transformer chain of
Client/Server communication (this is the last executed transformer on the
receiving side!). It takes the operation arguments and optionally the return
value as input and outputs an uint8 array containing the transformed data.

The length of the transformed data shall be calculated by the transformer


during runtime and returned in the OUT parameter bufferLength. It may be
smaller than the maximum buffer size used by the RTE for buffer allocation.

where
• type is data type of the data element
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
• transformerId is the name pattern for the transformer specified in
[SWS_Xfrm_00062].
c(SRS_Xfrm_00002)
Please note that both the IN/OUT and OUT arguments of the ClientServerOpera-
tion which are transformed are OUT arguments from the transformer’s point of view
because both are only written by the transformer and not read.
For the arguments of ClientServerOperation which are handed over to the
transformer as data_1, ..., data_n the requirements to API parameters stated in
chapter API Parameters of [5, SWS RTE] are valid (especially [SWS_Rte_01019],
[SWS_Rte_07082] and [SWS_Rte_05108]).
[SWS_Xfrm_00045] d The function <Mip>_Inv_<transformerId> specified in
[SWS_Xfrm_00044] shall exist for the first reference in the list of ordered refer-
ences transformer from a DataTransformation to a TransformationTech-
nology if the DataTransformation is referenced by an ISignal in the role
dataTransformation where the ISignal references a SystemSignal which
is referenced by ClientServerToSignalMapping in the callSignal or re-
turnSignal. c(SRS_Xfrm_00002)
[SWS_Xfrm_00046] d

Service name: <Mip>_Inv_<transformerId>


Syntax: uint8 <Mip>_Inv_<transformerId>(
uint8 *buffer,
uint16 *bufferLength,
[const uint8 *inputBuffer,]
uint16 inputBufferLength
)
Service ID[hex]: 0x04
Sync/Async: Synchronous
Reentrancy: Reentrant

33 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Parameters (in): inputBuffer This argument only exists for transformers


configured for out-of-place transformation.
It holds the input data for the transformer. If
executeDespiteDataUnavailability is set
to true, Rte will hand over a NULL pointer to the
transformer.
inputBufferLength This argument holds the length of the
transformer’s input data (in the inputBuffer
argument). If
executeDespiteDataUnavailability is set
to true, the length will be equal to 0.
Parameters buffer This argument is only an INOUT argument for
(inout): transformers which are not configured for
out-of-place transformation. It is the buffer where
the input data are placed by the RTE and which is
filled by the transformer with its output.
Parameters (out): buffer This argument is only an OUT argument for
transformers configured for out-of-place
transformation. It is the buffer allocated by the
RTE, where the transformed data has to be stored
by the transformer
bufferLength Here, the transformer informs the Rte how large
the output data really were. It is possible that the
length of the output is shorter than the maximum
buffer size allocated.
Return value: uint8 0x00 (E_OK): Transformation successful
0x01 - 0xff: Specific errors
Description: This function is the interface of a transformer which is not the first transformer
in a transformer chain. It takes the output of an earlier transformer in the
chain and transforms the data.

The length of the transformed data shall be calculated by the transformer


during runtime and returned in the OUT parameter bufferLength. It may be
smaller than the maximum buffer size used by the RTE for buffer allocation.

where
• type is data type of the data element
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
• transformerId is the name pattern for the transformer specified in
[SWS_Xfrm_00062].
c(SRS_Xfrm_00002)
[SWS_Xfrm_00047] d The function <Mip>_Inv_<transformerId> specified in
[SWS_Xfrm_00046] shall exist for the non-first reference in the list of ordered refer-
ences transformer from a DataTransformation to a TransformationTech-
nology if the DataTransformation is referenced by an ISignal in the role data-
Transformation. c(SRS_Xfrm_00002)

34 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

[SWS_Xfrm_00053] d Each function that satisfies the name pattern


<Mip>_Inv_<transformerId> (independent from the position in the trans-
former chain) shall implement its BswModuleEntry which has the same short-
Name and is referenced by XfmInvTransformationBswModuleEntryRef.
c(SRS_Xfrm_00002)

8.3.3 <Mip>_Init

[SWS_Xfrm_00058] d

Service name: <Mip>_Init


Syntax: void <Mip>_Init(
const <Mip>_ConfigType* config
)
Service ID[hex]: 0x01
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): config Pointer to the transformer’s configuration data.
Parameters (in- None
out):
Parameters None
(out):
Return value: None
Description: This service initializes the transformer for the further pro-
cessing.

Table 8.4: Xfrm_Init

where
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
c(SRS_BSW_00407, SRS_BSW_00411)

8.3.4 <Mip>_DeInit

[SWS_Xfrm_00059] d

Service name: <Mip>_DeInit


Syntax: void <Mip>_DeInit(
void
)
Service ID[hex]: 0x02
Sync/Async: Synchronous

35 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Reentrancy: Reentrant
Parameters (in): None
Parameters (in- None
out):
Parameters None
(out):
Return value: None
Description: This service deinitializes the transformer.

Table 8.5: Xfrm_DeInit

where
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
c(SRS_BSW_00407, SRS_BSW_00411)

8.3.5 <Mip>_GetVersionInfo

[SWS_Xfrm_00057] d

Service name: <Mip>_GetVersionInfo


Syntax: void <Mip>_GetVersionInfo(
Std_VersionInfoType* VersionInfo
)
Service ID[hex]: 0x00
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): None
Parameters (in- None
out):
Parameters VersionInfo Pointer to where to store the version information of
(out): this module.
Return value: None
Description: This service returns the version information of the called
transformer module.

Table 8.6: Xfrm_GetVersionInfo

where
• Mip is the Module Implementation Prefix of the transformer as defined in
[SWS_BSW_00102]
c(SRS_BSW_00407, SRS_BSW_00411)

36 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

8.4 Callback notifications


There are no callback notifications.

8.5 Scheduled functions


Transformers have no scheduled functions applicable for all transformers.

8.6 Expected interfaces


There are no expected interfaces.

37 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

9 Sequence diagrams
There are no sequence diagrams

38 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into con-
tainers. In order to support the specification section 10.1 describes fundamentals. It
also specifies a template (table) you shall use for the parameter specification. We
intend to leave section 10.1 in the specification to guarantee comprehension.
Sectin 10.2 specifies the structure (containers) and the parameters of transformers.
Transformer are configured on system level in [3, System Template] and on software
component level in [6, Software Component Template]. Out of this information, a basic
EcuC of the transformer can be generated.

10.1 How to read this chapter


For details refer to the [2, chapter 10.1 "Introduction to configuration specification" in
SWS_BSWGeneral]

10.2 Containers and configuration parameters


The following chapters summarize all configuration parameters for a general trans-
former configuration. The detailed meanings of the parameters describe chap-
ter 7 Functional Specification and chapter 8 API specification.
Specific transformers use this EcuC and fill it with their contents. The EcuC should
be created automatically based on the information of DataTransformationSet be-
cause the generator of a transformer has all necessary information.

39 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Xfrm :EcucModuleDef XfrmGeneral : XfrmDevErrorDetect :


+container
EcucParamConfContainerDef +parameter EcucBooleanParamDef
lowerMultiplicity = 0
upperMultiplicity = * lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = 1

+container

XfrmImplementationMapping :
EcucParamConfContainerDef XfrmDemEventParameterRefs : Identifiable
+subContainer
EcucParamConfContainerDef DataTransformation
lowerMultiplicity = 1
upperMultiplicity = * lowerMultiplicity = 0
upperMultiplicity = 1

+transformerChain 1..*
{ordered}
Identifiable
TransformationTechnology
XfrmTransformationTechnologyRef :
+reference EcucForeignReferenceDef

Software Component Template


destinationType = TRANSFORMATION-TECHNOLOGY
AtpPrototype
SwComponentPrototype
XfrmSignal :EcucParamConfContainerDef
+subContainer
AtpBlueprintable
lowerMultiplicity = 1 AtpPrototype
upperMultiplicity = 1 PortPrototype

AutosarDataPrototype
VariableDataPrototype

XfrmVariableDataPrototypeInstanceRef :EcucInstanceReferenceDef

+reference
destinationType = VARIABLE-DATA-PROTOTYPE
destinationContext = SW-COMPONENT-PROTOTYPE PORT-PROTOTYPE
lowerMultiplicity = 0
upperMultiplicity = 1

XfmTransformationBswModuleEntryRef :
EcucForeignReferenceDef
+reference ARElement
destinationType = BSW-MODULE-ENTRY AtpBlueprint
lowerMultiplicity = 0 AtpBlueprintable
upperMultiplicity = 1 BswModuleEntry

XfrmInvTransformerBswModuleEntryRef :
EcucForeignReferenceDef
+reference
destinationType = BSW-MODULE-ENTRY
lowerMultiplicity = 0
upperMultiplicity = 1

Figure 10.1: AR_EcucDef_Xfrm

Module Name Xfrm


Module Description
Post-Build Variant true
Support
Included Containers
Container Name Multiplicity Scope / Dependency
XfrmGeneral 1 Contains the general configuration parameters of the
module.
XfrmImplementation 1..* For each transformer (TransformationTechnology) in a
Mapping transformer chain (DataTransformation) which is
applied to an ISignal it is necessary to specify the
BswModuleEntry which implements it. This is the
container to hold these mappings.

40 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

10.2.1 XfrmGeneral

XfrmGeneral

SWS Item [ECUC_Xfrm_00012]


Container Name XfrmGeneral
Description Contains the general configuration parameters of the module.
Configuration Parameters

Name XfrmDevErrorDetect [ECUC_Xfrm_00013]


Description Switches the Development Error Detection and Notification ON or OFF.
true: Enabled false: Disabled
Multiplicity 1
Type EcucBooleanParamDef
Default Value
Post-Build Variant false
Value
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.2.2 XfrmImplementationMapping

XfrmImplementationMapping

SWS Item [ECUC_Xfrm_00001]


Container Name XfrmImplementationMapping
Description For each transformer (TransformationTechnology) in a transformer
chain (DataTransformation) which is applied to an ISignal it is
necessary to specify the BswModuleEntry which implements it. This is
the container to hold these mappings.
Configuration Parameters

Name XfmTransformationBswModuleEntryRef [ECUC_Xfrm_00004]


Description Reference to the BswModuleEntry which implements the referenced
transformer on the sending/calling side.
Multiplicity 0..1
Type Foreign reference to BSW-MODULE-ENTRY
Post-Build Variant false
Multiplicity
Post-Build Variant false
Value

41 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Multiplicity Pre-compile time X All Variants


Configuration Class
Link time –
Post-build time –
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

Name XfrmInvTransformerBswModuleEntryRef [ECUC_Xfrm_00005]


Description Reference to the BswModuleEntry which implements the referenced
inverse transformer on the receiving/called side.
Multiplicity 0..1
Type Foreign reference to BSW-MODULE-ENTRY
Post-Build Variant false
Multiplicity
Post-Build Variant false
Value
Multiplicity Pre-compile time X All Variants
Configuration Class
Link time –
Post-build time –
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

Name XfrmTransformationTechnologyRef [ECUC_Xfrm_00003]


Description Reference to the TransformationTechnology in the DataTransformation
of the system description for which the implementation
(BswModuleEntry) shall be mapped.
Multiplicity 1
Type Foreign reference to TRANSFORMATION-TECHNOLOGY
false
Post-Build Variant
Value
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

42 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Name XfrmVariableDataPrototypeInstanceRef [ECUC_Xfrm_00011]


Description Instance Reference to a VariableDataPrototype in case a dedicated
transformer BswModuleEntry is required per VariableDataPrototype
access.
Multiplicity 0..1
Type Instance reference to VARIABLE-DATA-PROTOTYPE context: SW-C
OMPONENT-PROTOTYPE PORT-PROTOTYPE
Post-Build Variant false
Multiplicity
Post-Build Variant false
Value
Multiplicity Pre-compile time X All Variants
Configuration Class
Link time –
Post-build time –
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

Included Containers
Container Name Multiplicity Scope / Depedency
XfrmDemEvent 0..1 Container for the references to DemEventParameter
ParameterRefs elements which shall be invoked using the API
Dem_ReportErrorStatus API in case the corresponding
error occurs. The EventId is taken from the referenced
DemEventParameter’s DemEventId value. The
standardized errors are provided in the container and
can be extended by vendor specific error references.
XfrmSignal 1 Reference to the signal in the system description that
transports the transformed data.

[constr_NNN1] d If there exists a XfrmImplementationMapping which references


an ISignal or ISignalGroup sig1 and contains the optional parameter XfrmVari-
ableDataPrototypeInstanceRef, all XfrmImplementationMappings which
reference the same ISignal or ISignalGroup sig1 shall contain a XfrmVariable-
DataPrototypeInstanceRef. c()
This means, if XfrmVariableDataPrototypeInstanceRef is used for one trans-
former in a chain, it also has to be used for all other transformers in that chain.
[constr_NNN2] d The XfrmVariableDataPrototypeInstanceRef shall refer to
the instance of a VariableDataPrototype which belongs to a subclass of an Atom-
icSwComponentType. c()
This means that XfrmVariableDataPrototypeInstanceRef shall referr to a port
of a composition.

43 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

10.2.3 XfrmSignal

XfrmImplementationMapping : +subContainer XfrmSignal :


EcucParamConfContainerDef EcucParamConfContainerDef

lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = * upperMultiplicity = 1

+subContainer

XfrmSignalChoice :EcucChoiceContainerDef

lowerMultiplicity = 1
upperMultiplicity = 1

+choice +choice

XfrmISignalRefChoice : XfrmISignalGroupRefChoice :
EcucParamConfContainerDef EcucParamConfContainerDef

lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = 1

+reference +reference

XfrmISignalRef : XfrmISignalGroupRef :
EcucForeignReferenceDef EcucForeignReferenceDef

destinationType = I-SIGNAL destinationType = I-SIGNAL-GROUP

FibexElement
ISignal

0..* +iSignal

FibexElement
ISignalGroup

«atpVariation,atpSplitable» «atpVariation,atpSplitable»

0..1 +comBasedSignalGroupTransformation
+dataTransformation 0..1
Identifiable
DataTransformation

Figure 10.2: AR_EcucDef_XfrmSignal

XfrmSignal

SWS Item [ECUC_Xfrm_00002]


Container Name XfrmSignal
Description Reference to the signal in the system description that transports the
transformed data.
Configuration Parameters

44 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Included Containers
Container Name Multiplicity Scope / Depedency
XfrmSignalChoice 1 Choice whether an ISignal or an ISignalGroup shall be
[XfrmISignalGroupRef referenced.
Choice, XfrmISignalRef
Choice]

XfrmSignalChoice

SWS Item [ECUC_Xfrm_00006]


Container Name XfrmSignalChoice
Description Choice whether an ISignal or an ISignalGroup shall be referenced.
Configuration Parameters

No Included Containers

XfrmISignalGroupRefChoice

SWS Item [ECUC_Xfrm_00009]


Container Name XfrmISignalGroupRefChoice
Description Reference to the ISignalGroup in the system description that transports
the transformed data.
Configuration Parameters

Name XfrmISignalGroupRef [ECUC_Xfrm_00010]


Description Reference to the ISignalGroup in the system description that transports
the transformed data.
Multiplicity 1
Type Foreign reference to I-SIGNAL-GROUP
false
Post-Build Variant
Value
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

No Included Containers

XfrmISignalRefChoice

SWS Item [ECUC_Xfrm_00007]


Container Name XfrmISignalRefChoice
Description Reference to the ISignal in the system description that transports the
transformed data.

45 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Configuration Parameters

Name XfrmISignalRef [ECUC_Xfrm_00008]


Description Reference to the ISignal in the system description that transports the
transformed data.
Multiplicity 1
Type Foreign reference to I-SIGNAL
false
Post-Build Variant
Value
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.2.4 XfrmDemEventParameterRefs

XfrmImplementationMapping : XfrmDemEventParameterRefs : XFRM_E_MALFORMED_MESSAGE :


EcucParamConfContainerDef +subContainer EcucParamConfContainerDef +reference EcucSymbolicNameReferenceDef

lowerMultiplicity = 1 lowerMultiplicity = 0 lowerMultiplicity = 0


upperMultiplicity = * upperMultiplicity = 1 upperMultiplicity = 1

+destination

DemEventParameter :
EcucParamConfContainerDef

upperMultiplicity = 65535
lowerMultiplicity = 1

(from Dem)

Figure 10.3: AR_EcucDef_XfrmDemEventParameterRefs

XfrmDemEventParameterRefs

SWS Item [ECUC_Xfrm_00016]


Container Name XfrmDemEventParameterRefs
Description Container for the references to DemEventParameter elements which
shall be invoked using the API Dem_ReportErrorStatus API in case the
corresponding error occurs. The EventId is taken from the referenced
DemEventParameter’s DemEventId value. The standardized errors are
provided in the container and can be extended by vendor specific error
references.
Configuration Parameters

46 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Name XFRM_E_MALFORMED_MESSAGE [ECUC_Xfrm_00015]


Description Reference to configured DEM event to report if malformed messages
were received by the transformer.
Multiplicity 0..1
Type Symbolic name reference to DemEventParameter
Post-Build Variant false
Multiplicity
Post-Build Variant false
Value
Multiplicity Pre-compile time X All Variants
Configuration Class
Link time –
Post-build time –
Value Configuration Pre-compile time X All Variants
Class
Link time –
Post-build time –
Scope / Dependency scope: local
dependency: Dem

No Included Containers

47 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

A Referenced Meta Classes


For the sake of completeness, this chapter contains a set of class tables representing
meta-classes mentioned in the context of this document but which are not contained
directly in the scope of describing specific meta-model semantics.

Class AtomicSwComponentType (abstract)


Package M2::AUTOSARTemplates::SWComponentTemplate::Components
Note An atomic software component is atomic in the sense that it cannot be further
decomposed and distributed across multiple ECUs.
Base ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,Atp
Type,CollectableElement,Identifiable,MultilanguageReferrable,Packageable
Element,Referrable,SwComponentType
Attribute Datatype Mul. Kind Note
internalBe SwcInternalBeh 0..1 aggr The SwcInternalBehaviors owned by an
havior avior AtomicSwComponentType can be located in a
different physical file. Therefore the aggregation is
«atpSplitable».

Stereotypes: atpSplitable; atpVariation


Tags: atp.Splitkey=internalBehavior, variation
Point.shortLabel
vh.latestBindingTime=preCompileTime
symbolPro SymbolProps 0..1 aggr This represents the SymbolProps for the
ps AtomicSwComponentType.

Stereotypes: atpSplitable
Tags: atp.Splitkey=shortName

Table A.1: AtomicSwComponentType

Class BswModuleEntry
Package M2::AUTOSARTemplates::BswModuleTemplate::BswInterfaces
Note This class represents a single API entry (C-function prototype) into the BSW module
or cluster.

The name of the C-function is equal to the short name of this element with one
exception: In case of multiple instances of a module on the same CPU, special rules
for "infixes" apply, see description of class BswImplementation.

Tags: atp.recommendedPackage=BswModuleEntrys
Base ARElement,ARObject,AtpBlueprint,AtpBlueprintable,Collectable
Element,Identifiable,MultilanguageReferrable,PackageableElement,Referrable
Attribute Datatype Mul. Kind Note
argument SwServiceArg * aggr An argument belonging to this BswModuleEntry.
(ordered)
Stereotypes: atpVariation
Tags: vh.latestBindingTime=blueprintDerivation
Time
xml.sequenceOffset=45

48 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


callType BswCallType 1 attr The type of call associated with this service.

Tags: xml.sequenceOffset=25
executionC BswExecutionC 1 attr Specifies the execution context which is required
ontext ontext (in case of entries into this module) or guaranteed
(in case of entries called from this module) for this
service.

Tags: xml.sequenceOffset=30
isReentran Boolean 1 attr Reentrancy from the viewpoint of function callers:
t
• True: Enables the service to be invoked
again, before the service has finished.
• False: It is prohibited to invoke the service
again before is has finished.

Tags: xml.sequenceOffset=15
isSynchron Boolean 1 attr Synchronicity from the viewpoint of function
ous callers:
• True: This calls a synchronous service, i.e.
the service is completed when the call
returns.
• False: The service (on semantical level)
may not be complete when the call returns.

Tags: xml.sequenceOffset=20
returnType SwServiceArg 0..1 aggr The return type belonging to this bswModuleEntry.

Tags: xml.sequenceOffset=40
role Identifier 0..1 ref Specifies the role of the entry in the given context.
It shall be equal to the standardized name of the
service call, especially in cases where no
ServiceIdentifier is specified, e.g. for callbacks.
Note that the ShortName is not always sufficient
because it maybe vendor specific (e.g. for
callbacks which can have more than one
instance).

Tags: xml.sequenceOffset=10
serviceId PositiveInteger 0..1 attr Refers to the service identifier of the Standardized
Interfaces of AUTOSAR basic software. For
non-standardized interfaces, it can optionally be
used for proprietary identification.

Tags: xml.sequenceOffset=5

49 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


swServiceI SwServiceImplP 1 attr Denotes the implementation policy as a standard
mplPolicy olicyEnum function call, inline function or macro. This has to
be specified on interface level because it
determines the signature of the call.

Tags: xml.sequenceOffset=35

Table A.2: BswModuleEntry

Class BufferProperties
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note Configuration of the buffer properties the transformer needs to work.
Base ARObject
Attribute Datatype Mul. Kind Note
bufferCom CompuScale 0..1 aggr If the transformer changes the size of the data, the
putation CompuScale can be used to specify a rule to
derive the size of the output data based on the
size of the input data.
headerLen Integer 1 attr Defines the length of the header (in bits) this
gth transformer will add in front of the data.
inPlace Boolean 1 attr If set, the transformer uses the input buffer as
output buffer.

Table A.3: BufferProperties

Class ClientServerInterface
Package M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
Note A client/server interface declares a number of operations that can be invoked on a
server by a client.

Tags: atp.recommendedPackage=PortInterfaces
Base ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,Atp
Type,CollectableElement,Identifiable,MultilanguageReferrable,Packageable
Element,PortInterface,Referrable
Attribute Datatype Mul. Kind Note
operation ClientServerOp 1..* aggr ClientServerOperation(s) of this
eration ClientServerInterface.

Stereotypes: atpVariation
Tags: vh.latestBindingTime=blueprintDerivation
Time
possibleErr ApplicationError * aggr Application errors that are defined as part of this
or interface.

Table A.4: ClientServerInterface

50 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Class ClientServerOperation
Package M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
Note An operation declared within the scope of a client/server interface.
Base ARObject,AtpClassifier,AtpFeature,AtpStructureElement,Identifiable,Multilanguage
Referrable,Referrable
Attribute Datatype Mul. Kind Note
argument ArgumentDataP * aggr An argument of this ClientServerOperation
(ordered) rototype
Stereotypes: atpVariation
Tags: vh.latestBindingTime=blueprintDerivation
Time
possibleErr ApplicationError * ref Possible errors that may by raised by the referring
or operation.

Table A.5: ClientServerOperation

Class ClientServerToSignalMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note This element maps the ClientServerOperation to call- and return-SystemSignals. The
serialization is defined by the referenced SerializationTechnology.

Tags: atp.Status=draft
Base ARObject,DataMapping
Attribute Datatype Mul. Kind Note
callSignal SystemSignal 1 ref Reference to the callSignal to which the IN and
INOUT ArgumentDataPrototypes are mapped.
clientServe ClientServerOp 1 iref Reference to a ClientServerOperation, which is
rOperation eration mapped to a call SystemSignal and a return
SystemSignal.
lengthClien PositiveInteger 0..1 attr This attribute defines the length of the used client
tId identifier in bits. If the attribute does not exist or its
value is set to 0 this means that the client identifier
is not used.
lengthSeq PositiveInteger 0..1 attr The purpose of a sequence counter is to map a
uenceCou response to the correct request of a known client.
nter This attribute describes the length of the used
sequence counter in bits. If the attribute does not
exist or its value is set to 0 this means that the
sequence counter is not used.
returnSign SystemSignal 0..1 ref Reference to the returnSignal to which the OUT
al and INOUT ArgumentDataPrototypes are
mapped.

Tags: atp.Status=shallBecomeMandatory

Table A.6: ClientServerToSignalMapping

51 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

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 Datatype Mul. Kind Note
executeDe Boolean 1 attr Specifies whether the transformer is executed
spiteDataU even if no input data are available.
navailabilit
y
transform Transformation 1..* ref
erChain Technology
(ordered)

Table A.7: DataTransformation

Class DataTransformationSet
Package M2::AUTOSARTemplates::SystemTemplate::Transformer
Note This element is the system wide container of DataTransformations which represent
transformer chains.
Base ARElement,ARObject,CollectableElement,Identifiable,Multilanguage
Referrable,PackageableElement,Referrable
Attribute Datatype Mul. Kind Note
dataTransf DataTransforma * aggr This container consists of all transformer chains
ormation tion which can be used for transformation of data
communication.

Stereotypes: atpSplitable; atpVariation


Tags: atp.Splitkey=shortName, variation
Point.shortLabel
vh.latestBindingTime=codeGenerationTime
transforma Transformation * aggr Stereotypes: atpSplitable; atpVariationTags: atp.
tionTechno Technology Splitkey=shortName, variationPoint.shortLabel
logy vh.latestBindingTime=codeGenerationTime

Table A.8: DataTransformationSet

52 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

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 must be created for each SystemSignal


contained in the SystemSignalGroup.

Tags: atp.recommendedPackage=ISignals
Base ARObject,CollectableElement,FibexElement,Identifiable,Multilanguage
Referrable,PackageableElement,Referrable
Attribute Datatype Mul. Kind Note
dataTransf DataTransforma 0..1 ref Optional reference to a DataTransformation which
ormation tion 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, variation
Point.shortLabel
vh.latestBindingTime=codeGenerationTime
dataTypeP DataTypePolicy 1 attr With the aggregation of SwDataDefProps an
olicy Enum 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.
iSignalPro ISignalProps 0..1 aggr Additional optional ISignal properties that may be
ps stored in different files.

Stereotypes: atpSplitable
Tags: atp.Splitkey=iSignalProps

53 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


initValue ValueSpecificati 0..1 aggr Optional definition of a ISignal’s initValue in case
on 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


"InitValue".

If a full DataMapping exist for the SystemSignal


this information may be available from a
configured SenderComSpec and
ReceiverComSpec. In this case the initvalues in
SenderComSpec and/or ReceiverComSpec
override this optional value specification. Further
restrictions apply from the RTE specification.
length Integer 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.


networkRe SwDataDefProp 0..1 aggr Specification of the actual network representation.
presentatio s The usage of SwDataDefProps for this purpose is
nProps restricted to 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
"ComSignalDataInvalidValue" and the Data
Semantics.
systemSig SystemSignal 1 ref Reference to the System Signal that is supposed
nal to be transmitted in the ISignal.

54 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


transforma TransformationI * aggr A transformer chain consists of an ordered list of
tionISignal SignalProps transformers. The ISignal specific configuration
Props 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.

Table A.9: ISignal

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,Multilanguage
Referrable,PackageableElement,Referrable
Attribute Datatype Mul. Kind Note
comBased DataTransforma 0..1 ref Optional reference to a DataTransformation which
SignalGrou tion represents the transformer chain that is used to
pTransfor transform the data that shall be placed inside this
mation ISignalGroup based on the
COMBasedTransformer approach.

Stereotypes: atpSplitable; atpVariation


Tags: atp.Splitkey=comBasedSignalGroup
Transformation, variationPoint.shortLabel
vh.latestBindingTime=codeGenerationTime
iSignal ISignal * ref Reference to a set of ISignals that shall always be
kept together.
systemSig SystemSignalGr 1 ref Reference to the SystemSignalGroup that is
nalGroup oup defined on VFB level and that is supposed to be
transmitted in the ISignalGroup.
transforma TransformationI * aggr A transformer chain consists of an ordered list of
tionISignal SignalProps transformers. The ISignalGroup specific
Props configuration properties for each transformer are
defined in the TransformationISignalProps class.
The transformer configuration properties that are
common for all ISignalGroups are described in the
TransformationTechnology class.

Table A.10: ISignalGroup

55 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

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 Datatype Mul. Kind Note
iSignal ISignal 0..1 ref Reference to a ISignal that is mapped into the
ISignalIPdu.

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.
iSignalGro ISignalGroup 0..1 ref Reference to an ISignalGroup that is mapped into
up the SignalIPdu. If an ISignalToIPduMapping for an
ISignalGroup 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.
packingByt ByteOrderEnum 0..1 attr This parameter defines the order of the bytes of
eOrder the signal 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.

56 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


startPositio Integer 0..1 attr This parameter is necessary to describe the
n 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".

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.
transferPro TransferPropert 0..1 attr The triggered or triggeredOnChange,
perty yEnum triggeredWithoutRepetition and
triggeredOnChangeWithoutRepetition
transferProperty causes immediate transmission
of the IPdu, except if transmission mode Periodic
or transmission mode NONE is defined for the
IPdu. The Pending transfer property does not
cause transmission of an I-PDU.

The immediate transmission of the IPdu is caused


even if only one Signal of an IPdu has the
transferProperty triggered or
triggeredWithoutRepetition or triggeredOnChange
or triggeredOnChangeWithoutRepetition and all
other Signals have the transferProperty pending.

Also for ISignals of an ISignalGroup


(GroupSignals) this attribute is relevant and shall
be evaluated:
• If none of the ISignals belonging to the
ISignalGroup have a transferProperty
defined the transferProperty of the
ISignalToPduMapping referring to the
ISignalGroup is considered.
• If at least one of the ISignals belonging to
the ISignalGroup has a transferProperty
defined all other ISignals belonging to the
same ISignalGroup shall have a
transferProperty defined as well. All of the
transferProperties of the GroupSignals are
considered.

57 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


updateIndi Integer 0..1 attr The UpdateIndicationBit indicates to the receivers
cationBitP that the signal (or the signal group) was updated
osition 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
mostSignificantByteLast. 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.

Table A.11: ISignalToIPduMapping

Class ImplementationDataType
Package M2::AUTOSARTemplates::CommonStructure::ImplementationDataTypes
Note Describes a reusable data type on the implementation level. This will typically
correspond to a typedef in C-code.

Tags: atp.recommendedPackage=ImplementationDataTypes
Base ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,AtpType,Autosar
DataType,CollectableElement,Identifiable,MultilanguageReferrable,Packageable
Element,Referrable
Attribute Datatype Mul. Kind Note
dynamicAr String 0..1 attr Specifies the profile which the array will follow in
raySizePro case this data type is a variable size array.
file
subElemen Implementation * aggr Specifies an element of an arrray, struct, or union
t (ordered) DataTypeEleme data type.
nt
The aggregation of
ImplementionDataTypeElement is subject to
variability with the purpose to support the
conditional existence of elements inside a
ImplementationDataType representing a structure.

Stereotypes: atpVariation
Tags: vh.latestBindingTime=preCompileTime
symbolPro SymbolProps 0..1 aggr This represents the SymbolProps for the
ps ImplementationDataType.

Stereotypes: atpSplitable
Tags: atp.Splitkey=shortName

58 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


typeEmitte NameToken 0..1 attr This attribute is used to control which part of the
r AUTOSAR toolchain is supposed to trigger data
type definitions.

Table A.12: ImplementationDataType

Class PPortPrototype
Package M2::AUTOSARTemplates::SWComponentTemplate::Components
Note Component port providing a certain port interface.
Base ARObject,AbstractProvidedPortPrototype,AtpBlueprintable,AtpFeature,Atp
Prototype,Identifiable,MultilanguageReferrable,PortPrototype,Referrable
Attribute Datatype Mul. Kind Note
providedInt PortInterface 1 tref The interface that this port provides.
erface
Stereotypes: isOfType

Table A.13: PPortPrototype

Class PortInterfaceMapping (abstract)


Package M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
Note Specifies one PortInterfaceMapping to support the connection of Ports typed by two
different PortInterfaces with PortInterface elements having unequal names and/or
unequal semantic (resolution or range).
Base ARObject,AtpBlueprint,AtpBlueprintable,Identifiable,Multilanguage
Referrable,Referrable
Attribute Datatype Mul. Kind Note
– – – – –

Table A.14: PortInterfaceMapping

Class PortPrototype (abstract)


Package M2::AUTOSARTemplates::SWComponentTemplate::Components
Note Base class for the ports of an AUTOSAR software component.

The aggregation of PortPrototypes is subject to variability with the purpose to support


the conditional existence of ports.
Base ARObject,AtpBlueprintable,AtpFeature,AtpPrototype,Identifiable,Multilanguage
Referrable,Referrable
Attribute Datatype Mul. Kind Note
clientServe ClientServerAnn * aggr Annotation of this PortPrototype with respect to
rAnnotatio otation client/server communication.
n
delegated DelegatedPortA 0..1 aggr Annotations on this delegated port.
PortAnnota nnotation
tion

59 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


ioHwAbstr IoHwAbstraction * aggr Annotations on this IO Hardware Abstraction port.
actionServ ServerAnnotatio
erAnnotati n
on
modePortA ModePortAnnot * aggr Annotations on this mode port.
nnotation ation
nvDataPort NvDataPortAnn * aggr Annotations on this non voilatile data port.
Annotation otation
parameter ParameterPortA * aggr Annotations on this parameter port.
PortAnnota nnotation
tion
senderRec SenderReceiver * aggr Collection of annotations of this ports
eiverAnnot Annotation sender/receiver communication.
ation
triggerPort TriggerPortAnn * aggr Annotations on this trigger port.
Annotation otation

Table A.15: PortPrototype

Class Referrable (abstract)


Package M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Identifiable
Note Instances of this class can be referred to by their identifier (while adhering to
namespace borders).
Base ARObject
Attribute Datatype Mul. Kind Note
shortName Identifier 1 ref This specifies an identifying shortName for the
object. It needs to be unique within its context and
is intended for humans but even more for technical
reference.

Tags: xml.enforceMinMultiplicity=true;
xml.sequenceOffset=-100

Table A.16: Referrable

60 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Class SenderRecArrayElementMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note The SenderRecArrayElement may be a primitive one or a composite one. If the
element is primitive, it will be mapped to the SystemSignal (multiplicity 1). If the
VariableDataPrototype that is referenced by SenderReceiverToSignalGroupMapping
is typed by an ApplicationDataType the reference to the ApplicationArrayElement
shall be used. If the VariableDataPrototype is typed by the ImplementationDataType
the reference to the ImplementationArrayElement shall be used.

If the element is composite, there will be no mapping to the SystemSignal (multiplicity


0). In this case the ArrayElementMapping element will aggregate the TypeMapping
element. In that way also the composite datatypes can be mapped to SystemSignals.

Regardless whether composite or primitive array element is mapped the indexed


element always needs to be specified.
Base ARObject
Attribute Datatype Mul. Kind Note
complexTy SenderRecCom 0..1 aggr This aggregation will be used if the element is
peMapping positeTypeMap composite.
ping
indexedArr IndexedArrayEl 1 aggr Reference to an indexed array element in the
ayElement ement context of the dataElement or in the context of a
composite element.
systemSig SystemSignal 0..1 ref Reference to the system signal used to carry the
nal primitive ApplicationArrayElement.

Table A.17: SenderRecArrayElementMapping

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 applicationRecordElement 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 Datatype Mul. Kind Note
application ApplicationReco 0..1 ref Reference to an ApplicationRecordElement in the
RecordEle rdElement context of the dataElement or in the context of a
ment composite element. This reference shall only be
used if the VariableDataPrototype that is
referenced by the SenderReceiverToSignal-
GroupMapping.dataElement is typed by an
ApplicationDataType.

61 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


complexTy SenderRecCom 0..1 aggr This aggregation will be used if the element is
peMapping positeTypeMap composite.
ping
implement Implementation 0..1 ref Reference to an ImplementationRecordElement in
ationRecor DataTypeEleme the context of the dataElement or in the context of
dElement nt a composite element. This reference shall only be
used if VariableDataPrototype that is referenced
by the SenderReceiverToSignalGroupMap-
ping.dataElement is typed by an
ImplementationDataType.
systemSig SystemSignal 0..1 ref Reference to the system signal used to carry the
nal primitive ApplicationRecordElement.

Table A.18: SenderRecRecordElementMapping

Class SenderReceiverInterface
Package M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
Note A sender/receiver interface declares a number of data elements to be sent and
received.

Tags: atp.recommendedPackage=PortInterfaces
Base ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,Atp
Type,CollectableElement,DataInterface,Identifiable,Multilanguage
Referrable,PackageableElement,PortInterface,Referrable
Attribute Datatype Mul. Kind Note
dataEleme VariableDataPr 1..* aggr The data elements of this
nt ototype SenderReceiverInterface.
invalidation InvalidationPolic * aggr InvalidationPolicy for a particular dataElement
Policy y

Table A.19: SenderReceiverInterface

Class SenderReceiverToSignalMapping
Package M2::AUTOSARTemplates::SystemTemplate::DataMapping
Note Mapping of a sender receiver communication data element with a primitive datatype
to a signal.
Base ARObject,DataMapping
Attribute Datatype Mul. Kind Note
dataEleme VariableDataPr 1 iref Reference to the data element, which ought to be
nt ototype sent over the Communication bus.
systemSig SystemSignal 1 ref Reference to the system signal used to carry the
nal data element.

Table A.20: SenderReceiverToSignalMapping

62 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Class SwComponentPrototype
Package M2::AUTOSARTemplates::SWComponentTemplate::Composition
Note Role of a software component within a composition.
Base ARObject,AtpFeature,AtpPrototype,Identifiable,MultilanguageReferrable,Referrable
Attribute Datatype Mul. Kind Note
type SwComponentT 1 tref Type of the instance.
ype
Stereotypes: isOfType

Table A.21: SwComponentPrototype

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
Base ARElement,ARObject,CollectableElement,Identifiable,Multilanguage
Referrable,PackageableElement,Referrable
Attribute Datatype Mul. Kind Note
dynamicLe Boolean 1 attr The length of dynamic length signals is variable in
ngth run-time. Only a maximum length of such a signal
is specified in the configuration (attribute length in
ISignal element).
physicalPr SwDataDefProp 0..1 aggr Specification of the physical representation.
ops s

Table A.22: SystemSignal

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 Datatype Mul. Kind Note
bufferProp BufferProperties 1 aggr Aggregation of the mandatory BufferProperties.
erties
needsOrigi Boolean 0..1 attr Specifies whether this transformer gets access to
nalData the SWC’s original data.
protocol String 1 attr Specifies the protocol that is implemented by this
transformer.

63 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —
General Specification of Transformers
AUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind Note


transforma Transformation 0..1 aggr A transformer can be configured with transformer
tionDescrip Description specific parameters which are represented by the
tion TransformerDescription.

Stereotypes: atpVariation
Tags: vh.latestBindingTime=PostBuild
transforme TransformerCla 1 attr Specifies to which transformer class this
rClass ssEnum transformer belongs.
version String 1 attr Version of the implemented protocol.

Table A.23: TransformationTechnology

Class VariableDataPrototype
Package M2::AUTOSARTemplates::SWComponentTemplate::Datatype::DataPrototypes
Note A VariableDataPrototype is used to contain values in an ECU application. This means
that most likely a VariableDataPrototype allocates "static" memory on the ECU. In
some cases optimization strategies might lead to a situation where the memory
allocation can be avoided.

In particular, the value of a VariableDataPrototype is likely to change as the ECU on


which it is used executes.
Base ARObject,AtpFeature,AtpPrototype,AutosarDataPrototype,Data
Prototype,Identifiable,MultilanguageReferrable,Referrable
Attribute Datatype Mul. Kind Note
initValue ValueSpecificati 0..1 aggr Specifies initial value(s) of the
on VariableDataPrototype

Table A.24: VariableDataPrototype

64 of 64 Document ID 658: AUTOSAR_SWS_TransformerGeneral


— AUTOSAR CONFIDENTIAL —

You might also like