SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Scalable Service-Oriented Middleware over IP
Dai Yang
Seminar – Selected Topics:
Operating Systems and Distributed Systems
WiSe 2015/16
25.11.2015 SOME/IP 1
Outline
• Introduction
• Technological Background
• ISO/OSI Model
• Ethernet and TCP/IP Stack
• CAN Bus
• Data Serialization
• Extensible Markup Language
• JavaScript Object Notation
• Google Protocol Buffer
• Automotive Open SystemArchitecture
• Scalable Service-Oriented Middleware over IP
• Description
• Data Serialization
• Service Orientation
• Service Discovery
• Evaluation and Future Work
• Evaluation
• Future Work
25.11.2015 SOME/IP 2
Motivation
25.11.2015 3SOME/IP
Automotive Onboard Network
25.11.2015 SOME/IP 4
Increasing Number of Nodes Onboard
Source:
‫دﺑﻋدﻣﺣﻣ‬‫ﻰﺣﻟا‬ ,
Embedded Systems
in Automotive, Intel
Coorperation,
http://www.slideshare.
net/ssuser92b33b/em
bedded-systems-in-
automotive,
Last visit: 07.11.2015
Scale of Electronic Control Units
• up to 100 ECUs
• up to 100 Mio. LoC (Lines of Codes)
• several in-vehicle Networks (CAN, FlexRay, MOST, etc.)
• Examples of ECUs:
• ABS
• ESP
• Engine Control
• Airbag
• Navigation
• Camera
• Fuel Control
• …
25.11.2015 SOME/IP 5
Source: Alternative Fuel ECU, Virtual R&D Ltd,
http://www.virtrnd.com/alternative-fuel-electronic-control-unit/,
Last visited: 07.11.2015
Current and Target Designs
• many ECUs
• all ASIC (Application Specific
Integrated Circuit)
• distributed
• Car Model specific
• multiple Specific Networks
• Low Data Rate
• Cupper wired
• reduced number of ECUs
• multipurpose
• less-distributed or central
• generic
• single onboard network
• High Data Rate
• optical wired
25.11.2015 SOME/IP 6
Backgrounds
25.11.2015 7SOME/IP
ISO/IEC 7498-1
25.11.2015 SOME/IP 8
Open System Interconnection model (OSI Model)
Application Layer
(HTTP, Telnet, FTP, DNS, …)
Presentation Layer
(SSL, TLS, ASCII, MPEG, …)
Session Layer
(Sockets,NetBIOS, RPC, Named Pipes, …)
Transport Layer
(TCP, UDP, X. 224, …)
Network Layer
(IP, IPsec, ICMP, ARP, …)
Data Link Layer
(PPP, IEEE802.3, IEEE802.11,…)
PhysicalLayer
(G.703, RS-232, RS-422,CAN bus, …)
Ethernet and TCP/IP Stack [0]
Ethernet
• Family of Computer Networking
Technologies for LAN
• IEEE 802.3
• Physical Layer
• Optical Fiber
• Twisted Pair
• others (e.g. via MIL-DTL-38999)
• Link Layer
• Carrier sense multiple access with
collision detection (CSMA/CD)
• Up To 25 Gbit/s
25.11.2015 SOME/IP 9
Comparison
TCP/IP Stack
• Internet Protocol Suite
• Layers:
• Link Layer: MAC
• Network Layer: IP
• Transport Layer: TCP, UDP
• Application Layer:
• OSI Socket Layer
• OSI Presentation Layer
• OSI Application Layer
• Everything but the Application Layer also
called “Ethernet” unofficially
Ethernet and TCP/IP Stack [1]
25.11.2015 SOME/IP 10
Different Connectors
RJ45 with Twisted Pair Cable [1]
RJ45 to MIL-STD 38999 Connector [3]
Optical Fiber with E-2000 Connector [2]
Sources:
[1] Wikimedia Foundation,
https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Ethernet C
ableBlue2.jpg/800px-EthernetCableBlue2.jpg, last visited 15.11.2015
[2] UnternehmerTUM GmbH und Leibniz Rechenzentrum
[3] Airbus Defence and Space © 2015 COMPANY CONFIDENTIAL
Ethernet and TCP/IP Stack [2]
25.11.2015 SOME/IP 11
Network Topology
EU
AP
Ethernet and TCP/IP Stack [3]
25.11.2015 SOME/IP 12
Basic Routing Schemes
NA
Broadcast
Anycast
Unicast
Multicast Geocast
Controller Area Network [0]
• Designed by Robert Bosch GmbH in 1983,
released by SAE (Society of Automotive
Engineers) in 1986
• ISO 11898 – 1
• Simple Circuit (picture right, High Speed CAN)
• A CAN Node contains:
• Sensor / Actuator
• CPU
• CAN Controller (Data Link Layer)
• CAN Transceiver (Physical/Electrical Layer)
• Field of Applications:
• Automotive
• Industrial
• Entertainment
• Layers:
• Application and Object Layer
• Transfer and Physical Layer
25.11.2015 SOME/IP 13
Automotive Onboard Network
25.11.2015 SOME/IP 14
Increasing Number of Nodes Onboard
Source:
‫دﺑﻋدﻣﺣﻣ‬‫ﻰﺣﻟا‬ ,
Embedded Systems
in Automotive, Intel
Coorperation,
http://www.slideshare.
net/ssuser92b33b/em
bedded-systems-in-
automotive,
Last visit: 07.11.2015
Controller Area Network [1]
25.11.2015 SOME/IP 15
CAN Message
• Max. 8 bytes data per message
• Dominant Level = 0, Recessive Level = 1;
• Lower ID = Higher Sending Priority
• NRZ (Non-Return-to-Zero Code)
• Bitrate dependent to network length (40m ~ 1Mbit/s, 500m ~ 125kbit/s)
• Channel must be synchronized -> Bit Stuffing
Source: Wikimedia Foundation, https://commons.wikimedia.org/wiki/File:CAN-Bus-frame_in_base_format_without_stuffbits.svg, last visit: 07.11.2015
• Green: ID
• Blue: Remote
Transmission
Request
• Yellow: Data
Length
• Red: Data Field
Data Serialization [0]
• Data Structures cannot be stored directly
• Data must be serialized before store/send
• easiest way: C
25.11.2015 SOME/IP 16
#pragma (pack, 1)
typedef struct tag_foo{
int a;
unsigned short b;
char c[2];
}FOO;
#pragma (pop)
FOO myFoo;
…
Memory
a b c
Advantages:
• Compact
• Simple
Disadvantages:
• not human-friendly
• hard to debug
Data Serialization [1]
• restricted payload size
-> save storage
-> calculation algorithms
• Example
• Torque of a Motor need to be transmitted in CAN in 12 Bit
• Range of Values: 200 N∙m – 820 N∙m
• Torque = ((CAN-Value) x 0.25) + 200 (N∙m)
• Resolution: 0.25 N∙m
• Disadvantages:
• Computational Effort
• Resolution Restriction
25.11.2015 SOME/IP 17
CAN
Data Serialization [2]
• defined by W3C
• human-readable and machine-readable
• Unicode Support
• Application: Web Applications, Document Storage, etc.
• Example:
25.11.2015 SOME/IP 18
Extensible Markup Language
#pragma (pack, 1)
typedef struct tag_foo{
int a;
unsigned short b;
char c[2];
}FOO;
#pragma (pop)
FOO myFoo;
…
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<myFoo>
<a type=“int”>1337</a>
<b type=“unsigned short”>10</b>
<c type=“char”>
<0>26</0>
<1>27</1>
</c>
</myFoo>
Disadvantage:
• high syntax overhead
Data Serialization [3]
• defined by Douglas Crockford
• human-readable and machine-readable
• valid JavaScript document
• Applications: Web Applications
• Example
25.11.2015 SOME/IP 19
JavaScript Object Notation
#pragma (pack, 1)
typedef struct tag_foo{
int a;
unsigned short b;
char c[2];
}FOO;
#pragma (pop)
FOO myFoo;
…
{
“a” : 1337
“b” : 10
“c” : [
{0:26},
{1:27}
]
}
Disadvantage:
• (still) high syntax overhead
Data Serialization [4]
• developed by Google in 2008
• designed for data storage or data transfer
• user defined Protocol Definition files (.proto) -> precompiled to libraries (e.g. .h/.c, .java)
• can only be de-serialized if protocol definition presents
• Supports enumerations and classes
• Example Protocol Definition:
25.11.2015 SOME/IP 20
Google Protocol Buffer
#pragma (pack, 1)
typedef struct tag_foo{
int a;
unsigned short b;
char c[2];
}FOO;
#pragma (pop)
FOO myFoo;
…
Message myFoo {
required int32 a = 1;
optional uint8 b = 2;
repeated int8 c = 3;
}
myFoo.pb.h
myFoo.pb.cc
Compile!
AUTOSAR [0]
• Cooperation of Development
• Standardization of automotive Software
• Automobile Manufactures, suppliers, tool developers and OEMs
• Goals:
• Implementation and standardization of basic system functions
• Scalability
• Integration between suppliers
• Consideration of availability and safety
• Redundancy
• Maintainability
• Increase the use of standard-software
• Software upgrade over whole PLC (Product Life Cycle)
• Supports TCP/IP Suite since ver. 4.1
25.11.2015 SOME/IP 21
AUTomotive Open System ARchitecture
Source: www.autosar.org, last visit: 08.11.2015
AUTOSAR [1]
25.11.2015 SOME/IP 22
Design Architecture
AUTOSAR [2]
25.11.2015 SOME/IP 23
Example of one AUTOSAR Configuration
SOME/IP
25.11.2015 24SOME/IP
SOME/IP [0]
• Designed by BMW Group in 2011
• Targeted at the increasing pressure on onboard network of automobiles
• Designed as communication system in:
• Infotainment
• Driver Assistance System
• Compatible to AUTOSAR
• Decoupling of SW-Unit from Communication-Unit
• Based on the TCP/IP Protocol Suite
25.11.2015 SOME/IP 25
Scalable Service-Oriented Middleware over IP
AUTOSAR [1]
25.11.2015 SOME/IP 26
Design Architecture
SOME/IP [0]
• Designed by BMW Group in 2011
• Targeted at the increasing pressure on onboard network of automobiles
• Designed as communication system in:
• Infotainment
• Driver Assistance System
• Compatible to AUTOSAR
• Decoupling of SW-Unit from Communication-Unit
• Based on the TCP/IP Protocol Suite
25.11.2015 SOME/IP 27
Scalable Service-Oriented Middleware over IP
SOME/IP [1]
• Physical, Data Link and Network:
• Full-duplex, Full-switched
IEEE802.3 compatible network
up to 1Gbps
• Unicast
-> Better Link utilization
• Transport Layer:
• TCP, for reliable communication
• UDP, for lightweight
communication
• Session and Presentation Layer:
• SOME/IP-SD
• Communication for Application
via API
25.11.2015 SOME/IP 28
Architecture
EU
AP
Ethernet and TCP/IP Stack [1]
25.11.2015 SOME/IP 29
Basic Routing Schemes
NA
Broadcast
Anycast
Unicast
Multicast Geocast
SOME/IP [1]
• Physical, Data Link and Network:
• Full-duplex, Full-switched
IEEE802.3 compatible network
up to 1Gbps
• Unicast
-> Better Link utilization
• Transport Layer:
• TCP, for reliable communication
• UDP, for lightweight
communication
• Session and Presentation Layer:
• SOME/IP-SD
• Communication for Application
via API
25.11.2015 SOME/IP 30
Architecture
SOME/IP [2]
• Basic Data Types:
• Unsigned Integer: 8/16/32/64 bit
• Signed Integer: 8/16/32/64 bit
• Floating Point Numbers: 32/64 bit
• Enumerations
• Booleans
• Bit fields
• Structures
• Unions
• (Multidimensional-) Arrays
• API with Serialization Functionalities
• C – Style, “as-is”
• No data conversion
• No calculation
• Large data structures are segmented via TCP or IP Segmentation
25.11.2015 SOME/IP 31
Basic Data Types and Data Serialization
SOME/IP [3]
• Client Server Architecture of SW-Cs
• Communication via Messages
• Types of services:
− Request and Response
− Fire and Forget
− Event
− Field
− Eventgroup
25.11.2015 SOME/IP 32
Service Orientation
SOME/IP [4]
Bytes 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
0
…
20
24
…
40
44
…
60
64
68
72
76
80
…
Payload	(Parameters,	etc.)
Length
Client	ID Session	ID
Protocol	Version Interface	Version Message	Type Return	Code
Ethernet	Header	(0-23	Bytes)
Offset
IP	Header	(24-43	Bytes)
TCP	Header	(44-63	Bytes)
Service	ID Method	ID
25.11.2015 SOME/IP 33
Message Format
SOME/IP [0]
• Designed by BMW Group in 2011
• Targeted at the increasing pressure on onboard network of automobiles
• Designed as communication system in:
• Infotainment
• Driver Assistance System
• Compatible to AUTOSAR
• Decoupling of SW-Unit from Communication-Unit
• Based on the TCP/IP Protocol Suite
25.11.2015 SOME/IP 34
Scalable Service-Oriented Middleware over IP
SOME/IP [4]
Bytes 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
0
…
20
24
…
40
44
…
60
64
68
72
76
80
…
Payload	(Parameters,	etc.)
Length
Client	ID Session	ID
Protocol	Version Interface	Version Message	Type Return	Code
Ethernet	Header	(0-23	Bytes)
Offset
IP	Header	(24-43	Bytes)
TCP	Header	(44-63	Bytes)
Service	ID Method	ID
25.11.2015 SOME/IP 35
Message Format
SOME/IP-SD [0]
• Registration between Service and Client
• IP Address
• Ports
• Service ID
• Event Subscription
• Disconnect detection
• active or passive service publishing
• Grant for the flexibility
• Decouple Server from fixed IP
• Plug and Play for new Server/Client
• Keep broadcast message as less as possible
25.11.2015 SOME/IP 36
SOME/IP Service Discovery
SOME/IP-SD [1]
• Find Service (passive Server)
• Offer Service (active Server)
• Stop Offer Service
• Subscribe Eventgroup
• Stop Subscribe Eventgroup
• Subscribe Eventgroup ACK
• Subscribe Eventgroup NAK
25.11.2015 SOME/IP 37
SOME/IP-SD-Entries
Blue: Broadcast
Brown: Unicast
Evaluation and Future Work
25.11.2015 38SOME/IP
Evaluation [0]
Main Advantages of SOME/IP
• Coexistence with existing system
-> No functional loss
• High Data Rate and Unicast
-> Increased data transfer amount
• High Service Availability
• Dynamic IP Addressing
-> Gain in Maintainability and
Flexibility
25.11.2015 SOME/IP 39
Is SOME/IP suitable for automotive Engineering?
Possible Issues of SOME/IP
• Computational Overhead due to
complex architecture
• Increased Storage Requirement
(Buffers, etc.)
• Less predictable computation time
• Single Point of Failure (e.g. Switch
malfunction)
• Good for Infotainment and Driver Assistance System
with high requirements on Data rate
• Less suitable for Safety Critical System
• Less suitable for Hard Real Time Systems (e.g.
brakes)
Evaluation [1]
25.11.2015 SOME/IP 40
Are we expecting latency due to SOME/IP-SD?
Time, until server and client gets ready:
(1) Server in Offer Mode, Client in Listen Mode (2) Server in Silent Mode, Client in Discover Mode
Both case:
• average round about 3ms startup time
• Worst case time is in scenario (1) better
Source: Seyler, J. R., Streichert, T., Glaß, M., Navet, N., and Teich, J. Formal analysis of the startup delay of some/ip service discovery. In
Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (2015), EDA Consortium, pp. 49–54.
Summary and Future Work
• What we know:
• SOME/IP supports a high data rate
• SOME/IP has low transportation overhead
• The initiation time of SOME/IP is notably short
-> SOME/IP is suitable for driver assistance and infotainment systems
-> but still to complex for hard real time systems like Motor control or brakes
• Simple, better Maintainability, and Modular design
• Next Steps:
• Case Studies
• Real vehicle data
• Network latency
• Fault behavior
• Real-time analysis
25.11.2015 SOME/IP 41
Thank you.
25.11.2015 42SOME/IP

