27
© 2015 Spazio IT - Soluzioni Informatiche s.a.s. 1 LCM The Network Is NOT Transparent October 2015 SPAZIO IT LCM - FDIR Maurizio Martignano Spazio IT Soluzioni Informatiche s.a.s Via Manzoni 40 46030 San Giorgio di Mantova, Mantova http://www.spazioit.com

The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

1

LCM

The Network

Is NOT

Transparent

October 2015

SPAZIO IT LCM - FDIR

Maurizio Martignano

Spazio IT – Soluzioni Informatiche s.a.s

Via Manzoni 40

46030 San Giorgio di Mantova, Mantova

http://www.spazioit.com

Page 2: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

2

Agenda

CRETA Platform

LCM

LCM and FDIR

Conclusions

October 2015

Page 3: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

3

CRETA Platform

October 2015

Page 4: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

4

CRETA Platform – What is it?

Avionics architectures can contain nowadays a variety of communication hardware, e.g.:– AFDX (Avionics Full-Duplex Switched ) Ethernet

– ARINC 429, MIL-STD-1553B,…

– RS 232, RS 422, RS485,…

In turn, different types of computers, controllers, devices etc…, are connected to the communication infrastructure.

Finally various types of software/firmware systems run on the adopted computers and controllers. These systems are not necessarily written in the same programming language.

October 2015

Page 5: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

5

CRETA Platform – What is it?

When developing and/or maintaining Software Components belonging to a given architecture it is very important to be able to integrate them with each others and to verify how well they interoperate together.

And the sooner this verification activity is performed, the better.

CRETA (Cross Environment for Test and Analysis) is a software platform simulating both:

– the avionics communication infrastructure

– the various avionics computational environments

October 2015

Page 6: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

6

CRETA Platform – What is it?

With CRETA software developers/maintainers can «check» their software component directly on their workstation, on a simulated «testbed».

Tests and verifications on the actual hardware «testbed» can be performed at later time, once the software component has successfully proved its interoperability on CRETA.

Actual hardware can also be integrated to CRETA, as soon as it available (or the other way around: CRETA can be integrated to actual hardware).

October 2015

Page 7: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

7

CRETA Platform – Programmatics

CRETA is project under development funded by AIRBUS Helicopters.

The main CRETA Developers are:

– Inopus (http://www.inopus.de/)

– Spazio IT (http://www.spazioit.com)

October 2015

Page 8: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

8

CRETA Platform – LCM

Software components «attached» to CRETA can run on different workstations in a networked environment.

CRETA exposes itself to the software component via a «connector», i.e. a standard API.

The «connector» in turn connects to the CRETA system and other software components via an internal middleware based on LCM.

October 2015

Page 9: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

9

CRETA Platform – LCM

October 2015

API

LCM

Connector Logic

Software Component

CRETA Platform

Page 10: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

10

CRETA Platform – LCM

October 2015

API

Actual Comm. Library

Connector Logic

Software Component

Actual Avionics Platform

Page 11: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

11

CRETA Platform – LCM

October 2015

Actual Comm. Library

Communication Bridge

Actual Avionics Platform CRETA Platform

LCM

Analyzers

Filters

Loggers

Page 12: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

12

LCM

October 2015

Lightweight Communications and Marshalling

Page 13: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

13

LCM

“LCM was created for use on MIT's DARPA Urban Challenge vehicle, with development starting during the summer of 2006.”

LCM is publically available at: https://lcm-proj.github.io/

LCM supported languages are: C, C++, C#, Java, Lua, MATLAB, Python

October 2015

Page 14: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

14

LCM – Design Goals

Communication– Supports many-to-many

communication.

– No per-network or per-host daemon needed for relaying data

– Each packet transmitted appears on the wire no more than one time

– Minimal latency

– Scales to high bandwidth

Marshalling– Absolute type-safety

– Platform- and language-independence

– Ease of use

FDIR– Does not guarantee

delivery of a particular message.

– Does not guarantee ordering of messages.

October 2015

Page 15: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

15

RPC

(the network is transparent)

October 2015

IIOP, DCE/RPC, HTTP/SMTP

Object

Adapter

Client Server

Stub

(Server Rep.)

Skeleton

(Client Rep.)

IDL

WSDL

...

Page 16: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

16

RPC

(the network is transparent)

Local call

local_foo();

Remote call

try {remote_foo();

} catch (Local_Remote Exception ex) {

// Something here// … (but what?)}

October 2015

Page 17: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

17

RPC

(the network is transparent)

Characteristics

– Local / Remote Exceptions

– Indirect Memory Allocation

– Blocking Calls

– (Stub / Skeleton Binding at Compile Time)

October 2015

Page 18: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

18

LCM

(the network is NOT transparent)

October 2015

LCM(SPY) / UDP - Multicast

«Client» «Server»

Marsh./

Unmarsh.

Marsh./

Unmarsh.

LCM

Types

publish msg

to channel

subscr. to channel

receive msg

Page 19: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

19

LCM

(the network is NOT transparent)

Local call

local_foo();

Message publishing…

example_t msg = new example_t();

// … initialize message

try {

lcm.publish("EXAMPLE", msg);

} catch (LocalException ex) {

// Something here}

October 2015

Page 20: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

20

LCM

(the network is NOT transparent)

Characteristics

– Local Exceptions

– No Indirect Memory Allocation

– No Blocking Calls

– (Message Types Binding at Compile Time)

October 2015

Page 21: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

21

LCM and FDIR

October 2015

Page 22: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

22

LCM and FDIR

LCM does not rely on «servers»:

– Supports many-to-many communication.

– No per-network or per-host daemon needed for relaying data

LCM does not guarantee the communication has taken place:

– Does not guarantee delivery of a particular message.

– Does not guarantee ordering of messages.

October 2015

Page 23: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

23

LCM and FDIR

Additionally, “LCM provides several tools useful for logging, replaying, and inspecting traffic.

These tools allow developers to quickly identify many of the most common failures. “ and can be used to implement failure detection mechanisms.

October 2015

Page 24: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

24

Conclusions

October 2015

Page 25: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

25

Conclusions

Complex software systems can be decomposed in a set of interconnected processes.

The fault isolation provided by a set of processes connected by a proper communication infrastructure can be comparable to the one offered by virtual machines and/or containers.

Not relying on central/critical components as well as non relying on particular assumptions / guarantees increases the overall robustness of the system.

The network is not transparent.

October 2015

Page 26: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

26

References

http://people.csail.mit.edu/albert/pubs/2010-huang-olson-moore-lcm-iros.pdf

http://lcm.googlecode.com/svn-history/r452/www/reference/lcm/intro.html

October 2015

Page 27: The Network Is NOT TransparentCRETA Platform –What is it? Avionics architectures can contain nowadays a variety of communication hardware, e.g.:

© 2015 Spazio IT - Soluzioni Informatiche s.a.s.

27

Thank you for your attention

October 2015