Sie sind auf Seite 1von 17

SOME-IP

Scalable service-Oriented MiddlewarE over IP

Gururaja
SOME-IP – Key Facts
• Designed by BMW group in 2011
• It’s compatible to AUTOSAR standard
– AUTOSAR 4.0 – basic support for SOME/IP messages already existing.
– AUTOSAR 4.1 – support for SOME/IP-SD and Publish/Subscribe was added.
– AUTOSAR 4.2 – the transformer was added for serialization as well as other optimizations.
– AUTOSAR 4.3 – fixing some transformer bugs, adding support for large UDP messages with SOME/IP-TP as well as SOME/IP-SD
optimizations
• It relies on using Ethernet and TCP/IP.
• vsomeip – GENIVI implementation (https://github.com/GENIVI/vsomeip)

2
SOME-IP – Key Features
• SOME/IP provides service oriented communication over a network
• SOME/IP supports a wide range of middleware features
– Serialization – transforming into and from on-wire representation.
– Remote Procedure Call (RPC) – implementing remote invocation of functions.
– Service Discovery (SD) – dynamically finding functionality and configuring its access.
– Publish/Subscribe (Pub/Sub) – dynamically configuring which data is needed and shall be sent to the client.
– Segmentation of UDP messages – allowing the transport of large SOME/IP messages over UDP without the need of fragmentation.

• SOME/IP can be implemented on different operating systems (i.e. AUTOSAR, GENIVI Linux
and OSEK) and even embedded devices without operating system
• SOME/IP is used for inter-ECU Client/Server Serialization

3
SOME-IP: Concepts – Protocol Stack

OSI

SOME/IP - SD
Measurement &
SOME/IP Diagnosis & Flash
Calibration
Layers
5-7

Layer 4
TCP / UDP
Layer 3
IPv4/IPv6

IEEE Ethernet MAC (VLAN) Layer 2

Automotive Ethernet physical layer Layer 1

4
SOME-IP – Concept
Node 1
Node 2
• SOME/IP allows applications to
communicate.
Application

Application
• Packet formats are automatically
determined by the specification of
the Service.
API’s
API’s

SOME/IP
• Server offers a Service Instance
that implements the Service
Interface.
TCP / UDP
• Client uses the Service Instance
TCP / UDP
using SOME/IP.
Data packets

5
SOME-IP – Concept
Services: Request/Response Methods

• Request – a message from client to server


calling a method.
• Response – a message from server to client
transporting the results of the method
invocation.
• Request/Response – a method call with
Request and Response messages.

6
SOME-IP – Concept
Services: Fire & Forget Methods

• Request – a message from client to server


calling a method.
• Fire&Forget – a method invocation with just
a Request message.
• Message Type „REQUEST_NO_RETURN“.
• Does not support answers and errors.

7
SOME-IP – Concept
Services: Events

• Event – a Fire&Forget callback, that is sent


out by the Server (e.g. cyclically or on
change).
• Sent from Server to Client.
• Similar to regular CAN messages.

8
SOME-IP – Concept
Services: Fields

• Field – represents a remote accessible


property that includes Getter/Setter and/or
Notification.
• Getter – Method to read field value.
• Setter – Method to set field value.
Notification (sends out Events with new
values on change of field value).
• Similar to a property on MOST.

9
SOME-IP – Concept
Basic Data types and Serialisation
• Basic Data Types
• Unsigned int and Signed int : 8/16/32/64 bits
• Floating point 32/64 bits
• Enums, Bool, Bit field, Structure and unions, Multidimensional array

• API with serialization functionalities


• ‘C’ Style, as is
• No Data conversion, No Calculation
• Large data structures are segments via TCP or IP segmentation

11
SOME-IP – Concept
Services: Service Discovery
• SOME/IP-SD is used to
• Locate service instances.
• Detect if service instances are running.
• Implement the Publish/Subscribe handling.

12
SOME-IP – Concept
Message Format
SOME/IP SOME/IP - SD

13
SOME-IP
vsomeip – GENIVI implementation
• The vsomeip stack implements the http://some-ip.com/ (Scalable service-
Oriented MiddlewarE over IP (SOME/IP)) protocol. The stack consists of,

• a shared library for SOME/IP (libvsomeip.so)


• a second shared library for SOME/IP's service discovery (libvsomeip-
sd.so) which is loaded during runtime if the service discovery is enabled.

• Demo

13
SOME-IP
Pros and Cons [2]

14
SOME-IP
Pros and Cons [2]

15
SOME-IP – References

[1] www.some-ip.com
[2] https://www.slideshare.net/DaiYang/scalable-serviceoriented-middleware-over-ip
[3] https://github.com/GENIVI/vsomeip
[4] vsomeip examples : https://github.com/GENIVI/vsomeip/tree/master/examples/hello_world
[5] https://www.autosar.org/fileadmin/user_upload/standards/foundation/1-
3/AUTOSAR_PRS_SOMEIPServiceDiscoveryProtocol.pdf
[6] http://some-ip.com/papers.shtml
[7] https://github.com/GENIVI/vsomeip/wiki/vsomeip-in-10-minutes
[8] https://elearning.vector.com/index.php?&wbt_ls_seite_id=1588444&root=378422&seite=vl_automotive_ethernet_introduction_en

16
THANK YOU

Das könnte Ihnen auch gefallen