12.07.2015 Views

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

SHOW MORE
SHOW LESS
  • No tags were found...

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

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

12 CHAPITRE 2. CONTEXTE DE L’ETUDE<strong>Esterel</strong>, toutes ces opérations (ou blocs d’opérations) sont appelées <strong><strong>de</strong>s</strong> actions. Toute actionest supposée être exécutée instantanément. Dans la version noyau du langage, chaque actionpeut être abstraite par un signal pur : une opération est abstraite par l’émission d’un signal <strong><strong>de</strong>s</strong>ortie et le résultat d’un test sur une variable est abstrait par un test <strong>de</strong> présence d’un signald’entrée. Pour notre étu<strong>de</strong>, nous nous limiterons à cette version noyau du langage <strong>Esterel</strong>.Les langages <strong>de</strong> la famille d’<strong>Esterel</strong>. Alors que le langage <strong>Esterel</strong> est particulièrementadapté à la programmation du contrôle, il existe d’autres langages réactifs synchrones spécialisésdans la programmation du flot <strong>de</strong> données. Ces langages incluent Lustre [39] et Signal [53].Dans ces langages, la valeur <strong>de</strong> chaque variable est recalculée à chaque instant en fonction <strong>de</strong>la valeur <strong><strong>de</strong>s</strong> variables aux instants précé<strong>de</strong>nts. Le traitement <strong><strong>de</strong>s</strong> données est beaucoup plussimple qu’en <strong>Esterel</strong> mais la programmation d’une simple séquence <strong>de</strong>vient rapi<strong>de</strong>ment trèscomplexe.D’autres langages graphiques ont également été proposés. Le formalisme <strong><strong>de</strong>s</strong> SyncCharts [4, 5]possè<strong>de</strong> la même expressivité que le langage <strong>Esterel</strong>. Son formalisme graphique est inspiréd’Argos [57], la version synchrone <strong><strong>de</strong>s</strong> StateCharts [42].2.1.1 Aspects sémantiquesLe langage <strong>Esterel</strong> possè<strong>de</strong> une sémantique opérationnelle structurelle [68] (SOS). Cettesémantique se présente sous la forme <strong>de</strong> règles <strong>de</strong> réécriture <strong>de</strong> la forme <strong>de</strong> l’exemple suivant :p E′ , 0−−−→ p ′ q F ′ , l−−→EEq ′p; q E′ ∪F ′ , l−−−−−→ q ′ELa règle sémantique présentée ci-<strong><strong>de</strong>s</strong>sus est celle <strong>de</strong> la séquence p;q, pour le cas où p terminedans l’instant. La totalité <strong><strong>de</strong>s</strong> règles <strong>de</strong> la sémantique opérationnelle est détaillée dans [11].Cette sémantique se décline en <strong>de</strong>ux nuances : la sémantique comportementale logique et lasémantique comportementale constructive qui est un raffinement <strong>de</strong> la sémantique logique. Ladifférence entre ces <strong>de</strong>ux sémantiques rési<strong>de</strong> dans les règles qui régissent la présence ou l’absenced’un signal. Dans la sémantique logique, le statut d’un signal est déterminé en supposant successivementque le signal est présent, puis absent. Un programme est correct si une et une seule<strong>de</strong> ces <strong>de</strong>ux suppositions permet d’aboutir a une solution. La sémantique constructive interdit<strong>de</strong> présumer le statut d’un signal. Un signal n’est présent que si il est forcément émis et il n’estabsent que si il ne peut pas être émis.Les sémantiques opérationnelles d’<strong>Esterel</strong> permettent une interprétation <strong><strong>de</strong>s</strong> <strong>programmes</strong> sousforme <strong>de</strong> machine <strong>de</strong> Mealy à états finis. Autrement dit, tout programme <strong>Esterel</strong> correct peutêtre compilé sous la forme d’un automate et exécuté symboliquement.La possibilité <strong>de</strong> traduire les <strong>programmes</strong> <strong>Esterel</strong> sous forme <strong>de</strong> circuits logiques séquentielsprocure à <strong>Esterel</strong> une sémantique dénotationnelle. Le modèle <strong><strong>de</strong>s</strong> circuits séquentiels possè<strong>de</strong>également une sémantique constructive équivalente à celle d’<strong>Esterel</strong> : la sémantique dénotationnellequi consiste à propager les constantes booléennes 0 et 1 dans la traduction circuit estéquivalente à la sémantique constructive qui consiste à propager l’information selon laquelle unsignal doit être présent ou bien ne peut être présent.

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

Saved successfully!

Ooh no, something went wrong!