Professional Documents
Culture Documents
Projet AOSTE
Université de Nice-Sophia Antipolis et INRIA Sophia-Méditerranée
15 novembre 2009
Contraintes temporelles polychrones
Plan
1 Introduction
2 Approches connexes
3 Modélisation
4 Illustration : ABS
5 Conclusion
Contraintes temporelles polychrones
Introduction
1 Introduction
2 Approches connexes
3 Modélisation
4 Illustration : ABS
5 Conclusion
Contraintes temporelles polychrones
Introduction
Systèmes polychrones
Pourquoi ?
Systèmes polychrones
Pourquoi ?
Pour l’esthétique . . .
1 seule base de
temps plusieurs bases
de temps
Systèmes polychrones
Pourquoi ?
îlot synchrone
(domaine d’horloge)
communications
Systèmes polychrones
Pourquoi ?
CAvG AAvG
CAvD AAvD
ABS
CArG AArG
CArD AArD
Capteur ArG
Actionneur ArG
Systèmes polychrones
Bases de temps multiples
1 2 3
A
1 2 3
B
1 2 3
C
Systèmes polychrones
Bases de temps multiples
C
precedence coincidence
Systèmes polychrones
Bases de temps multiples
Systèmes polychrones
Modélisation
Problème posé
Modélisation des systèmes polychrones
Contraintes temporelles polychrones
Introduction
Systèmes polychrones
Modélisation
Problème posé
Modélisation des systèmes polychrones
Concepts
Horloges logiques ↔ événements
Contraintes d’horloges
Contraintes temporelles polychrones
Introduction
Systèmes polychrones
Modélisation
Problème posé
Modélisation des systèmes polychrones
Concepts
Horloges logiques ↔ événements
Contraintes d’horloges
Supports proposés
Modèle de temps du profil UML MARTE
CCSL (Clock Constraint Specification Language)
Contraintes temporelles polychrones
Approches connexes
1 Introduction
2 Approches connexes
3 Modélisation
4 Illustration : ABS
5 Conclusion
Contraintes temporelles polychrones
Approches connexes
Approches connexes
Deux aspects
Représentation de la structure
1 Structure d’événements (Winskel) : causalité, conflit
2 Occurrence nets (Petri) : causalité, parallélisme
3 Tag Systems (Lee & Sangiovanni-Vincentelli) : “instants”
Spécification
1 Réseaux de Petri temporels avec extensions
2 Langages et formalismes synchrones
monochrones (Lustre, Esterel v5)
polychrones (Esterel v7, Signal)
3 42 (Maraninchi & Bouhadiba) composants, contrats
1 Introduction
2 Approches connexes
3 Modélisation
4 Illustration : ABS
5 Conclusion
Contraintes temporelles polychrones
Modélisation
Modèles
3 Modélisation
Modèles
CCSL
Contraintes temporelles polychrones
Modélisation
Modèles
Modèles
Modèles
Evolutions
Définitions
Franchissements
F
→ hM, σ 0 , χ0 i
hM, σ, χi −
ρ
F ⊆ C (ensemble des horloges franchies )
ρ : P → N (environnement)
avec
χ0 (c) = si c ∈ F alors χ(c) + 1 sinon χ(c)
σ 0 détermination plus complexe, voir plus loin
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Définitions
Franchissements
F
→ hM, σ 0 , χ0 i
hM, σ, χi −
ρ
F ⊆ C (ensemble des horloges franchies )
ρ : P → N (environnement)
avec
χ0 (c) = si c ∈ F alors χ(c) + 1 sinon χ(c)
σ 0 détermination plus complexe, voir plus loin
run
F1
F2 Fn
M, σ 0 , χ0 −→ M, σ 1 , χ1 −→ · · · M, σ n−1 , χn−1 −→
ρ1 ρ2 ρn
hM, σ n , χn i · · ·
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
1 Définir un ensemble de variables booléennes C en bijection
avec C (π : C → C )
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
1 Définir un ensemble de variables booléennes C en bijection
avec C (π : C → C )
2 Transformer structurellement l’ensemble de contraintes S en
une expression booléenne JSK sur C
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
1 Définir un ensemble de variables booléennes C en bijection
avec C (π : C → C )
2 Transformer structurellement l’ensemble de contraintes S en
une expression booléenne JSK sur C déterministe
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
1 Définir un ensemble de variables booléennes C en bijection
avec C (π : C → C )
2 Transformer structurellement l’ensemble de contraintes S en
une expression booléenne JSK sur C déterministe
3 Trouver une solution f : C → {0, 1} satisfaisant JSK choix
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
1 Définir un ensemble de variables booléennes C en bijection
avec C (π : C → C )
2 Transformer structurellement l’ensemble de contraintes S en
une expression booléenne JSK sur C déterministe
3 Trouver une solution f : C → {0, 1} satisfaisant JSK choix
4 En déduire F ensemble des horloges franchies
Contraintes temporelles polychrones
Modélisation
Modèles
Evolutions
Détermination de F
Principe du calcul
1 Définir un ensemble de variables booléennes C en bijection
avec C (π : C → C )
2 Transformer structurellement l’ensemble de contraintes S en
une expression booléenne JSK sur C déterministe
3 Trouver une solution f : C → {0, 1} satisfaisant JSK choix
4 En déduire F ensemble des horloges franchies
F
(∀f : C → {0, 1})
3 Modélisation
Modèles
CCSL
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Syntaxe
Types de contraintes
synchrone, asynchrone, mixte, chronometric
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Syntaxe
Types de contraintes
synchrone, asynchrone, mixte, chronometric
Relations d’horloges
Opérateurs (binaires) de relation : = , ≺ , 4 , ⊂ , #
S’appliquent à des expressions d’horloges
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Syntaxe
Types de contraintes
synchrone, asynchrone, mixte, chronometric
Relations d’horloges
Opérateurs (binaires) de relation : = , ≺ , 4 , ⊂ , #
S’appliquent à des expressions d’horloges
Expressions d’horloges
Construction de nouvelles horloges
Opérateurs d’expression : H, ∧, , ...
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Sémantique
q y
c1 = c2 → π(c1 ) = π(c2 ) (sont synchrones)
q y
c1 ≺ c2 → χ(c1 ) = χ(c2 ) ⇒ ¬π(c2 ) (précède)
Exemple
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Sémantique de la relation de coı̈ncidence
q y
c1 = c2 → π(c1 ) = π(c2 ) (sont synchrones)
q y
c1 ≺ c2 → χ(c1 ) = χ(c2 ) ⇒ ¬π(c2 ) (précède)
A synchrone B
1 2 3 4
A
B
1 2 3 4
Coincidence
∀k ∈ N , A [ k ] ≡ B [ k ]
entre
A=B *
instants
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Sémantique de la relation de précédence
q y
c1 = c2 → π(c1 ) = π(c2 ) (sont synchrones)
q y
c1 ≺ c2 → χ(c1 ) = χ(c2 ) ⇒ ¬π(c2 ) (précède)
A précède B
1 2 3 4
A
B Precedence
1 2 3 4
entre
∀k ∈ N* , A [ k ] ≺ B [ k ]
instants
A≺ B
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Sémantique d’une expression synchrone
B = A H 01(100)
1 2 3 4 5 6 7 8 9
w = 01(100) = 01100100...100... A
B = A▼ w ∀k ∈ N* , B [ k ] ≡ A ⎡⎣ w ↑ k ⎤⎦ B
1 2 3 4
Figure: Filtrage.
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Sémantique d’une expression asynchrone
inf (∧)
Opérateur point fixe sur la relation ≺
Construit la plus lente des horloges plus rapides que a et b
Règle : voir dans les actes
c=a∧b
1 2 3 4 5
a
1 2 3 4
b
a b
1 2 3 4 5
c = a ∧b ∀χ ∈ N C , χ (c) = max { χ (a), χ (b)}
Contraintes temporelles polychrones
Modélisation
CCSL
CCSL
Sémantique d’une expression mixte
retard (a ( δ ) b)
Informellement : Construit une sous-horloge c de b qui tique δ
tics de b après un tic de a
∀k ∈ N? , ∃l, m ∈ N? , l > δ, c[k] ≡ b[l] ∧ b[l − δ − 1] ≺ a[m] 4
b[l − δ]
Règle : voir dans les actes
Exemple
1 2 3
a
1 2 4 6 7 8
b
3 5
c
1 2 3
c = a ( 2) ⇝ b
Contraintes temporelles polychrones
Illustration : ABS
1 Introduction
2 Approches connexes
3 Modélisation
4 Illustration : ABS
5 Conclusion
Contraintes temporelles polychrones
Illustration : ABS
ABS
Horloges de l’application
Horloges
Horloge Horloge Horloge Horloge début
temps continu discrète 10 kHz discrète 1 kHz de cycle
Horloges complémentaires
première arrivée d’information à l’UCE :
iinf = iavd ∧ iavg ∧ iard ∧ iarg
dernière arrivée d’information à l’UCE :
isup = iavd ∨ iavg ∨ iard ∨ iarg
contraintes : (R(1) c1 ) ≺ iinf ≺ (R(3) c1 ) ...
Contraintes temporelles polychrones
Illustration : ABS
ABS
Simulation
Les paramètres Jii , Joo , Lio sont définis dans le modèle de temps
proposé par ATESST
Contraintes temporelles polychrones
Conclusion
1 Introduction
2 Approches connexes
3 Modélisation
4 Illustration : ABS
5 Conclusion
Contraintes temporelles polychrones
Conclusion
Conclusion
Merci
Questions ?
Charles André
charles.andre@sophia.inria.fr
Influence du choix de stratégie
min
random
max
Évolutions (dépliées)
0 1 2 3
0
a 0 a, b 1 a 1
0 0 0 0
0 0 0 0
c {a, c} c
{a
, b, c} c {a, c} c
0 1 2 3
0 a 0 a, b 1 a 1
1
1
1
1
{
no c }
, d , a since a # d
0 0 0 0
c
,d c
,d
2 3 4 5
1 a 1 a
,b 2 a 2
2 2 2 2
1 1 1 1
c {a, c} c
{
}
a, b, c c {a, c} c
2 3 4 5
1 a 1 a, b 2 a 2
3 3 3 3
1 1 1 1
c, d
c, d
Représentation par une FSM
a a
,b a
c
,d
c
{a, c} c { a }
, b, c c {a, c} c
c
,d a a
,b a
Figure: FSM