SlideShare a Scribd company logo
Model compiler for safety-critical systems




  PROJECT
              P
    Model Compilers
for Safety-Critical Systems

    Matteo Bordin

bordin@adacore.com
Model compiler for safety-critical systems



Industrial context
• A modern model-driven engineering process involves
   – Multiple departments & cultures: system, control, software

   – Multiple domain-specific languages (co-engineering)

• Need for
   – Lightweight collaboration between departments

   – Assurance when translating models to source code

   – Model-based analysis taking into account multiple modeling view-
     points (co-verification)




                                                                                                 2
Model compiler for safety-critical systems



  Introducing Project P

• Support the development of qualifiable model compilers
   – Models are precise/refined enough for code generation

   – From heterogeneous models (Simulink, UML, MARTE, …)

   – Qualifiable in DO-178 sense (development tool, TQL1)

   – Tunable with incremental certification support

   – With verification of model-based integration

• Two R&D dimensions
                                                       Improvements over
   – Model compilation                                   state-of-the-art

   – Agile/lean qualification process



                                                                                                   3
Positioning the P toolset (DO-178C terminology)

                                      • Conformity
Specification                         • Verifiability
   Model                              • Accuracy & Consistency
                                      • Compatibility


                Design
                Model
                                      •   Compliance
                                      •   Traceability
                                      •   Accuracy
                                      •   Consistency
                                                                 • Compliance
                         Src Code
                                                                 • Robustness




                                    Executable

                                                                                4
Model compiler for safety-critical systems



Introducing Project P (II)

                      User languages




                        Pivot formalism
                    An intermediate internal
                         representation



                   Code
                                    Verification
                 Generation


                                                                                                5
Model compiler for safety-critical systems



Why a pivot formalism?
                                   Clear semantics & execution model
                                        No semantic variation point
     User languages                             Minimal
                                            No syntactic sugar

                                       Covers multiple viewpoints
       Pivot formalism               (behavior, architecture, data, …)
   An intermediate internal              Separation of concerns
        representation
                                       Optimized code generation

                                       Verification of consistency
  Code                                   (integration/allocation of
                   Verification          heterogeneous models)
Generation
                                   Support for scenario-based analysis


  A reference representation for code generation & verification


                                                                                             6
Model compiler for safety-critical systems



Technical approach: model compilation

            User languages
 (safe subsets, for each viewpoint: behavior,
           architecture, system, …)



             Design model
    (close to user languages abstraction)       Two metamodels
                                                At different levels of abstraction

      … N refinement steps…                     To factorize representations
                                                independently of target platform
                                                Not visible to the final user
               Code model
                                                A set of intermediate refinement steps
(close to imperative programming languages)




     Ada              C           VHDL


                                                                                                         7
Model compiler for safety-critical systems



Defining the Design Model language


    User languages                                 MAKE CHOICES
                                 • Identify safe language subsets
                                 • Identify languages overlap
                                 • Not the union of all languages (not the UML way)




                                                State machines
       Design model                                Data flow
                                   Domain-independent component model



         Verification                            MAKE CHOICES

 Analysis theories/techniques   • Identify relevant analysis methods
                                • Ensure the relevant information is present
        Analysis tools          • Tell how to represent it in user-visible languages

                                                                                                    8
Model compiler for safety-critical systems



Defining the Code Model language

                                             Datatypes

          Design model                         • Ranges
 (close to user languages abstraction)         • Struct
                                             Expressions
                                               • Literals and constants
         Code model                            • Math expressions (+, -, *, /, abs, …)
                                             Statements
                                               • VariableDeclaration

  Ada             C           VHDL             • AssignementStatement
                                               • IfStatement
                                               • WhileLoop


  • Factorizes model compilation independent of target language
  • Isolates location to insert target-specific transformations (OS calls)
  • Simplifies development of the model compilation chain
                                                                                                            9
Model compiler for safety-critical systems



Need for iterative refinement

         Design model’


        Design model’’


                                • (De)mangling
        Design model’’’
                                • Constant folding/propagation
                                • Sequencing
              ...
                                • Type inference
                                • Flattening
         Code model’
                                • …


         Code model’’

              ...

                                                                                    10
Model compiler for safety-critical systems



Importers and the P formalism

Importers may work at any refinement level
This is to allow some refinement outside the framework:
 • Sequencing produced by Simulink with slist/elist
 • Normalization of UML activity diagrams (resolution of concurrency)
 • ….

                                   Design model’


                                   Design model’’



                                   Design model’’’


                                         ...


                                                                                               11
Model compiler for safety-critical systems



Importers and the P formalism (II)

