document title specification of some/ip...

66
Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document Title Specification of SOME/IP Transformer Document Owner AUTOSAR Document Responsibility AUTOSAR Document Identification No 660 Document Classification Standard Document Status Final Part of AUTOSAR Release 4.2.1 Document Change History Release Changed by Description 4.2.1 AUTOSAR Release Management Initial Release 1 of 66 — AUTOSAR CONFIDENTIAL — Document ID 660: AUTOSAR_SOMEIPTransformer

Upload: lamanh

Post on 09-Mar-2018

258 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Document Title Specification of SOME/IPTransformer

Document Owner AUTOSAR

Document Responsibility AUTOSAR

Document Identification No 660

Document Classification Standard

Document Status Final

Part of AUTOSAR Release 4.2.1

Document Change HistoryRelease Changed by Description

4.2.1AUTOSARReleaseManagement

Initial Release

1 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 2: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Disclaimer

Disclaimer

This specification and the material contained in it, as released by AUTOSAR, is for thepurpose of information only. AUTOSAR and the companies that have contributed to itshall not be liable for any use of the specification.

The material contained in this specification is protected by copyright and other types ofIntellectual Property Rights. The commercial exploitation of the material contained inthis specification requires a license to such Intellectual Property Rights.

This specification may be utilized or reproduced without any modification, in any formor by any means, for informational purposes only.For any other purpose, no part of the specification may be utilized or reproduced, inany 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 orsoftware).

Any such exemplary items are contained in the specifications for illustration purposesonly, and they themselves are not part of the AUTOSAR Standard. Neither their pres-ence in such specifications, nor any later documentation of AUTOSAR conformance ofproducts actually implementing such exemplary items, imply that intellectual propertyrights covering such exemplary items are licensed under the same rules as applicableto the AUTOSAR Standard.

2 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 3: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Related standards and norms . . . . . . . . . . . . . . . . . . . . . . . 83.3 Related specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Constraints and assumptions 9

4.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Applicability to car domains . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Dependencies to other modules 10

5.1 File structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105.1.1 Code file structure . . . . . . . . . . . . . . . . . . . . . . . . 105.1.2 Header file structure . . . . . . . . . . . . . . . . . . . . . . . 10

6 Requirements Tracing 12

7 Functional specification 15

7.1 Definition of Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 177.2 Specification of the SOME/IP on-wire format . . . . . . . . . . . . . . . 18

7.2.1 Message Length Limitations . . . . . . . . . . . . . . . . . . 187.2.2 Endianess . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.2.3 Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

7.2.3.1 Message ID [32 bit] . . . . . . . . . . . . . . . . . . . 207.2.3.2 Length [32 bit] . . . . . . . . . . . . . . . . . . . . . . 207.2.3.3 Request ID [32 bit] . . . . . . . . . . . . . . . . . . . 217.2.3.4 Protocol Version [8 bit] . . . . . . . . . . . . . . . . . 217.2.3.5 Interface Version [8 bit] . . . . . . . . . . . . . . . . . 227.2.3.6 Message Type [8 bit] . . . . . . . . . . . . . . . . . . 227.2.3.7 Return Code [8 bit] . . . . . . . . . . . . . . . . . . . 237.2.3.8 Payload [variable size] . . . . . . . . . . . . . . . . . 24

7.2.4 Serialization of Parameters and Data Structures . . . . . . . 247.2.4.1 Basic Datatypes . . . . . . . . . . . . . . . . . . . . 257.2.4.2 Structured Datatypes (structs) . . . . . . . . . . . . . 257.2.4.3 Strings (fixed length) . . . . . . . . . . . . . . . . . . 267.2.4.4 Strings (dynamic length) . . . . . . . . . . . . . . . . 277.2.4.5 Arrays (fixed length) . . . . . . . . . . . . . . . . . . 277.2.4.6 Optional Parameters / Optional Elements . . . . . . 297.2.4.7 Dynamic Length Arrays / Variable Size Arrays . . . . 297.2.4.8 Bitfield . . . . . . . . . . . . . . . . . . . . . . . . . . 307.2.4.9 Union / Variant . . . . . . . . . . . . . . . . . . . . . 317.2.4.10 Example Map / Dictionary . . . . . . . . . . . . . . . 32

3 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 4: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.3 Protocol specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.3.1 Client/Server Communication . . . . . . . . . . . . . . . . . . 337.3.2 Sender/Receiver Communication . . . . . . . . . . . . . . . . 347.3.3 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.3.3.1 Return Code . . . . . . . . . . . . . . . . . . . . . . 357.3.3.2 Communication Errors and Handling of Communica-

tion Errors . . . . . . . . . . . . . . . . . . . . . . . . 367.4 Reserved and special identifiers for SOME/IP and SOME/IP-SD. . . . 387.5 Development Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397.6 Production Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.7 Extended Production Errors . . . . . . . . . . . . . . . . . . . . . . . . 407.8 Error Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8 API specification 41

8.1 Imported types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418.2 Type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418.3 Function definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.3.1 SomeIpXf_<transformerId> . . . . . . . . . . . . . . . . . . . 418.3.2 SomeIpXf_Inv_<transformerId> . . . . . . . . . . . . . . . . 458.3.3 SomeIpXf_Init . . . . . . . . . . . . . . . . . . . . . . . . . . 488.3.4 SomeIpXf_DeInit . . . . . . . . . . . . . . . . . . . . . . . . . 488.3.5 SomeIpXf_GetVersionInfo . . . . . . . . . . . . . . . . . . . . 49

8.4 Callback notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508.5 Scheduled functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508.6 Expected interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

9 Sequence diagrams 51

10 Configuration specification 52

A Referenced Meta Classes 53

B Features of SOME/IP not supported by AUTOSAR SOME/IP transformer 66

4 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 5: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

1 Introduction and functional overview

This document specifies the Scalable service-Oriented MiddlewarE over IP(SOME/IP) Transformer. This is a transformer which linearizes data with the SOME/IPon-the-wire format and specifies an automotive/embedded mechanism for Clien-t/Server communication.

The only valid abbreviation is SOME/IP. Other abbreviations (e.g. Some/IP) are wrongand shall not be used.

The basic motivation to specify "yet another Client/Server and Sender/Receiver mech-anism" instead of using an existing infrastructure/technology is the goal to have a tech-nology that:

• Fulfills the hard requirements regarding resource consumption in an embeddedworld

• Is compatible through as many use-cases and communication partners as possi-ble

• Provides the features required by automotive use-cases

• Is scalable from tiny to large platforms

• Can be implemented on different operating system (i.e. AUTOSAR, GENIVI, andOSEK) and even embedded devices without operating system

5 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 6: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

2 Acronyms and Abbreviations

The glossary below includes acronyms and abbreviations relevant to the SOME/IPTransformer that are not included in the [1, AUTOSAR glossary].

Abbreviation / Acronym: Description:

Client-Service-Instance-Entry

The configuration and required data of a service in-stance another ECU offers shall be called Client-Service-Instance-Entry at the ECU using this service(Client).

Field a field represents a status and thus has a valid valueat all times on which getter, setter and notfier act upon.

Finding a service instance to send a SOME/IP-SD message in order to find aneeded service instance.

Getter a Request/Response call that allows read access to afield.

Method a method, procedure, function, or subroutine that iscalled/invoked

Notifier sends out event message with a new value on changeof the value of the field.

Request a message of the client to the server invoking amethod

Response a message of the server to the client transporting re-sults of a method invocation

SD Service Discovery (see[2])

Service

a logical combination of zero or more methods, zero ormore events, and zero or more fields (empty service isallowed, e.g. for announcing non-SOME/IP services inSOME/IP-SD)

Service Instancesoftware implementation of the service interface,which can exist more than once in the vehicle andmore than once on an ECU

Service Interface the formal specification of the service including itsmethods, events, and fields

Setter a Request/Response call that allows write access to afield.

SOME/IP Scalable service-Oriented MiddlewarE over IP

6 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 7: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

3 Related documentation

3.1 Input documents

[1] GlossaryAUTOSAR_TR_Glossary

[2] Specification of Service DiscoveryAUTOSAR_SWS_ServiceDiscovery

[3] General Specification on TransformersAUTOSAR_ASWS_TransformerGeneral

[4] Specification of Socket AdaptorAUTOSAR_SWS_SocketAdaptor

[5] Specification of RTE SoftwareAUTOSAR_SWS_RTE

[6] Requirements on AUTOSAR FeaturesAUTOSAR_RS_Features

[7] UTF-8, a transformation format of ISO 10646http://www.ietf.org/rfc/rfc3629.txt

[8] UTF-16, an encoding of ISO 10646http://www.ietf.org/rfc/rfc2781.txt

[9] General Specification of Basic Software ModulesAUTOSAR_SWS_BSWGeneral

7 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 8: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

3.2 Related standards and norms

Not applicable.

3.3 Related specification

AUTOSAR provides a General Specification on Transformers [3, SWS TransformerGeneral], which is also valid for SOME/IP Transformer.

Thus, the specification SWS Transformer General shall be considered as additionaland required specification for SOME/IP Transformer.

8 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 9: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

4 Constraints and assumptions

4.1 Limitations

For the SOME/IP Transformer all general transformer limitations (see [3, SWS Trans-former General]) apply.

The SOME/IP transformer doesn’t implement the whole SOME/IP protocol:

• a part is implemented by [2, SWS Service Discovery]

• a part is implemented by [4, SWS Socket Adaptor]

• a part is currently not implemented in AUTOSAR. This is documented in Ap-pendix B

4.2 Applicability to car domains

The SOME/IP Transformer can be used for all domain applications when SOME/IPSender/Receiver or Client/Server communication is used.

9 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 10: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

5 Dependencies to other modules

The AUTOSAR RTE [5, SWS RTE] has to exist to execute the transformer.

5.1 File structure

5.1.1 Code file structure

The source code file structure is defined in the [3, SWS Transformer General].

5.1.2 Header file structure

The header file structure of the SOME/IP Transformer is shown in Figure 5.1.

Std_Types.h

TransformerTypes.h

SomeIpXf[_<Ie>].h

SchM_<bsnp>_[<v i>_<ai>]Type.h

«includes» «includes»

«includes»

Figure 5.1: Header File Structure of SOME/IP Transformer

[SWS_SomeIpXf_00136] d The header file SomeIpXf[_<Ie>].h shall be the maininclude file for the SOME/IP transformer and include TransformerTypes.h and itsModule Interlink Types Header file SchM_<bsnp>_[<vi>_<ai>]Type.h.

where<Ie> is the optional implementation specific file name extension according[SWS_BSW_00103],<bsnp> is the BSW Scheduler Name Prefix according [SWS_Rte_07593] and[SWS_Rte_07594],

10 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 11: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

<vi> is the vendorId of the BSW module and<ai> is the vendorApiInfix of the BSW module. c(SRS_BSW_00346)

The file TransformerTypes.h contains the general transformer data types.

11 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 12: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

6 Requirements Tracing

The following table references the features specified in [6] and links to the fulfillmentsof these.

Feature Description Satisfied by[SRS_BSW_00159] All modules of the

AUTOSAR BasicSoftware shallsupport a tool basedconfiguration

[SWS_SomeIpXf_00185]

[SRS_BSW_00337] Classification ofdevelopment errors

[SWS_SomeIPxf_00184]

[SRS_BSW_00346] All AUTOSAR BasicSoftware Modulesshall provide at leasta basic set ofmodule files

[SWS_SomeIpXf_00136]

[SRS_BSW_00404] BSW Modules shallsupport post-buildconfiguration

[SWS_SomeIpXf_00183]

[SRS_BSW_00407] Each BSW moduleshall provide afunction to read outthe versioninformation of adedicated moduleimplementation

[SWS_SomeIpXf_00180][SWS_SomeIpXf_00181][SWS_SomeIpXf_00182]

[SRS_BSW_00411] All AUTOSAR BasicSoftware Modulesshall apply a namingrule forenabling/disablingthe existence of theAPI

[SWS_SomeIpXf_00180][SWS_SomeIpXf_00181][SWS_SomeIpXf_00182]

