24
AVATAR-TTool A SysML Environment for the Proof of Safety and Security Properties Ludovic Apvrille Telecom ParisTech [email protected] April 2011

- eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

AVATAR-TTool

A SysML Environment for the Proof of

Safety and Security Properties

Ludovic Apvrille

Telecom [email protected]

April 2011

Page 2: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

Outline

IntroductionModel-Driven EngineeringTToolDIPLODOCUS

AVATAR: From Requirements to PrototypingIntroductionRequirementsAnalysisDesign

Conclusions, ReferencesConclusionsReferences

Ludovic Apvrille AVATAR 2 of 24

Page 3: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

Model-Driven EngineeringTToolDIPLODOCUS

Outline

IntroductionModel-Driven EngineeringTToolDIPLODOCUS

AVATAR: From Requirements to Prototyping

Conclusions, References

Ludovic Apvrille AVATAR 3 of 24

Page 4: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

Model-Driven EngineeringTToolDIPLODOCUS

Model Driven Engineering

Definition◮ Process based on abstract representations for a given domain

(domain model)

◮ Notion of patterns

◮ Should enhance team working and exchanges between clients/ system-level teams and development teams

UML and SysML

◮ MDE is commonly based on UML profiles◮ Profiles defined at OMG’s (e.g., SPT, MARTE, SysML)◮ Profiles defined by tool vendors (e.g. in Rhapsody, Artisan)◮ User-defined and company-defined models

Ludovic Apvrille AVATAR 4 of 24

Page 5: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

Model-Driven EngineeringTToolDIPLODOCUS

A Multi Profile Platform: TTool

TTool◮ Open-source toolkit mainly developed by

Telecom ParisTech

◮ 8 UML profiles◮ DIPLODOCUS, AVATAR

◮ Support from academic (e.g. INRIA) andindustrial partners (e.g., Freescale)

Main ideas◮ Lightweight, easy-to-use toolkit

◮ Simulation with model animation

◮ Formal proof at the push of a button

Ludovic Apvrille AVATAR 5 of 24

Page 6: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

Model-Driven EngineeringTToolDIPLODOCUS

The DIPLODOCUS UML Profile

◮ Partitioning◮ Finding the best SW / HW

function repartition

◮ Follows the Y-Chart approach

◮ Ultra-fast simulation andverification

◮ Up to 100 times the real-timeexecution

◮ Variable simulation coverage

Ludovic Apvrille AVATAR 6 of 24

Page 7: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Outline

Introduction

AVATAR: From Requirements to PrototypingIntroductionRequirementsAnalysisDesign

Conclusions, References

Ludovic Apvrille AVATAR 7 of 24

Page 8: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

AVATAR in a Nutshell

Former contribution: TURTLE (1999)

◮ Formally defined UML profile (RT-LOTOS, UPPAAL)

◮ Enhanced with requirement (2006), analysis (2003) anddeployment phases (2006)

AVATAR (2010)

◮ SysML environment supporting all methodological phases

◮ Graphical capture of properties

◮ Integrated simulation

◮ Safety and security proofs at the push of a button

◮ C-POSIX code generation

◮ TURTLE is now deprecated!

Ludovic Apvrille AVATAR 8 of 24

Page 9: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Methodology

Ludovic Apvrille AVATAR 9 of 24

Prototyping

Formal verification

Simulation

Property modeling

Detailed Design

Design

Scenarios

Functioning modes

Use cases

Attack Trees

Requirement Capture

Page 10: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Requirement Capture

◮ SysML Requirement Diagrams

◮ Specialization for security-related requirements (e.g.,confidentiality, privacy, etc.)

◮ Modeling assumptions inside notes

Ludovic Apvrille AVATAR 10 of 24

Back to methodology

Page 11: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Attack Trees

◮ Represent all possible attacks onthe system

◮ And relations between thoseattacks: OR, AND,SEQUENCE, BEFORE,AFTER, etc.

◮ SysML Parametric Diagrams

Ludovic Apvrille AVATAR 11 of 24

Back to methodology

Page 12: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Use Cases

◮ System boundary, actors, and main functions (use cases)provided by the system

◮ And high-level links between use cases

◮ SysML Use Case Diagrams

Ludovic Apvrille AVATAR 12 of 24

Back to methodology

Page 13: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Main Functioning Modes

◮ Identify various systemfunctioning modes

◮ Represent relations betweenfunctioning modes

◮ Sequence, choice, preemption,parallel

◮ (Slightly extended) SysMLActivity Diagrams

Ludovic Apvrille AVATAR 13 of 24

Back to methodology

Page 14: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Scenarios