Importers may even connect directly to the code model
Useful for action languages:
 • (Embedded) Matlab
 • Action Language for fUML (ALF)
 • ….




                                       Code model’



                                       Code model’’


                                           ...


                                                                                          12
Model compiler for safety-critical systems



Technical approach: a generic framework

            User languages
 (safe subsets, for each viewpoint: behavior,
           architecture, system, …)
                                       Importers   Resolution of semantic variation points
                                                   New input languages (DSLs)
             Design model
    (close to user languages abstraction)



                                                   Tuning/addition/removal of model
      … N refinement steps…
                                                   transformation steps from a library


              Code model
                                                     Tuning of code generation
(close to imperative programming languages)




     Ada              C          VHDL


                                                                                                           13
Model compiler for safety-critical systems



  P model compiler instantiation

1. Identify safe subset of input language

2. Define a mapping to the P formalism
   –   Most likely at the design model level

3. Identify the set of transformations to apply
   – Develop new transformation components

   – Select and integrate existing ones

4. Package new qualification data with reused data




                                                                                               14
Model compiler for safety-critical systems



Instantiations of model compilation chain
          Behavior                                Architecture




                           Design model



  … N refinement steps…                      … N refinement steps…



                           Code model



                     Ada        C         VHDL

                                                                                               15
Model compiler for safety-critical systems



Behavioral modeling: GeneAuto
                                 NEW
                                       Subset of user languages




                                               State machines
         Design model
                                                  Data flow


      … N refinement steps…



             Code model                Generation of sequential code




       Ada         C      VHDL


                                                                                   16
Model compiler for safety-critical systems



Convergence of behavioral models




                Formalism




                                                                         17
Model compiler for safety-critical systems



Architectural modeling: CHESS & VERDE?

                              Subset of user languages




         Design model          Domain-independent
                                component model


    … N refinement steps…


                             Generation of concurrent code
         Code model           Last compilation step may be too
                            company-dependent to be factorized



         Ada       C


                                                                                  18
Model compiler for safety-critical systems



Support for scenario-based analysis

• Real-time analysis is done on scenarios
   – To limit pessimism (unlikely that ALL tasks are ready at the same
     instant…)

   – Scenarios stem from requirements

   – Are they consistent/complete w.r.t the application model?

• The design model could help
   – It covers multiple views: impact of behavior on scenario
     identification

   – Generation of analysis scenarii from the architecture by taking into
     account the functional behavior



                                                                                                  19
Model compiler for safety-critical systems



Agile/Lean qualification

• Final user needs to tune the model compiler
   – Support new input languages (DSLs)

   – Support new output languages

   – Tune code generation strategy

• Definition of an integrated, generic process model
   – Integrated: Development & Verification & Qualification

   – Generic: usable for any instantiation of the model compilation chain

   – Developer POV

   – User POV




                                                                                                 20
Model compiler for safety-critical systems



Agile/Lean qualification (II)

• Process models in EPF (Eclipse Process Framework)
   – Tool Qualification Plan

   – Tool Development Plan

• Deployment of an agile/lean process
   – Short-term planning via Kanban charts

   – Continuous integration including qualification-oriented activities

          Structural coverage

          Coding standard

          Traceability/consistency of lifecycle artifacts




                                                                                                     21
Model compiler for safety-critical systems



Agile/Lean qualification (III)

• Minimize re-qualification cost
   – Transformations ship with qualification data

   – Reuse of qualification evidence

   – Iterative process taken into account on the qualification plans




                                                                                                  22
Model compiler for safety-critical systems



Main contact points
• Matteo Bordin, bordin@adacore.com

• Marc Pantel, marc.pantel@enseeiht.fr

• www.open-do.org/projects/p




                                                                                 23
Model compiler for safety-critical systems




  PROJECT
              P
    Model Compilers
for Safety-Critical Systems

Additional information




                                                                       24
Model compiler for safety-critical systems



Project information

• Started in October 2011

• 3 years

• 10M budget, ~5M funding, FUI financing (France)

• 19 partners + observers

• Administrative leader: Continental Automotive

• Technical leader: AdaCore

• Scientific leader: IRIT




                                                                                        25
avioncis     Industrial users

                   automotive         space




Tech providers                      Academia




                                               26

More Related Content

What's hot

QVT & MTL In Eclipse
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In Eclipse
Jonathan Musset
 
Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...
Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...
Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...
chiportal
 
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenVerteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Intland Software GmbH
 
Acher PhD thesis defense
Acher PhD thesis defense Acher PhD thesis defense
CG2010 Introducing MDSD
CG2010 Introducing MDSDCG2010 Introducing MDSD
CG2010 Introducing MDSD
Pedro J. Molina
 