[SRS_BSW_00441] Naming conventionfor type, macro andfunction

[SWS_SomeIpXf_00183]

12 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 13: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

[SRS_Xfrm_00008] A transformer shallspecify its outputformat

[SWS_SomeIpXf_00001][SWS_SomeIpXf_00002][SWS_SomeIpXf_00005][SWS_SomeIpXf_00006][SWS_SomeIpXf_00007][SWS_SomeIpXf_00009][SWS_SomeIpXf_00010][SWS_SomeIpXf_00011][SWS_SomeIpXf_00013][SWS_SomeIpXf_00015][SWS_SomeIpXf_00024][SWS_SomeIpXf_00025][SWS_SomeIpXf_00026][SWS_SomeIpXf_00029][SWS_SomeIpXf_00030][SWS_SomeIpXf_00031][SWS_SomeIpXf_00033][SWS_SomeIpXf_00105][SWS_SomeIpXf_00130][SWS_SomeIpXf_00131][SWS_SomeIpXf_00132][SWS_SomeIpXf_00133][SWS_SomeIpXf_00134][SWS_SomeIpXf_00152][SWS_SomeIpXf_00154][SWS_SomeIpXf_00155][SWS_SomeIpXf_00156][SWS_SomeIpXf_00160][SWS_SomeIpXf_00161][SWS_SomeIpXf_00163][SWS_SomeIpXf_00164][SWS_SomeIpXf_00165][SWS_SomeIpXf_00166][SWS_SomeIpXf_00168][SWS_SomeIpXf_00172]

13 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 14: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

[SRS_Xfrm_00101] The SOME/IPTransformer shalldefine theserialization ofatomic andstructured dataelements into lineararrays

[SWS_SomeIpXf_00016][SWS_SomeIpXf_00017][SWS_SomeIpXf_00034][SWS_SomeIpXf_00035][SWS_SomeIpXf_00036][SWS_SomeIpXf_00037][SWS_SomeIpXf_00042][SWS_SomeIpXf_00053][SWS_SomeIpXf_00054][SWS_SomeIpXf_00055][SWS_SomeIpXf_00056][SWS_SomeIpXf_00057][SWS_SomeIpXf_00058][SWS_SomeIpXf_00059][SWS_SomeIpXf_00060][SWS_SomeIpXf_00069][SWS_SomeIpXf_00070][SWS_SomeIpXf_00072][SWS_SomeIpXf_00076][SWS_SomeIpXf_00088][SWS_SomeIpXf_00098][SWS_SomeIpXf_00099][SWS_SomeIpXf_00151][SWS_SomeIpXf_00169]

[SRS_Xfrm_00102] The SOME/IPTransformer shalldefine a protocol forinter-ECUClient/Servercommunication

[SWS_SomeIpXf_00106][SWS_SomeIpXf_00107][SWS_SomeIpXf_00108][SWS_SomeIpXf_00111][SWS_SomeIpXf_00112][SWS_SomeIpXf_00113][SWS_SomeIpXf_00114][SWS_SomeIpXf_00115][SWS_SomeIpXf_00120][SWS_SomeIpXf_00121][SWS_SomeIpXf_00170][SWS_SomeIpXf_00176]

[SRS_Xfrm_00103] The SOME/IPTransformer shallsupport exceptionnotification ofapplications

[SWS_SomeIpXf_00111]

14 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 15: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7 Functional specification

ECU 2 ECU 1 Sending Application SWC

RTE

Com

SOME/IP Serializer

Receiving Application SWC

RTE

Com

SOME/IP Deserializer

Figure 7.1: Overview of SOME/IP Transformer

When a SWC initiates an inter-ECU communication which is configured to be trans-formed, the SWC hands the data over to the RTE. The RTE executes the configuredtransformer chain which contains the SOME/IP Transformer (A transformer chain maycontain also other transformers but this is omitted in this overview for simplicity).

The SOME/IP Transformer on the sender side serializes the data of the SWC andbrings them into an linear form. The serialized data are sent via the communicationstack over the bus to the receiver(s). The RTE of the receiver executes the transformerchain in the reverse order. The SOME/IP transformer of the receiver deserializes thelinear data back into the original data structure. These are handed over to the receivingSWC.

From the SWC’s point of view it is totally transparent whether data are transformed ornot.

The SOME/IP transformer is a transformer of the class Serializer. It serializes struc-tured data into a linear form. Therefore it can only be used as the first transformer onthe sending side and the last transformer on the receiving side (in execution order).Furthermore it provides the transformer errors specified for this transformer class andsupports only out-of-place buffer handling.

15 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 16: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

The SOME/IP Transformer has no module specific EcuC because its whole configu-ration is based on the SOMEIPTransformationDescription and SOMEIPTrans-formationISignalProps.

Describable

TransformationDescription

«enumeration»ByteOrderEnum

Attributes+ mostSignificantByteFirst+ mostSignificantByteLast+ opaque

SOMEIPTransformationDescription

+ alignment :PositiveInteger+ byteOrder :ByteOrderEnum+ interfaceVersion :PositiveInteger

Identifiable

TransformationTechnology

Describable

«atpVariation»TransformationISignalProps

SOMEIPTransformationISignalProps

+ interfaceVersion :PositiveInteger

FibexElement

ISignal

+ dataTypePolicy :DataTypePolicyEnum+ length :Integer

+transformer 1

+transformationISignalProps 0..*

+transformationDescription 0..1

«atpVariation»

Figure 7.2: SOME/IP specific configuration

Class SOMEIPTransformationDescriptionPackage M2::AUTOSARTemplates::SystemTemplate::TransformerNote The class SOMEIPTransformationISignalProps specifies all ISignal specific SOME/IP

transformer attributes.Base ARObject,Describable,TransformationDescriptionAttribute Datatype Mul. Kind Notealignment PositiveInteger 1 attr Specifies the alignment of dynamic data in the

serialized data stream. The alignment shall bespecified in Bits.

byteOrder ByteOrderEnum 1 attr Defines which byte order shall be serialized by theSOME/IP transformer

interfaceVersion

PositiveInteger 1 attr The interface version the SOME/IP transformershall use.

Table 7.1: SOMEIPTransformationDescription

16 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 17: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class �atpVariation� SOMEIPTransformationISignalPropsPackage M2::AUTOSARTemplates::SystemTemplate::TransformerNote The class SOMEIPTransformationISignalProps specifies ISignal specific configuration

properties for SOME/IP transformer attributes.Base ARObject,Describable,TransformationISignalPropsAttribute Datatype Mul. Kind NoteinterfaceVersion

PositiveInteger 1 attr The interface version the SOME/IP transformershall use.

Table 7.2: SOMEIPTransformationISignalProps

Enumeration ByteOrderEnumPackage M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Primitive

TypesNote When more than one byte is stored in the memory the order of those bytes may

differ depending on the architecture of the processing unit. If the least significantbyte is stored at the lowest address, this architecture is called little endian andotherwise it is called big endian.

ByteOrder is very important in case of communication between different PUs orECUs.

Literal DescriptionmostSignif-icantByteFirst

Most significant byte shall come at the lowest address (also known as BigEndian oras Motorola-Format)

mostSignif-icantByteLast

Most significant byte shall come highest address (also known as LittleEndian or asIntel-Format)

opaque For opaque data endianness conversion has to be configured to Opaque. SeeAUTOSAR COM Specification for more details.

Table 7.3: ByteOrderEnum

[SWS_SomeIpXf_00151] d The SOME/IP transformer defined in this document shallbe used as a transformer if

• the attribute protocol of the TransformationTechnology is set to SOMEIP

• and the attribute version of the TransformationTechnology is set to 1

• and the attribute transformerClass of the TransformationTechnology isset to serializer

c(SRS_Xfrm_00101)

7.1 Definition of Identifiers

[SWS_SomeIpXf_00001] d A service shall be identified using the Service-ID. c(SRS_Xfrm_00008)

17 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 18: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

[SWS_SomeIpXf_00002] d Service-IDs shall be of type 16 bit length unsigned integer(uint16). c(SRS_Xfrm_00008)

The Service-ID of 0xFFFE shall be used to encode non-SOME/IP services. See[SWS_SomeIpXf_00130].

[SWS_SomeIpXf_00005] d Different services within the same vehicle shall have dif-ferent Service-IDs. c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00006] d A service instance shall be identified using the Service-Instance-ID. c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00007] d Service-Instance-IDs shall be of type 16 bit length un-signed integer (uint16). c(SRS_Xfrm_00008)

The Service-Instance-IDs of 0x0000 and 0xFFFF shall not be used for a service,since 0x0000 is reserved and 0xFFFF is used to describe all service instances. See[SWS_SomeIpXf_00130].

[SWS_SomeIpXf_00009] d Different service instances within the same vehicle shallhave different Service-Instance-IDs.c(SRS_Xfrm_00008)

Note:This means that two different camera services shall have two different Service-Instance-IDs SI-ID-1 and SI-ID-2. For all vehicles of a vehicle project SI-ID-1 shallbe the same. The same is true for SI-ID-2. If considering another vehicle project, dif-ferent IDs may be used but it makes sense to use the same IDs among different vehicleprojects for ease in testing and integration.

[SWS_SomeIpXf_00010] d Methods and events shall be identified inside a ser-vice using a 16bit Method-ID, which is called Event-ID for events and notifications.c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00011] dMethods shall use Method-IDs with the highest bit set to 0,while the Method-IDs highest bit shall be set to 1 for events and notifications of fields.c(SRS_Xfrm_00008)

7.2 Specification of the SOME/IP on-wire format

Serialization describes the way data is represented in protocol data units (PDUs) trans-ported over an automotive in-vehicle network.

7.2.1 Message Length Limitations

The usage of TCP allows for larger streams of data to transport SOME/IP header andpayload. However, current transport protocols for CAN and FlexRay limit messagesto 4095 Bytes. When compatibility to those has to be achieved, SOME/IP messagesincluding the SOME/IP header shall not exceed 4095 Bytes.

18 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 19: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.2 Endianess

[SWS_SomeIpXf_00013] d All headers shall be encoded in network byte order BigEndian (MostSignificantByteFirst) [RFC 791]. c(SRS_Xfrm_00008)

This means that Length and Type fields shall be always in network byte order.

[SWS_SomeIpXf_00172] d The byte order of the parameters inside the pay-load shall be defined by byteOrder of SOMEIPTransformationDescription.c(SRS_Xfrm_00008)

7.2.3 Header

[SWS_SomeIpXf_00152] d For interoperability reasons the header layout shall beidentical for all implementations of SOME/IP and is shown in the Figure 7.3. The fieldsare presented in transmission order; i.e. the fields on the top left are transmitted first.In the following sections the different header fields and their usage is being described.c(SRS_Xfrm_00008)

Protocol Version [8 bit] Interface Version [8 bit] Message Type [8 bit] Return Code [8 bit]

Request ID (Client ID / Session ID) [32 bit]

Length [32 bit]

Message ID (Service ID / Method ID) [32 bit]

Payload [variable size]

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 bit offset

Co

ve

red

by L

en

gth

Figure 7.3: SOME/IP Header Format

Figure 7.3 shows the complete SOME/IP header. The SOME/IP transformer onlyimplements the lower part (all except Message ID and Length).

[SWS_SomeIpXf_00015] d The SOME/IP transformer shall implement all fields of theheader except Message ID and Length. c(SRS_Xfrm_00008)

These are added by other modules in the AUTOSAR BSW. Nonetheless they are con-tained in Figure 7.3 to show the whole on-wire-format.

19 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 20: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.3.1 Message ID [32 bit]

The Message ID is a 32 bit identifier that is used to identify the message. The MessageID has to uniquely identify a method or event of a service.

The assignment of the Message ID is up to the user; however, the Message ID hasto be unique for the whole system (i.e. the vehicle). The Message ID can be bestcompared to a CAN ID and should be handled with a comparable process. The nextsection 7.2.3.1.1 describes how to structure the Message IDs in order to ease theorganization of Message IDs.

7.2.3.1.1 Structure of the Message ID

In order to structure the different methods, events, and fields, they are clustered intoservices. Services have a set of methods, events, and fields as well as a Service ID,which is only used for this service.

