Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the...

32
Slide: 1 Copyright © 2011 AdaCore Cyrille Comar Managing Director Michaël Friess Class 12 - FLOSS for Safety Related Systems Sales & Business Development Manager Embedded World Conference 2011 Efficient Safety Critical Systems Development Is FLOSS the only answer?

Transcript of Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the...

Page 1: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 1Copyright © 2011 AdaCore

Cyrille Comar

Managing DirectorMichaël Friess

Class 12 - FLOSS for Safety Related Systems

Sales & Business Development Manager

Embedded World Conference 2011

Efficient Safety Critical Systems Development

Is FLOSS the only answer?

Page 2: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 2Copyright © 2011 AdaCore

Let’s imagine…

• A cooperative and open framework for the development

of certifiable software

• Competitors who work together to share costs

• Software that is easy to certify and to recertify

Weird idea, isn’t it?

Page 3: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 3Copyright © 2011 AdaCore

License at the heart of the

discussion

Page 4: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 4Copyright © 2011 AdaCore

FLOSS is just about software license

• FLOSS = Free/Libre/Open Source Software

• Free/Libre/Open Source:

properties of a license provided by the copyright owner

• Free to run

• Free to look at the sources

• Free to change

• Free to redistribute

FLOSS License

Page 5: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 5Copyright © 2011 AdaCore

FLOSS and Restrictive Licenses – The Common Base

• The software is copyrighted

• It cannot be copied or used without a license

• The license allows certain rights to copy and use the

software

Page 6: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 6Copyright © 2011 AdaCore

FLOSS and Restrictive Licenses – The Differences

• In the license terms:

– License conditions are very different

– Restrictive License: strictly limits usage and copying

– FLOSS License: far more liberal, less restrictions (usage and copying rights

are a superset of Restrictive Licenses)

Page 7: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 7Copyright © 2011 AdaCore

Topics to consider for both FLOSS & Restrictive Licenses

• Provenance (trust)

• Support

• Product evolution

• Maintenance

• The price to pay for the combination of: software,

support, and license

Page 8: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 8Copyright © 2011 AdaCore

Is FLOSS appropriate for safety related systems?

• At worst, license is neutral

• Most probably, a FLOSS License provides an advantage

over a Restrictive License

Page 9: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 9Copyright © 2011 AdaCore

COTS vs. Bespoke

Page 10: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 10Copyright © 2011 AdaCore

COTS – Commercial Off-The-Shelf – Product

The market answer for sharing costs for the

Creation

Industrialization

Support

Maintenance

Repair

Evolution

of software amongst users having similar needs

Page 11: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 11Copyright © 2011 AdaCore

The License of a COTS

Microsoft Visual Studio

AdaCoreGNAT Pro High Integrity Edition

Restrictive License

FLOSSLicense

Page 12: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 12Copyright © 2011 AdaCore

A High Demanding Customer Base

Page 13: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 13Copyright © 2011 AdaCore

The Job of a FLOSS Vendor

• COTS is often made of SW from many SW communities

– Need for integration

– Need for version management

– Need for QA

• Ability to interact & participate

to these communities

– To maintain the SW

– To make the SW evolve

– To integrate new features

• Understand licensing

Page 14: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 14Copyright © 2011 AdaCore

FLOSS Gives You Many Options

Getting the FLOSS

• Buy the FLOSS from a vendor

=> COTS

• Download the FLOSS as-is

=> Bespoke

Getting help

• Do nothing

• Build in-house expertise

• Become part of the

development community

• Purchase Services

Page 15: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 15Copyright © 2011 AdaCore

Your Choices with FLOSS

• Download the FLOSS and use it

• Build in-house expertise

• Become part of the development community

• Purchase COTS

COST vs. RISK analysis

Page 16: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 16Copyright © 2011 AdaCore

Safety Related Software is NOT

just Software

Page 17: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 17Copyright © 2011 AdaCore

What is Safety-Critical Software?

Context:

• Safety-related piece of software

• Definition of a Safety-Integrity Level

• Certification standard, like:

– Avionic: DO-178B

– Railway transportation: IEC 61508

– Automotive: ISO 26262 (forthcoming)

Corollary:

• Establishment of a development process (requirements,

test, verification, etc.)