Preparing for the era of cloud computing: Towards a framework for selecting b...
Preparing for the era of cloud computing: Towards a framework for selecting b...Preparing for the era of cloud computing: Towards a framework for selecting b...
Preparing for the era of cloud computing: Towards a framework for selecting b...
Ilia Bider
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Majong DevJfu
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
Pedro J. Molina
 
Session 02 v.3
Session 02 v.3Session 02 v.3
Session 02 v.3
Start Group
 
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Daniele Gianni
 
TOOLS USA01.ppt
TOOLS USA01.pptTOOLS USA01.ppt
TOOLS USA01.ppt
Ptidej Team
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btech
IIITA
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 

What's hot (13)

QVT & MTL In Eclipse
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In Eclipse
 
Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...
Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...
Software Parallelisation & Platform Generation for Heterogeneous Multicore Ar...
 
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenVerteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
 
Acher PhD thesis defense
Acher PhD thesis defense Acher PhD thesis defense
Acher PhD thesis defense
 
CG2010 Introducing MDSD
CG2010 Introducing MDSDCG2010 Introducing MDSD
CG2010 Introducing MDSD
 
Preparing for the era of cloud computing: Towards a framework for selecting b...
Preparing for the era of cloud computing: Towards a framework for selecting b...Preparing for the era of cloud computing: Towards a framework for selecting b...
Preparing for the era of cloud computing: Towards a framework for selecting b...
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
Session 02 v.3
Session 02 v.3Session 02 v.3
Session 02 v.3
 
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
 
TOOLS USA01.ppt
TOOLS USA01.pptTOOLS USA01.ppt
TOOLS USA01.ppt
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btech
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 

Viewers also liked

Compiler Project proposal
Compiler Project proposalCompiler Project proposal
Compiler Project proposal
Rida Bilgrami
 
Trendsetter marketing / Celebrity marketing / Native PR
Trendsetter marketing / Celebrity marketing / Native PRTrendsetter marketing / Celebrity marketing / Native PR
Trendsetter marketing / Celebrity marketing / Native PR
Brand Switcher
 
UNPACKED: The 4 Types of Endorser Strategies
UNPACKED: The 4 Types of Endorser StrategiesUNPACKED: The 4 Types of Endorser Strategies
UNPACKED: The 4 Types of Endorser Strategies
Alex Goh
 
Phased Startup Story - Project Status Updating
Phased Startup Story - Project Status UpdatingPhased Startup Story - Project Status Updating
Phased Startup Story - Project Status Updating
Colin MacInnis
 
what is compiler and five phases of compiler
what is compiler and five phases of compilerwhat is compiler and five phases of compiler
what is compiler and five phases of compiler
adilmehmood93
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
Mir Majid
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems Programming
Mukesh Tekwani
 
9 imc message strategy
9 imc message strategy9 imc message strategy
9 imc message strategy
soumya
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
Huawei Technologies
 
Burger King Digital Campaign Proposal
Burger King Digital Campaign Proposal Burger King Digital Campaign Proposal
Burger King Digital Campaign Proposal
ECO PHARMA
 
Starbucks Digital Marketing Campaign
Starbucks Digital Marketing CampaignStarbucks Digital Marketing Campaign
Starbucks Digital Marketing Campaign
moores36
 

Viewers also liked (11)

Compiler Project proposal
Compiler Project proposalCompiler Project proposal
Compiler Project proposal
 
Trendsetter marketing / Celebrity marketing / Native PR
Trendsetter marketing / Celebrity marketing / Native PRTrendsetter marketing / Celebrity marketing / Native PR
Trendsetter marketing / Celebrity marketing / Native PR
 
UNPACKED: The 4 Types of Endorser Strategies
UNPACKED: The 4 Types of Endorser StrategiesUNPACKED: The 4 Types of Endorser Strategies
UNPACKED: The 4 Types of Endorser Strategies
 
Phased Startup Story - Project Status Updating
Phased Startup Story - Project Status UpdatingPhased Startup Story - Project Status Updating
Phased Startup Story - Project Status Updating
 
what is compiler and five phases of compiler
what is compiler and five phases of compilerwhat is compiler and five phases of compiler
what is compiler and five phases of compiler
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems Programming
 
9 imc message strategy
9 imc message strategy9 imc message strategy
9 imc message strategy
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
Burger King Digital Campaign Proposal
Burger King Digital Campaign Proposal Burger King Digital Campaign Proposal
Burger King Digital Campaign Proposal
 