An event shall be part of zero to many eventgroups and an eventgroup shall containzero to many events. A field shall be part of zero to many eventgroups and an event-group can contain zero to many fields.

For inter-ECU Client/Server communication calls we structure the ID in 216 serviceswith 215 methods:

Service ID [16 bit] 0 [1 bit] Method ID [last 15 bits]

where the 0-Bit is the first bit of the 16 bit Method ID.

With 16 bit Service-ID and a 16 bit Method-ID starting with a 0-Bit (15 bit are still leftin the Method-ID for real values), this allows for up to 65536 services with up to 32768methods each.

Since events and notifications are transported using Client/Server communication, theID space for the events is further structured:

Service ID [16 bit] 1 [1 bit] Event ID [last 15 bits]

where the 1-Bit is the first bit of the 16 bit Method ID.

This means that up to 32768 events or notifications per service are possible.

7.2.3.2 Length [32 bit]

The Length field is 32 bit long and contains the length in Byte of the payload beginningwith the Request ID/Client ID until the end of the SOME/IP-message.

20 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 21: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Rationale: Message-ID and Length are not covered since this allows the AUTOSARSocket Adaptor header mode to work.

7.2.3.3 Request ID [32 bit]

[SWS_SomeIpXf_00154] d The Request ID field shall be 32 bit long.c(SRS_Xfrm_00008)

The Request ID shall be the unique identifier for the calling client inside the ECU. Itsvalues are chosen by the RTE and handed over to the SOME/IP transformer.

[SWS_SomeIpXf_00024] d The Request ID shall be constructed of the Client ID andSession ID:

Client ID [16 bits] Session ID [16 bits]

c(SRS_Xfrm_00008)

Both are chosen by RTE and handed over to the transformer asRte_Cs_TransactionHandleType.

[SWS_SomeIpXf_00025] d The clientId inside theRte_Cs_TransactionHandleType handed over from RTE shall be used forthe value of the Client ID. c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00026] d The sequenceCounter inside theRte_Cs_TransactionHandleType handed over from RTE shall be used forthe value of the Session ID. c(SRS_Xfrm_00008)

For details of Rte_Cs_TransactionHandleType see [SWS_Rte_08732].

The Request ID allows a client to differentiate multiple calls to the same method. There-fore, the Request ID has to be unique for a single client and server combination only.When generating a response message, the server has to copy the Request ID fromthe request to the response message. This allows the client to map a response to theissued request even with more than one request outstanding.

Request IDs may be reused as soon as the response arrived or is not expected toarrive anymore (timeout).

7.2.3.4 Protocol Version [8 bit]

[SWS_SomeIpXf_00155] d The Protocol Version field shall be 8 bit long.c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00156] d The Protocol Version field shall contain the SOME/IP pro-tocol version. c(SRS_Xfrm_00008)

21 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 22: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

[SWS_SomeIpXf_00029] d The Protocol Version shall be set to 0x01.c(SRS_Xfrm_00008)

7.2.3.5 Interface Version [8 bit]

[SWS_SomeIpXf_00030] d The Interface Version field shall be 8 bit long.c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00160] d The Interface Version field shall contain the Version of theService Interface. c(SRS_Xfrm_00008)

Rationale: This is required to catch mismatches in Service definitions and allows de-bugging tools to identify the Service Interface used, if version is used.

7.2.3.6 Message Type [8 bit]

[SWS_SomeIpXf_00161] d The Message Type field shall be 8 bit long.c(SRS_Xfrm_00008)

The Message Type field is used to differentiate different types of messages.

[SWS_SomeIpXf_00031] d The Message Type field shall be filled with one of the fol-lowing values:

Number Value Description0x00 REQUEST A request expecting a response

(even void)0x01 REQUEST_NO_RETURN A fire&forget request0x80 RESPONSE The response message0x81 ERROR The response containing an error)

c(SRS_Xfrm_00008)

A regular client request (message type 0x00) is answered by a server response (mes-sage type 0x80), when no error occurred. If errors occur an error message (messagetype 0x81) will be sent.

For Sender/Receiver communication a request is sent that does not have a responsemessage (message type 0x01).

The following values are also valid in SOME/IP in general but are not used by theSOME/IP transformer:

Number Value Description0x02 NOTIFICATION A request of a notification/event

callback expecting no response

22 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 23: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

0x40 REQUEST_ACK Acknowledgment for REQUEST(optional)

0x41 REQUEST_NO_RETURN_ACK Acknowledgment forREQUEST_NO_RETURN (infor-mational)

0x42 NOTIFICATION_ACK Acknowledgment forNOTIFICATION (informational)

0xC0 RESPONSE_ACK The Acknowledgment forRESPONSE (informational)

0xC1 ERROR_ACK Acknowledgment for ERROR (infor-mational)

For updating values through notification a callback interface exists (message type0x02).

For all messages an optional acknowledgment (ACK) exists for use with transport pro-tocols that do not acknowledge a received message.

7.2.3.7 Return Code [8 bit]

[SWS_SomeIpXf_00163] d The Return Code field shall be 8 bit long.c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00164] d The Return Code field shall be used to signal whether arequest has been successfully processed. c(SRS_Xfrm_00008)

For simplification of the header layout, every message transports the field Return Code.

The Return Codes are specified in detail in [SWS_SomeIpXf_00115].

[SWS_SomeIpXf_00033] d Messages of Type REQUEST, REQUEST_NO_RETURN,and Notification have to set the Return Code to 0x00 (E_OK). c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00168] d The allowed Return Codes for specific message typesshall be:

Message Type Allowed Return CodesREQUEST N/A set to 0x00 (E_OK)REQUEST_NO_RETURN N/A set to 0x00 (E_OK)NOTIFICATION N/A set to 0x00 (E_OK)RESPONSE See Return Codes in [SWS_SomeIpXf_00115].

c(SRS_Xfrm_00008)

23 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 24: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.3.8 Payload [variable size]

[SWS_SomeIpXf_00165] d The Payload field shall have variable size. c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00166] d The Payload field shall contain the transported data.c(SRS_Xfrm_00008)

The serialization of the data will be specified in this section.

7.2.4 Serialization of Parameters and Data Structures

[SWS_SomeIpXf_00034] d The serialization shall be based on theSenderReceiverInterface or ClientServerInterface of the data.c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00169] d To allow migration the deserialization shall ignore param-eters attached to the end of previously known parameter list. c(SRS_Xfrm_00101)

This means: Parameters that were not defined in the ClientServerInterface orSenderReceiverInterface used to generate or parameterize the deserializationcode at the end of the serialized data will be ignored by the deserialization.

[SWS_SomeIpXf_00035] d The payload shall be aligned according to alignmentof SOMEIPTransformationDescription which contains the memory alignment inBits. For simplification the alignment should be a multiple of 8 Bit. c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00037] d Alignment is always calculated from start of SOME/IP mes-sage. c(SRS_Xfrm_00101)

This attribute defines the memory alignment. The SOME/IP Transformer does not tryto automatically align parameters but aligns as specified. The alignment is currentlyconstraint to multiple of 1 Byte to simplify code generators.

SOME/IP payload should be placed in memory so that the SOME/IP payload is suit-able aligned. For infotainment ECUs an alignment of 8 Bytes (i.e. 64 bits) should beachieved, for all ECU at least an alignment of 4 Bytes should be achieved. An efficientalignment is highly hardware dependent.

[SWS_SomeIpXf_00016] d If more data than expected are handed over to theSOME/IP transformer during deserialization of data, the unexpected data shall be dis-carded. The known fraction shall be considered. c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00017] d If less data than expected are handed over to the SOME/IPtransformer during deserialization of data, the following shall happen:

• if for the corresponding ISignal an initial value is specified (in serialized form)use that value to fill the missing elements.

24 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 25: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

• if no initial value is available abort deserialization withE_SER_MALFORMED_MESSAGE.

c(SRS_Xfrm_00101)

In the following the serialization of different parameters is specified.

7.2.4.1 Basic Datatypes

[SWS_SomeIpXf_00036] d The following basic datatypes shall be supported:

Type Description Size [bit] Remarkboolean TRUE/FALSE value 8 FALSE (0), TRUE (1)uint8 unsigned Integer 8uint16 unsigned Integer 16uint32 unsigned Integer 32uint64 unsigned Integer 64sint8 signed Integer 8sint16 signed Integer 16sint32 signed Integer 32sint64 signed Integer 64float32 floating point number 32 IEEE 754 binary32 (Single

Precision)float64 floating point number 64 IEEE 754 binary64 (Double

Precision)

c(SRS_Xfrm_00101)

The Byte Order is specified common for all parameters by byteOrder of SOMEIP-TransformationDescription. See chapter 7.2.2.

7.2.4.2 Structured Datatypes (structs)

[SWS_SomeIpXf_00042] d A struct shall be serialized in order of depth-first traversal.c(SRS_Xfrm_00101)

The transformer doesn’t automatically align parameters of a struct.

Insert reserved/padding elements into the AUTOSAR data type if needed for alignment,since the SOME/IP implementation shall not automatically add such padding.

So if for example a struct includes an uint8 and an uint32, they are just written sequen-tially into the buffer. This means that there is no padding between the uint8 and thefirst byte of the uint32; therefore, the uint32 might not be aligned. So the system de-

25 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 26: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

signer has to consider to add padding elements to the data type to achieve the requiredalignment or set it globally.

Warning about unaligned structs or similar shall not be done in the implementation butonly in the tool chain used to generate the implementation.

Messages of legacy busses like CAN and FlexRay are usually not aligned. Warningscan be turned off or be ignored in such cases.

The SOME/IP transformer does not automatically insert dummy/padding elements.

Struct_1

uint32 a

float32 b[2]

Struct_2 c Struct_2

uint32 d

float32 e[2]

Struct_3 f

serialization

uint32 a

float32 b_1

float32 b_2

uint32 d

float32 e_1

float32 e_2

Figure 7.4: Serialization of Structs (Example)

SOME/IP allows to add a length field of 8, 16 or 32 bit in front of the struct.

The length field of the struct describes the number of bytes of the struct. If the lengthis greater than the length of the struct as specified in the data type definition only thebytes specified in the data type definition shall be interpreted and the other bytes shallbe skipped based on the length field.

This allows for extensible structs which allow better migration of interfaces.

This is currently not supported by the SOME/IP transformer.

7.2.4.3 Strings (fixed length)

[SWS_SomeIpXf_00053] d Strings shall be encoded using Unicode and terminatedwith a "\0"-character despite having a fixed length. Unused space shall be filled using"\0". c(SRS_Xfrm_00101)

The length of the string (this includes the "\0") in Bytes is specified in the data typedefinition.

26 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 27: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

[SWS_SomeIpXf_00054] d Different Unicode encoding shall be supported includingUTF-8, UTF-16BE, and UTF-16LE. Since these encoding have a dynamic length ofbytes per character, the maximum length in bytes is up to three times the length ofcharacters in UTF-8 plus 1 Byte for the termination with a "\0" or two times the lengthof the characters in UTF-16 plus 2 Bytes for a "\0". UTF-8 character can be up to 6bytes and an UTF-16 character can be up to 4 bytes. c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00055] d UTF-16LE and UTF-16BE strings shall be zero terminatedwith a "\0" character. This means they shall end with (at least) two 0x00 Bytes.c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00056] d UTF-16LE and UTF-16BE strings shall have an evenlength. c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00057] d For UTF-16LE and UTF-16BE strings having an odd lengththe last byte shall be ignored. c(SRS_Xfrm_00101)

After removal of the last byte, the two bytes before shall be 0x00 bytes (termination) fora string to be valid.

[SWS_SomeIpXf_00058] d All strings shall always start with a Byte Order Mark (BOM).The BOM shall be included in fixed-length-strings as well as dynamic-length strings.c(SRS_Xfrm_00101)

For the specification of BOM, see [7] and [8].

[SWS_SomeIpXf_00059] d The receiving SOME/IP implementation shall check theBOM and handle this as an error. c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00060] d The BOM shall be added by the SOME/IP transformer.c(SRS_Xfrm_00101)

