Professional Documents
Culture Documents
Covesa Amm 2022 - VSC
Covesa Amm 2022 - VSC
Mission Statement
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA |2
Internal
Wrap Up:
- Identify a set of service that make sense for VSC, 3 nice example services
- Code generator on top of the VCS services
- Idl conversion
Questions:
- Verisoning on Interfaces / APIs?
Initial Objectives
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA |5
Internal
TECHNICAL OVERVIEW
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA |6
Internal
typedefs: Enumerations
... • Supports optional value specification for each element
enumerations: Structs
... • Can be nested
• Elements can be of any native or defined datatype
structs:
... Methods
• Arbitrary number of input and output parameters
methods: • Can return stream of output parameters
...
Events
events: • Pub/sub
... • Events can contain arbitrary number of elements
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA |7
Internal
Namespaces
• Mapped to corresponding namespaces in VSC file
• Nested namespaces used to traverse tree to specific elements
namespaces:
- name: seats
dbus_interface: com.genivi.seat
Extensions
methods:
• Adds additional data elements to the VSC specification
- name: move_seat
in:
- name: position
datatype: float
Overrides
• Redefines an existing element defined in VSC specification
• Can redefine complete trees (namespaces, methods, etc)
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA |8
Internal
Code Generation
Language to generate Protocol to generate Service specification Deployment file Output file for
stub code for stub code for (see above) generated code
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA |9
Internal
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 10
Internal
OBJECTIVES
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 12
Internal
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 13
Internal
Sample
• Demonstrating E2E use case for a VSC defined service
• Demonstrating collaborative work and interoperability
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 14
Internal
DBUS
Manual
translation-layer.cpp
coding
SOME/IP
Comfort ECU
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 15
Internal
Gateway
network-vsomeip.cpp
Manual
VSC Tooling VSC Tooling
coding
network.arxml vsc-hvac.yml
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 16
Internal
Open Questions
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 17
Internal
Open Questions
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 18
Internal
Application
Vehicle Service
VSC Tooling vsc-stub.cpp
Specification
• Signal Specification is translated to a VSC YAML file with events and properties
• Tooling generates code from both service specification and translated events and properties
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 19
Internal
vss-stub.cpp
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 20
Internal
Q: Best Practices
• Use RPCs to actuate and command
• Set radio station, move seats, set destination, …
• Can initiate transaction that triggers one or more events for transactional status update
• Returns ok/fail/in_progress(transaction_id)
• Use events to track transactional progress (Needs to be specified by VSC RPC call)
• Window 10% up, 20% up, aborted (hand in window) (last update)
• Deployment file specifies if sync/async interface should be generated.
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 21
Internal
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 22
Internal
Q: Additional Features
28 March 2024 | ALL MEMBER MEETING • Leipzig, Germany • Copyright ©2022 COVESA | 23
Internal