◮ Identify a specific trace of the system

◮ SysML Sequence Diagrams

Ludovic Apvrille AVATAR 14 of 24

Back to methodology

Page 15: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Design: Architecture

◮ SysML Block Definition and Internal Block Diagrams

◮ Block = attributes, methods, in/out signals, behaviour

Ludovic Apvrille AVATAR 15 of 24

Back to methodology

Page 16: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Detailed Design

◮ Block’s behaviour isdescribed in terms ofSysML State MachineDiagrams

◮ Non deterministic choices

◮ Non deterministictemporal operators

Ludovic Apvrille AVATAR 16 of 24

Back to methodology

Page 17: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Property Modeling

Safety properties

◮ Customized Parametric Diagrams (TEPE)

Security properties

◮ Based on basic pragmas◮ Confidentiality of a block attribute◮ Authenticity of interconnected block signals

Ludovic Apvrille AVATAR 17 of 24

Back to methodology

Page 18: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Simulation

◮ Integrated in TTool

◮ Model animation

◮ Breakpoints, step,backstep, reset,introspection ofblock variables, etc.

◮ Simluation tracesare displayed asSysML SequenceDiagrams

Ludovic Apvrille AVATAR 18 of 24

Back to methodology

Page 19: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Formal Verification

◮ Push button approach, both for safety and security properties!

Safety properties

◮ UPPAAL based

Security properties

◮ ProVerif based

Ludovic Apvrille AVATAR 19 of 24

Back to methodology

Page 20: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Prototyping

◮ C-POSIX code generation from design◮ Compiled and executed on localhost (e.g. Windows, MacOS,

Linux)◮ Prototyped with the SocLib + MutekH platform

SoClib/MutekH

◮ SoCLib = virtual prototyping platform (LIP6)◮ Many microprocessors supported (MIPS, ARM, PowerPC, etc.)◮ Embedded Operating System = MutekH◮ Transaction Level Modeling or Cycle Accurate Bus Accurate

◮ Code is first cross-compiled for the selected microprocessor

◮ Then, execution of: SocLib, MutekH, application◮ Performance metrics (traces)◮ Easy debugging (gdb: step by step execution, etc.)

Ludovic Apvrille AVATAR 20 of 24

Back to methodology

Page 21: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

IntroductionRequirementsAnalysisDesign

Prototyping with SoCLib

Ludovic Apvrille AVATAR 21 of 24

Back to methodology

Page 22: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

ConclusionsReferences

Outline

Introduction

AVATAR: From Requirements to Prototyping

Conclusions, ReferencesConclusionsReferences

Ludovic Apvrille AVATAR 22 of 24

Page 23: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

ConclusionsReferences

Conclusions

TTool = Open-source solution for MDE

◮ Academic and industrial involvement on TTool

◮ Many success stories (e.g., Freescale, EVITA)

◮ Used for teaching activities

AVATAR◮ Integrated simulation

◮ Formal proof at the push of a button◮ Safety proof (UPPAAL)◮ Security proof (ProVerif)

◮ Easy-to-use virtual prototyping

Ludovic Apvrille AVATAR 23 of 24

Page 24: - eserved@d = *@let@token width=2.5cm]figures/tpt.eps ... · Ludovic Apvrille AVATAR 12 of 24 Back to methodology. Introduction AVATAR: From Requirements to Prototyping Conclusions,

IntroductionAVATAR: From Requirements to Prototyping

Conclusions, References

ConclusionsReferences

Website, Publications

TTool website: http://labsoc.comelec.enst.fr/ttool/

◮ Under google: ”TTool”

◮ How to install TTool, tutorials, these slides, etc.

Papers◮ Gabriel Pedroza, Daniel Knorreck, Ludovic Apvrille, ”AVATAR: A SysML

Environment for the Formal Verification of Safety and Security Properties”, The11th IEEE Conference on Distributed Systems and New Technologies, Paris,France, May 2011.

◮ Daniel Knorreck, Ludovic Apvrille, Pierre de Saqui-Sannes, ”TEPE: A SysMLLanguage for Time-Constrained Property Modeling and Formal Verification”,Proceedings of the Third IEEE International Workshop UML and FormalMethods (UMLFM’2010), Shanghai, China, November, 2010.

◮ L. Apvrille, W. Muhammad, R. Ameur-Boulifa, S. Coudert and R. Pacalet, ”AUML-based Environment for System Design Space Exploration”, 13th IEEEInternational Conference on Electronics, Circuits and Systems (ICECS’2006),Nice, France, December 2006

Ludovic Apvrille AVATAR 24 of 24