7.2.4.4 Strings (dynamic length)

Strings with dynamic length can be realized in an AUTOSAR system as an array withdynamic length that transports the single characters.

7.2.4.5 Arrays (fixed length)

[SWS_SomeIpXf_00069] d The length of fixed length arrays is defined by the datatypedefinition. c(SRS_Xfrm_00101)

They can be seen as repeated elements. In chapter 7.2.4.7 dynamic length arrays areshown, which can be also used. Fixed length arrays are easier for use in very smalldevices. Dynamic length arrays might need more resources on the ECU using them.

27 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 28: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.4.5.1 One-dimensional

The one-dimensional arrays with fixed length n carry exactly n elements of the sametype. The layout is shown in Figure 7.5.

[SWS_SomeIpXf_00070] d A one-dimensional array with fixed length shall be serial-ized by concatenating the array elements in order. c(SRS_Xfrm_00101)

Static Array a[n]

Element_1 Element_2 Element_3 Element_n

… element size e [byte]

n * e

Figure 7.5: One-dimensional array (fixed length)

7.2.4.5.2 Multidimensional

[SWS_SomeIpXf_00072] d The serialization of multidimensional arrays shall happenin row-major order(in-memory layout of multidimensional arrays in the C++ program-ming language) c(SRS_Xfrm_00101)

Static Array a[n][m]

Element_1 Element_2 Element_n

… e

n * ( m * e )

E1,1 E1,2 … E1,m

m * e

Figure 7.6: Multidimensional array (fixed length)

Consult AUTOSAR SWS RTE chapter 5.3.4.4 for Arrays.

28 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 29: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.4.6 Optional Parameters / Optional Elements

Optional Elements can be encoded as array with 0 to 1 elements. For the serializationof arrays with dynamic length see Chapter 7.2.4.7.

7.2.4.7 Dynamic Length Arrays / Variable Size Arrays

Variable size arrays are implemented in AUTOSAR as structs with two members

• a size indicator which is an integer and holds the number of valid elements in thearray

• the array with variable size

In SOME/IP variable size arrays are implemented in a similar manner. Only the sizeindicator is replaced by a length indicator.

• a length indicator which is an integer and holds the length (in bytes) of the follow-ing variable size array

• the array which contains the valid elements of the variable size array

[SWS_SomeIpXf_00076] d A variable size array embedded in a structure which alsocontains a size indicator shall be serialized as the concatenation of the following ele-ments:

• the length indicator which holds the length (in bytes) of the following variable sizearray

• the array which contains the valid elements of the variable size array

where

• the length indicator shall be of data type uint8, uint16 or uint32. It shall be thesmallest size which is still able to carry the maximum length of the following array.

• the array shall be serialized like a static size array but does only contain the validelements. The number of elements to serializer shall be taken from the sizeindicator.

c(SRS_Xfrm_00101)

This means only the first m elements of the variable size array are serialized where m isthe value of the size indicator.

The layout of dynamic arrays is shown in 7.7 and Figure 7.8 where L_1 and L_2denote the length in bytes.

29 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 30: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Element_1

element size e

n [byte]

Length n

8,16 or 32 bit

Element_2 Element_3 Element_n

Figure 7.7: One-dimensional array (dynamic length) (Example)

In the one-dimensional array one length field is used,which carries the size in bytes ofthe valid elements in the array.

The number of static length elements can be easily calculated by dividing the arraylength n by the Byte size of an element.

In the case of dynamical length elements the number of elements cannot be calculatedbut the elements must be parsed sequentially.

Element_a[1][j…k_1]

L_1 [byte]

Length n

8,16 or 32 bit

E1,1 E1,2 E1,k_1 … L_1

Element_a[2][j…k_2]

E1,1 E1,2 E1,k_2 … L_2 …

L_2 [byte]

n [byte]

Figure 7.8: Multidimensional array (dynamic length) (Example)

In multidimensional arrays multiple length fields are needed.

It is even supported to have different length columns and different length rows in thesame dimension. See k_1 and k_2 in Figure 7.8.

The RTE provides a buffer where serialization result will be written into the SOME/IPtransformer which is large enough to keep the length field and a fully filled dynamicarray.

7.2.4.8 Bitfield

[SWS_SomeIpXf_00300] d Bitfields shall be transported as basic datatypesuint8/uint16/uint32. c()

30 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 31: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.4.9 Union / Variant

A union (also called variant) is a parameter that can contain different types of elements.For example, if one defines a union of type uint8 and type uint16, the union shall carryan element of uint8 or uint16.

When using different types of elements the alignment of subsequent parameters maybe distorted. To resolve this, padding might be needed.

[SWS_SomeIpXf_00088] d The default serialization layout of unions in SOME/IP is asfollows:

Length fieldType fieldElement including padding [sizeof(padding) = length - sizeof(element)]

c(SRS_Xfrm_00101)

The order of the length and type field depends on the AUTOSAR data type.

The minimal size shall be choosen that is able to carry the maximum value that couldoccur based on the AUTOSAR data type.

If all types in the union are of the same length, the length of the length field shall be 0bit.

The length field defines the size of the element and padding in bytes and does notinclude the size of the length field and type field.

The length of the type field shall be 32, 16, 8 or 0 bits. It shall be chosen as small aspossible but shall be able to identify all different types.

The type field describes the type of the element.

[SWS_SomeIpXf_00098] d Possible values of the type field are defined by the datatype specification of the union. The types are encoded as in the data type in ascendingorder starting with 1. The 0 is reserved for the NULL type - i.e. an empty union.c(SRS_Xfrm_00101)

[SWS_SomeIpXf_00099] d The element is serialized depending on the type in the typefield. This also defines the length of the data. All bytes behind the data that are coveredby the length, are padding. The deserializer shall skip the padding bytes by calculat-ing the required number according to the formula given in [SWS_SomeIpXf_00088].c(SRS_Xfrm_00101)

By using a struct in the data type definition, different padding layouts can be achieved.

31 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 32: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.2.4.9.1 Example: Union of uint8/uint16 both padded to 32 bit

In this example a length of the length field is specified as 32 bits. The union shallsupport a uint8 and a uint16 as elements. Both are padded to the 32 bit boundary(length=4 Bytes).

A uint8 will be serialized like this:

Length = 4 BytesType = 1uint8 Padding 0x00 Padding 0x00 Padding 0x00

A uint16 will be serialized like this:

Length = 4 BytesType = 2uint16 Padding 0x00 Padding 0x00

7.2.4.10 Example Map / Dictionary

Maps or dictionaries can be easily described as an array of key-value-pairs. The mostbasic way to implement a map or dictionary would be an array of a struct with two fields:key and value. Since the struct has no length field, this is as efficient as a special mapor dictionary type could be. When choosing key and value as uint16, a serialized mapwith 3 entries looks like this:

Length = 12 Byteskey0 value0key1 value1key2 value2

7.3 Protocol specification

This chapter describes the protocol of SOME/IP for Client/Server and Sender/Receivercommunication.

[SWS_SomeIpXf_00105] d The receiving SOME/IP implementation shall be able toreceive unaligned SOME/IP messages. c(SRS_Xfrm_00008)

32 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 33: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

7.3.1 Client/Server Communication

[SWS_SomeIpXf_00106] d For the SOME/IP request message, the SOME/IP trans-former on the client-ECU has to do the following for payload and header:

• Construct the payload

• Optionally set the Request ID to a unique number (shall be unique for client only)

• Set the Protocol Version according [SWS_SomeIpXf_00029]

• Set the Interface Version. If interfaceVersion of SOMEIPTransforma-tionISignalProps is set, this shall be used. Otherwise interfaceVersionof SOMEIPTransformationDescription shall be used.

• Set the Message Type to Request (i.e. 0x00)

• Set the Return Code to 0x00

c(SRS_Xfrm_00102)

[SWS_SomeIpXf_00120] d To construct the payload all arguments of theClientServerOperation which have direction IN or INOUT and any applica-ble PortDefinedArgumentValues shall be serialized in the following order:

• Any applicable PortDefinedArgumentValues (i.e. PortDefinedArgu-mentValues aggregated by a PortAPIOption referencing the PortProto-type referencing the PortInterface containing the ClientServerOpera-tion) shall be serialized first according to the order of the PortDefinedArgu-mentValues within the PortAPIOption.

• After the applicable PortDefinedArgumentValues the ArgumentDataPro-totypes with a direction of IN or INOUT shall be serialized according to the orderof theArgumentDataPrototypes within the ClientServerOperation.

c(SRS_Xfrm_00102)

[SWS_SomeIpXf_00107] d The SOME/IP transformer on the server-ECU builds itsheader based on the header of the client and does in addition:

• Construct the payload

• Set the Message Type to

– RESPONSE (i.e. 0x80) if the return value of the executed ClientServer-Operation is E_OK

– ERROR (i.e. 0x81) if the return value of the executed ClientServerOper-ation is not E_OK

• Place the return value of the executed ClientServerOperation into the Re-turn Code field (see chapter 7.2.3.7).

c(SRS_Xfrm_00102)

33 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 34: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

[SWS_SomeIpXf_00121] d To construct the payload all arguments of theClientServerOperation which have direction INOUT or OUT shall be serial-ized in the following order:The ArgumentDataPrototypes with a direction of INOUT or OUT shall be serializedaccording to the order of the ArgumentDataPrototypes within the ClientServer-Operation. c(SRS_Xfrm_00102)

7.3.2 Sender/Receiver Communication

[SWS_SomeIpXf_00108] d The SOME/IP transformer on the sender side of trans-formed Sender/Receiver communication shall construct header and payload in the fol-lowing way:

• Construct the payload

• Set the Request ID to 0x00

• Set the Protocol Version according [SWS_SomeIpXf_00029]

• Set the Interface Version. If interfaceVersion of SOMEIPTransforma-tionISignalProps is set, this shall be used. Otherwise interfaceVersionof SOMEIPTransformationDescription shall be used.

• Set the Message Type to REQUEST_NO_RETURN (i.e. 0x01)

• Set the Return Code to 0x00

c(SRS_Xfrm_00102)

[SWS_SomeIpXf_00176] d The payload of a message for Sender/Receiver com-munication shall consists of the serialized data element that is transported.c(SRS_Xfrm_00102)

Error handling and return codes have to be implemented by the application whenneeded.

7.3.3 Error Handling

The error handling will be done solely in the application. SOME/IP only transports theerrors.

Two different mechanisms for error transportation are supported: Return Code andError Message

[SWS_SomeIpXf_00111] d The SOME/IP transformer shall use the Return Code errorhandling. c(SRS_Xfrm_00102, SRS_Xfrm_00103)

Exceptions are specified in SOME/IP but not yet supported by this version of theSOME/IP transformer.

34 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 35: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

This can be used to handle all different application errors that might occur in the server.In addition, problems with the communication medium or intermediate components(e.g. switches) may occur, which have to be handled e.g. by means of reliable trans-port.

All messages have a return code field to carry the return code. However, only re-sponses (Message Types 0x80 and 0x81) use this field to carry a return code to therequest (Message Type 0x00) they answer. All other messages set this field to 0x00(see Chapter 7.2.3.6). For more detailed errors the layout of the Error Message (Mes-sage Type 0x81) can carry specific fields for error handling, e.g. an Exception String.Error Messages are sent instead of Response Messages.

7.3.3.1 Return Code

[SWS_SomeIpXf_00112] d The Error Handling via Return Type shall be based on theStd_ReturnType. c(SRS_Xfrm_00102)

[SWS_SomeIpXf_00113] d The Return Codes shall only be used for Client/Servercommunication c(SRS_Xfrm_00102)

[SWS_SomeIpXf_00170] d In case of Client/Server communication the Return Codeshall transport the ApplicationErrors of the executed ClientServerOperationif no SOME/IP error occurred. c(SRS_Xfrm_00102)

This means: If a SOME/IP error occurred, this error is contained in the Return Code. Ifno SOME/IP error occurred, the Return Code contains the error (or success) code ofthe executed server runnable.