Weitere ähnliche Inhalte

Was ist angesagt?

User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
Mohd Arif
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
Gopi Krishnamurthy
 

Was ist angesagt? (20)

CAN Bus
CAN BusCAN Bus
CAN Bus
 
The flex ray protocol
The flex ray protocolThe flex ray protocol
The flex ray protocol
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
AUToSAR introduction
AUToSAR introductionAUToSAR introduction
AUToSAR introduction
 
Control Area Network
Control Area NetworkControl Area Network
Control Area Network
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
FlexRay
FlexRayFlexRay
FlexRay
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Let's Try Every CRI Runtime Available for Kubernetes
Let's Try Every CRI Runtime Available for KubernetesLet's Try Every CRI Runtime Available for Kubernetes
Let's Try Every CRI Runtime Available for Kubernetes
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
 
Controller area network (CAN bus) ppt
Controller area network (CAN bus) pptController area network (CAN bus) ppt
Controller area network (CAN bus) ppt
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Controller area network (can bus)
Controller area network (can bus)Controller area network (can bus)
Controller area network (can bus)
 
What is Diagnostic over Internet Protocol (DoIP) and How it Supports Remote V...
What is Diagnostic over Internet Protocol (DoIP) and How it Supports Remote V...What is Diagnostic over Internet Protocol (DoIP) and How it Supports Remote V...
What is Diagnostic over Internet Protocol (DoIP) and How it Supports Remote V...
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
 