• Documentation artifacts aka. Software Certification

Artifacts

Page 18: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 18Copyright © 2011 AdaCore

What Safety-Critical Software Looks Like

• PSAC (plan for software aspects

of certification)

• SDP (SW development plan)

• SVP (SW verification plan)

• …

Certification Evidence

• Object code/Executable

• Source code

Software Code

Page 19: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 19Copyright © 2011 AdaCore

Reverse-Engineering of Existing SW into Safety-Critical SW

A risky operation

• Safety properties often carried by SW architecture and

design

• Stringent requirements adapted to the SIL

• The result of a well-defined development process

Page 20: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 20Copyright © 2011 AdaCore

FLOSS and Safety Related Systems

• FLOSS

– The freedom to choose the best approach (Bespoke vs. COTS)

– As a COTS: additional safeguards compared to restricted licensed SW

– In the context of safety related systems:

– Access to source code eases the handling of certification evidence

• Safety Related Systems

– Source code: only part of the equation

– How to handle certification evidence?

Page 21: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 21Copyright © 2011 AdaCore

Collaboration and Certification

Page 22: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 22Copyright © 2011 AdaCore

The Open-DO Initiative

• Towards Cooperative & Open Framework for the

development of certifiable SW

• FLOSS model to share costs

• FLOSS that encompasses certification artifacts

• Agile methods at the heart of its development process

⇒ Towards continuous certification

http://www.open-do.org

Page 23: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 23Copyright © 2011 AdaCore

Open-DO – At the Crossroad of 3 Worlds

LibreOpen Source

High AssuranceCertification

AgileLean

Page 24: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 24Copyright © 2011 AdaCore

Highlight on the Qualifying

Machine

Page 25: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 25Copyright © 2011 AdaCore

Why Qualifying/Certifying?

• Tool qualification

– Substitute manual activities with a tool

– No need to verify the output of the tool

– Ex: checking for a coding standard, coverage analysis, model-based code

generation, …

• COTS certification

– Reuse a certification kit across different projects

– Ex: Ada run-time library, XML library, …

• Problem: The Big Freeze

– Qualification/Certification = Baselining

– How can you evolve a technology which requires qualification?

Page 26: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 26Copyright © 2011 AdaCore

Qualification Machine: the goals

• Delta qualification

– A new requirement arises on an already qualified tool

– What is the minimum effort to re-achieve qualification?

• Continuous qualification

– A tool shall always be in a “semi-qualifiable” status

– Mirror the “continuous integration” concept

– At any time, you should know:

– Which artifacts shall be produced to achieve qualifiability

– Which activities shall be performed to achieve qualifiability

• Automation

– Automatic production of (part-of) qualification evidence

– Focus on traceability, coverage and workflow management/tracking

Page 27: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 27Copyright © 2011 AdaCore

The Qualifying Machine

SVN, GIT, …

Artifact Model

VerificationFramework

RepositoryActionTracking

ReportsReportsReports

Process Expert

Engineer CertificationAuthority

Engineer CertificationAuthority

Page 28: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 28Copyright © 2011 AdaCore

Significant FLOSS Project for

Safety Related Systems

Project P

Page 29: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 29Copyright © 2011 AdaCore

Project P in a Nutshell

• Cooperative development supported by the French

government (official announcement: March 1st, 2011)

• FLOSS license

• Eases the development of real-time safety-critical

systems

• Leverages on model oriented engineering seconded by

automatic code generator

• Development of a qualification kit for the code

generator

Page 30: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 30Copyright © 2011 AdaCore

Project P in a Nutshell

Page 31: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 31Copyright © 2011 AdaCore

Project P - FLOSS for Safety Related Systems

• Duration: 36 months

• Investment: nearly 10 million euros

• 19 partners, including:

– AdaCore

– Airbus

– Astrium

– Atos Origin

– Continental

– Rockwell Collins France

– SAGEM Defense

– Thales Alenia Space

– Thales Avionics

– …

Page 32: Efficient Safety Critical Systems Development Is FLOSS the ... · – The freedom to choose the best approach (Bespoke vs. COTS) – As a COTS: additional safeguards compared to restricted

Slide: 32Copyright © 2011 AdaCore

[email protected]

Hall 11, F224

Thank you for your attention