15.05.2015 Views

Approche de métamodélisation pour la simulation et la vérification ...

Approche de métamodélisation pour la simulation et la vérification ...

Approche de métamodélisation pour la simulation et la vérification ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Résumé<br />

L’ingénierie dirigée par les modèles (IDM) a permis plusieurs améliorations<br />

significatives dans le développement <strong>de</strong> systèmes complexes en perm<strong>et</strong>tant <strong>de</strong> se<br />

concentrer sur une préoccupation plus abstraite que <strong>la</strong> programmation c<strong>la</strong>ssique. Il<br />

s’agit d’une forme d’ingénierie générative dans <strong>la</strong>quelle tout ou partie d’une application<br />

est engendrée à partir <strong>de</strong> modèles. Une <strong>de</strong>s idées phares est d’utiliser autant<br />

<strong>de</strong> <strong>la</strong>ngages <strong>de</strong> modélisation différents (Domain Specific Mo<strong>de</strong>ling Languages –<br />

DSML) que les aspects chronologiques ou technologiques du développement le<br />

nécessitent. Le défi actuel <strong>de</strong> <strong>la</strong> communauté du génie logiciel est <strong>de</strong> simplifier<br />

<strong>la</strong> définition <strong>de</strong> nouveaux DSML en fournissant <strong>de</strong>s technologies du métaniveau<br />

telles que <strong>de</strong>s générateurs d’éditeurs syntaxiques (textuels ou graphiques), <strong>de</strong>s outils<br />

d’exécution, <strong>de</strong> validation <strong>et</strong> <strong>de</strong> vérification (statique <strong>et</strong> dynamique). Ces outils<br />

<strong>de</strong> validation <strong>et</strong> <strong>de</strong> vérification nécessitent d’expliciter, en plus <strong>de</strong> <strong>la</strong> syntaxe abstraite,<br />

<strong>la</strong> sémantique d’exécution du DSML.<br />

Au regard <strong>de</strong>s travaux existants dans l’IDM <strong>et</strong> <strong>de</strong> l’expérience acquise avec<br />

les <strong>la</strong>ngages <strong>de</strong> programmation, nous proposons dans c<strong>et</strong>te thèse une taxonomie<br />

précise <strong>de</strong>s techniques perm<strong>et</strong>tant d’exprimer une sémantique d’exécution <strong>pour</strong> un<br />

DSML. Nous rep<strong>la</strong>çons ensuite ces différentes techniques au sein d’une démarche<br />

complète perm<strong>et</strong>tant <strong>de</strong> décrire un DSML <strong>et</strong> les outils nécessaires à l’exécution, <strong>la</strong><br />

vérification <strong>et</strong> <strong>la</strong> validation <strong>de</strong>s modèles.<br />

La démarche que nous proposons offre une architecture rigoureuse <strong>et</strong> générique<br />

<strong>de</strong> <strong>la</strong> syntaxe abstraite du DSML <strong>pour</strong> capturer les informations nécessaires à l’exécution<br />

d’un modèle <strong>et</strong> définir les propriétés temporelles qui doivent être vérifiées.<br />

Nous nous appuyons sur c<strong>et</strong>te architecture générique <strong>pour</strong> expliciter <strong>la</strong> sémantique<br />

<strong>de</strong> référence (c.-à-d. issue <strong>de</strong> l’expérience <strong>de</strong>s experts du domaine) <strong>et</strong> l’imp<strong>la</strong>nter.<br />

Plus particulièrement, nous étudions les moyens :<br />

– d’exprimer <strong>et</strong> <strong>de</strong> vali<strong>de</strong>r <strong>la</strong> définition d’une traduction vers un domaine formel<br />

dans le but <strong>de</strong> réutiliser <strong>de</strong>s outils <strong>de</strong> mo<strong>de</strong>l-checking <strong>et</strong> perm<strong>et</strong>tre ainsi<br />

<strong>la</strong> vérification formelle <strong>et</strong> automatique <strong>de</strong>s propriétés exprimées.<br />

– <strong>de</strong> compléter <strong>la</strong> syntaxe abstraite par le comportement ; <strong>et</strong> profiter d’outils<br />

génériques <strong>pour</strong> pouvoir simuler les modèles construits.<br />

Enfin, il est indispensable <strong>de</strong> vali<strong>de</strong>r les différentes sémantiques imp<strong>la</strong>ntées<br />

vis-à-vis <strong>de</strong> <strong>la</strong> sémantique <strong>de</strong> référence. Aussi, nous proposons un cadre formel<br />

<strong>pour</strong> <strong>la</strong> métamodélisation, transparent <strong>pour</strong> le concepteur, perm<strong>et</strong>tant d’exprimer<br />

<strong>la</strong> sémantique <strong>de</strong> référence qui servira <strong>de</strong> base à c<strong>et</strong>te validation.<br />

La démarche est illustrée dans c<strong>et</strong>te thèse à travers le domaine <strong>de</strong>s procédés<br />

<strong>de</strong> développement. Après une étu<strong>de</strong> approfondie <strong>de</strong> c<strong>et</strong>te ingénierie, <strong>et</strong> plus particulièrement<br />

du <strong>la</strong>ngage SPEM proposé par l’OMG, nous définissons l’extension<br />

XSPEM perm<strong>et</strong>tant <strong>de</strong> construire <strong>de</strong>s modèles exécutables. Nous décrivons également<br />

les outils perm<strong>et</strong>tant <strong>la</strong> vérification formelle <strong>et</strong> <strong>la</strong> simu<strong>la</strong>tion <strong>de</strong>s modèles<br />

XSPEM. La démarche proposée est toutefois générique <strong>et</strong> a donné lieu à <strong>de</strong>s transferts<br />

technologiques dans le proj<strong>et</strong> TOPCASED en établissant <strong>de</strong>s fonctionnalités <strong>de</strong><br />

vérification <strong>et</strong> <strong>de</strong> simu<strong>la</strong>tion <strong>pour</strong> différents <strong>la</strong>ngages <strong>de</strong> l’atelier.<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!