[SWS_SomeIpXf_00114] d If an error occurs in case of Client/Server communicationthe server shall copy the SOME/IP header fields Message ID, RequestId, ProtocolVersion, and Interface Version from the header of the request message to the headerof response (error) message. In addition Message Type and Return Code have to beset to the appropriate values. c(SRS_Xfrm_00102)

[SWS_SomeIpXf_00115] d The following Return Codes are currently defined and shallbe implemented as described:

ID Name Description0x00 E_OK No error occurred0x01 E_NOT_OK An unspecified error occurred0x02 SOMEIPXF_E_UNKNOWN_

SERVICEThe requested Service ID is unknown.

0x03 SOMEIPXF_E_UNKNOWN_METHOD

The requested Method ID is unknown. Ser-vice ID is known.

0x04 SOMEIPXF_E_NOT_READY Service ID and Method ID are known. Ap-plication not running.

35 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 36: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

0x05 SOMEIPXF_E_NOT_REACHABLE

System running the service is not reach-able (internal error code only).

0x06 SOMEIPXF_E_TIMEOUT A timeout occurred (internal error codeonly).

0x07 SOMEIPXF_E_WRONG_PROTOCOL_VERSION

Version of SOME/IP protocol not supported

0x08 SOMEIPXF_E_WRONG_INTERFACE_VERSION

Interface version mismatch

0x09 SOMEIPXF_E_MALFORMED_MESSAGE

Deserialization error, so that payload can-not be deserialized.

0x0a SOMEIPXF_E_WRONG_MESSAGE_TYPE

An unexpected message type was re-ceived (e.g. REQUEST_NO_RETURN fora method defined as REQUEST.)

0x0b -0x1f

RESERVED Reserved for generic SOME/IP errors.These errors will be specified in future ver-sions of this document.

0x20 -0x5e

- Specific ApplicationErrors ofClientServerOperations. Theseerrors are the application errors specifiedby the ClientServerInterface.

c(SRS_Xfrm_00102)

7.3.3.2 Communication Errors and Handling of Communication Errors

When considering the transport of Client/Server messages different reliability seman-tics exist:

• Maybe — the message might reach the communication partner

• At least once — the message reaches the communication partner at least once

• Exactly once — the message reaches the communication partner exactly once

When using these terms in regard to client/server communication the term applies toboth messages (i.e. call and response or error).

While different implementations may implement different approaches, SOME/IP trans-former currently achieves "maybe" reliability when using the UDP binding and "exactlyonce" reliability when using the TCP binding by a suitable configuration of the Ethernetmodules. Further error handling is left to the application.

For "maybe" reliability, only a single timeout is needed, when using client/server com-munication in combination with UDP as transport protocol. Figure 7.9 shows the state

36 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 37: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

machines for "maybe" reliability. The client’s SOME/IP implementation has to waitfor the response for a specified timeout. If the timeout occurs SOME/IP shall signalSOMEIPXF_E_TIMEOUT to the client application.

Client

Server

WaitingForResponse

processing

Error:

SOMEIPXF_E_TIMEOUT

/Send Response

Response Timeout

/Send

Request

Response

Received

Request Received

Figure 7.9: State Machines for Reliability "Maybe"

For "exactly once" reliability the TCP binding may be used, since TCP was defined toallow for reliable communication.

Additional mechanisms to reach higher reliability may be implemented in the applica-tion or in a SOME/IP implementation. Keep in mind that the communication does nothave to implement these features. Chapter 7.3.3.2.1 describes such optional reliabilitymechanisms.

7.3.3.2.1 Application based Error Handling

The application can easily implement "at least once" reliability by using idempotentoperations (i.e. operation that can be executed multiple times without side effects)and using a simple timeout mechanism. Figure 7.10 shows the state machines for"at least once" reliability using implicit acknowledgements. When the client sends outthe request it starts a timer with the timeout specified for the specific method. If noresponse is received before the timer expires (round transition at the top), the client willretry the operation. A Typical number of retries would be 2, so that 3 requests are sent.

The number of retries, the timeout values, and the timeout behavior (constant or expo-nential back off) are outside of the SOME/IP specification.

37 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 38: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Client

Server

WaitingForResponse

processing

Error:

SOMEIPXF_E_TIMEOUT

No Response Received

/TimeoutCounter++

TimeoutCounter == n,

(No Response received)

/Send Response

Response

Received

Request Received

/Send Request,

set TimeoutCounter = 0

Figure 7.10: State Machines for Reliability "At least once" (idempotent operations)

7.4 Reserved and special identifiers for SOME/IP and SOME/IP-SD.

In this chapter an overview of reserved and special identifiers are shown.

[SWS_SomeIpXf_00130] d Reserved and special Service-IDs:

Service-ID Description0x0000 Reserved0xFF00 - 0xFF1F Reserved for Testing at OEM0xFF20 - 0xFF3F Reserved for Testing at Tier-10xFF40 - 0xFF5F 0xFF5F Reserved for ECU Internal Communication

(Tier-1 proprietary)0xFFFE Reserved for announcing non-SOME/IP service in-

stances.0xFFFF SOME/IP and SOME/IP-SD special service.

c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00131] d Reserved and special Instance-IDs:

Instance-ID Description0x0000 Reserved

38 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 39: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

0xFFFF All Instances

c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00132] d Reserved and special Method-IDs/Event-IDs:

Method-ID Description0x0000 Reserved0x7FFF Reserved0x8000 Reserved0xFFFF Reserved

c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00133] d Method-IDs and Event-IDs of Service 0xFFFF:

Method-ID/Event-ID

Description

0x0000 SOME/IP Magic Cookie Messages0x8000 SOME/IP Magic Cookie Messages0x8100 SOME/IP-SD messages (events)

c(SRS_Xfrm_00008)

[SWS_SomeIpXf_00134] d Besides "otherserv" other names are supported by theconfiguration option. The following list gives an overview of the reserved names:

Name Descriptionhostname Used to name a host or ECU.instancename Used to name an instance of a service.servicename Used to name a service.otherserv Used for non-SOME/IP Services.

c(SRS_Xfrm_00008)

7.5 Development Errors

[SWS_SomeIPxf_00184] d

39 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 40: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Type of error Related error code ValueError code if any other API service,except GetVersionInfo is calledbefore the transformer module wasinitialized with Init or after a call toDeInit

SOMEIPXF_E_UNINIT 0x01

Error code if an invalid configurationset was selected

SOMEIPXF_E_INIT_FAILED 0x02

API service called with wrongparameter

SOMEIPXF_E_PARAM 0x03

API service called with invalid pointer SOMEIPXF_E_PARAM_POINTER 0x04

c(SRS_BSW_00337)

7.6 Production Errors

No production errors are specified for transformers.

7.7 Extended Production Errors

All Extended Production Errors valid for SOME/IP Transformer are specified in [3, SWSTransformer General].

7.8 Error Notification

Defined in [9, SWS BSW General].

40 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 41: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

8 API specification

8.1 Imported types

There are no imported types from other modules beyond those specified in [3, SWSTransformer General].

In the Module Interlink Headers file which is imported by the SOME/IP Transformer, allImplementationDataTypes known to the RTE are included. Using this mechanism,the SOME/IP Transformer knows all data types of data which shall be transformed.

8.2 Type definitions

[SWS_SomeIpXf_00183] d

Name SomeIpXf_ConfigTypeType StructureElement: void implementation specific –Description This is the type of the data structure containing the initialization data for

the transformer.

Table 8.1: SomeIpXf_ConfigType

c(SRS_BSW_00404, SRS_BSW_00441)

8.3 Function definitions

The SOME/IP transformer provides the specific interfaces generally required by [3,SWS Transformer General].

[SWS_SomeIpXf_00150] d The SOME/IP Transformer shall only provide functions fortransformers where the TransformationTechnology is referenced as the first ref-erence in the list of ordered references transformer from a DataTransformationto a TransformationTechnology. c()

That means, only the first transformer in a transformer chain can be a SOME/IP Trans-former because serializer transformer are in general only allowed to be the first trans-former in a chain.

8.3.1 SomeIpXf_<transformerId>

[SWS_SomeIpXf_00138] d

41 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 42: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Service name: SomeIpXf_<transformerId>Syntax: uint8 SomeIpXf_<transformerId>(

uint8* buffer,uint16* bufferLength,const <type>* dataElement)

Service ID[hex]: 0x03Sync/Async: SynchronousReentrancy: ReentrantParameters (in): dataElement Data element which shall be transformedParameters (in-out):

None

Parameters(out):

buffer Buffer allocated by the RTE, where the transformeddata has to be stored by the transformer

bufferLength Used length of the bufferReturn value: uint8 0x00 (E_OK): Serialization successful 0x80 (E_

SER_GENERIC_ERROR): A generic error occurred0x82 (E_SER_SERVICE_UNKNOWN): The serviceis unknown 0x83 (E_SER_WRONG_VERSION):Version of SOME/IP protocol not supported

Description: This function transforms a Sender/Receiver communicationusing the serialization of SOME/IP. It takes the data elementas input and outputs an uint8 array containing the serializeddata.

The length of the serialized data shall be calculatedby the transformer during runtime and returned in theOUT-parameter bufferLength. It may be smaller than themaximum buffer size used by the RTE for buffer allocation.

Table 8.2: SomeIpXf_transformerId1

where

• type is data type of the data element

• transformerId is the name pattern for the transformer specified in[SWS_Xfrm_00062] ([3, SWS Transformer General]).

c()

This function specified in [SWS_SomeIpXf_00138] exists for each transformedSender/Receiver communication which uses the SOME/IP serialization.

[SWS_SomeIpXf_00139] d The function SomeIpXf_<transformerId> specifiedin [SWS_SomeIpXf_00138] shall exist for the first reference in the list of orderedreferences transformer from a DataTransformation to a Transformation-

42 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 43: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Technology if the DataTransformation is referenced by an ISignal in therole dataTransformation where the ISignal references a SystemSignal whichis referenced by SenderReceiverToSignalMapping, a SenderRecRecordEle-mentMapping or a SenderRecArrayElementMapping. c()

[SWS_SomeIpXf_00140] d The function SomeIpXf_<transformerId> specifiedin [SWS_SomeIpXf_00138] shall serialize primitive or complex data elements ofSender/Receiver communication into a linear byte array representation using theSOME/IP serialization. c()[SWS_SomeIpXf_00141] d

Service name: SomeIpXf_<transformerId>Syntax: uint8 SomeIpXf_<transformerId>(

const Rte_Cs_TransactionHandleType *TransactionHandle,uint8 *buffer,uint16 *bufferLength,[Std_ReturnType returnValue,][<type> data_1,] ...[<type> data_n]

)

Service ID[hex]: 0x01

Sync/Async: SynchronousReentrancy: ReentrantParameters (in): TransactionHandle Transaction handle according to

[SWS_Rte_08732] (clientId andsequenceCounter) needed to differentiatebetween multiple requests.

returnValue Return value of the server runnable which needsto be serialized on server side for transmission tothe calling client. This argument is only availablefor serializers of the response of a Client/Servercommunication.

data_1 Client/Server operation argument which shall betransformed (in the same order as in thecorresponding interface)

... ...data_n Client/Server operation argument which shall be

transformed (in the same order as in thecorresponding interface)

Parameters(inout):

None

Parameters (out): buffer Buffer allocated by the RTE, where thetransformed data has to be stored by thetransformer

bufferLength Used length of the buffer

43 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 44: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Return value: uint8 0x00 (E_OK): Serialization successful0x80 (E_SER_GENERIC_ERROR): A genericerror occurred0x82 (E_SER_SERVICE_UNKNOWN): Theservice is unknown0x83 (E_SER_WRONG_VERSION): Version ofSOME/IP protocol not supported

Description: This function transforms a Client/Server communication using theserialization of SOME/IP. It takes the operation arguments and optionally thereturn value as input and outputs an uint8 array containing the serialized data.

The length of the serialized data shall be calculated by the transformer duringruntime and returned in the OUT-parameter bufferLength. It may be smallerthan the maximum buffer size used by the RTE for buffer allocation.

where

• type is data type of the data element

• transformerId is the name pattern for the transformer specified in[SWS_Xfrm_00062] ([3, SWS Transformer General]).

