“PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of...

31
PI – Workshop” PI – Workshop” MFES 2013/2014 MFES 2013/2014 5 th December 2013 [email protected] [email protected] From From Deep Deep Space Space to to Deep Deep Sea Sea www.altreonic.com

Transcript of “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of...

Page 1: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

““PI – Workshop”PI – Workshop”MFES 2013/2014MFES 2013/2014

5th December 2013

[email protected]

[email protected]

““FromFrom DeepDeep SpaceSpace toto DeepDeep SeaSea””www.altreonic.com

Page 2: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

ContentContent

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 1/30

● Who I am?

● Who's Altreonic?● Formalised Systems and Software Engineering

● The OpenComRTOS approach● Formally modeled● Hubs and packet switching● Small code size● Virtual Single Processor model● Scalability, portability, …● Visual Programming

● The GoedelWorks

● Project Proposals● Event B Support● Alloy support● Frama-C integration

Page 3: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Who I Who I amam??

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 2/30

● Former student of Universidade do Minho

● Education● 2006 – 2010: Licenciatura em Engenheria Informática● 2010 – 2012 : Mestrado em Engenharia Informática

● Métodos Formais em Engenharia de Software● Criptografia e Segurança de Sistemas de Informação

● Living and Working in Leuven (Belgium) since January

● Software Engineer at Altreonic

● Developing GoedelWorks

Page 4: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

ContentContent

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 3/30

● Who I am?

● Who's Altreonic?● Formalised Systems and Software Engineering

● The OpenComRTOS approach● Formally modeled● Hubs and packet switching● Small code size● Virtual Single Processor model● Scalability, portability, …● Visual Programming

● The GoedelWorks

● Project Proposals● Event B Support● Alloy support● Frama-C integration

Page 5: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Who's Altreonic?Who's Altreonic?

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 4/30

● Eonic Systems (Eric Verhulst) : 1989 – 2001● Parallel RTOS Virtuoso (=> Wind River Systems)● Formally rooted in CSP process algebra (Hoare):

● “pragmatic superset of CSP”● Used on targets with up to 12000 nodes

● Open License Society: 2004 – now:● R&D on systematic Systems and Software Engineering● Unified Semantics & Interacting Entities● Formally developed OpenComRTOS

● Altreonic: 2008 – now● Commercialises and develops OLS results● Application of tools in products● EU R@D projects

Page 6: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Past ESA experiencePast ESA experience

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 5/30

● Virtuoso (ex-Eonic Systems):● Distributed Virtuoso RTOS for multi-21020RT boards

● Using SpW links on Moasic-20● Used in several ESA missions● Acquired by Wind River Systems in 2001

● ESA Market research to find alternative:● No real alternative● Serious certification issues as well as for COTS as for Open Source

RTOS => “Open License” adopted

● Feasibility study for reconfigurable telecom satellite● proposed 900 Xilinx-2 FPGA for digital payload

Page 7: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Altreonic’s System EngineeringAltreonic’s System Engineering

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 6/30

● Systems/software engineering requires common language in all stages for all activities

“Unified semantics”

● Conquer complexity: “Interacting Entities”

● Different views on same system, same semantics:● Requirements, specifications● Checkpoints, issues, change request● Modeling & Simulation● Failure view, testing view● Verification view, validation view● Workplan view

Page 8: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Unified Systems/Software engineeringUnified Systems/Software engineering

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 7/30

Page 9: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Why FORMAL (ISED) ?Why FORMAL (ISED) ?

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 8/30

Page 10: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

““Formal” gives more for lessFormal” gives more for less

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 9/30

● Formal techniques are just tools in a formalised systems/software engineering process

● Purpose: raising the level of abstraction

● Benefits:● Shorter development times● Less residual errors, preventing run-away costs● Products are:

● Higher safety, security, usability● Cleaner and scalable● Smaller => less memory, less power consumption

● Contrary to popular misconception, safety critical designs are also more

efficient

● Safer and greener go hand in hand

Page 11: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

ContentContent

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 10/30

● Who I am?

● Who's Altreonic?● Formalised Systems and Software Engineering

● The OpenComRTOS approach● Formally modeled● Hubs and packet switching● Small code size● Virtual Single Processor model● Scalability, portability, …● Visual Programming

● The GoedelWorks

● Project Proposals● Event B Support● Alloy support● Frama-C integration

Page 12: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

The OpenComRTOS approachThe OpenComRTOS approach

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 11/30

● Derived from a unified systems engineering methodology

● Two keywords:● Unified Semantics

● use of common “systems grammar”● covers requirements, specifications, architecture, runtime, ...

● Interacting Entities ( models almost any system)

● RTOS and embedded systems:● Map very well on “interacting entities”● Time and architecture mostly orthogonal● Logical model is not communication but “interaction”

● We have a book:● “Formal Development of a Network-Centric RTOS:

Software Engineering for Reliable Embedded Systems”● ISBN-10: 1441997350 ● ISBN-13: 978-1441997357

Page 13: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

The OpenComRTOS projectThe OpenComRTOS project

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 12/30

● Target systems:● Manycore, multicore, parallel processors, networked systems, including

“legacy” processing nodes running old (RT)OS

● Methodology:● Formal modeling and formal verification

● Architecture:● Target is multi-node, hence communication is system-level issue, not a

programmer’s concern● Scheduling is orthogonal issue● An application function = a “task” or a set of “tasks”

● Composed of sequential “segments”● Tasks synchronise and pass data (“interaction”)

Page 14: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

The OpencomRTOS “HUB”The OpencomRTOS “HUB”

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 13/30

● Result of formal modeling

● Events, semaphores, FIFOs, Ports, resources, mailbox, memory pools, etc.● all variants of a generic HUB

