AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic...

28
AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes [email protected] [email protected] SysML France, 6 décembre 2010

Transcript of AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic...

Page 1: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

AVATAR

Un profil SysML temps réel outillé

Ludovic Apvrille, Pierre de Saqui-Sannes

[email protected]@isae.fr

SysML France, 6 décembre 2010

Page 2: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Agenda

• De TURTLE à AVATAR

• Le langage AVATAR : syntaxe et sémantique

• Vérification logique et temporelle de modèles AVATAR

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

• Vérification orientée security de modèles AVATAR

• Positionnement et perspectives

2

Page 3: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

De TURTLE à AVATAR

3

Page 4: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Capitaliser sur plus de 10 ansd’expérience des profils UML temps réel

• TURTLE– Analyse et conception axées vérification de systèmes temps réel– Validation d’architectures de communication et implantation répartie

• DIPLODOCUS– Systems-on-Chip (SoC)– Exploration d’architectures (design space exploration)

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

– Exploration d’architectures (design space exploration)

• Outil open source TTool (TURTLE Toolkit)– Première version en 2003 !– Editeurs– Générateurs de code

• Preuve: “partenaires” : UPPAAL, CADP, RTL, …• Simulation: SystemC / C++• Execution: C-POSIX, Java, middleware

– Assistant méthodologique

4

Page 5: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Pourquoi un profil SysML temps réel ?

• TURTLE : un avant goût de SysML ?– Modélisations abstraites orientées PIM (Platform Independent Modeling)– Architecture de boites avec ports n’exploitant pas l’héritage– Comportements : la partie “contrôle” prime sur la partie “données”

• Limitations rencontrées avec TURTLE– Le diagramme d’exigences de SysML est très utile mais ne fait pas partie

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

– Le diagramme d’exigences de SysML est très utile mais ne fait pas partie d’UML

– Bien que la modélisation soit orientée vérification, les propriétés à vérifier ne font pas partie du modèle

– La syntaxe de TURTLE doit être revisitée pour se conformer à UML 2.x

• Modélisation orientée système– Vérification de propriétés

• Safety• Security

5

Page 6: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

AVATAR : carte d’identité

• AVATAR = Automated Verification of reAl Time softwAR e

• SysML temps réel orienté vérification de modèles

• Syntaxe : conforme au méta-modèle SysML

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

• Sémantique– Modèle de preuve

• Safety : traduction vers automates temporisés communicants (UPPAAL)• Security : traduction vers pi-calculus (ProVerif)

– Modèle d’exécution : traduction en C/POSIX

• Outil open-source TTool

6

Page 7: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Le langage AVATAR

7

Page 8: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Positionnement du langage AVATAR par rapport à SysML

• Conformité stricte à la norme SysML– Diagrammes d’exigences– Diagrammes de cas d’utilisation et de séquences– Diagrammes de blocks et de machines à états

• Restrictions– Pas de signaux continus

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

– Pas de signaux continus

• Extensions au méta-modèle UML– IOD (Interaction Overview Diagram) pour structurer les scénarios– Machines à états temporisées– Diagrammes paramétriques

• TEPE (TEmporal Property Expression language) : langage d’expression des propriétés logiques et temporelles

– Expression de propriétés de sécurité• Pragmas sur les diagrammes de blocks

8

Page 9: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Processus associé à AVATAR

Classification des exigences

Identification des propriétés à vérifier

Diagrammed’exigences

Diagrammesparamétriques

DiagrammesTEPE

Identification des fonctions et services

Constructions de scénarios pertinents

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

Vérificationformelle

Code exécutable

9

Diagramme de cas d’utilisationDiagrammes de séquences

Choix d’unearchitecture

Définitions des comportements

Diagrammede blocks

Diagrammes de machines à états

Page 10: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Le langage TEPE d’expression de propriétés temporelles (1/2)

• Facilité d’utilisation– Intégration dans SysML (Diagrammes paramétriques)– Description de haut niveau– Plus intuitif que CTL / LTL

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

• Pouvoir d’expression– Relation entre les attributs et les signaux des blocks– Modélisation de relations logiques et temporelles– Défini formellement

• Traduction vers des observateurs + formules CTL

10

Page 11: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Le langage TEPE d’expression de propriétés temporelles (2/2)

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 11

Page 12: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Comment construire un diagramme TEPE ?

1. Blocks représentés avec attributs et signaux

2. Définition des éléments dérivés (équations, signa ux composites)

3. Utilisation d’opérateurs temporels et logiques po ur mettre en relation les attributs et les signaux -> Propriétés

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 12

relation les attributs et les signaux -> Propriétés

4. Propriétés mises en relation (AND, OR, etc.)