c()

For the arguments of ClientServerOperation which are handed over to thetransformer as data_1, ..., data_n the requirements to API parameters stated inchapter API Parameters of [5, SWS RTE] are valid (especially [SWS_Rte_01017],[SWS_Rte_01018] and [SWS_Rte_05107]).

This function specified in [SWS_SomeIpXf_00141] exists for the server and each clientof each transformed Client/Server communication which uses the SOME/IP serializa-tion.

It exists on both the Client and the Server but the arguments are different.

On the client it serializes the request of the Client/Server call. There, the data_1,..., data_n arguments of the API correpsond to the IN and INOUT arguments of theClientServerOperation. The argument returnValue doesn’t exist.

On the server it serializes the response of the Client/Server call. There, the data_1,..., data_n arguments of the API correpsond to the INOUT and OUT arguments ofthe ClientServerOperation. The argument returnValue exists here becausethe return code of the operation has to be transmitted.

[SWS_SomeIpXf_00142] d The function SomeIpXf_<transformerId> specifiedin [SWS_SomeIpXf_00141] shall exist for the first reference in the list of orderedreferences transformer from a DataTransformation to a Transformation-Technology if the DataTransformation is referenced by an ISignal in therole dataTransformation where the ISignal references a SystemSignal whichis referenced by ClientServerToSignalMapping in the callSignal or re-turnSignal. c()

44 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 45: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Due to [SWS_SomeIpXf_00142], the API of [SWS_SomeIpXf_00141] exists both onclient and server.

[SWS_SomeIpXf_00143] d The function SomeIpXf_<transformerId>[_<symbolSuffix>] specified in [SWS_SomeIpXf_00141] shall serialize all primi-tive or complex operation arguments and the return value (if executed on server side) ofClient/Server communication into a linear byte array representation using the SOME/IPserialization. c()

8.3.2 SomeIpXf_Inv_<transformerId>

[SWS_SomeIpXf_00144] d

Service name: SomeIpXf_Inv_<transformerId>Syntax: uint8 SomeIpXf_Inv_<transformerId>(

const uint8* buffer,uint16 bufferLength,<type>* dataElement)

Service ID[hex]: 0x04Sync/Async: SynchronousReentrancy: ReentrantParameters (in): buffer Buffer allocated by the RTE, where the still serial-

ized data are stored by the RtebufferLength Used length of the buffer

Parameters (in-out):

None

Parameters(out):

dataElement Data element which is the result of the transforma-tion and contains the deserialized data element

Return value: uint8 0x00 (E_OK): Serialization successful 0x80 (E_SER_GENERIC_ERROR): A generic error occurred0x81 (E_SER_MALFORMED_MESSAGE): The re-ceived data was malformed. No valid outputcould be produced. 0x82 (E_SER_SERVICE_UN-KNOWN): The service is unknown 0x83 (E_SER_WRONG_VERSION): Version of SOME/IP protocolnot supported

Description: This function deserializes a Sender/Receiver communicationusing the deserialization of SOME/IP. It takes the uint8 arraycontaining the serialized data as input and outputs the origi-nal data element which will be passed to the RTE.

Table 8.3: SomeIpXf_Inv_transformerId1

where

45 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 46: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

• type is data type of the data element

• transformerId is the name pattern for the transformer specified in[SWS_Xfrm_00062] ([3, SWS Transformer General]).

c()

This function specified in [SWS_SomeIpXf_00144] exists for each transformedSender/Receiver communication which uses the SOME/IP serialization.

[SWS_SomeIpXf_00146] d The function SomeIpXf_Inv_<transformerId> spec-ified in [SWS_SomeIpXf_00144] shall exist for the first reference in the list of or-dered references transformer from a DataTransformation to a Transforma-tionTechnology if the DataTransformation is referenced by an ISignal in therole dataTransformation where the ISignal references a SystemSignal whichis referenced by SenderReceiverToSignalMapping, a SenderRecRecordEle-mentMapping or a SenderRecArrayElementMapping. c()

[SWS_SomeIpXf_00147] d The function SomeIpXf_Inv_<transformerId> spec-ified in [SWS_SomeIpXf_00144] shall deserialize a linear byte array to primitive orcomplex data elements of Sender/Receiver communication using the SOME/IP dese-rialization. c()[SWS_SomeIpXf_00145] d

Service name: SomeIpXf_Inv_<transformerId>Syntax: uint8 SomeIpXf_Inv_<transformerId>(

Rte_Cs_TransactionHandleType *TransactionHandle,const uint8 *buffer,uint16 bufferLength,[Std_ReturnType *returnValue,]<type> *data_1, ...<type> *data_n

)

Service ID[hex]: 0x02

Sync/Async: SynchronousReentrancy: ReentrantParameters (in): buffer Buffer allocated by the RTE, where the still

serialized data are stored by the RtebufferLength Used length of the buffer

Parameters(inout):

None

Parameters (out): TransactionHandle Transaction handle according to[SWS_Rte_08732] (clientId andsequenceCounter) needed to differentiatebetween multiple requests.

returnValue Return value of the server runnable which needsto be serialized on server side for transmission tothe calling client. This argument is only availablefor serializers of the response of a Client/Servercommunication.

46 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 47: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

data_1 Client/Server operation argument which shall betransformed (in the same order as in thecorresponding interface)

... ...data_n Client/Server operation argument which shall be

transformed (in the same order as in thecorresponding interface)

Return value: uint8 0x00 (E_OK): Serialization successful0x80 (E_SER_GENERIC_ERROR): A genericerror occurred0x81 (E_SER_MALFORMED_MESSAGE): Thereceived data was malformed. No valid outputcould be produced.0x82 (E_SER_SERVICE_UNKNOWN): Theservice is unknown0x83 (E_SER_WRONG_VERSION): Version ofSOME/IP protocol not supported

Description: This function deserializes a Client/Server communication using thedeserialization of SOME/IP. It takes the uint8 array containing the serializeddata as input and outputs the return value of the server runnable and theoperation arguments which have to be passed from the server to the client.

where

• type is data type of the data element

• transformerId is the name pattern for the transformer specified in[SWS_Xfrm_00062] ([3, SWS Transformer General]).

c()

For the arguments of ClientServerOperation which are handed over to thetransformer as data_1, ..., data_n the requirements to API parameters stated inchapter API Parameters of [5, SWS RTE] are valid (especially [SWS_Rte_01019],[SWS_Rte_07082] and [SWS_Rte_05108]).

This function specified in [SWS_SomeIpXf_00145] exists for the server and each clientof each transformed Client/Server communication which uses the SOME/IP serializa-tion.

It exists on both the Client and the Server but the arguments are different.

On the server it deserializes the request of the Client/Server call. There, the data_1,..., data_n arguments of the API correpsond to the IN and INOUT arguments of theClientServerOperation. The argument returnValue doesn’t exist.

On the client it deserializes the response of the Client/Server call. There, the data_1,..., data_n arguments of the API correpsond to the INOUT and OUT arguments ofthe ClientServerOperation. The argument returnValue exists here becausethe return code of the operation has to be transmitted.

[SWS_SomeIpXf_00148] d

47 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 48: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

The function SomeIpXf_Inv_<transformerId> specified in[SWS_SomeIpXf_00145] shall exist for the first reference in the list of orderedreferences transformer from a DataTransformation to a Transformation-Technology if the DataTransformation is referenced by an ISignal in therole dataTransformation where the ISignal references a SystemSignalwhich is referenced by ClientServerToSignalMapping in the callSignal orreturnSignal. c()

Due to [SWS_SomeIpXf_00148], the API of [SWS_SomeIpXf_00145] exists both onclient and server.

[SWS_SomeIpXf_00149] d The function SomeIpXf_Inv_<transformerId> spec-ified in [SWS_SomeIpXf_00145] shall deserialize a linear byte array which containsprimitive or complex operation arguments and the return value (if executed on clientside) of Client/Server communication using the SOME/IP deserialization. c()

8.3.3 SomeIpXf_Init

[SWS_SomeIpXf_00181] d

Service name: SomeIpXf_InitSyntax: void SomeIpXf_Init(

const SomeIpXf_ConfigType* config)

Service ID[hex]: 0x01Sync/Async: SynchronousReentrancy: ReentrantParameters (in): config Pointer to the transformer’s configuration data.Parameters (in-out):

None

Parameters(out):

None

Return value: NoneDescription: This service initializes the transformer for the further pro-

cessing.

Table 8.4: SomeIpXf_Init

c(SRS_BSW_00407, SRS_BSW_00411)

8.3.4 SomeIpXf_DeInit

[SWS_SomeIpXf_00182] d

48 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 49: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Service name: SomeIpXf_DeInitSyntax: void SomeIpXf_DeInit(

void)

Service ID[hex]: 0x02Sync/Async: SynchronousReentrancy: ReentrantParameters (in): NoneParameters (in-out):

None

Parameters(out):

None

Return value: NoneDescription: This service deinitializes the transformer.

Table 8.5: SomeIpXf_DeInit

c(SRS_BSW_00407, SRS_BSW_00411)

8.3.5 SomeIpXf_GetVersionInfo

[SWS_SomeIpXf_00180] d

Service name: SomeIpXf_GetVersionInfoSyntax: void SomeIpXf_GetVersionInfo(

Std_VersionInfoType* VersionInfo)

Service ID[hex]: 0x00Sync/Async: SynchronousReentrancy: ReentrantParameters (in): NoneParameters (in-out):

None

Parameters(out):

VersionInfo Pointer to where to store the version information ofthis module.

Return value: NoneDescription: This service returns the version information of the called

transformer module.

Table 8.6: SomeIpXf_GetVersionInfo

c(SRS_BSW_00407, SRS_BSW_00411)

49 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 50: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

8.4 Callback notifications

There are no callback notifications.

8.5 Scheduled functions

SOME/IP Transformer has no scheduled functions

8.6 Expected interfaces

There are no expected interfaces.

50 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 51: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

9 Sequence diagrams

There are no sequence diagrams applicable to SOME/IP Transformer.

51 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 52: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

10 Configuration specification

There is no module specific configuration available to the SOME/IP Transformer. TheEcuC defined in [3, SWS Transformer General] shall be used.

[SWS_SomeIpXf_00185] d The apiServicePrefix of the SOME/IP transformer’sEcuC shall be set to SomeIpXf. c(SRS_BSW_00159)

52 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 53: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

A Referenced Meta Classes

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

Class ApplicationErrorPackage M2::AUTOSARTemplates::SWComponentTemplate::PortInterfaceNote This is a user-defined error that is associated with an element of an AUTOSAR

interface. It is specific for the particular functionality or service provided by theAUTOSAR software component.

Base ARObject,Identifiable,MultilanguageReferrable,ReferrableAttribute Datatype Mul. Kind NoteerrorCode Integer 1 attr The RTE generator is forced to assign this value

to the corresponding error symbol. Note that forerror codes certain ranges are predefined (seeRTE specification).

Table A.1: ApplicationError

Class ArgumentDataPrototypePackage M2::AUTOSARTemplates::SWComponentTemplate::PortInterfaceNote An argument of an operation, much like a data element, but also carries direction

information and is owned by a particular ClientServerOperation.Base ARObject,AtpFeature,AtpPrototype,AutosarDataPrototype,Data

Prototype,Identifiable,MultilanguageReferrable,ReferrableAttribute Datatype Mul. Kind Notedirection ArgumentDirecti

onEnum1 attr This attribute specifies the direction of the

argument prototype.serverArgumentImplPolicy

ServerArgumentImplPolicyEnum

0..1 attr This defines how the argument type of the serversRunnableEntity is implemented.

If the attribute is not defined this has the samesemantic as if the attribute is set touseArgumentType

typeBlueprint

AutosarDataType

0..1 ref This allows to denote the intended type withinblueprints. It shall be replaced by a proper typewhen deriving Interfaces from the Blueprint.

Stereotypes: atpVariationTags: vh.latestBindingTime=blueprintDerivationTime

Table A.2: ArgumentDataPrototype

53 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 54: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class ClientServerInterfacePackage M2::AUTOSARTemplates::SWComponentTemplate::PortInterfaceNote A client/server interface declares a number of operations that can be invoked on a