● A HUB has two main functions:● Predicate function

● defines synchronisation conditions● Synchronisation function:

● functional behavior after synchronisation● can be anything, including passing data

● All HUBs operate system-wide, but transparently: ● Virtual Single Processor programming model

● Possibility to create application specific hubs & services● New concurrent programming model

Page 15: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Universal packet switchingUniversal packet switching

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 14/30

● Another new architectural concept in OpenComRTOS is the use of “packets”:

● Used at all levels● Replace service calls, system wide● Easy to manipulate in data structures● Packet Pools replace memory management

● Some benefits:● Safety and security● No buffer overflow possible● Self-throttling● Less code, less copying

Page 16: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Unexpected: RTOS 5-10x smallerUnexpected: RTOS 5-10x smaller

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 15/30

● Reference is Virtuoso RTOS (ex-Eonic Systems)

● New architectures benefits:● Much easier to port● Same functionilaty (and more) in 10x less code● Smallest size SP: 1 KByte program, 200 bytes of RAM● Smallest size MP: 2 KBytes● Full version MP: 5 to 10 KBytes

● Why is small better ?● Much better performance (less instructions)● Frees up more fast internal memory● Easier to verify and modify

● Architecture allows new services without changing the RTOS kernel task!

Page 17: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

The OpenComRTOS ToolsThe OpenComRTOS Tools

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 16/30

Page 18: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

OpenVE: Defining the topology OpenVE: Defining the topology

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 17/30

OpenVE:OpenVE:

How are processorsHow are processors

connected ?connected ?

Page 19: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

OpenVE: Application modelOpenVE: Application model

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 18/30

How is the How is the

application application

structured ?structured ?

Page 20: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

OpenVE: generate C for OpenComRTOSOpenVE: generate C for OpenComRTOS

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 19/30

““The more code The more code is generated, is generated, the less the less programming programming errors are errors are made”made”

Page 21: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Tracer: Tracer: Run and verifyRun and verify

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 20/30

Page 22: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Demo set-upDemo set-up

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 21/30

Page 23: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Result: Result: “Transparent and processor independent!”

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 22/30

● OpenComRTOS supports heterogeneous networked and many-core processor systems:

● Remapping tasks or RTOS entities requires no source code changes

● Timings will differ but logic application remains

● Meta-models hide complexity for user

Page 24: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

ContentContent

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 23/30

● Who I am?

● Who's Altreonic?● Formalised Systems and Software Engineering

● The OpenComRTOS approach● Formally modeled● Hubs and packet switching● Small code size● Virtual Single Processor model● Scalability, portability, …● Visual Programming

● The GoedelWorks

● Project Proposals● Event B Support● Alloy support● Frama-C integration

Page 25: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

““GoedelWorks”GoedelWorks”

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 24/30

● An internet based portal for safety and systems engineering

● It help teams to:● Collaborate● Reduce risks. ● Automate● Analyze● Leverage their knowledge

● Simple and clean metamodel that allows users to:● Import any process: from company-specific

processes to standard-imposed.● Formalise their development● Comply to the steps imposed by the safety

standards

● Full traceability from early requirements to work products

● It is agile: Bottom-up and top-down approaches are allowed!

Simplified of the GoedelWorks Metamodel

Page 26: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

ContentContent

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 25/30

● Who I am?

● Who's Altreonic?● Formalised Systems and Software Engineering

● The OpenComRTOS approach● Formally modeled● Hubs and packet switching● Small code size● Virtual Single Processor model● Scalability, portability, …● Visual Programming

● The GoedelWorks

● Project Proposals● Event B Support● Alloy support● Frama-C integration

Page 27: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Project ProposalsProject Proposals

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 26/30

● Key points:

● “Formal or specification focused front-end for RTOS applications”

● OpenComRTOS Designer

● develop fully trustworthy systems and applications

● Applications are still developed using error-prone programming

specification

● oriented front-end tools that allows formal verification as well as code

generation

Page 28: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Project 1: “Project 1: “Event B Support”Event B Support”

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 27/30

● Description:● Specify the behaviour of the sequential parts of the application Tasks

● Event-B and Event-B model checkers like Pro-B and Atelier B● C-source-code generation from the models

● Tasks:● Studying Event-B and the supporting tools● Study the C-code generation and its constraints● Implement a proof of concept implementation

Page 29: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Project 2: “Alloy supportProject 2: “Alloy support””

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 28/30

● Description:● Specify the behaviour of the sequential parts of the application Tasks● C-source-code generation from the models

● Tasks:● Studying Alloy and the supporting tools● Study the C-code generation and its constraints● Implement a proof of concept implementation

Page 30: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Project 3: “Frama-C integrationProject 3: “Frama-C integration””

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 29/30

● Description:● increase the assurance in the application and kernel code written in C● Frama-C is used to verify and proof the C-code of the applications

that are created using the OpenComRTOS design tools

● Tasks:● Studying Frama-C and its applicability● Developing use-case scenarios as a function of Frama-C’s capabilities● Integrating with the OpenComRTOS design process● Developing proof of concept demonstrations

Page 31: “PI – Workshop”wiki.di.uminho.pt/twiki/pub/Education/MFES1314/...Past ESA experience 5th of December 2013 “From Deep Space to Deep Sea” “PI – Workshop” 5/30 Virtuoso

Thank you for your attention

“If it doesn't work, it must be art.If it does, it was real engineering”

5th of December 2013 “From Deep Space to Deep Sea” www.altreonic.com

“PI – Workshop” 30/30

For more information:➢ Leonel Braga: [email protected]➢ Eric Verhulst: [email protected]

www.altreonic.com