SlideShare ist ein Scribd-Unternehmen logo
1 von 26
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 EntwicklungsprozessenIntland Software GmbH
 
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 ArchitectureMajong DevJfu
 
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
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btechIIITA
 
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
 

Was ist angesagt? (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...
 

Andere mochten auch

Compiler Project proposal
Compiler Project proposalCompiler Project proposal
Compiler Project proposalRida Bilgrami
 
Trendsetter marketing / Celebrity marketing / Native PR
Trendsetter marketing / Celebrity marketing / Native PRTrendsetter marketing / Celebrity marketing / Native PR
Trendsetter marketing / Celebrity marketing / Native PRBrand 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 StrategiesAlex Goh
 
Phased Startup Story - Project Status Updating
Phased Startup Story - Project Status UpdatingPhased Startup Story - Project Status Updating
Phased Startup Story - Project Status UpdatingColin 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 compileradilmehmood93
 
Compiler Design
Compiler DesignCompiler Design
Compiler DesignMir Majid
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingMukesh Tekwani
 
9 imc message strategy
9 imc message strategy9 imc message strategy
9 imc message strategysoumya
 
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 Campaignmoores36
 

Andere mochten auch (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
 

Ähnlich wie Project P

Project P erts2012
Project P erts2012Project P erts2012
Project P erts2012AdaCore
 
[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise EditionITAS 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 ThereAdaCore
 
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 EnvironmentTim Geisler
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software EngineeringAditya Kamble
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero 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명신 김
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component modelsIvica Crnkovic
 
Agile MDD
Agile MDDAgile MDD
Agile MDDfntnhd
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody SoftwareBill Duncan
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
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 2015Mozaic Works
 

Ähnlich wie 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
 

Kürzlich hochgeladen

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Kürzlich hochgeladen (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

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