server by a client.

Tags: atp.recommendedPackage=PortInterfacesBase ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,Atp

Type,CollectableElement,Identifiable,MultilanguageReferrable,PackageableElement,PortInterface,Referrable

Attribute Datatype Mul. Kind Noteoperation ClientServerOp

eration1..* aggr ClientServerOperation(s) of this

ClientServerInterface.

Stereotypes: atpVariationTags: vh.latestBindingTime=blueprintDerivationTime

possibleError

ApplicationError * aggr Application errors that are defined as part of thisinterface.

Table A.3: ClientServerInterface

Class ClientServerOperationPackage M2::AUTOSARTemplates::SWComponentTemplate::PortInterfaceNote An operation declared within the scope of a client/server interface.Base ARObject,AtpClassifier,AtpFeature,AtpStructureElement,Identifiable,Multilanguage

Referrable,ReferrableAttribute Datatype Mul. Kind Noteargument(ordered)

ArgumentDataPrototype

* aggr An argument of this ClientServerOperation

Stereotypes: atpVariationTags: vh.latestBindingTime=blueprintDerivationTime

possibleError

ApplicationError * ref Possible errors that may by raised by the referringoperation.

Table A.4: ClientServerOperation

Class ClientServerToSignalMappingPackage M2::AUTOSARTemplates::SystemTemplate::DataMappingNote This element maps the ClientServerOperation to call- and return-SystemSignals. The

serialization is defined by the referenced SerializationTechnology.

Tags: atp.Status=draftBase ARObject,DataMappingAttribute Datatype Mul. Kind NotecallSignal SystemSignal 1 ref Reference to the callSignal to which the IN and

INOUT ArgumentDataPrototypes are mapped.clientServerOperation

ClientServerOperation

1 iref Reference to a ClientServerOperation, which ismapped to a call SystemSignal and a returnSystemSignal.

54 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 55: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NotelengthClientId

PositiveInteger 0..1 attr This attribute defines the length of the used clientidentifier in bits. If the attribute does not exist or itsvalue is set to 0 this means that the client identifieris not used.

lengthSequenceCounter

PositiveInteger 0..1 attr The purpose of a sequence counter is to map aresponse to the correct request of a known client.This attribute describes the length of the usedsequence counter in bits. If the attribute does notexist or its value is set to 0 this means that thesequence counter is not used.

returnSignal

SystemSignal 0..1 ref Reference to the returnSignal to which the OUTand INOUT ArgumentDataPrototypes aremapped.

Tags: atp.Status=shallBecomeMandatory

Table A.5: ClientServerToSignalMapping

Class DataTransformationPackage M2::AUTOSARTemplates::SystemTemplate::TransformerNote A DataTransformation represents a transformer chain. It is an ordered list of

transformers.Base ARObject,Identifiable,MultilanguageReferrable,ReferrableAttribute Datatype Mul. Kind NoteexecuteDespiteDataUnavailability

Boolean 1 attr Specifies whether the transformer is executedeven if no input data are available.

transformerChain(ordered)

TransformationTechnology

1..* ref

Table A.6: DataTransformation

Class EcucModuleDefPackage M2::AUTOSARTemplates::ECUCParameterDefTemplateNote Used as the top-level element for configuration definition for Software Modules,

including BSW and RTE as well as ECU Infrastructure.

Tags: atp.recommendedPackage=EcucModuleDefsBase ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpDefinition,Collectable

Element,EcucDefinitionElement,Identifiable,MultilanguageReferrable,PackageableElement,Referrable

Attribute Datatype Mul. Kind Note

55 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 56: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NoteapiServicePrefix

CIdentifier 0..1 ref For CDD modules this attribute holds theapiServicePrefix.

The shortName of the module definition of aComplex Driver is always "Cdd". Therefore forCDD modules the module apiServicePrefix isdescribed with this attribute.

container EcucContainerDef

1..* aggr Aggregates the top-level container definitions ofthis specific module definition.

Tags: xml.sequenceOffset=11postBuildVariantSupport

Boolean 0..1 attr Indicates if a module supports different post-buildvariants (previously known as post-buildselectable configuration sets). TRUE means yes,FALSE means no.

refinedModuleDef

EcucModuleDef 0..1 ref Optional reference from the Vendor SpecificModule Definition to the Standardized ModuleDefinition it refines. In case this EcucModuleDefhas the categorySTANDARDIZED_MODULE_DEFINITION thisreference shall not be provided. In case thisEcucModuleDef has the categoryVENDOR_SPECIFIC_MODULE_DEFINITIONthis reference is mandatory.

Stereotypes: atpUriDefsupportedConfigVariant

EcucConfigurationVariantEnum

* attr Specifies which ConfigurationVariants aresupported by this software module. This attributeis optional if the EcucModuleDef has the categorySTANDARDIZED_MODULE_DEFINITION. If thecategory attribute of the EcucModuleDef is set toVENDOR_SPECIFIC_MODULE_DEFINITIONthen this attribute is mandatory.

Table A.7: EcucModuleDef

56 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 57: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class ISignalPackage M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunicationNote 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 sameSystem Signal is to be mapped into several SignalIPdus there is one ISignal neededfor each ISignalToIPduMapping.

ISignals describe the Interface between the Precompile configured RTE and thepotentially Postbuild configured Com Stack (see ECUC Parameter Mapping).

In case of the SystemSignalGroup an ISignal must be created for each SystemSignalcontained in the SystemSignalGroup.

Tags: atp.recommendedPackage=ISignalsBase ARObject,CollectableElement,FibexElement,Identifiable,Multilanguage

Referrable,PackageableElement,ReferrableAttribute Datatype Mul. Kind NotedataTransformation

DataTransformation

0..1 ref Optional reference to a DataTransformation whichrepresents the transformer chain that is used totransform the data that shall be placed inside thisISignal.

Stereotypes: atpSplitable; atpVariationTags: atp.Splitkey=dataTransformation, variationPoint.shortLabelvh.latestBindingTime=codeGenerationTime

dataTypePolicy

DataTypePolicyEnum

1 attr With the aggregation of SwDataDefProps anISignal specifies how it is represented on thenetwork. This representation follows a particularpolicy. Note that this causes some redundancywhich is intended and can be used to supportflexible development methodology as well assubsequent integrity checks.

If the policy"networkRepresentationFromComSpec" is chosenthe network representation from the ComSpecthat is aggregated by the PortPrototype shall beused. If the "override" policy is chosen therequirements specified in the PortInterface and inthe ComSpec are not fulfilled by thenetworkRepresentationProps. In case the SystemDescription doesn’t use a complete SoftwareComponent Description (VFB View) the "legacy"policy can be chosen.

iSignalProps

ISignalProps 0..1 aggr Additional optional ISignal properties that may bestored in different files.

Stereotypes: atpSplitableTags: atp.Splitkey=iSignalProps

57 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 58: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NoteinitValue ValueSpecificati

on0..1 aggr Optional definition of a ISignal’s initValue in case

the System Description doesn’t use a completeSoftware Component Description (VFB View).This supports the inclusion of legacy systemsignals.

This value can be used to configure the Signal’s"InitValue".

If a full DataMapping exist for the SystemSignalthis information may be available from aconfigured SenderComSpec andReceiverComSpec. In this case the initvalues inSenderComSpec and/or ReceiverComSpecoverride this optional value specification. Furtherrestrictions apply from the RTE specification.

length Integer 1 attr Size of the signal in bits. The size needs to bederived from the mapped VariableDataPrototypeaccording to the mapping of primitive DataTypesto BaseTypes as used in the RTE. Indicatesmaximum size for dynamic length signals.

The ISignal length of zero bits is allowed.networkRepresentationProps

SwDataDefProps

0..1 aggr Specification of the actual network representation.The usage of SwDataDefProps for this purpose isrestricted to the attributes compuMethod andbaseType. The optional baseType attributes"memAllignment" and "byteOrder" shall not beused.

The attribute "dataTypePolicy" in theSystemTemplate element defines whether thisnetwork representation shall be ignored and theinformation shall be taken over from the networkrepresentation of the ComSpec.

If "override" is chosen by the system integrator thenetwork representation can violate against therequirements defined in the PortInterface and inthe network representation of the ComSpec.

In case that the System Description doesn’t use acomplete Software Component Description (VFBView) this element is used to configure"ComSignalDataInvalidValue" and the DataSemantics.

systemSignal

SystemSignal 1 ref Reference to the System Signal that is supposedto be transmitted in the ISignal.

58 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 59: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NotetransformationISignalProps

TransformationISignalProps

* aggr A transformer chain consists of an ordered list oftransformers. The ISignal specific configurationproperties for each transformer are defined in theTransformationISignalProps class. Thetransformer configuration properties that arecommon for all ISignals are described in theTransformationTechnology class.

Table A.8: ISignal

Class Implementation (abstract)Package M2::AUTOSARTemplates::CommonStructure::ImplementationNote Description of an implementation a single software component or module.Base ARElement,ARObject,CollectableElement,Identifiable,Multilanguage

Referrable,PackageableElement,ReferrableAttribute Datatype Mul. Kind NotebuildActionManifest

BuildActionManifest

0..1 ref A manifest specifying the intended build actionsfor the software delivered with this implementation.

Stereotypes: atpVariationTags: vh.latestBindingTime=codeGenerationTime

codeDescriptor

Code 1..* aggr Specifies the provided implementation code.

compiler Compiler * aggr Specifies the compiler for which thisimplementation has been released

generatedArtifact

DependencyOnArtifact

* aggr Relates to an artifact that will be generated duringthe integration of this Implementation by anassociated generator tool. Note that this is anoptional information since it might not always be inthe scope of a single module or component toprovide this information.

Stereotypes: atpVariationTags: vh.latestBindingTime=preCompileTime

hwElement HwElement * ref The hardware elements (e.g. the processor)required for this implementation.

linker Linker * aggr Specifies the linker for which this implementationhas been released.

mcSupport McSupportData 0..1 aggr The measurement & calibration support databelonging to this implementation. The aggregtionis «atpSplitable» because in case of an alreadyexisiting BSW Implementation model, thisdescription will be added later in the process,namely at code generation time.

Stereotypes: atpSplitableTags: atp.Splitkey=mcSupport

programmingLanguage

ProgramminglanguageEnum

1 attr Programming language the implementation wascreated in.

59 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 60: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NoterequiredArtifact

DependencyOnArtifact

* aggr Specifies that this Implementation depends on theexistance of another artifact (e.g. a library). Thisaggregation of DependencyOnArtifact is subject tovariability with the purpose to support variability inthe implementations. Different algorithms in theimplementation might cause differentdependencies, e.g. the number of used libraries.

Stereotypes: atpVariationTags: vh.latestBindingTime=preCompileTime

requiredGeneratorTool

DependencyOnArtifact

* aggr Relates this Implementation to a generator tool inorder to generate additional artifacts duringintegration.

Stereotypes: atpVariationTags: vh.latestBindingTime=preCompileTime

resourceConsumption

ResourceConsumption

1 aggr All static and dynamic resources for eachimplementation are described within theResourceConsumption class.

swVersion RevisionLabelString

1 attr Software version of this implementation. Thenumbering contains three levels (like major, minor,patch), its values are vendor specific.

swcBswMapping

SwcBswMapping

0..1 ref This allows a mapping between an SWC and aBSW behavior to be attached to animplementation description (for AUTOSARService, ECU Abstraction and Complex DriverComponents). It is up to the methodology todefine whether this reference has to be set for theSwc- or BswImplementtion or for both.

usedCodeGenerator

String 0..1 attr Optional: code generator used.

vendorId PositiveInteger 1 attr Vendor ID of this Implementation according to theAUTOSAR vendor list

Table A.9: Implementation

Class ImplementationDataTypePackage M2::AUTOSARTemplates::CommonStructure::ImplementationDataTypesNote Describes a reusable data type on the implementation level. This will typically

correspond to a typedef in C-code.

Tags: atp.recommendedPackage=ImplementationDataTypesBase ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,AtpType,Autosar

