evolution of asam ods 6

19
Presenter Andreas Fischer AVL List GmbH Evolution of ASAM ODS 6.0 General Assembly Meeting 2017, Stuttgart, Germany

Upload: others

Post on 15-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Presenter

Andreas FischerAVL List GmbH

Evolution of ASAM ODS 6.0

General Assembly Meeting 2017, Stuttgart, Germany

2

Content

1 ASAM ODS Evolution2 Key Drivers for ODS 6.03 Development Process of ODS 6.04 New ODS 6.0 API5 Examples

3

Positioning of ASAM ODS within ASAMASAM ODS is that part of the ASAM standards which focuses on persistent storage and retrieval of data. ASAM ODS describes the physical storage of information as well as service interfaces.

Components of the ASAM ODS standard

ODS-Standards Evolution

2000 … 2003 … 2006 … 2009 … 2012 … 2015 …

4

ODS 5.0• RPC and CORBA• ATF/XML File format• Mixed Mode

Measurement• Name Mapping

support

ODS 5.1.1• Specification

Maintenance• Associated Standard

Web Service Interface

ODS 3.2• RPC – Interface• Extended Query

Definition

ODS 4.0• CORBA Interface• Mime Type definition

ODS 5.2• MDF 4.0 compatibility• Data Model Workflow• Data Model Geometry• Smaller enhancements ODS 5.3

• UTF 8 support• Managed Files• BusLog Data• MDF 4.1 support

ODS 5.3.1• XML Base Model• Specification

Maintenance• New documentation

format

ODS 6.0• HTTP API• Extended Support for MDF files• Notification Service• …

5

Key Drivers for ODS 6.0 API• New communication technology

• Enterprise IT ready technology stack• Encrypted data communication

• Reduce complexity of ODS API• Lower entry point for novice developers• Increase amount of ASAM ODS experts

• Support for new programming languages• Scripting languages• Native support for Microsoft .Net languages

• Reduced Support/Acceptance of CORBA infrastructure

6

Requirements Definition… defined > 100 requirements

• Functional• Non Functional• License fee (runtime), support, …• assessed (mandatory – opt.)

7

Technology - ResearchVoting for communication protocols

Research budget funded by ASAM• Fraunhofer IAIS

(Institute for Intelligent Analysis andInformation Systems)

• science+computing AG

Technology Communication

Google Protobuf HTTP(s)

Apache Thrift Thrift

8

Result of Evaluation by Fraunhofer

9

Evaluation Result of s + c (ATOS)Defined Test – Matrix

• Complex query structures• Network• Fast (SSL) / slow (SSL) / WAN• Java / C++ / C#• Windows / Linux• Compared to CORBA

• Performance tests

05

1015202530354045

10 20 40 80 160

320

640

1.28

02.

560

5.12

010

.240

20.4

8040

.960

81.9

2016

3.84

032

7.68

065

5.36

0

time

(s)

rows

ProtobufThrift

10

ODS 6.0 Standard SpecificationNEW additional HTTP-API

• Google Protocol Buffers 3.0 Serialisation

• W3C HTTPS transport protocol

• REST API based Interface definition

• Authentication

• W3C SSE Notification Service

What we have learned from the past ?• Simplify interface• Documentation• Example programs

11

Abstract ODS 6.0 Technology - Overview Client Server

HTTPS

responseProtobuf message

.proto definition files

• HTTP-API• Authentication• Notification

requestProtobuf message

HTTP API documentation

12

ODS 6.0 Interface simplificationODS 5.3.1 OO-API has > 200 methods => subset only usedODS 6.0 HTTP-API has only 30 functions

Common #15:• Connection Handling• Descriptive and Measurement Data• Transaction Handling

Specific #15:• Application Model modification• Security Administration• Event Notification• Miscellaneous functions

13

ODS 6.0 – Connection APIMethods for opening and closing the connection to a server.

HTTP PATH ACTION

POST {baseURI}/ odsDELETE {baseURI}/ ods/{conI}

POST {baseURI}/ods/{conI}/ context-readPOST {baseURI}/ods/{conI}/ context-update

14

ODS 6.0 Data Access APIMethods for read, write and modify descriptive and mass data

HTTP PATH ACTION

POST {baseURI}/ods/{conI}/ data-readPOST {baseURI}/ods/{conI}/ valuematrix-read

POST {baseURI}/ods/{conI}/ data-createPOST {baseURI}/ods/{conI}/ data-updatePOST {baseURI}/ods/{conI}/ data-deletePOST {baseURI}/ods/{conI}/ data-copy

POST {baseURI}/ods/{conI}/ n-m-relation-readPOST {baseURI}/ods/{conI}/ n-m-relation-write

16

ODS 6.0 Notification APIMethods for register and receive notifications from the server.Events for : • Instances (new, changed, deleted)• Application model changes• Security setting changes

HTTP PATH ACTION

POST {baseURI}/ events/{recl}DELETE {baseURI}/ events/{recl}

GET {baseURI}/ events/{recl}

17

Example ProgramsDemonstrate dynamic behaviour of API

Use-Case oriented Example Programs• Connection Handling• Data-model Handling• (Mea)Data Handling

Examples provided for

HTTP-API

Python

JAVAnano

JAVAC#

C++

18

Content of ODS 6.0 SpecificationBase Standard Documentation• Base Model, ATF, Physical Storage, OO-API, HTTP-API, Mime Types, …

Base Standard Model and Interface Definitions• Model• CORBA API• RPC API• HTTP API• XML Schema files

Associated Standards Documentation• NVH, Calibration, Geometry, Workflow and Bus Data

Examples• ATF, ATFX• HTTP API examples• Extended Query CORBA example

19

Conclusion ASAM ODS 6.0

Using latest IT communication technology

Simplified ODS API

Example programs for easy getting started

Can completely substitute the former OO-API of ODS 5.x

Andreas Fischer

Phone: +43 316 787-408 Email: [email protected]