Starbucks Digital Marketing Campaign
Starbucks Digital Marketing CampaignStarbucks Digital Marketing Campaign
Starbucks Digital Marketing Campaign
 

Similar to Project P

Project P erts2012
Project P erts2012Project P erts2012
Project P erts2012
AdaCore
 
[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition
ITAS VIETNAM
 
Safe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get ThereSafe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get There
AdaCore
 
20120709 cyber patterns2012
20120709 cyber patterns201220120709 cyber patterns2012
20120709 cyber patterns2012
Aniketos EU FP7 Project
 
How to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling EnvironmentHow to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling Environment
Tim Geisler
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
Roopa Nadkarni
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software Engineering
Aditya Kamble
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
Scott Althouse
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Prolifics
 
.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development
명신 김
 
kavita_resume_3
kavita_resume_3kavita_resume_3
kavita_resume_3
Kavita Raghunathan
 
Lafauci dv club oct 2006
Lafauci dv club oct 2006Lafauci dv club oct 2006
Lafauci dv club oct 2006
Obsidian Software
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
Ivica Crnkovic
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
fntnhd
 
CADA english
CADA englishCADA english
CADA english
IBS Schreiber GmbH
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
Bill Duncan
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
Majong DevJfu
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
Fáber D. Giraldo
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works
 

Similar to Project P (20)

Project P erts2012
Project P erts2012Project P erts2012
Project P erts2012
 
[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition
 
Safe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get ThereSafe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get There
 
20120709 cyber patterns2012
20120709 cyber patterns201220120709 cyber patterns2012
20120709 cyber patterns2012
 
How to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling EnvironmentHow to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling Environment
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software Engineering
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development
 
kavita_resume_3
kavita_resume_3kavita_resume_3
kavita_resume_3
 
Lafauci dv club oct 2006
Lafauci dv club oct 2006Lafauci dv club oct 2006
Lafauci dv club oct 2006
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
 
CADA english
CADA englishCADA english
CADA english
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 

Recently uploaded

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

Project P

  • 1. Model compiler for safety-critical systems PROJECT P Model Compilers for Safety-Critical Systems Matteo Bordin bordin@adacore.com
  • 2. Model compiler for safety-critical systems Industrial context • A modern model-driven engineering process involves – Multiple departments & cultures: system, control, software – Multiple domain-specific languages (co-engineering) • Need for – Lightweight collaboration between departments – Assurance when translating models to source code – Model-based analysis taking into account multiple modeling view- points (co-verification) 2
  • 3. Model compiler for safety-critical systems Introducing Project P • Support the development of qualifiable model compilers – Models are precise/refined enough for code generation – From heterogeneous models (Simulink, UML, MARTE, …) – Qualifiable in DO-178 sense (development tool, TQL1) – Tunable with incremental certification support – With verification of model-based integration • Two R&D dimensions Improvements over – Model compilation state-of-the-art – Agile/lean qualification process 3
  • 4. Positioning the P toolset (DO-178C terminology) • Conformity Specification • Verifiability Model • Accuracy & Consistency • Compatibility Design Model • Compliance • Traceability • Accuracy • Consistency • Compliance Src Code • Robustness Executable 4
  • 5. Model compiler for safety-critical systems Introducing Project P (II) User languages Pivot formalism An intermediate internal representation Code Verification Generation 5
  • 6. Model compiler for safety-critical systems Why a pivot formalism? Clear semantics & execution model No semantic variation point User languages Minimal No syntactic sugar Covers multiple viewpoints Pivot formalism (behavior, architecture, data, …) An intermediate internal Separation of concerns representation Optimized code generation Verification of consistency Code (integration/allocation of Verification heterogeneous models) Generation Support for scenario-based analysis A reference representation for code generation & verification 6
  • 7. Model compiler for safety-critical systems Technical approach: model compilation User languages (safe subsets, for each viewpoint: behavior, architecture, system, …) Design model (close to user languages abstraction) Two metamodels At different levels of abstraction … N refinement steps… To factorize representations independently of target platform Not visible to the final user Code model A set of intermediate refinement steps (close to imperative programming languages) Ada C VHDL 7
  • 8. Model compiler for safety-critical systems Defining the Design Model language User languages MAKE CHOICES • Identify safe language subsets • Identify languages overlap • Not the union of all languages (not the UML way) State machines Design model Data flow Domain-independent component model Verification MAKE CHOICES Analysis theories/techniques • Identify relevant analysis methods • Ensure the relevant information is present Analysis tools • Tell how to represent it in user-visible languages 8
  • 9. Model compiler for safety-critical systems Defining the Code Model language Datatypes Design model • Ranges (close to user languages abstraction) • Struct Expressions • Literals and constants Code model • Math expressions (+, -, *, /, abs, …) Statements • VariableDeclaration Ada C VHDL • AssignementStatement • IfStatement • WhileLoop • Factorizes model compilation independent of target language • Isolates location to insert target-specific transformations (OS calls) • Simplifies development of the model compilation chain 9
  • 10. Model compiler for safety-critical systems Need for iterative refinement Design model’ Design model’’ • (De)mangling Design model’’’ • Constant folding/propagation • Sequencing ... • Type inference • Flattening Code model’ • … Code model’’ ... 10
  • 11. Model compiler for safety-critical systems Importers and the P formalism Importers may work at any refinement level This is to allow some refinement outside the framework: • Sequencing produced by Simulink with slist/elist • Normalization of UML activity diagrams (resolution of concurrency) • …. Design model’ Design model’’ Design model’’’ ... 11
  • 12. Model compiler for safety-critical systems Importers and the P formalism (II) Importers may even connect directly to the code model Useful for action languages: • (Embedded) Matlab • Action Language for fUML (ALF) • …. Code model’ Code model’’ ... 12
  • 13. Model compiler for safety-critical systems Technical approach: a generic framework User languages (safe subsets, for each viewpoint: behavior, architecture, system, …) Importers Resolution of semantic variation points New input languages (DSLs) Design model (close to user languages abstraction) Tuning/addition/removal of model … N refinement steps… transformation steps from a library Code model Tuning of code generation (close to imperative programming languages) Ada C VHDL 13
  • 14. Model compiler for safety-critical systems P model compiler instantiation 1. Identify safe subset of input language 2. Define a mapping to the P formalism – Most likely at the design model level 3. Identify the set of transformations to apply – Develop new transformation components – Select and integrate existing ones 4. Package new qualification data with reused data 14
  • 15. Model compiler for safety-critical systems Instantiations of model compilation chain Behavior Architecture Design model … N refinement steps… … N refinement steps… Code model Ada C VHDL 15
  • 16. Model compiler for safety-critical systems Behavioral modeling: GeneAuto NEW Subset of user languages State machines Design model Data flow … N refinement steps… Code model Generation of sequential code Ada C VHDL 16
  • 17. Model compiler for safety-critical systems Convergence of behavioral models Formalism 17
  • 18. Model compiler for safety-critical systems Architectural modeling: CHESS & VERDE? Subset of user languages Design model Domain-independent component model … N refinement steps… Generation of concurrent code Code model Last compilation step may be too company-dependent to be factorized Ada C 18
  • 19. Model compiler for safety-critical systems Support for scenario-based analysis • Real-time analysis is done on scenarios – To limit pessimism (unlikely that ALL tasks are ready at the same instant…) – Scenarios stem from requirements – Are they consistent/complete w.r.t the application model? • The design model could help – It covers multiple views: impact of behavior on scenario identification – Generation of analysis scenarii from the architecture by taking into account the functional behavior 19
  • 20. Model compiler for safety-critical systems Agile/Lean qualification • Final user needs to tune the model compiler – Support new input languages (DSLs) – Support new output languages – Tune code generation strategy • Definition of an integrated, generic process model – Integrated: Development & Verification & Qualification – Generic: usable for any instantiation of the model compilation chain – Developer POV – User POV 20
  • 21. Model compiler for safety-critical systems Agile/Lean qualification (II) • Process models in EPF (Eclipse Process Framework) – Tool Qualification Plan – Tool Development Plan • Deployment of an agile/lean process – Short-term planning via Kanban charts – Continuous integration including qualification-oriented activities Structural coverage Coding standard Traceability/consistency of lifecycle artifacts 21
  • 22. Model compiler for safety-critical systems Agile/Lean qualification (III) • Minimize re-qualification cost – Transformations ship with qualification data – Reuse of qualification evidence – Iterative process taken into account on the qualification plans 22
  • 23. Model compiler for safety-critical systems Main contact points • Matteo Bordin, bordin@adacore.com • Marc Pantel, marc.pantel@enseeiht.fr • www.open-do.org/projects/p 23
  • 24. Model compiler for safety-critical systems PROJECT P Model Compilers for Safety-Critical Systems Additional information 24
  • 25. Model compiler for safety-critical systems Project information • Started in October 2011 • 3 years • 10M budget, ~5M funding, FUI financing (France) • 19 partners + observers • Administrative leader: Continental Automotive • Technical leader: AdaCore • Scientific leader: IRIT 25
  • 26. avioncis Industrial users automotive space Tech providers Academia 26