Can Transport Protocol : UDS
Can Transport Protocol : UDS Can Transport Protocol : UDS
Can Transport Protocol : UDS
 

Andere mochten auch

Scalable Service Oriented Architecture for Audio/Video ...
Scalable Service Oriented Architecture for Audio/Video ...Scalable Service Oriented Architecture for Audio/Video ...
Scalable Service Oriented Architecture for Audio/Video ...
Videoguy
 

Andere mochten auch (11)

Scalable Service Oriented Architecture for Audio/Video ...
Scalable Service Oriented Architecture for Audio/Video ...Scalable Service Oriented Architecture for Audio/Video ...
Scalable Service Oriented Architecture for Audio/Video ...
 
160811_오토테크컨퍼런스_팝콘사
160811_오토테크컨퍼런스_팝콘사160811_오토테크컨퍼런스_팝콘사
160811_오토테크컨퍼런스_팝콘사
 
Lean UX Anti-Patterns
Lean UX Anti-PatternsLean UX Anti-Patterns
Lean UX Anti-Patterns
 
AUTOSAR 403 CAN Stack
AUTOSAR 403 CAN StackAUTOSAR 403 CAN Stack
AUTOSAR 403 CAN Stack
 
02 protocol architecture
02 protocol architecture02 protocol architecture
02 protocol architecture
 
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
 
