04.07.2013 Views

Modélisation des systèmes temps-réel répartis embarqués pour la ...

Modélisation des systèmes temps-réel répartis embarqués pour la ...

Modélisation des systèmes temps-réel répartis embarqués pour la ...

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.

Chapitre VII – Vérification formelle de <strong>la</strong> structure <strong>des</strong> applications<br />

VII-6.3 Séquence d’appel pure<br />

Dans le cas où un composant (sous-programme ou thread) est constitué seulement d’une séquence<br />

d’appel, nous considérons que cette séquence décrit complètement le comportement du<br />

composant – nous suivons donc les mêmes hypothèses que <strong>pour</strong> <strong>la</strong> génération de code. Le réseau<br />

de Petri issu de <strong>la</strong> séquence constitue alors <strong>la</strong> <strong>des</strong>cription comportementale du composant.<br />

VII-6.4 Composant hybride<br />

Lorsque <strong>la</strong> <strong>des</strong>cription AADL d’un composant comporte plusieurs séquences d’appel, toutes<br />

les combinaisons d’exécutions sont possibles. Contrairement à <strong>la</strong> génération de code, qui génère<br />

les séquences possibles mais n’en exécute aucune par défaut, nous avons vu en section VII-5.3 que<br />

<strong>la</strong> traduction en réseau de Petri permet de représenter tous les scénarios d’exécutions possibles.<br />

Dans un cas comme dans l’autre, il est nécessaire d’adjoindre une <strong>des</strong>cription comportementale<br />

<strong>pour</strong> indiquer dans quel ordre et sous quelles conditions les séquences doivent s’exécuter.<br />

Le réseau de Petri comportemental décrit alors <strong>la</strong> circu<strong>la</strong>tion du jeton de contrôle à travers les<br />

séquences. Afin de pouvoir en effectuer un traitement automatique, les p<strong>la</strong>ces et les transitions du<br />

réseau comportemental doivent respecter certaines règles de nommage :<br />

Règle VII.22 (Descriptions comportementales <strong>pour</strong> les sous-programmes hybri<strong>des</strong>)<br />

La <strong>des</strong>cription de l’enchaînement <strong>des</strong> séquences d’appel à exécuter est constituée d’un<br />

réseau de Petri dont <strong>la</strong> première p<strong>la</strong>ce doit s’appeler begin et <strong>la</strong> dernière p<strong>la</strong>ce end. Les<br />

séquences d’appel qui doivent être exécutée sont représentées par <strong>des</strong> transition dont le<br />

nom correspond au nom AADL <strong>des</strong> séquences à coordonner.<br />

La <strong>des</strong>cription complète du composant s’obtient par fusion <strong>des</strong> transitions avec les sousréseaux<br />

<strong>des</strong> séquences.<br />

Règle VII.23 (Coordination <strong>des</strong> séquences d’appel)<br />

La coordination <strong>des</strong> séquences d’appel d’un sous-programme composant est effectuée<br />

par <strong>la</strong> fusion <strong>des</strong> transitions de <strong>la</strong> <strong>des</strong>cription comportementale avec les séquences correspondantes.<br />

Les p<strong>la</strong>ces begin et end du réseau comportemental sont reliées aux transitions<br />

composant_begin et composant_end.<br />

Les transitions composant_begin et composant_end ont été définies dans <strong>la</strong> règle VII.17.<br />

1 subprogram sspg_a<br />

2 features<br />

3 e : in parameter;<br />

4 end sspg_a;<br />

5<br />

6 subprogram sspg_b<br />

7 features<br />

8 e : in parameter;<br />

9 calls<br />

10 seq1 : {appel1 : subprogram sspg_a;};<br />

11 seq2 : {appel2 : subprogram sspg_a;};<br />

12 connections<br />

13 parameter e -> appel1.e;<br />

14 parameter e -> appel2.e;<br />

c○ 2007 Thomas Vergnaud 141

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

Saved successfully!

Ooh no, something went wrong!