SlideShare a Scribd company logo
1 of 22
Using MDE for the Formal
   Verification of Embedded
   Systems Modeled by UML
     Sequence Diagrams


         Francisco A. M. Nascimento
              Marcio F. S. Oliveira
                Flávio R. Wagner




SBCCI 2009                            Natal, RN
Motivation

    To cope with the growing complexity
    of embedded systems design

    Higher levels of abstraction

    Exhaustive test of all possible
    system executions is an impractical
    or even impossible task
•   Formal verification methods and
    tools as a promising approach
Summary
•   Model Driven Engineering (MDE)
•   MDE-based Formal Verification
•   Internal Application Metamodel – IAM
•   LTA Metamodel - LTA
•   Transforming UML into IAM+LTA
•   Case Study
•   Conclusion and Future Work
Model Driven Engineering
•   Main artifacts to be constructed and
    maintained are models
•   Languages used to express models
    are defined by means of meta-
    models
•   Software development consists of
    transforming a model into another
    one until a final model is obtained
    that is ready to be executed
MDE-based Formal Verification
UML model
• Class diagrams (CD)
    –   Application components
    –   Hierarchy and modularity
    –   Structure
• Sequence diagrams (SD)
    –   Possible executions of the application
    –   A root SD specifies how the executions
        are composed
    –   Behavior
Example: UML model
• UML model: class diagram
Example: UML model
• UML model: main sequence diagram
Example: UML model
• UML model: sequence diagrams
Example: UML model
• UML model: sequence diagrams
Example: UML model
• UML model: sequence diagrams
Internal Application Metamodel
• Structure
Example
• Internal
  Application
  Model
Internal Application Metamodel
• Behavior
Example
• Internal
  Application
  Model
Example: InteractionGraphs
• Internal
  Application
  Model
Internal Application Metamodel
• Labeled Timed Automata
Example
• Internal
  Application
  Model
Transforming UML into IAM+LTA

• Set of transformations between models
  implemented using Xtend language
  from openArchitectureWare framework
• Xtext language for IAM+LTA
  parser/editor implementation
• Xpand language used to generate
  textual input for Uppaal
• Eclipse Modeling Framework – EMF
Model Checking using UPPAAL
Future Work
•   Automatic generation of properties
    to be proved by model checking
•   Integration with diferent co-design
    and co-synthesis tools
•   More experiments to explore the
    effectivity of the methodology
Conclusions
•   Transformation between models is
    used to generate an internal
    representation model
•   IAM+LTA is adequate to be used
    by formal verification
     –   behavior and structure
     –   control/data flow of execution
     –   timed automata model

More Related Content

What's hot

Program logic formulation
Program logic formulationProgram logic formulation
Program logic formulationSara Corpuz
 
Model Testing Toolkit - Overview
Model Testing Toolkit - OverviewModel Testing Toolkit - Overview
Model Testing Toolkit - OverviewModelon
 
TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admCuneyt Kaya
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture tigneb
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software ArchitectureIvano Malavolta
 
Component based development | what, why and how
Component based development | what, why and howComponent based development | what, why and how
Component based development | what, why and howRakesh Kumar Jha
 
Optimica Testing Toolkit
Optimica Testing ToolkitOptimica Testing Toolkit
Optimica Testing ToolkitModelon
 
Software engineering 10 software cost estimation cocomo
Software engineering 10 software cost estimation cocomoSoftware engineering 10 software cost estimation cocomo
Software engineering 10 software cost estimation cocomoVaibhav Khanna
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentZahid Hussain
 
Software Engineering – Course Outline
Software Engineering – Course OutlineSoftware Engineering – Course Outline
Software Engineering – Course OutlineZafar Ayub
 
Shivani_Sethi__Resume
Shivani_Sethi__ResumeShivani_Sethi__Resume
Shivani_Sethi__ResumeShivani Sethi
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-designAhmad sohail Kakar
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 

What's hot (19)

Program logic formulation
Program logic formulationProgram logic formulation
Program logic formulation
 
Ch10
Ch10Ch10
Ch10
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
Model Testing Toolkit - Overview
Model Testing Toolkit - OverviewModel Testing Toolkit - Overview
Model Testing Toolkit - Overview
 
TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-adm
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture
 
Component based development | what, why and how
Component based development | what, why and howComponent based development | what, why and how
Component based development | what, why and how
 
Optimica Testing Toolkit
Optimica Testing ToolkitOptimica Testing Toolkit
Optimica Testing Toolkit
 
Ch03
Ch03Ch03
Ch03
 
Software engineering 10 software cost estimation cocomo
Software engineering 10 software cost estimation cocomoSoftware engineering 10 software cost estimation cocomo
Software engineering 10 software cost estimation cocomo
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-development
 