차량용 소프트웨어 개발 시 소프트웨어 아키텍처 고려사항
차량용 소프트웨어 개발 시 소프트웨어 아키텍처 고려사항차량용 소프트웨어 개발 시 소프트웨어 아키텍처 고려사항
차량용 소프트웨어 개발 시 소프트웨어 아키텍처 고려사항
 
메이븐 기본 이해
메이븐 기본 이해메이븐 기본 이해
메이븐 기본 이해
 
NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics  NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics
 
Industry 4.0 pai
Industry 4.0 paiIndustry 4.0 pai
Industry 4.0 pai
 
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
 

Ähnlich wie Scalable Service-Oriented Middleware over IP

Get into Networking by Clearing Comptia Network+ Test
Get into Networking by Clearing Comptia Network+ TestGet into Networking by Clearing Comptia Network+ Test
Get into Networking by Clearing Comptia Network+ Test
certblaster
 
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...
Mason Mei
 
ETE405-lec4.pdf
ETE405-lec4.pdfETE405-lec4.pdf
ETE405-lec4.pdf
mashiur
 

Ähnlich wie Scalable Service-Oriented Middleware over IP (20)

Moving To IP Backhaul
Moving To IP BackhaulMoving To IP Backhaul
Moving To IP Backhaul
 
ITE v5.0 - Chapter 6
ITE v5.0 - Chapter 6ITE v5.0 - Chapter 6
ITE v5.0 - Chapter 6
 
Networking - TCP/IP stack introduction and IPv6
Networking - TCP/IP stack introduction and IPv6Networking - TCP/IP stack introduction and IPv6
Networking - TCP/IP stack introduction and IPv6
 
Pushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to Cloud
 
IPv6 and IoT
IPv6 and IoTIPv6 and IoT
IPv6 and IoT
 
Oracle Cloud Networking And Security Exposed
Oracle Cloud Networking And Security Exposed Oracle Cloud Networking And Security Exposed
Oracle Cloud Networking And Security Exposed
 
IP Signal Distribution
IP Signal DistributionIP Signal Distribution
IP Signal Distribution
 
Intelligent IoT gateway on openwrt
Intelligent IoT gateway on openwrtIntelligent IoT gateway on openwrt
Intelligent IoT gateway on openwrt
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP segura
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDN
 
QSpiders - Dod Model
QSpiders - Dod ModelQSpiders - Dod Model
QSpiders - Dod Model
 
L6 6 lowpan
L6 6 lowpanL6 6 lowpan
L6 6 lowpan
 
Get into Networking by Clearing Comptia Network+ Test
Get into Networking by Clearing Comptia Network+ TestGet into Networking by Clearing Comptia Network+ Test
Get into Networking by Clearing Comptia Network+ Test
 
