compilation de spécifications rt-lotos en tpns

51
Séminaire OLC: 03/03/2004 ENSICA/LAAS-CNRS Compilation de spécifications RT-LOTOS en TPNs SADANI Tarek Doctorant ENSICA/LAAS - CNRS

Upload: others

Post on 28-Mar-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Microsoft PowerPoint - olcsemlastfinal.pptSADANI Tarek
delay(t1) Délai déterministe
Simulation
• Applications
Multimedia synchronization protocols
Real-time distributed systems
Interactive multimedia documents
b P
ba
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
a; delay(2) latency (2) b {3}; P
ba
hide a, b in
a; delay(2) latency (5) b {3}; P
t 3
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Le graphe de régions
RTL utilise un algorithme réalisant simultanément l’analyse d’accessibilité et la minimisation du système de transition [YL93].
Dans le graphe de régions résultant:
Un nœud (ou classe) est défini par un état de contrôle et
une région représentée par un polyèdre convexe de
dimension égale au nombre d’horloge.
Un arc représente soit l’occurrence d’une action RT-LOTOS
soit une progression temporelle. La valeur effective de
cette durée dépend de la configuration de la classe à
l’origine de la transition et par conséquent, ne peut pas
être explicitée globalement au niveau de la transition
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Les réseaux de Petri temporels / Classes d’états
• RdpT (ou TPNs) obtenus en associant deux dates min et max à chaque transition.
• Un RdpT est un tuple <P,T,PRE,POST, m0,Is> Is associe un intervalle temporel à chaque transition.
• Un état d’un réseau temporel est un couple e=(m,I) m est un marquage et I: t →I+ une fonction qui associe un
intervalle temporel à chaque transition sensibilisée par m. Les états admettent en général une infinité de successeurs.
• Les classes d’états fournissent des représentations finies (obtenus par regroupement de certains états).
Tout graphe de classes bissimilaire au graphe des états, préserve toutes ses propriétés de branchement.
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
L’outil TINA: http://www.laas.fr/tina/
Un éditeur graphique (de réseaux, d’automates)
Des outils de constructions de comportement et d’analyse
structurelle
Composants
• Un composant est un t-uple C = <∑ , Act, Lab, I, F > où
• ∑ = <P, T, Pre, Post, Mo, IS> est un RdPT.
• Act= Ao ∪∪∪∪ Ah ∪∪∪∪ {exit}. Ao et Ah sont des ensembles finis, disjoints d’étiquettes de transitions. Ao ∪∪∪∪{exit} représente les points d’accès du composant.
• Lab: T (Act ∪∪∪∪ Time) est une fonction d’étiquetage qui étiquette chaque transition de ∑ avec un nom d’action ou une étiquette “Time“ label définie sur {tv, delay, latency}.
• I est un ensemble de places définissant les interfaces d’entrée du composant.
• F est le singleton, définissant l’interface de sortie du composant.
Process C[a]: exit:= Hide b in a; b; exit
endproc
5
>>
H2: RDpT encapsulé 1-borné
H3: Si places « input » marquées alors toutes les autres places non marquées
H4: Si place « out » marquée alors toutes les autres non marquées.
Hypothèse d’induction
a{d};P
Process P[a]: exit:= a{2}; exit endproc
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
endproc
Le Disrupt « [> »
Behaviour P[a][> Q[d] where process P[a] :exit := a{2}; exit
endproc process Q[d] :exit := d; stop
endproc
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Specification Sender2 :exit
(Sender[send_data,end_transfert,receive_ack] |[end_transfert]|
endproc
endproc
endspec
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Système de contrôle ferroviaire
• Soit un système simple de contrôle ferroviaire sur lequel un train effectue des passages répétés. [MAS 99]
La barrière est contrôlée par un « Sensor » : quand le train atteint « sensor1 » la barrière entame sa descente (down) et elle est fermée (closed) dans un délai de 8 à 16 secondes.
Quand le train atteint le « sensor2 », la barrière commence sa montée et elle est ouverte (open) au bout d’un délai de 10 à 20 secondes.
Après que le train ait passé le « sensor1 », il lui faudra entre 15 et 20 secondes pour entrer (enter) dans le passage à niveau et 10 à 15 secondes pour atteindre le « sensor2 ».
Après, le train mettra entre 100 et 150 secondes pour atteindre « sensor1 » et boucler
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Train[sensor1,enter,sensor2] |[sensor1,sensor2]|
sensor1; delay(15,20) enter; delay(10,15)sensor2; delay(100,150)Train[sensor1,enter,sensor2]
endproc process Barrier[sensor1,closed,sensor2,open] : noexit :=
sensor1; delay(8,16)closed; sensor2; delay(10,20)open; Barrier[sensor1,closed,sensor2,open]
endproc endspec
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Scénario multimedia
• Un auteur de scénario multimedia souhaite présenter trois médias A,B,C de durées respectives [3,6], [3,5] et [3,8] (A doit durer au moins 3 secondes et au plus 6 secondes).
• Contraintes de synchronisation globales:
B et C doivent commencer simultanémént
le début du scénario est déterminé par le début de A, et sa
terminaison est déterminée par la fin de A et de B, ou par
la fin de C.
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Scénario multimédia: spécification RT-LOTOS
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
0.000s REACHABILITY ANALYSIS --------- bounded
424 classe(s), 1152 transition(s)
Pas d’équivalence observationnelle
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Behaviour P[a,b] |[b]| Q[b]
where
endproc
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Behaviour P[a] Where
endproc
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
• Les “Cyclers” coopèrent en controlant chacun une tache.
• Un Cycler Ci, commence par recevoir un signal gi indiquant qu’il peut commencer, dés lors il active la tache i via l’action ai.
• Après il attend la terminaison de cette dernière (action bi).
• En parallèle Il informe le cycler ci+1 qu’il peut commencer son exécution via l’action gi+1 et revient à son état initial.
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
gi; latency(10)ai; delay(10,100)( ( bi; latency(10)gi+1;cycler[gi,ai,bi,gi+1])
[] (gi+1; latency(10)bi;cycler[gi,ai,bi,gi+1])
endproc
Specification SCHEDULER : noexit Behaviour Hide g1…gn,a1..an,b1…bn in (cycler[g1,a1,b1,g2]
|[g1,g2]| (
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
CPU(s)Classes/ transitions
CPU(s)Classes/ transitions
2363172/343<1357/6879
490153/305<1311/5968
97134/267<1232/4327
18115/229<1219/4146
396/191<1161/3165
<177/153<1127/2324
<158/115<181/1413
<131/57<135/502
RTLRTL2TINA + TINAN
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Dinner temporisé: Specification RT-LOTOS
CPU(s)
Systèmes de Commandes A340: [BON 02]
• Une fonction maître FR, périodique de période 20ms, exécutée sur le calculateur CR et qui produit une commande CmdR. FR est initialement en mode commande jusqu'à sa défaillance ;
• Une fonction secours Fl, périodique de période 20ms, exécutée sur le calculateur CL et qui en cas de défaillance de Fr, produit la commande CmdL. Fr est considérée comme défaillante selon FL, si celle-ci n’a reçu aucune commande CmdR pendant 2 cycles d’horloges(40ms). Dans ce cas FL passe en mode commande (jusqu'à sa défaillance) et émet CmdL ;
• Une fonction de second secours FB, périodique de période 20 ms, exécutée sur le calculateur CB et qui, en cas de défaillance de FR et de FL, produit la commande CmdB. FR et FL sont considérées comme défaillantes, selon FB, si celle-ci n’a reçu aucune commande CmdR ou CmdL pendant 5 cycles d’horloge (100ms). Dans ce cas FB passe en mode commande et émet Cmdb.
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
430s142/208<1s3208 / 10617L=[0,5]
430s104/152<1s1373 / 4096L=[0,2]
430s100/143<1s346/ 688L=[0,1]
RTLRTL2TINA + TINA
Soit un Système S2 composé de 3 fonctions F1, F2, F3 organisées selon le principe de redondance précédent, et tel que la latence de communication entre deux fonctions Fj et Fi j<i est comprise entre 0 et L cycles.
Séminaire OLC: 0 3/03/2005ENSICA/LAAS-CNRS
Conclusion et travaux futurs
RTL2TINA +TINA vs RTL
• Intégration de RTL2TINA dans Ttool (profil Turtle)
• Nouveaux opérateurs RT- LOTOS (stopwatch TPNs)