DataType,CollectableElement,Identifiable,MultilanguageReferrable,PackageableElement,Referrable

Attribute Datatype Mul. Kind NotedynamicArraySizeProfile

String 0..1 attr Specifies the profile which the array will follow incase this data type is a variable size array.

60 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 61: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NotesubElement (ordered)

ImplementationDataTypeElement

* aggr Specifies an element of an arrray, struct, or uniondata type.

The aggregation ofImplementionDataTypeElement is subject tovariability with the purpose to support theconditional existence of elements inside aImplementationDataType representing a structure.

Stereotypes: atpVariationTags: vh.latestBindingTime=preCompileTime

symbolProps

SymbolProps 0..1 aggr This represents the SymbolProps for theImplementationDataType.

Stereotypes: atpSplitableTags: atp.Splitkey=shortName

typeEmitter

NameToken 0..1 attr This attribute is used to control which part of theAUTOSAR toolchain is supposed to trigger datatype definitions.

Table A.10: ImplementationDataType

Class PortAPIOptionPackage M2::AUTOSARTemplates::SWComponentTemplate::SwcInternalBehavior::PortAPI

OptionsNote Options how to generate the signatures of calls for an AtomicSwComponentType in

order to communicate over a PortPrototype (for calls into a RunnableEntity as well asfor calls from a RunnableEntity to the PortPrototype).

Base ARObjectAttribute Datatype Mul. Kind NoteenableTakeAddress

Boolean 1 attr If set to true, the software-component is able touse the API reference for deriving a pointer to anobject.

errorHandling

DataTransformationErrorHandlingEnum

0..1 attr This specifies whether the RunnableEntitys whichaccess a PortPrototype that it referenced by thisPortAPIOption shall specifically handletransformer errors or not.

indirectAPI Boolean 1 attr If set to true this attribute specifies an "indirectAPI" to be generated for the associated port whichmeans that the SWC is able to access the actionson a port via a pointer to an object representing aport. This allows e.g. iterating over ports in a loop.This option has no effect for PPortPrototypes ofclient/server interfaces.

port PortPrototype 1 ref The option is valid for generated functions relatedto communication over this port

portArgValue(ordered)

PortDefinedArgumentValue

* aggr An argument value defined by this port.

Table A.11: PortAPIOption

61 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 62: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class PortDefinedArgumentValuePackage M2::AUTOSARTemplates::SWComponentTemplate::SwcInternalBehavior::PortAPI

OptionsNote A PortDefinedArgumentValue is passed to a RunnableEntity dealing with the

ClientServerOperations provided by a given PortPrototype. Note that this is restrictedto PPortPrototypes of a ClientServerInterface.

Base ARObjectAttribute Datatype Mul. Kind Notevalue ValueSpecificati

on1 aggr Specifies the actual value.

valueType ImplementationDataType

1 tref The implementation type of this argument value. Itshould not be composite type or a pointer.

Stereotypes: isOfType

Table A.12: PortDefinedArgumentValue

Class PortInterface (abstract)Package M2::AUTOSARTemplates::SWComponentTemplate::PortInterfaceNote Abstract base class for an interface that is either provided or required by a port of a

software component.Base ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,Atp

Type,CollectableElement,Identifiable,MultilanguageReferrable,PackageableElement,Referrable

Attribute Datatype Mul. Kind NoteisService Boolean 1 attr This flag is set if the PortInterface is to be used for

communication between an

• ApplicationSwComponentType or

• ServiceProxySwComponentType or

• SensorActuatorSwComponentType or

• ComplexDeviceDriverSwComponentType

• ServiceSwComponentType

• EcuAbstractionSwComponentType

and a ServiceSwComponentType (namely anAUTOSAR Service) located on the same ECU.Otherwise the flag is not set.

serviceKind

ServiceProviderEnum

0..1 attr This attribute provides further details about thenature of the applied service.

Table A.13: PortInterface

62 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 63: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class PortPrototype (abstract)Package M2::AUTOSARTemplates::SWComponentTemplate::ComponentsNote Base class for the ports of an AUTOSAR software component.

The aggregation of PortPrototypes is subject to variability with the purpose to supportthe conditional existence of ports.

Base ARObject,AtpBlueprintable,AtpFeature,AtpPrototype,Identifiable,MultilanguageReferrable,Referrable

Attribute Datatype Mul. Kind NoteclientServerAnnotation

ClientServerAnnotation

* aggr Annotation of this PortPrototype with respect toclient/server communication.

delegatedPortAnnotation

DelegatedPortAnnotation

0..1 aggr Annotations on this delegated port.

ioHwAbstractionServerAnnotation

IoHwAbstractionServerAnnotation

* aggr Annotations on this IO Hardware Abstraction port.

modePortAnnotation

ModePortAnnotation

* aggr Annotations on this mode port.

nvDataPortAnnotation

NvDataPortAnnotation

* aggr Annotations on this non voilatile data port.

parameterPortAnnotation

ParameterPortAnnotation

* aggr Annotations on this parameter port.

senderReceiverAnnotation

SenderReceiverAnnotation

* aggr Collection of annotations of this portssender/receiver communication.

triggerPortAnnotation

TriggerPortAnnotation

* aggr Annotations on this trigger port.

Table A.14: PortPrototype

Class SenderRecArrayElementMappingPackage M2::AUTOSARTemplates::SystemTemplate::DataMappingNote 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 theVariableDataPrototype that is referenced by SenderReceiverToSignalGroupMappingis typed by an ApplicationDataType the reference to the ApplicationArrayElementshall be used. If the VariableDataPrototype is typed by the ImplementationDataTypethe reference to the ImplementationArrayElement shall be used.

If the element is composite, there will be no mapping to the SystemSignal (multiplicity0). In this case the ArrayElementMapping element will aggregate the TypeMappingelement. In that way also the composite datatypes can be mapped to SystemSignals.

Regardless whether composite or primitive array element is mapped the indexedelement always needs to be specified.

Base ARObjectAttribute Datatype Mul. Kind Note

63 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 64: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Attribute Datatype Mul. Kind NotecomplexTypeMapping

SenderRecCompositeTypeMapping

0..1 aggr This aggregation will be used if the element iscomposite.

indexedArrayElement

IndexedArrayElement

1 aggr Reference to an indexed array element in thecontext of the dataElement or in the context of acomposite element.

systemSignal

SystemSignal 0..1 ref Reference to the system signal used to carry theprimitive ApplicationArrayElement.

Table A.15: SenderRecArrayElementMapping

Class SenderRecRecordElementMappingPackage M2::AUTOSARTemplates::SystemTemplate::DataMappingNote Mapping of a primitive record element to a SystemSignal. If the

VariableDataPrototype that is referenced by SenderReceiverToSignalGroupMappingis typed by an ApplicationDataType the reference applicationRecordElement shall beused. If the VariableDataPrototype is typed by the ImplementationDataType thereference implementationRecordElement shall be used. Either theimplementationRecordElement or applicationRecordElement reference shall beused.

If the element is composite, there will be no mapping to the SystemSignal (multiplicity0). In this case the RecordElementMapping element will aggregate thecomplexTypeMapping element. In that way also the composite datatypes can bemapped to SystemSignals.

Base ARObjectAttribute Datatype Mul. Kind NoteapplicationRecordElement

ApplicationRecordElement

0..1 ref Reference to an ApplicationRecordElement in thecontext of the dataElement or in the context of acomposite element. This reference shall only beused if the VariableDataPrototype that isreferenced by the SenderReceiverToSignal-GroupMapping.dataElement is typed by anApplicationDataType.

complexTypeMapping

SenderRecCompositeTypeMapping

0..1 aggr This aggregation will be used if the element iscomposite.

implementationRecordElement

ImplementationDataTypeElement

0..1 ref Reference to an ImplementationRecordElement inthe context of the dataElement or in the context ofa composite element. This reference shall only beused if VariableDataPrototype that is referencedby the SenderReceiverToSignalGroupMap-ping.dataElement is typed by anImplementationDataType.

systemSignal

SystemSignal 0..1 ref Reference to the system signal used to carry theprimitive ApplicationRecordElement.

Table A.16: SenderRecRecordElementMapping

64 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 65: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class SenderReceiverInterfacePackage M2::AUTOSARTemplates::SWComponentTemplate::PortInterfaceNote A sender/receiver interface declares a number of data elements to be sent and

received.

Tags: atp.recommendedPackage=PortInterfacesBase ARElement,ARObject,AtpBlueprint,AtpBlueprintable,AtpClassifier,Atp

Type,CollectableElement,DataInterface,Identifiable,MultilanguageReferrable,PackageableElement,PortInterface,Referrable

Attribute Datatype Mul. Kind NotedataElement

VariableDataPrototype

1..* aggr The data elements of thisSenderReceiverInterface.

invalidationPolicy

InvalidationPolicy

* aggr InvalidationPolicy for a particular dataElement

Table A.17: SenderReceiverInterface

Class SenderReceiverToSignalMappingPackage M2::AUTOSARTemplates::SystemTemplate::DataMappingNote Mapping of a sender receiver communication data element with a primitive datatype

to a signal.Base ARObject,DataMappingAttribute Datatype Mul. Kind NotedataElement

VariableDataPrototype

1 iref Reference to the data element, which ought to besent over the Communication bus.

systemSignal

SystemSignal 1 ref Reference to the system signal used to carry thedata element.

Table A.18: SenderReceiverToSignalMapping

Class SystemSignalPackage M2::AUTOSARTemplates::SystemTemplate::Fibex::FibexCore::CoreCommunicationNote The system signal represents the communication system’s view of data exchanged

between SW components which reside on different ECUs. The system signals allowto represent this communication in a flattened structure, with exactly one systemsignal defined for each data element prototype sent and received by connected SWcomponent instances.

Tags: atp.recommendedPackage=SystemSignalsBase ARElement,ARObject,CollectableElement,Identifiable,Multilanguage

Referrable,PackageableElement,ReferrableAttribute Datatype Mul. Kind NotedynamicLength

Boolean 1 attr The length of dynamic length signals is variable inrun-time. Only a maximum length of such a signalis specified in the configuration (attribute length inISignal element).

physicalProps

SwDataDefProps

0..1 aggr Specification of the physical representation.

Table A.19: SystemSignal

65 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer

Page 66: Document Title Specification of SOME/IP Transformersome-ip.com/papers/cache/AUTOSAR_SWS_SOMEIPTransformer_4.2.… · Specification of SOME/IP Transformer AUTOSAR Release 4.2.1 Document

Specification of SOME/IP TransformerAUTOSAR Release 4.2.1

Class TransformationTechnologyPackage M2::AUTOSARTemplates::SystemTemplate::TransformerNote A TransformationTechnology is a transformer inside a transformer chain.

Tags: xml.namePlural=TRANSFORMATION-TECHNOLOGIESBase ARObject,Identifiable,MultilanguageReferrable,ReferrableAttribute Datatype Mul. Kind NotebufferProperties

BufferProperties 1 aggr Aggregation of the mandatory BufferProperties.

needsOriginalData

Boolean 0..1 attr Specifies whether this transformer gets access tothe SWC’s original data.

protocol String 1 attr Specifies the protocol that is implemented by thistransformer.

transformationDescription

TransformationDescription

0..1 aggr A transformer can be configured with transformerspecific parameters which are represented by theTransformerDescription.

Stereotypes: atpVariationTags: vh.latestBindingTime=PostBuild

transformerClass

TransformerClassEnum

1 attr Specifies to which transformer class thistransformer belongs.

version String 1 attr Version of the implemented protocol.

Table A.20: TransformationTechnology

B Features of SOME/IP not supported by AUTOSARSOME/IP transformer

The following features of SOME/IP are currently not supported by the SOME/IP trans-former:

• Exceptions and exception-specific error data structures

• Tunneling of SOME/IP messages through CAN and Flexray leads to SOME/IPmessages without parts of the header inserted by [4, SWS Socket Adaptor]

• Fire&Forget methods (Client/Server calls without any response) are not sup-ported by AUTOSAR at all.

66 of 66— AUTOSAR CONFIDENTIAL —

Document ID 660: AUTOSAR_SOMEIPTransformer