Model based development(MBD)
Model based development(MBD) Model based development(MBD)
Model based development(MBD)
 
Software Engineering – Course Outline
Software Engineering – Course OutlineSoftware Engineering – Course Outline
Software Engineering – Course Outline
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Shivani_Sethi__Resume
Shivani_Sethi__ResumeShivani_Sethi__Resume
Shivani_Sethi__Resume
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 

Viewers also liked

Viewers also liked (7)

freshman CMD
freshman CMDfreshman CMD
freshman CMD
 
Milieu
MilieuMilieu
Milieu
 
Magie Photoshop
Magie PhotoshopMagie Photoshop
Magie Photoshop
 
Milieuproblematiek
MilieuproblematiekMilieuproblematiek
Milieuproblematiek
 
BackCRM
BackCRMBackCRM
BackCRM
 
BackCRM
BackCRMBackCRM
BackCRM
 
Curious Things
Curious ThingsCurious Things
Curious Things
 

Similar to Using MDE for the Formal Verification of Embedded Systems Modeled by UML Sequence Diagrams

Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
Agile MDD
Agile MDDAgile MDD
Agile MDDfntnhd
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310IncQuery Labs
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
[DSC Europe 23] Petar Zecevic - ML in Production on DatabricksDataScienceConferenc1
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsNoor Ul Hudda Memon
 
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...Lola Burgueño
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Akira Tanaka
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)PG Scholar
 
IncQuery Suite demo for INCOSE 2022IW
IncQuery Suite demo for INCOSE 2022IWIncQuery Suite demo for INCOSE 2022IW
IncQuery Suite demo for INCOSE 2022IWIncQuery Labs
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?Eliza Wright
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptxJAGADEESWARIS6
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 

Similar to Using MDE for the Formal Verification of Embedded Systems Modeled by UML Sequence Diagrams (20)

Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
 
MDA
MDAMDA
MDA
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
IncQuery Group's presentation for the INCOSE Polish Chapter 20220310
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
 
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee ApplicatiesFinal Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
IncQuery Suite demo for INCOSE 2022IW
IncQuery Suite demo for INCOSE 2022IWIncQuery Suite demo for INCOSE 2022IW
IncQuery Suite demo for INCOSE 2022IW
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
 
UML Intro
UML IntroUML Intro
UML Intro
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptx
 
Embedded
EmbeddedEmbedded
Embedded
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 

Using MDE for the Formal Verification of Embedded Systems Modeled by UML Sequence Diagrams

  • 1. Using MDE for the Formal Verification of Embedded Systems Modeled by UML Sequence Diagrams Francisco A. M. Nascimento Marcio F. S. Oliveira Flávio R. Wagner SBCCI 2009 Natal, RN
  • 2. Motivation  To cope with the growing complexity of embedded systems design  Higher levels of abstraction  Exhaustive test of all possible system executions is an impractical or even impossible task • Formal verification methods and tools as a promising approach
  • 3. Summary • Model Driven Engineering (MDE) • MDE-based Formal Verification • Internal Application Metamodel – IAM • LTA Metamodel - LTA • Transforming UML into IAM+LTA • Case Study • Conclusion and Future Work
  • 4. Model Driven Engineering • Main artifacts to be constructed and maintained are models • Languages used to express models are defined by means of meta- models • Software development consists of transforming a model into another one until a final model is obtained that is ready to be executed
  • 6. UML model • Class diagrams (CD) – Application components – Hierarchy and modularity – Structure • Sequence diagrams (SD) – Possible executions of the application – A root SD specifies how the executions are composed – Behavior
  • 7. Example: UML model • UML model: class diagram
  • 8. Example: UML model • UML model: main sequence diagram
  • 9. Example: UML model • UML model: sequence diagrams
  • 10. Example: UML model • UML model: sequence diagrams
  • 11. Example: UML model • UML model: sequence diagrams
  • 13. Example • Internal Application Model
  • 15. Example • Internal Application Model
  • 17. Internal Application Metamodel • Labeled Timed Automata
  • 18. Example • Internal Application Model
  • 19. Transforming UML into IAM+LTA • Set of transformations between models implemented using Xtend language from openArchitectureWare framework • Xtext language for IAM+LTA parser/editor implementation • Xpand language used to generate textual input for Uppaal • Eclipse Modeling Framework – EMF
  • 21. Future Work • Automatic generation of properties to be proved by model checking • Integration with diferent co-design and co-synthesis tools • More experiments to explore the effectivity of the methodology
  • 22. Conclusions • Transformation between models is used to generate an internal representation model • IAM+LTA is adequate to be used by formal verification – behavior and structure – control/data flow of execution – timed automata model