Thread SEP2 Talk
Thread SEP2 TalkThread SEP2 Talk
Thread SEP2 Talk
 
Colt's SDN/NFV Vision
Colt's SDN/NFV VisionColt's SDN/NFV Vision
Colt's SDN/NFV Vision
 
Colt SDN Strategy - FIBRE Workshop 5 Nov 2013 Barcelona
Colt SDN Strategy - FIBRE Workshop 5 Nov 2013 BarcelonaColt SDN Strategy - FIBRE Workshop 5 Nov 2013 Barcelona
Colt SDN Strategy - FIBRE Workshop 5 Nov 2013 Barcelona
 
Intelligent IoT Gateway on OpenWrt
Intelligent IoT Gateway on OpenWrtIntelligent IoT Gateway on OpenWrt
Intelligent IoT Gateway on OpenWrt
 
SDN and metrics from the SDOs
SDN and metrics from the SDOsSDN and metrics from the SDOs
SDN and metrics from the SDOs
 
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...
Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Eth...
 
ETE405-lec4.pdf
ETE405-lec4.pdfETE405-lec4.pdf
ETE405-lec4.pdf
 

Kürzlich hochgeladen

Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...
Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...
Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...
gajnagarg
 
如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一
如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一
如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一
avy6anjnd
 
9352852248 Call Girls Gota Escort Service Available 24×7 In Gota
9352852248 Call Girls  Gota Escort Service Available 24×7 In Gota9352852248 Call Girls  Gota Escort Service Available 24×7 In Gota
9352852248 Call Girls Gota Escort Service Available 24×7 In Gota
gargpaaro
 
如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一
如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一
如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一
avy6anjnd
 
如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一
如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一
如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一
avy6anjnd
 
Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...
nirzagarg
 
Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...
gajnagarg
 
一比一原版伯明翰城市大学毕业证成绩单留信学历认证
一比一原版伯明翰城市大学毕业证成绩单留信学历认证一比一原版伯明翰城市大学毕业证成绩单留信学历认证
一比一原版伯明翰城市大学毕业证成绩单留信学历认证
62qaf0hi
 
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
wsppdmt
 
如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一
如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一
如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一
opyff
 
CELLULAR RESPIRATION. Helpful slides for
CELLULAR RESPIRATION. Helpful slides forCELLULAR RESPIRATION. Helpful slides for
CELLULAR RESPIRATION. Helpful slides for
euphemism22
 

Kürzlich hochgeladen (20)

Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...
Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...
Top profile Call Girls In dharamshala [ 7014168258 ] Call Me For Genuine Mode...
 
Is Your BMW PDC Malfunctioning Discover How to Easily Reset It
Is Your BMW PDC Malfunctioning Discover How to Easily Reset ItIs Your BMW PDC Malfunctioning Discover How to Easily Reset It
Is Your BMW PDC Malfunctioning Discover How to Easily Reset It
 
Electronic Stability Program. (ESP).pptx
Electronic Stability Program. (ESP).pptxElectronic Stability Program. (ESP).pptx
Electronic Stability Program. (ESP).pptx
 
如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一
如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一
如何办理伦敦商学院毕业证(LBS毕业证)毕业证成绩单原版一比一
 
9352852248 Call Girls Gota Escort Service Available 24×7 In Gota
9352852248 Call Girls  Gota Escort Service Available 24×7 In Gota9352852248 Call Girls  Gota Escort Service Available 24×7 In Gota
9352852248 Call Girls Gota Escort Service Available 24×7 In Gota
 
Marathi Call Girls Santacruz WhatsApp +91-9930687706, Best Service
Marathi Call Girls Santacruz WhatsApp +91-9930687706, Best ServiceMarathi Call Girls Santacruz WhatsApp +91-9930687706, Best Service
Marathi Call Girls Santacruz WhatsApp +91-9930687706, Best Service
 
如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一
如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一
如何办理莱斯大学毕业证(Rice毕业证)毕业证成绩单原版一比一
 
Why Does My Porsche Cayenne's Exhaust Sound So Loud
Why Does My Porsche Cayenne's Exhaust Sound So LoudWhy Does My Porsche Cayenne's Exhaust Sound So Loud
Why Does My Porsche Cayenne's Exhaust Sound So Loud
 
如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一
如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一
如何办理(Waterloo毕业证书)滑铁卢大学毕业证毕业证成绩单原版一比一
 
Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Darbhanga [ 7014168258 ] Call Me For Genuine Models...
 
Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ranchi [ 7014168258 ] Call Me For Genuine Models We...
 
一比一原版伯明翰城市大学毕业证成绩单留信学历认证
一比一原版伯明翰城市大学毕业证成绩单留信学历认证一比一原版伯明翰城市大学毕业证成绩单留信学历认证
一比一原版伯明翰城市大学毕业证成绩单留信学历认证
 
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
 
Bhilai Escorts Service Girl ^ 8250092165, WhatsApp Anytime Bhilai
Bhilai Escorts Service Girl ^ 8250092165, WhatsApp Anytime BhilaiBhilai Escorts Service Girl ^ 8250092165, WhatsApp Anytime Bhilai
Bhilai Escorts Service Girl ^ 8250092165, WhatsApp Anytime Bhilai
 
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
 
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
 
Is Your Mercedes Benz Trunk Refusing To Close Here's What Might Be Wrong
Is Your Mercedes Benz Trunk Refusing To Close Here's What Might Be WrongIs Your Mercedes Benz Trunk Refusing To Close Here's What Might Be Wrong
Is Your Mercedes Benz Trunk Refusing To Close Here's What Might Be Wrong
 