5. Propriétés taguées avec un type (reachability, li veness)

Page 13: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Machine à café : diagramme d’exigences

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 13

Page 14: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Machine à café : diagramme de blocks

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 14

Page 15: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Machine à café:diagramme de machine à étatsLes autres machinesà états ne sont pasprésentées dans cediaporama

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 15

Page 16: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Machine à café : diagramme paramétrique

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 16

Page 17: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Machine à café : diagramme paramétrique

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 17

Page 18: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Vérification formelle depropriétés temporelles

18

Page 19: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Vérification formelle de propriétés de safety

• Diagramme TEPE associé à la machine à café

• Génération de code UPPAAL

• Test d’accessibilité (entre autres) depuis l’interf ace de TTool sans écrire de formule de logique

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

sans écrire de formule de logique

• Aller plus loin en entrant des formules dans UPPAAL via TTool

• Couverture du modèle (parties explorées ou non)

• Traçabilité des exigences

19

Page 20: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Vérification formelle depropriétés de sécurité

20

Page 21: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

AVATAR: modélisation et propriétésorientées sécurité

• Idée générale : Spécification dans des notes des di agrammes de block– Référence à des blocks, des attributs, et des états de machine à états

• Confidentialité# Confidentiality block1.attribute1

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

# Confidentiality block1.attribute1

• Authenticité#Authenticity block1.state1.attribute1 block2.state2.attribute2

• Spécification de données pré-partagées (clés, etc.)#InitialCommonData block1.attribute1 block2.attribute2

21

Page 22: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

AVATAR: preuve de propriétés de sécurité

• AVATAR s’appuie sur l’outil ProVerif de l’ENS– Sémantique basée sur pi-calculus + langage de propriétés (queries)

• Modèle transformé en clauses de Horn par ProVerif• Résolution des clauses par ProVerif• Preuves réalisées pour un nombre infini d’instances

– Modèle d’attaquant = Dolev-Yao

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

– Modèle d’attaquant = Dolev-Yao

• AVATAR permet la preuve de propriété de– Confidentialité– Authenticité

22

Page 23: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Vérification formelle de propriétés de sécurité

• Protocole simple d’envoi d’une donnée confidentielle– Alice -> Bob– Utilisation d’une clé pré-partagée

• Génération de code pi-calculus (approche presse-bouto n)

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

• Preuve de deux propriétés– Confidentialité– Authenticité

• Couverture du modèle (parties explorées ou non)

23

Page 24: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Diagramme de blocks

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010 24

Page 25: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Positionnement et Discussion

25

Page 26: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Positionnement par rapport aux travaux du domaine

• Langage– Pouvoir d’expression– Conformité aux standards

• MARTE• SysML

– Sémantique

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

– Sémantique• UPPAAL, ProVerif

• Outils– Papyrus– TOPCASED

• Méthodologie

26

Page 27: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Perspectives

• Langage + TTool + méthodologie– Assistant méthodologique– Exploiter le graphe d’accessibilité d’UPPAAL pour le minimiser et

caractériser par exemple l’automate du service rendu par une couchede protocole

– Améliorer le processus de vérification formelle en tenant compte des

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

– Améliorer le processus de vérification formelle en tenant compte des dépendances entre éléments d’un modèle

• Un outil pédagogique accessible– Rédaction de tutoriels– Formation (Telecom Paristech, ISAE, …)

• Applicabilité de TEPE en dehors du langage AVATAR

27

Page 28: AVATAR Un profil SysML temps réel outillé · AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr

Bibliographie annotée

• Article fondateur du profil UML temps réel TURTLE qui a scellé le lien entre UML/TURTLE et vérification outillée de propriétés temporelles

L. Apvrille, J.-P. Courtiat, C. Lohr, P de Saqui-SannesTURTLE: A Real-Time UML Profile Supported by a Formal Validation Toolkit”IEEE Transactions on Software Engineering, Vol. 30, No. 7, pp. 473-487, July 2004.

• Présentation du langage d’expression de propriété TEPED. Knorreck, L. Apvrille, P. de Saqui-Sannes,

© Pierre de Saqui-Sannes, Ludovic Apvrille, 2010

D. Knorreck, L. Apvrille, P. de Saqui-Sannes,TEPE: A SysML Language for Timed-Constrained Property Modeling and Formal VerificationUML/FM 2010, Shangai, China, November 2010

• Site Web de l’outil open source TTool qui supporte le profil AVATAR– http://labsoc.comelec.enst.fr/turtle/ttool.html– Sous google : TTool UML (premier lien !)

• Sites Web des outils auxquels TTool s’interface (vérification formelle)– UPPAAL: http://www.uppaal.com/– ProVerif: http://www.proverif.ens.fr/

28