如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一
如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一
如何办理新西兰林肯大学毕业证(Lincoln毕业证书)成绩单原版一比一
 
Effortless Driving Experience Premier Mercedes Sprinter Suspension Service
Effortless Driving Experience Premier Mercedes Sprinter Suspension ServiceEffortless Driving Experience Premier Mercedes Sprinter Suspension Service
Effortless Driving Experience Premier Mercedes Sprinter Suspension Service
 
CELLULAR RESPIRATION. Helpful slides for
CELLULAR RESPIRATION. Helpful slides forCELLULAR RESPIRATION. Helpful slides for
CELLULAR RESPIRATION. Helpful slides for
 

Scalable Service-Oriented Middleware over IP

  • 1. Scalable Service-Oriented Middleware over IP Dai Yang Seminar – Selected Topics: Operating Systems and Distributed Systems WiSe 2015/16 25.11.2015 SOME/IP 1
  • 2. Outline • Introduction • Technological Background • ISO/OSI Model • Ethernet and TCP/IP Stack • CAN Bus • Data Serialization • Extensible Markup Language • JavaScript Object Notation • Google Protocol Buffer • Automotive Open SystemArchitecture • Scalable Service-Oriented Middleware over IP • Description • Data Serialization • Service Orientation • Service Discovery • Evaluation and Future Work • Evaluation • Future Work 25.11.2015 SOME/IP 2
  • 4. Automotive Onboard Network 25.11.2015 SOME/IP 4 Increasing Number of Nodes Onboard Source: ‫دﺑﻋدﻣﺣﻣ‬‫ﻰﺣﻟا‬ , Embedded Systems in Automotive, Intel Coorperation, http://www.slideshare. net/ssuser92b33b/em bedded-systems-in- automotive, Last visit: 07.11.2015
  • 5. Scale of Electronic Control Units • up to 100 ECUs • up to 100 Mio. LoC (Lines of Codes) • several in-vehicle Networks (CAN, FlexRay, MOST, etc.) • Examples of ECUs: • ABS • ESP • Engine Control • Airbag • Navigation • Camera • Fuel Control • … 25.11.2015 SOME/IP 5 Source: Alternative Fuel ECU, Virtual R&D Ltd, http://www.virtrnd.com/alternative-fuel-electronic-control-unit/, Last visited: 07.11.2015
  • 6. Current and Target Designs • many ECUs • all ASIC (Application Specific Integrated Circuit) • distributed • Car Model specific • multiple Specific Networks • Low Data Rate • Cupper wired • reduced number of ECUs • multipurpose • less-distributed or central • generic • single onboard network • High Data Rate • optical wired 25.11.2015 SOME/IP 6
  • 8. ISO/IEC 7498-1 25.11.2015 SOME/IP 8 Open System Interconnection model (OSI Model) Application Layer (HTTP, Telnet, FTP, DNS, …) Presentation Layer (SSL, TLS, ASCII, MPEG, …) Session Layer (Sockets,NetBIOS, RPC, Named Pipes, …) Transport Layer (TCP, UDP, X. 224, …) Network Layer (IP, IPsec, ICMP, ARP, …) Data Link Layer (PPP, IEEE802.3, IEEE802.11,…) PhysicalLayer (G.703, RS-232, RS-422,CAN bus, …)
  • 9. Ethernet and TCP/IP Stack [0] Ethernet • Family of Computer Networking Technologies for LAN • IEEE 802.3 • Physical Layer • Optical Fiber • Twisted Pair • others (e.g. via MIL-DTL-38999) • Link Layer • Carrier sense multiple access with collision detection (CSMA/CD) • Up To 25 Gbit/s 25.11.2015 SOME/IP 9 Comparison TCP/IP Stack • Internet Protocol Suite • Layers: • Link Layer: MAC • Network Layer: IP • Transport Layer: TCP, UDP • Application Layer: • OSI Socket Layer • OSI Presentation Layer • OSI Application Layer • Everything but the Application Layer also called “Ethernet” unofficially
  • 10. Ethernet and TCP/IP Stack [1] 25.11.2015 SOME/IP 10 Different Connectors RJ45 with Twisted Pair Cable [1] RJ45 to MIL-STD 38999 Connector [3] Optical Fiber with E-2000 Connector [2] Sources: [1] Wikimedia Foundation, https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Ethernet C ableBlue2.jpg/800px-EthernetCableBlue2.jpg, last visited 15.11.2015 [2] UnternehmerTUM GmbH und Leibniz Rechenzentrum [3] Airbus Defence and Space © 2015 COMPANY CONFIDENTIAL
  • 11. Ethernet and TCP/IP Stack [2] 25.11.2015 SOME/IP 11 Network Topology
  • 12. EU AP Ethernet and TCP/IP Stack [3] 25.11.2015 SOME/IP 12 Basic Routing Schemes NA Broadcast Anycast Unicast Multicast Geocast
  • 13. Controller Area Network [0] • Designed by Robert Bosch GmbH in 1983, released by SAE (Society of Automotive Engineers) in 1986 • ISO 11898 – 1 • Simple Circuit (picture right, High Speed CAN) • A CAN Node contains: • Sensor / Actuator • CPU • CAN Controller (Data Link Layer) • CAN Transceiver (Physical/Electrical Layer) • Field of Applications: • Automotive • Industrial • Entertainment • Layers: • Application and Object Layer • Transfer and Physical Layer 25.11.2015 SOME/IP 13
  • 14. Automotive Onboard Network 25.11.2015 SOME/IP 14 Increasing Number of Nodes Onboard Source: ‫دﺑﻋدﻣﺣﻣ‬‫ﻰﺣﻟا‬ , Embedded Systems in Automotive, Intel Coorperation, http://www.slideshare. net/ssuser92b33b/em bedded-systems-in- automotive, Last visit: 07.11.2015
  • 15. Controller Area Network [1] 25.11.2015 SOME/IP 15 CAN Message • Max. 8 bytes data per message • Dominant Level = 0, Recessive Level = 1; • Lower ID = Higher Sending Priority • NRZ (Non-Return-to-Zero Code) • Bitrate dependent to network length (40m ~ 1Mbit/s, 500m ~ 125kbit/s) • Channel must be synchronized -> Bit Stuffing Source: Wikimedia Foundation, https://commons.wikimedia.org/wiki/File:CAN-Bus-frame_in_base_format_without_stuffbits.svg, last visit: 07.11.2015 • Green: ID • Blue: Remote Transmission Request • Yellow: Data Length • Red: Data Field
  • 16. Data Serialization [0] • Data Structures cannot be stored directly • Data must be serialized before store/send • easiest way: C 25.11.2015 SOME/IP 16 #pragma (pack, 1) typedef struct tag_foo{ int a; unsigned short b; char c[2]; }FOO; #pragma (pop) FOO myFoo; … Memory a b c Advantages: • Compact • Simple Disadvantages: • not human-friendly • hard to debug
  • 17. Data Serialization [1] • restricted payload size -> save storage -> calculation algorithms • Example • Torque of a Motor need to be transmitted in CAN in 12 Bit • Range of Values: 200 N∙m – 820 N∙m • Torque = ((CAN-Value) x 0.25) + 200 (N∙m) • Resolution: 0.25 N∙m • Disadvantages: • Computational Effort • Resolution Restriction 25.11.2015 SOME/IP 17 CAN
  • 18. Data Serialization [2] • defined by W3C • human-readable and machine-readable • Unicode Support • Application: Web Applications, Document Storage, etc. • Example: 25.11.2015 SOME/IP 18 Extensible Markup Language #pragma (pack, 1) typedef struct tag_foo{ int a; unsigned short b; char c[2]; }FOO; #pragma (pop) FOO myFoo; … <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <myFoo> <a type=“int”>1337</a> <b type=“unsigned short”>10</b> <c type=“char”> <0>26</0> <1>27</1> </c> </myFoo> Disadvantage: • high syntax overhead
  • 19. Data Serialization [3] • defined by Douglas Crockford • human-readable and machine-readable • valid JavaScript document • Applications: Web Applications • Example 25.11.2015 SOME/IP 19 JavaScript Object Notation #pragma (pack, 1) typedef struct tag_foo{ int a; unsigned short b; char c[2]; }FOO; #pragma (pop) FOO myFoo; … { “a” : 1337 “b” : 10 “c” : [ {0:26}, {1:27} ] } Disadvantage: • (still) high syntax overhead
  • 20. Data Serialization [4] • developed by Google in 2008 • designed for data storage or data transfer • user defined Protocol Definition files (.proto) -> precompiled to libraries (e.g. .h/.c, .java) • can only be de-serialized if protocol definition presents • Supports enumerations and classes • Example Protocol Definition: 25.11.2015 SOME/IP 20 Google Protocol Buffer #pragma (pack, 1) typedef struct tag_foo{ int a; unsigned short b; char c[2]; }FOO; #pragma (pop) FOO myFoo; … Message myFoo { required int32 a = 1; optional uint8 b = 2; repeated int8 c = 3; } myFoo.pb.h myFoo.pb.cc Compile!
  • 21. AUTOSAR [0] • Cooperation of Development • Standardization of automotive Software • Automobile Manufactures, suppliers, tool developers and OEMs • Goals: • Implementation and standardization of basic system functions • Scalability • Integration between suppliers • Consideration of availability and safety • Redundancy • Maintainability • Increase the use of standard-software • Software upgrade over whole PLC (Product Life Cycle) • Supports TCP/IP Suite since ver. 4.1 25.11.2015 SOME/IP 21 AUTomotive Open System ARchitecture Source: www.autosar.org, last visit: 08.11.2015
  • 22. AUTOSAR [1] 25.11.2015 SOME/IP 22 Design Architecture
  • 23. AUTOSAR [2] 25.11.2015 SOME/IP 23 Example of one AUTOSAR Configuration
  • 25. SOME/IP [0] • Designed by BMW Group in 2011 • Targeted at the increasing pressure on onboard network of automobiles • Designed as communication system in: • Infotainment • Driver Assistance System • Compatible to AUTOSAR • Decoupling of SW-Unit from Communication-Unit • Based on the TCP/IP Protocol Suite 25.11.2015 SOME/IP 25 Scalable Service-Oriented Middleware over IP
  • 26. AUTOSAR [1] 25.11.2015 SOME/IP 26 Design Architecture
  • 27. SOME/IP [0] • Designed by BMW Group in 2011 • Targeted at the increasing pressure on onboard network of automobiles • Designed as communication system in: • Infotainment • Driver Assistance System • Compatible to AUTOSAR • Decoupling of SW-Unit from Communication-Unit • Based on the TCP/IP Protocol Suite 25.11.2015 SOME/IP 27 Scalable Service-Oriented Middleware over IP
  • 28. SOME/IP [1] • Physical, Data Link and Network: • Full-duplex, Full-switched IEEE802.3 compatible network up to 1Gbps • Unicast -> Better Link utilization • Transport Layer: • TCP, for reliable communication • UDP, for lightweight communication • Session and Presentation Layer: • SOME/IP-SD • Communication for Application via API 25.11.2015 SOME/IP 28 Architecture
  • 29. EU AP Ethernet and TCP/IP Stack [1] 25.11.2015 SOME/IP 29 Basic Routing Schemes NA Broadcast Anycast Unicast Multicast Geocast
  • 30. SOME/IP [1] • Physical, Data Link and Network: • Full-duplex, Full-switched IEEE802.3 compatible network up to 1Gbps • Unicast -> Better Link utilization • Transport Layer: • TCP, for reliable communication • UDP, for lightweight communication • Session and Presentation Layer: • SOME/IP-SD • Communication for Application via API 25.11.2015 SOME/IP 30 Architecture
  • 31. SOME/IP [2] • Basic Data Types: • Unsigned Integer: 8/16/32/64 bit • Signed Integer: 8/16/32/64 bit • Floating Point Numbers: 32/64 bit • Enumerations • Booleans • Bit fields • Structures • Unions • (Multidimensional-) Arrays • API with Serialization Functionalities • C – Style, “as-is” • No data conversion • No calculation • Large data structures are segmented via TCP or IP Segmentation 25.11.2015 SOME/IP 31 Basic Data Types and Data Serialization
  • 32. SOME/IP [3] • Client Server Architecture of SW-Cs • Communication via Messages • Types of services: − Request and Response − Fire and Forget − Event − Field − Eventgroup 25.11.2015 SOME/IP 32 Service Orientation
  • 33. SOME/IP [4] Bytes 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 0 … 20 24 … 40 44 … 60 64 68 72 76 80 … Payload (Parameters, etc.) Length Client ID Session ID Protocol Version Interface Version Message Type Return Code Ethernet Header (0-23 Bytes) Offset IP Header (24-43 Bytes) TCP Header (44-63 Bytes) Service ID Method ID 25.11.2015 SOME/IP 33 Message Format
  • 34. SOME/IP [0] • Designed by BMW Group in 2011 • Targeted at the increasing pressure on onboard network of automobiles • Designed as communication system in: • Infotainment • Driver Assistance System • Compatible to AUTOSAR • Decoupling of SW-Unit from Communication-Unit • Based on the TCP/IP Protocol Suite 25.11.2015 SOME/IP 34 Scalable Service-Oriented Middleware over IP
  • 35. SOME/IP [4] Bytes 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 0 … 20 24 … 40 44 … 60 64 68 72 76 80 … Payload (Parameters, etc.) Length Client ID Session ID Protocol Version Interface Version Message Type Return Code Ethernet Header (0-23 Bytes) Offset IP Header (24-43 Bytes) TCP Header (44-63 Bytes) Service ID Method ID 25.11.2015 SOME/IP 35 Message Format
  • 36. SOME/IP-SD [0] • Registration between Service and Client • IP Address • Ports • Service ID • Event Subscription • Disconnect detection • active or passive service publishing • Grant for the flexibility • Decouple Server from fixed IP • Plug and Play for new Server/Client • Keep broadcast message as less as possible 25.11.2015 SOME/IP 36 SOME/IP Service Discovery
  • 37. SOME/IP-SD [1] • Find Service (passive Server) • Offer Service (active Server) • Stop Offer Service • Subscribe Eventgroup • Stop Subscribe Eventgroup • Subscribe Eventgroup ACK • Subscribe Eventgroup NAK 25.11.2015 SOME/IP 37 SOME/IP-SD-Entries Blue: Broadcast Brown: Unicast
  • 38. Evaluation and Future Work 25.11.2015 38SOME/IP
  • 39. Evaluation [0] Main Advantages of SOME/IP • Coexistence with existing system -> No functional loss • High Data Rate and Unicast -> Increased data transfer amount • High Service Availability • Dynamic IP Addressing -> Gain in Maintainability and Flexibility 25.11.2015 SOME/IP 39 Is SOME/IP suitable for automotive Engineering? Possible Issues of SOME/IP • Computational Overhead due to complex architecture • Increased Storage Requirement (Buffers, etc.) • Less predictable computation time • Single Point of Failure (e.g. Switch malfunction) • Good for Infotainment and Driver Assistance System with high requirements on Data rate • Less suitable for Safety Critical System • Less suitable for Hard Real Time Systems (e.g. brakes)
  • 40. Evaluation [1] 25.11.2015 SOME/IP 40 Are we expecting latency due to SOME/IP-SD? Time, until server and client gets ready: (1) Server in Offer Mode, Client in Listen Mode (2) Server in Silent Mode, Client in Discover Mode Both case: • average round about 3ms startup time • Worst case time is in scenario (1) better Source: Seyler, J. R., Streichert, T., Glaß, M., Navet, N., and Teich, J. Formal analysis of the startup delay of some/ip service discovery. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (2015), EDA Consortium, pp. 49–54.
  • 41. Summary and Future Work • What we know: • SOME/IP supports a high data rate • SOME/IP has low transportation overhead • The initiation time of SOME/IP is notably short -> SOME/IP is suitable for driver assistance and infotainment systems -> but still to complex for hard real time systems like Motor control or brakes • Simple, better Maintainability, and Modular design • Next Steps: • Case Studies • Real vehicle data • Network latency • Fault behavior • Real-time analysis 25.11.2015 SOME/IP 41