Chronogrammes et contraintes. à la modélisation de systèmes dynamiques à événements



Documents pareils
Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Annexe 6. Notions d ordonnancement.

Model checking temporisé

Intelligence Artificielle Planification

Programmation linéaire

Modélisation et Simulation

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Ordonnancement temps réel

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

DOCM Solutions officielles = n 2 10.

Les diagrammes de modélisation

Université Paris-Dauphine DUMI2E 1ère année, Applications

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Le modèle de Black et Scholes

Objets Combinatoires élementaires

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Cours de Master Recherche

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

LES TYPES DE DONNÉES DU LANGAGE PASCAL

UML (Diagramme de classes) Unified Modeling Language

Suites numériques 3. 1 Convergence et limite d une suite

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Une méthode formelle pour la vérification de la consistance temporelle et la gestion prédictive de la Qualité de service pour la présentation des

Chapitre 2. Eléments pour comprendre un énoncé

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

1 Définition et premières propriétés des congruences

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov

Fonctions de plusieurs variables

Rappel sur les bases de données

Théorèmes de Point Fixe et Applications 1

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT)

Programmation linéaire

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Pourquoi l apprentissage?

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Principe et règles d audit

Programmation par contraintes. Laurent Beaudou

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

!-.!#- $'( 1&) &) (,' &*- %,!

Cours d Analyse. Fonctions de plusieurs variables

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Principe de symétrisation pour la construction d un test adaptatif

Ordonnancement robuste et décision dans l'incertain

FIMA, 7 juillet 2005

Recherche dans un tableau

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

La mesure de Lebesgue sur la droite réelle

Curriculum Vitae - Emmanuel Hebrard. Emmanuel Hebrard

OPTIMISATION À UNE VARIABLE

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

REALISATION d'un. ORDONNANCEUR à ECHEANCES

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Utilisation du backtrack intelligent dans un branch-and-bound Application au problème d Open-Shop

Apprentissage Automatique

Informatique Générale

Chapitre 2 Le problème de l unicité des solutions

Formula Negator, Outil de négation de formule.

Continuité d une fonction de plusieurs variables

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Statistiques Descriptives à une dimension

Echantillonnage Non uniforme

Algorithme. Table des matières

Introduction au Data-Mining

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Conception des bases de données : Modèle Entité-Association

Représentation des Nombres

Un propagateur basé sur les positions pour le problème d Open-Shop.

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Problèmes de Mathématiques Filtres et ultrafiltres

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Cours de Génie Logiciel

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

L apprentissage automatique

OUTILS EN INFORMATIQUE

APPROCHE DE LA SURVEILLANCE DES SYSTEMES PAR RESEAUX DE PETRI SYNCHRONISES FLOUS

PRIME D UNE OPTION D ACHAT OU DE VENTE

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Probabilités sur un univers fini

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Programmation de services en téléphonie sur IP

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

4.2 Unités d enseignement du M1

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Qu est-ce qu une probabilité?

Raisonnement probabiliste

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Economie de l incertain et de l information Partie 1 : Décision en incertain probabilisé Chapitre 1 : Introduction à l incertitude et théorie de

0DWKpPDWLTXHVGHO DUJHQW. édité par Mr. G.Moumoulidis (OTE)

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Chapitre 5 : Flot maximal dans un graphe

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Probabilités stationnaires d une chaîne de Markov sur TI-nspire Louis Parent, ing., MBA École de technologie supérieure, Montréal, Québec 1

Transcription:

Actes FAC 2007 Chronogrammes et contraintes pour la modélisation de systèmes dynamiques à événements discrets Gérard Verfaillie Cédric Pralet Michel Lemaître ONERA/DCSD Toulouse 2 av. Édouard Belin, BP 4025, 31055 Toulouse Cédex 4 {Prenom.Nom}@onera.fr Résumé De nombreux cadres dédiés à la modélisation de systèmes dynamiques à événements discrets ont été proposés pour répondre à des tâches de programmation, de simulation, de validation, de suivi de situation ou de décision (automates, réseaux de Petri, chaînes de Markov, logique temporelle, calcul des situations, STRIPS...). Tous ces cadres présentent des similitudes importantes, mais aucun n offre la souplesse de cadres plus généraux tels que la logique ou les contraintes. Dans cet article, nous proposons un cadre générique de modélisation de systèmes dynamiques à événements discrets à base de chronogrammes, dont les composants essentiels sont un temps continu, des variables d état et d événement, des étapes d événement ou de changement d état, des variables de temps et d affectation et des contraintes sur ces dernières. Nous présentons la syntaxe et la sémantique des chronogrammes et des contraintes globales qu il est possible de définir sur eux, avant de montrer comment ces contraintes peuvent être vérifiées. Nous montrons enfin comment le cadre proposé englobe des cadres a priori différents tels que les automates, les réseaux de Petri ou les cadres classiques utilisés en planification et en ordonnancement et offre en plus la très grande souplesse d une modélisation à base de contraintes. 1 Introduction L objectif de cet article est de proposer un cadre générique à base de contraintes pour la modélisation de systèmes dynamiques à événements discrets, c està-dire de systèmes dont l état évolue avec le temps via des changements instantanés et sous l impact éventuel d événements eux aussi instantanés. De nombreux cadres existent pour la modélisation de tels systèmes. On peut citer les automates, les langages synchrones [10] qui permettent de les décrire, les réseaux de Petri, les chaînes de Markov, mais aussi la logique temporelle [16], le calcul de situations [13], le cadre STRIPS [6] utilisé en planification ou les modes de représentation classiques utilisés en ordonnancement. Bien que ces cadres présentent de grandes similitudes (représentation plus ou moins compacte des états et des transitions, représentation du temps sous forme d instants ordonnés, éventuellement mesurés), il est difficile de les comparer, à moins de passer par les cadres les plus basiques que sont les automates ou les chaînes de Markov. D un autre côté, bien que la modélisation à base de contraintes soit largement reconnue pour allier compacité et souplesse de modélisation avec efficacité de résolution, elle reste encore essentiellement utilisée pour traiter des problèmes statiques, à l exception notable des problèmes d ordonnancement et, dans une moindre mesure, des problèmes de planification ou de suivi de situation. Elle n est par exemple pratiquement pas utilisée pour traiter des problèmes de validation de systèmes dynamiques. Nous pensons qu une telle situation est due à l absence d un cadre générique à base de contraintes, dédié à la modélisation de systèmes dynamiques à événements discrets et utilisable indifféremment pour des tâches de simulation, de validation, de suivi de situation ou de décision. C est un tel cadre que nous proposons dans cet article. Il s appuie sur des variables d état et d événement

pour représenter états et événements, sur un temps continu, sur la notion de chronogramme pour représenter changements d état et événements, avec l hypothèse que les instants de changement d état ou d événement constituent un ensemble discret. Les chronogrammes peuvent être représentés par des variables de temps associés aux instants de changement d état ou d événement et par des variables d affectation associées aux valeurs des variables d état et d événement à ces instants. Les contraintes sur les chronogrammes peuvent alors être représentées par des contraintes sur ces variables de temps ou d affectation, avec toute la souplesse offerte par la modélisation à base de contraintes. En particulier, des contraintes globales peuvent être définies sur les chronogrammes pour exprimer les contraintes les plus courantes auxquelles on voudrait associer des algorithmes de propagation efficaces. Le cadre proposé dans cet article est, tout en étant différent, largement inspiré de travaux menés à la frontière des problèmes de planification et d ordonnancement, où le concept de timeline (traduit en français par le terme chronogramme) a été proposé pour représenter l évolution temporelle de l état et des ressources et pour raisonner sur le temps, l état et les ressources. Voir [8, 12, 14, 2, 11, 7]. Il n est pas non plus sans lien avec le cadre des automates temporisés [1] et pourrait être vu comme une façon d apporter aux automates temporisés la souplesse d une modélisation à base de contraintes. La section 2 introduit la modélisation du temps. La section 3 introduit la modélisation des états et changements d état et la section 4 celle des événements et occurrences d événement, tandis que la section 5 fait le lien entre changements d état et événements. La section 6 introduit les notions centrales de chronogramme et de variables de temps et d affectation, tandis que les sections 7 et 8 sont dédiées à des opérations et contraintes basiques sur les chronogrammes. Dans la section 9, nous montrons comment des cadres tels que les automates, les réseaux de Petri ou ceux classiquement utilisés en planification et en ordonnancement, peuvent être vus comme des sous-cadres du cadre proposé. La section 10 conclue avec le travail restant à faire et les possibilités d extension du cadre proposé. 2 Modéliser le temps Nous voulons raisonner sur des instants et sur l ordre entre ces instants. Nous voulons aussi parfois raisonner sur la valeur de ces instants, pour parler par exemple de distance temporelle absolue ou relative. Ces valeurs sont de plus supposées appartenir à un ensemble continu. C est pourquoi nous utilisons R, c est-à-dire R { } {+ }, avec l ordre naturel sur les réels, pour modéliser le temps. 3 Modéliser états et changements d état Modéliser les états Nous supposons que l état du système peut être modélisé via un ensemble fini de variables d état représentant les caractéristiques de l état auxquelles on s intéresse. À chacune de ces variables, est associé un domaine de valeurs qui peut être fini ou infini, continu ou discret, symbolique ou numérique. Dans ces conditions, l état du système à tout instant est modélisé par une affectation à chacune des variables d état d une valeur de son domaine. Précisons que les variables d état peuvent être utilisées pour représenter des caractéristiques passives de l état (comme, pour un engin, sa position ou son niveau d énergie disponible), mais aussi pour représenter des caractéristiques actives (comme, toujours pour un engin, le mode d un instrument d observation ou le fait que l engin soit en train d exécuter un certain mouvement). En d autres termes, les variables d état peuvent être utilisées pour représenter aussi bien ce qu on appelle couramment l état du système (position, niveau d énergie...) que ce qu on appelle couramment les actions, quand elles ne sont pas instantanées (une observation, un mouvement...). Modéliser les changements d état Nous supposons que l état du système peut changer grâce à des changements instantanés et uniquement de cette façon. Des changements continus ne sont donc pas modélisés en tant que tels, mais ils peuvent être approximés par une séquence finie de changements instantanés. Dans ces conditions, un changement de l état du système est modélisé par un changement instantané et simultané d affectation pour un sous-ensemble non vide des variables d état. De plus, nous adoptons la convention que, si l affectation d une variable d état v change à l instant t d une valeur val à une valeur val, v a la valeur val avant t, t exclu, et la valeur val après t, t inclus. Les changements d état peuvent survenir à tout instant, mais nous supposons que les instants auxquels ils surviennent constituent un sous-ensemble discret de R. En conséquence, l affectation d une variable d état reste constante depuis un instant t de changement jusqu au prochain instant t > t de changement, t exclu, c est-à-dire égale à la valeur qu elle a prise à t sur l intervalle semi-ouvert [t, t [. Voir la figure 1 pour une représentation de l évolution d une variable d état.

v val val val t Figure 1 Évolution d une variable d état. t v val val t t Figure 2 Évolution d une variable d événement. 4 Modéliser événements et occurrences d événement Modéliser les événements De la même façon que nous supposons que l état du système peut être modélisé via un ensemble fini de variables d état, nous supposons que les événements susceptibles de survenir peuvent être modélisés via un ensemble fini de variables d événement avec, pour chacune d elles, un domaine de valeurs fini ou infini, continu ou discret, symbolique ou numérique, auquel nous ajoutons une valeur rien ( ) pour représenter l absence de valeur. Dans ces conditions, à tout instant, l ensemble des événements présents est modélisé par une affectation à chacune des variables d événement d une valeur de son domaine, éventuellement égale à. Il est par exemple possible d associer une variable d événement à chaque type d événement (à chaque type de requête ou d information susceptible d arriver), sa valeur servant à préciser son contenu et la valeur servant à indiquer l absence d événement de ce type. Modéliser les occurrences d événement Nous supposons que les événements sont des phénomènes instantanés. Dans ces conditions, une occurrence d événement est modélisée par une affectation instantanée et simultanée d une valeur différente de à un sousensemble non vide des variables d événement. Les événements peuvent survenir à tout instant mais, comme pour les changements d état, nous supposons que les instants auxquels ils surviennent constituent un sous-ensemble discret de R. En conséquence, l affectation d une variable d événement reste égale à entre deux instants successifs d événement t et t > t, t et t exclus, c est-à-dire sur l intervalle ouvert ]t, t [. Voir la figure 2 pour une représentation de l évolution d une variable d événement. 5 Changements d état et occurrences d événement Nous pouvons résumer les hypothèses de base que nous adoptons en disant que les changements d état et les occurrences d événement sont des phénomènes instantanés et que les instants auxquels ils surviennent constituent un sous-ensemble discret de R, avec la différence entre variables d état et d événement que, entre deux instants successifs d événement ou de changement t et t > t, les premières gardent la valeur qu elles avaient à t sur l intervalle semi-ouvert [t, t [, alors que les secondes gardent la valeur sur l intervalle ouvert ]t, t [. Mais aucune hypothèse n est a priori faite sur une quelconque relation de corrélation ou de causalité entre changements d état et occurrences d événement. Changements d état et événements peuvent être simultanés. Des changements d état peuvent se produire sans événement et des événements sans changement d état. 6 Représentation à base de chronogramme Dans cette section, nous montrons comment, avec les hypothèses présentées dans la section précédente, les évolutions d un système peuvent être représentées de façon compacte via des structures appelées chronogrammes 1. 6.1 Ce qu est un chronogramme Un chronogramme T l (T l pour le terme anglais timeline) est défini par un triplet V, T, A où : 1. V est une séquence finie de variables d état et d événement ; 2. T est une séquence finie d instants ; 3. A est une séquence finie d affectations des variables. Soit nv le nombre de variables d état et d événement. V est une séquence de nv variables, partitionnée en deux sous-séquences : la séquence V S des variables d état et la séquence V E des variables d événement. Pour toute variable v V, soit Dom(v) son domaine 1. Selon Wikipédia, un chronogramme est une représentation graphique de l évolution temporelle d un signal électrique ou d un état.

de valeurs. Pour toute variable d événement v V E, soit Dom(v) sa valeur par défaut. Pour tout V V, soit Dom(V ) = v V Dom(v) le produit cartésien des domaines des variables de V. Soit ns le nombre d étapes du chronogramme. Soit I = [1..ns] la séquence d étapes, I + = [0..ns], I = [1..(ns 1)] (vide si ns = 1) et I = [2..(ns 1)] (vide si ns 2). T est une séquence de ns instants, un pour chaque étape de I : T = {t i / i I}, avec les contraintes suivantes : pour toute étape i I, t i R (les instants sont des réels) ; pour toute étape i I, t i t i+1 (les instants sont ordonnés). Soit H = [t 1, t ns ] = {t R / t 1 t t ns } l horizon temporel associé à T l. A est une séquence de ns + 1 affectations des variables, une pour chaque étape de I + : A = {a i / i I + }, avec les contraintes suivantes : pour toute étape i I +, a i Dom(V ) ; pour toute variable d événement v V E, a 0 v = 2 (dans la première affectation a 0, toutes les variables d événement ont la valeur ) ; pour toute étape i I, (t i = t i+1 ) (a i = a i+1 ) (si les instants sont identiques, les affectations sont identiques). Pour toute étape i I, soit ce i un booléen représentant le fait qu un changement ou un évènement survient à l étape i : ce i si et seulement si il existe v V S telle que a i v a (i 1) v ou v V E telle que a i v. Un chronogramme peut être vu comme une séquence de paires instant-affectation ({ t i, a i, i I}) de longueur ns, complétée par la première affectation a 0. Il peut aussi être vu comme un tableau de taille (nv + 1) (ns + 1) où chaque colonne représente une étape, où la première ligne représente le temps (à l exception de la première colonne de cette ligne qui est vide) et où les nv lignes suivantes représentent les affectations des variables d état et d événement. Il est important de souligner que les instants et les affectations qui apparaissent dans un chronogramme peuvent être soit des constantes, soit des variables : des variables au sens mathématique du terme, à ne pas confondre avec les variables d état ou d événement 3. On parlera de variables de temps pour désigner les variables (ou constantes) associées aux instants (une par étape) et de variables d affectation pour désigner celles qui sont associées aux affectations (une par étape et par variable d état ou d événement). On dira qu un chronogramme est complètement affecté si et seulement toutes ses variables d instant et d affectation sont des constantes. 2. Pour toute affectation a d un ensemble V de variables et toute variable v V, a v est la projection de a sur v ; plus généralement, pour tout sous-ensemble V V de variables, a V est la projection de a sur V. 3. Variables d état et d événement sont en fait abusivement appelés variables. Ce ne sont pas des variables au sens mathé- La figure 3 montre un exemple de chronogramme complètement affecté, représenté sous forme de tableau, impliquant une variable d état vs et une variable d événement ve. Dans cet exemple, nv = 2, ns = 3, V = {vs, ve}, T = {5, 12, 16}, A = {{b, }, {a, e}, {c, }, {c, d}} et H = [5, 16]. 0 1 2 3 t 5 12 16 vs b a c c ve e d Figure 3 Représentation tabulaire d un chronogramme. 6.2 Ce qu un chronogramme représente Un chronogramme est une représentation compacte de l évolution d un système. Par exemple, le chronogramme de la figure 3 est une représentation compacte du scénario de la figure 4. Dans cette section, nous explicitons ce lien entre chronogramme et évolution d un système. vs c b a ve e d 5 5 H 12 16 Figure 4 Exemple de scénario. Variables d état Pour chaque variable d état v V S et pour chaque étape i I, a i v représente l affectation de v sur l intervalle semi-ouvert [t i, t i+1 [. a 0 v représente son affectation juste avant t 1 et a ns v son affectation à t ns et juste après t ns. À chaque chronogramme T l et chaque variable d état v V S, on peut associer une fonction v N de H dans Dom(v) qui représente la valeur de v à chaque instant t H (N pour Now ). En absence d ambiguïté, nous utiliserons v à la place de v N pour désigner cette fonction, ne faisant aucune différence entre la variable d état et la fonction qui lui est associée. Cette matique du terme, mais des fonctions du temps.

fonction peut être définie de la façon suivante : pour tout t H, soit i = max{i I / t i t} (t i est le dernier instant dans le chronogramme avant t, t inclus) ; v(t) = a i v. À chaque chronogramme T l et chaque variable d état v V S, on peut associer une autre fonction v B de H dans Dom(v) qui représente la valeur de v juste avant chaque instant t H (B pour Before ). Elle est définie de la façon suivante : pour tout t H, soit i = min{i I / t t i } (t i est le premier instant dans le chronogramme après t, t inclus) ; v(t) = a (i 1) v. À chaque chronogramme T l et chaque variable d état v V S, on peut aussi associer une autre fonction v D de H H dans Dom(v) qui représente la valeur de v sur chaque intervalle semi-ouvert [t, t [, tel que t, t H et t < t (D pour During ). Elle est définie de la façon suivante : pour tout t, t H tels que t < t, si pour tout t H, (t t < t ) (v(t ) = v(t)), alors v D (t, t ) = v(t) ; sinon v D (t, t ) n est pas défini. Elle peut aussi être directement définie de la façon suivante : s il n existe pas i I tel que t < t i < t et a i v a (i 1) v (v ne change pas de valeur entre t et t, t et t exclus), alors v D (t, t ) = v(t) ; sinon v D (t, t ) n est pas défini. Ces fonctions peuvent être aisément étendues à des séquences de variables d état, pour donner, pour toute séquence V V S de variables d état, les fonctions V (pour V N ), V B et V D. Variables d événement Les choses sont un peu plus simples avec les variables d événement. Pour chaque variable d événement v V E et pour chaque étape i I, a i v représente l affectation de v à l instant t i. Juste avant t 1, juste après t ns et, pour chaque étape i I, sur chaque intervalle ouvert ]t i, t i+1 [, v est supposée égale à. À chaque chronogramme T l et chaque variable d événement v V E, on peut associer une fonction v N de H dans Dom(v) qui représente la valeur de v à chaque instant t H (N pour Now ). De même que pour les variables d état, en absence d ambiguïté, nous utiliserons v à la place de v N pour désigner cette fonction, ne faisant aucune différence entre la variable d événement et la fonction qui lui est associée. Cette fonction peut être définie de la façon suivante : pour tout t H, s il existe i I tel que t = t i, alors v(t) = a i v ; sinon v(t) =. À chaque chronogramme T l et chaque variable d événement v V E, on peut, par souci d homogénéité avec les variables d état, associer une fonction v B de H dans Dom(v) qui représente la valeur de v juste avant chaque instant t H (B pour Before ). Par défaut, pour tout t H, v B (t) = (pas d événement juste avant tout instant). Ces fonctions peuvent être aisément étendues à des séquences de variables d événement, pour donner, pour toute séquence V V E de variables d événement, les fonctions V (pour V N ) et V B. Variables d état et d événement Les fonctions V et V B étant définies pour des séquences de variables d état ou des séquences de variables d événement, elles peuvent être définies pour des séquences de variables quelconques, d état ou d événement. De plus, à chaque chronogramme T l et chaque séquence V V de variables quelconques, on peut associer une fonction booléenne V CE de H dans B qui représente le fait qu une variable d état de V change de valeur ou qu une variable d événement de V diffère de à l instant t H (CE pour Change or Event ). Elle est définie de la façon suivante : pour tout t H, V CE (t) si et seulement si il existe v V V S telle que v(t) v B (t) ou v V V E telle que v(t). Elle peut aussi être directement définie de la façon suivante : V CE (t) si et seulement si il existe i I tel que t = t i et il existe v V V S telle que a i v a (i 1) v ou v V V E telle que a i v. En résumé En résumé, un chronogramme peut être vu comme une représentation compacte des fonctions v(t) associées à chaque variable sur l horizon H = [t 1, t ns ] (auxquelles il faut ajouter v B (t 1 ) pour les variables d état) utilisant l hypothèse que, pour chaque instant t H n apparaissant pas dans le chronogramme, V CE (t) (il n y a ni changement, ni événement). Il peut donc être vu comme une représentation compacte de l évolution d un système sur l horizon H, ainsi que juste avant t 1 et juste après t ns. 7 Opérations sur des chronogrammes Différents types d opérations peuvent être définies sur des chronogrammes complètement affectés. 7.1 Minimisation d un chronogramme Si, dans un chronogramme, nous avons deux étapes successives avec des instants identiques et donc des affectations identiques, la seconde étape n apporte aucune information et peut être éliminée du chronogramme. De plus, si nous avons deux étapes successives avec des instants différents mais si, à la seconde étape, il n y a ni changement, ni événement, la seconde étape n apporte aucune information et peut être aussi éliminée du chronogramme. Nous disons qu un chronogramme est minimal si et seulement si deux conditions sont satisfaites : 1. i I, t i < t i+1 (les instants sont différents) ;

2. i I, ce i (il y a un changement ou un événement). Le chronogramme de la figure 3 est minimal. Pour tout chronogramme T l, nous notons T l = min(t l) le chronogramme résultant de la minimisation de T l. T l et T l sont équivalents en ce sens qu ils représentent la même évolution du système sur le même horizon H. 7.2 Projection d un chronogramme sur un soushorizon Un chronogramme représente l évolution d un système sur un horizon temporel. On peut être intéressé par son évolution sur un sous-horizon. C est à quoi répond l opération de projection sur un sous-horizon. Nous considérons deux versions de cette opération suivant la façon dont le sous-horizon est défini : par étapes ou par instants. Projection d un chronogramme sur un sous-horizon défini par étapes Soit un chronogramme T l = V, T, A. Soient i, i I deux étapes telles que i i. Soit T l = T l [i,i ] = V, T, A le chronogramme résultant de la projection de T l sur le sous-horizon défini par les étapes i et i. Soit I = [i..i ]. Nous avons : 1. V = V ; 2. T = {t i / i I } ; 3. A = {V B (t i )} {a i / i I }. Projection d un chronogramme sur un sous-horizon défini par instants Soit un chronogramme T l = V, T, A. Soient t, t H deux instants tels que t t. Soit T l = T l [t,t ] = V, T, A le chronogramme résultant de la projection de T l sur le sous-horizon défini par les instants t et t. Soient i = min{i I / t < t i }, i = max{i I / t i < t } et I = [i..i ] (vide si i < i). Nous avons : 1. V = V ; 2. T = {t} {t i / i I } {t } ; 3. A = {V B (t)} {V (t)} {a i / i I } {V (t )}. 7.3 Projection d un chronogramme sur une sousséquence de variables Un chronogramme représente l évolution d un système lui-même représenté par une séquence de variables. On peut être intéressé par l évolution d un sous-système représenté par une sous-séquence des variables. C est à quoi répond l opération de projection sur une sous-séquence de variables. Soit un chronogramme T l = V, T, A. Soit V V une sous-séquence de V. Soit T l = T l V = V, T, A le chronogramme résultant de la projection de T l sur V. Nous avons : 1. V = V ; 2. T = T ; 3. A = {a i V / i I + }. 7.4 Composition de chronogrammes Dans la direction opposée, on peut être intéressé par l évolution d un système composé de deux soussystèmes dont les évolutions sont chacune représentées par un chronogramme. C est à quoi répond l opération de composition de deux chronogrammes. Soit T l = V, T, A et T l = V, T, A deux chronogrammes tels que V V = et H = H (t 1 = t 1 et t ns = t ns ) : les deux chronogrammes sont définis sur des séquences de variables disjointes, mais sur le même horizon temporel. Soit T l = T l T l = V, T, A le chronogramme résultant de la composition de T l et T l. Nous avons : 1. V = V V ; 2. T = T T, où T est la séquence d instants ordonnés résultant de l union des séquences T et T, avec les instants identiques réunis ; 3. A = {V B (t 1 ) V B (t 1 )} {V (t i ) V (t i ) / i I }. 8 Contraintes sur des chronogrammes N importe quel type de contrainte peut être défini sur les variables de temps et d affectation associées à un chronogramme. Mais certains types de contrainte, parce qu ils sont a priori les plus courants, méritent d être particulièrement étudiés, de façon à définir des façons simples de les décrire et des algorithmes efficaces permettant de les propager. 8.1 Contraintes temporelles pures Les contraintes temporelles pures sont des contraintes pesant sur les instants de changement d état ou d événement, c est-à-dire des contraintes liant uniquement des variables de temps. En nous limitant à des contraintes temporelles simples [5], une contrainte temporelle pure c sur un chronogramme T l est définie par une paire S c, Bc où : 1. S c est la portée de c, c est à dire la séquence de variables de temps liées par c ; si c est unaire, S c est une étape i c I ; si c est binaire, S c est une paire d étapes i c, i c I I, telle que i c i c ; 2. B c est la paire de bornes lb c, ub c R R, telle que lb c ub c, qui définit c.

La sémantique d une telle contrainte est la suivante : 1. si c est unaire, T l satisfait c si et seulement si lb c t ic ub c ; 2. si c est binaire, T l satisfait c si et seulement si lb c (t i c t ic ) ub c. À ces contraintes s ajoutent les contraintes temporelles pures binaires implicites dans tout chronogramme : pour toute étape i I, t i t i+1. 8.2 Contraintes d état instantanées Les contraintes d état instantanées sont des contraintes pesant sur les affectations des variables d état au même instant. Elles sont utilisées pour représenter les états possibles, physiquement possibles ou acceptables par l utilisateur. Soit un chronogramme T l = V, T, A. Une contrainte d état instantanée c sur T l est définie par un quadruplet Q c, Hd c, S c, D c où : 1. Q c est le quantificateur temporel de c, égal à Aw (pour Always ) ou à St (pour Sometimes ) ; 2. Hd c est la définition de l horizon temporel H c sur lequel porte c ; Hd c est lui-même une paire Ht c, Hb c où : (a) Ht c est le type d horizon, égal à I (pour un horizon défini par étapes) ou à T (pour un horizon défini par instants) ; (b) Hb c est la paire de bornes qui définit H c : i. si Ht c = I, Hb c = i c, i c (avec i c, i c N et i c i c) ; soit i c = max(i c, 1) et i c = min(i c, ns) ; nous obtenons : H c = [t i, t c i ] ; c ii. si Ht c = T, Hb c = t c, t c (avec t c, t c R et t c t c) ; soit t c = max(t c, t 1 ) et t c = min(t c, t ns ) ; nous obtenons : H c = [t c, t c ] ; 3. S c V S est la portée de c, c est à dire la séquence de variables d affectation liées par c ; 4. D c Dom(S c ) est la définition de c 4. La sémantique d une telle contrainte est la suivante : 1. si Q c = Aw, T l satisfait c si et seulement si, pour tout t H c, S c (t) D c ; 2. sinon, T l satisfait c si et seulement si il existe t H c tel que S c (t) D c. Vérifier une telle contrainte, même sur un chronogramme complètement affecté, semble requérir une vérification à chaque instant t de l horizon H c, infini 4. Définition explicite ou implicite comme cela est usuel dans le cadre CSP [4]. Soit A une affectation des variables de S c. A satisfait c si et seulement si A D c. sauf si H c est réduit à un seul instant. Heureusement, il est facile de montrer que, grâce aux hypothèses de base faites sur les chronogrammes, il suffit de la vérifier à chaque étape de T l. Plus précisément, soit T l c = S c, T c, A c = min((t l Sc ) Hc ) le chronogramme résultant de la projection de T l sur S c, puis sur H c, suivie d une opération de minimisation. Il est facile de montrer que : 1. si Q c = Aw, T l satisfait c si et seulement si, pour toute étape i I c, (a c ) i D c ; 2. sinon, T l satisfait c si et seulement si il existe une étape i I c telle que (a c ) i D c. La raison en est que, pour tout i Ic et pour tout t [(t c ) i, (t c ) (i+1) ], c est-à-dire entre deux étapes successives de T l c, S c (t) = (a c ) i. En conséquence, la complexité de vérification d une contrainte d état instantanée par un chronogramme complètement affecté est une fonction linéaire de sa longueur ns. 8.3 Contraintes de transition instantanées Les contraintes de transition instantanées sont des contraintes pesant sur les affectations des variables d état ou d événement au même instant, avec la possibilité, pour une variable d état v, de se référer à sa valeur courante (v(t)) ou à sa valeur juste avant (v B (t)). Elles sont utilisées pour représenter les transitions instantanées possibles. Soit un chronogramme T l = V, T, A. Une contrainte de transition instantanée c sur T l est définie par un quadruplet Q c, Hd c, S c, D c où : 1. Q c est le quantificateur temporel de c, égal à Aw ou à St ; 2. Hd c est la définition de l horizon temporel H c sur lequel porte c, similaire à la définition donnée pour les contraintes d état instantanées ; 3. S c {N, B} V est la portée de c, c est-à-dire une séquence de paires référence-variable r, v, telle que (v V E ) (r = N) (pas de référence à la valeur juste avant pour une variable d événement) ; soit V c = {v / r, v S c } la séquence des variables impliquées ; 4. D c Dom(S c ) est la définition de c 5. Pour définir la sémantique d une telle contrainte, nous avons besoin d étendre à des séquences de paires référence-variable les fonctions V (t) qui ont été définies dans la section 6.2 sur des séquences de variables : pour tout t H, soit S c (t) = {v r (t) / r, v S c } (si r = N, v r (t) = v N (t) = v(t) ; sinon, v r (t) = v B (t)). La sémantique d une telle contrainte est alors la suivante : Q 5. Avec une définition étendue de Dom(S c) : Dom(S c) = r,v S c Dom(v).

1. si Q c = Aw, T l satisfait c si et seulement si, pour tout t H c, Vc CE (t) (S c (t) D c ) (pour tout instant t, si un changement ou un événement survient à t, la contrainte est satisfaite à t) ; 2. sinon, T l satisfait c si et seulement si il existe t H c tel que Vc CE (t) (S c (t) D c ) (il existe un instant t tel qu un changement ou un événement survient à t et la contrainte est satisfaite à t). Comme avec les contraintes d état instantanées, il est facile de montrer que, grâce aux hypothèses de base faites sur les chronogrammes, il suffit, pour vérifier une telle contrainte sur un chronogramme T l complètement affecté, de la vérifier à chaque étape de T l. Pour cela, nous avons besoin d étendre à des séquences de paires référence-variable les opérations de projection d affectation qui ont été définies sur des séquences de variables : pour tout i I, soit a i Sc = {a i r,v / r, v S c } avec a i N,v = a i v et a i B,v = a (i 1) v. Soit T l c = S c, T c, A c = min((t l Sc ) Hc ). Il est facile de montrer que : 1. si Q c = Aw, T l satisfait c si et seulement si, pour tout i I c, (ce c ) i (((a c ) i ) Sc D c ) ; 2. sinon, T l satisfait c si et seulement si il existe i I c tel que (ce c ) i (((a c ) i ) Sc D c ). La raison en est que, pour toute étape i Ic et pour tout t [(t c ) i, (t c ) (i+1) ], c est-à-dire entre deux étapes successives de T l c, Vc CE (t) (il n y a ni changement, ni événement). En conséquence, comme pour les contraintes d état instantanées, la complexité de vérification d une contrainte de transition instantanée par un chronogramme complètement affecté est une fonction linéaire de sa longueur ns. 8.4 Contraintes de transition non instantanées Les contraintes de transition non instantanées sont des contraintes pesant sur les affectations des variables d état ou d événement à deux instants différents t s et t e (s pour start et e pour end ) et entre ces instants, avec : 1. pour une variable d état v V S impliquée dans la contrainte, la possibilité de se référer à sa valeur à t s (v(t s )), juste avant t s (v B (t s )), à t e (v(t e )), juste avant t e (v B (t e )) ou sur l intervalle semiouvert [t s, t e [ (v D (t s, t e )), 2. pour une variable d événement v V E impliquée dans la contrainte, la possibilité de se référer à sa valeur à t s (v(t s )) ou à t e (v(t e ),) 3. et une contrainte temporelle pure binaire entre t s et t e. Elles sont utilisées pour représenter les transitions non instantanées possibles, par exemple les actions avec durée dans un contexte de planification. Soit un chronogramme T l = V, T, A. Une contrainte de transition non instantanée c sur T l est définie par un quintuplet Q c, Hd c, Du c, S c, D c où : 1. Q c est le quantificateur temporel de c, égal à Aw ou à St ; 2. Hd c est la définition de l horizon temporel H c sur lequel porte c, similaire à la définition donnée pour les contraintes d état ou de transition instantanées ; 3. Du c est la durée de la transition, définie par une paire de bornes lb c, ub c R R, telle que 0 lb c ub c ; 4. S c {N s, B s, N e, B e, D} V est la portée de c, c est-à-dire une séquence de paires référencevariable r, v, telle que (v V E ) (r {N s, N e }) (pas de référence à une valeur juste avant ou pendant pour une variable d événement) ; soit V c = {v / r, v S c } la séquence des variables impliquées ; 5. D c Dom(S c ) est la définition de c 5. Pour définir la sémantique d une telle contrainte, nous avons besoin d étendre à des paires d instants les fonctions S c (t) qui ont été définies sur des instants dans la section précédente : pour tout t, t H tels que t t, soit S c (t, t ) = {v r (t, t ) / r, v S c }, avec v Ns (t, t ) = v(t), v Bs (t, t ) = v B (t), v Ne (t, t ) = v(t ) et v Be (t, t ) = v B (t ). La sémantique d une telle contrainte est alors la suivante : 1. si Q c = Aw, T l satisfait c si et seulement si, pour tout t, t H c, ((lb c (t t) ub c ) Vc CE (t) Vc CE (t )) (S c (t, t ) D c ) (pour toute paire d instants t, t, si t et t satisfont la contrainte temporelle associée à c et si un changement ou un événement survient à t et un autre à t, la contrainte est satisfaite à t, à t et entre t et t ) ; 2. sinon, T l satisfait c si et seulement si il existe t, t H c tels que (lb c (t t) ub c ) Vc CE (t) Vc CE (t ) (S c (t, t ) D c ) (il existe une paire d instants t, t telle que t et t satisfont la contrainte temporelle associée à c, un changement ou un événement survient à t et un autre à t et la contrainte est satisfaite à t, à t et entre t et t ). Comme avec les contraintes d état et de transition instantanées, il est facile de montrer que, grâce aux hypothèses de base faites sur les chronogrammes, il suffit, pour vérifier une telle contrainte sur un chronogramme T l complètement affecté, de la vérifier pour chaque paire d étapes de T l. Pour cela, nous avons besoin d étendre à des paires d étapes les opérations de projection d affectation qui

ont été définies sur une étape dans la section précédente. Pour tout i, i I tels que i i, soit a i,i S c = {a i,i r,v / r, v S c }, avec a i,i N s,v = a i v, a i,i B s,v = a (i 1) v, a i,i N e,v = a i v, a i,i B e,v = a (i 1) v et, en ce qui concerne a i,i D,v, si, pour tout i I tel que i < i < i, a i v = a i v, alors a i,i D,v = a i v ; sinon a i,i D,v n est pas défini. Soit T l c = S c, T c, A c = min((t l Sc ) Hc ). Il est facile de montrer que : 1. si Q c = Aw, T l satisfait c si et seulement si, pour tout i, i I c / i i, ((lb c ((t c ) i (t c ) i ) ub c ) (ce c ) i (ce c ) i (((a c ) i,i ) Sc D c ) ; 2. sinon, T l satisfait c si et seulement si il existe i, i I c / i i tel que (lb c ((t c ) i (t c ) i ) ub c ) (ce c ) i (ce c ) i (((a c ) i,i ) Sc D c ). La justification est la même que pour les contraintes de transition instantanées (absence d événement ou de changement entre deux étapes successives). En conséquence, la complexité de vérification d une contrainte de transition non instantanée par un chronogramme complètement affecté est une fonction quadratique de sa longueur ns. À noter que les contraintes de transition instantanées peuvent être vues comme des cas particuliers de contraintes de transition non instantanées, avec lb c = ub c = 0 et seulement N s et B s utilisés pour les références associées aux variables. 8.5 En résumé En résumé, un chronogramme est une structure faite de variables de temps ou d affectation sur lesquelles n importe quel type de contrainte peut être défini. Dans cette section, nous avons présenté deux types de contrainte a priori très utiles : des contraintes temporelles portant uniquement sur les variables de temps et des contraintes d affectation portant uniquement sur les variables d affectation (variables d une même colonne de la représentation tabulaire pour les contraintes d état instantanées, de deux colonnes consécutives pour les contraintes de transition instantanées ou de plusieurs colonnes consécutives pour les contraintes de transition non instantanées, pour des chronogrammes minimaux). Les contraintes d affectation peuvent être vues comme des contraintes globales sur les variables d affectation. Contraintes temporelles et contraintes d affectation interagissent via les hypothèses de base selon lesquelles les instants sont ordonnés et des instants identiques impliquent des affectations identiques et via les contraintes temporelles présentes dans la définition des contraintes d affectation (horizon et durée). L avantage essentiel d une telle représentation à base de variables et de contraintes est qu elle laisse toute liberté dans la définition de nouvelles contraintes locales ou globales. Pour modéliser dans ce cadre des problèmes de suivi de situation, il suffit d ajouter aux contraintes décrivant la dynamique du système les contraintes représentant les observations. Le résultat est un problème de satisfaction de contraintes (CSP) dont une solution représente un scénario possible. Pour modéliser des problèmes de validation, il faut ajouter aux contraintes décrivant la dynamique du système des contraintes représentant la négation des propriétés que l on veut vérifier. Le résultat est aussi un CSP et les propriétés sont vérifiées si et seulement si ce CSP est incohérent. La modélisation de problèmes de décision est un peu plus complexe. Il est d abord nécessaire de distinguer les variables (d état ou d événement) contrôlables et incontrôlables : pour les premières, on peut décider de leur affectation ; pour les secondes, non. Il faut ensuite ajouter aux contraintes décrivant la dynamique du système des contraintes représentant les objectifs que l on veut voir atteints. En présence d incertitudes, il existe deux versions du problème de décision. Avec la version optimiste, le résultat est un CSP et la projection d une solution sur les variables contrôlables représente une séquence de décisions possible. Avec la version pessimiste, le résultat est un CSP quantifié (QCSP [3]) (alternance de quantifications existentielles sur les variables contrôlables et de quantifications universelles sur les variables incontrôlables) et la projection d une solution sur les variables contrôlables représente une politique possible. 9 Cadres couverts Dans cette section, nous montrons comment des cadres existants comme les automates, les réseaux de Petri ou le cadre STRIPS utilisé en planification, ainsi qu un des problèmes les plus classiques en ordonnancement, peuvent être représentés dans le cadre proposé. 9.1 Automates Un automate est classiquement défini par un quadruplet S, E, T, s 0 où : 1. S est un ensemble fini d états ; 2. E est un ensemble fini d étiquettes de transition ; 3. T S E S est un ensemble fini de transitions ; 4. s 0 S est l état initial. Un automate définit les transitions possibles : une transition e E est possible d un état s S à un état s S si et seulement si s, e, s T.

On peut montrer que toutes les évolutions finies d un système (évolutions en ns étapes, avec ns fini, mais non borné) qui sont représentées par un automate S, E, T, s 0 peuvent être représentées par un chronogramme V, T, A où : 1. V = V S V E, avec V S = {s} (une seule variable d état s), V E = {e} (une seule variable d événement e), Dom(s) = S et Dom(e) = E { } ; 2. T est une séquence de ns instants ordonnés, tous variables et distincts ; 3. A est une séquence de ns + 1 affectations, toutes variables à l exception de la première a 0 = {s 0, }. avec une seule contrainte de transition instantanée c définie par : 1. Q c = Aw ; 2. Hd c = I, 1, + ; 3. S c = { B, s, N, e, N, s } ; 4. D c = T. 9.2 Réseaux de Petri Un réseau de Petri est classiquement défini par un quadruplet P, T, I, O où : 1. P est un ensemble fini de places ; 2. T est un ensemble fini de transitions ; 3. I est une fonction d entrée de P T dans N, qui associe un nombre entier (éventuellement nul) à chaque place p P et chaque transition t T ; 4. O est une fonction similaire de sortie. Un marquage m (qui peut être vu comme un état) est défini comme une fonction de P dans N, qui associe un nombre entier à chaque place p P. Pour tout p P, soit v p,m N la valeur de p dans m. Pour être déclenchée à partir d un marquage m, une transition t T doit satisfaire la condition suivante : pour tout p P, v p,m I(p, t). Si une transition est déclenchée à partir d un marquage m, le résultat est un marquage m où, pour tout p P, v p,m = v p,m I(p, t)+o(p, t). Comme pour les automates, on peut montrer que toutes les évolutions finies d un système qui sont représentées par un réseau de Petri P, T, I, O peuvent être représentées par un chronogramme V, T, A où : 1. V = V S V E, avec V S = P (une variable entière v p associée à chaque place p P ), V E = {e} (une seule variable d événement e) et Dom(e) = T { } ; 2. T est une séquence de ns instants ordonnés, tous variables et distincts ; 3. A est une séquence de ns + 1 affectations, toutes variables aussi. avec une contrainte de transition instantanée c p,t associée à chaque place p P et chaque transition t T, exprimant la condition sur le déclenchement de la transition et définie par : 1. Q cp,t = Aw ; 2. Hd cp,t = I, 1, + ; 3. S cp,t = { N, e, B, v p } ; 4. D cp,t défini par la condition (e = t) (v B p I(p, t)). et une contrainte de transition instantanée e p,t associée à chaque place p P et chaque transition t T, exprimant l effet de la transition et définie par : 1. Q ep,t = Aw ; 2. Hd ep,t = I, 1, + ; 3. S ep,t = { N, e, N, v p, B, v p } ; 4. D ep,t défini par la condition (e = t) (v p = vp B I(p, t) + O(p, t)). 9.3 Cadres utilisés en planification Les problèmes de planification peuvent être de nature très différente (planification d actions, planification de mouvements, planification temporelle...) et, malgré de nombreux efforts, il n existe pas de cadre unique qui les couvre tous [9]. C est pourquoi nous nous limitons au cadre STRIPS [6] (le plus classique) où un problème de planification est défini par un quadruplet F, A, I, G où : 1. F est un ensemble fini de variables booléennes, appelées fluents ; 2. A est un ensemble fini d actions, où chaque action a A est définie par un triplet p a, e a, e + a, avec p a, e a, e + a F et e a e + a = ; 3. I F est un ensemble de fluents, définissant l état initial ; 4. G est un ensemble de conditions logiques sur F, appelées buts. Un état s est défini comme une fonction de F dans B, qui associe une valeur booléenne à chaque fluent f F. Pour tout f F, soit v f,s B la valeur de f dans s. Les conditions suivantes s imposent sur les états et les actions : 1. dans l état initial s 0, v f,s0 si et seulement si f I ; 2. une action a A peut être exécutée dans un état s si et seulement si, pour tout f p a, v f,s ; 3. si une action a A est exécutée dans un état s, le résultat est un état s où :

(a) pour tout f e a, v f,s ; (b) pour tout f e + a, v f,s ; (c) pour tout f F (e a e + a ), v f,s = v f,s. La requête classiquement associée à un problème de planification est de produire un plan valide, c est-àdire une séquence finie d actions dont l exécution permet au système d aller de l état initial à un état satisfaisant l ensemble des buts. On peut montrer que tous les plans valides de longueur ns associés à un problème de planification F, A, I, G peuvent être représentées par un chronogramme V, T, A où : 1. V = V S V E, avec V S = F (une variable booléenne v f associée à chaque fluent f F ), V E = {act} (une seule variable d événement act) et Dom(act) = A { } ; 2. T est une séquence de ns instants ordonnés, tous variables et distincts ; 3. A est une séquence de ns + 1 affectations, toutes variables à l exception de la première où a 0 act = et, pour tout f F, a 0 f si et seulement si f I. avec une contrainte de transition instantanée p a,f associée à chaque action a A et chaque fluent f p a, exprimant les préconditions de a et définie par : 1. Q pa,f = Aw ; 2. Hd pa,f = I, 1, + ; 3. S pa,f = { N, act, B, v f } ; 4. D pa,f défini par la condition (act = a) v B f. avec une contrainte de transition instantanée e a,f (respectivement e + a,f ) associée à chaque action a A et chaque fluent f e a (respectivement e + a ), exprimant les effets négatifs (respectivement positifs) de a et définie par : 1. Q e = Q a,f e + = Aw ; a,f 2. Hd e = Hd a,f e + I, 1, + ; a,f 3. S e = S a,f e + = { N, act, N, v f } ; a,f 4. D e a,f D e + a,f défini par la condition (act = a) v f et par la condition (act = a) v f. avec une contrainte de transition instantanée e a,f associée à chaque action a A et chaque fluent f F (e a e + a ), exprimant l absence d effet de a et définie par : 1. Q ea,f = Aw ; 2. Hd ea,f = I, 1, + ; 3. S ea,f = { N, act, N, v f, B, v f } ; 4. D ea,f par la condition (act = a) (v f = v B f ). et une contrainte d état instantanée c g associée à chaque but g G et définie par : 1. Q cg = St ; 2. Hd cg = I, ns, ns ; 3. S cg = S g, avec S g V S l ensemble des fluents liés par g ; 4. D cg Dom(S g ) défini par la condition g ellemême. 9.4 Problèmes d ordonnancement Il n existe en ordonnancement aucun cadre de référence équivalent au cadre STRIPS utilisé en planification. Seuls existent des problèmes de nature très diverse. Nous nous intéressons ici au problème dit de job-shop scheduling, le problème d ordonnancement le plus classique, défini par un ensemble T A de tâches avec, associées à chaque tâche ta T A, une durée du ta, une date de début au plus tôt es ta et une date de fin au plus tard lf ta. On suppose que toutes les tâches doivent être réalisées et qu elles requièrent toutes une ressource commune non partageable : deux tâches ne peuvent utiliser cette ressource au même instant. Soit nta = T A le nombre de tâches. Ce problème peut être modélisé par un chronogramme V, T, A où : 1. V = V S, avec V S = {ata} (une seule variable d état ata représentant la tâche active courante ; pas de variable d événement) et Dom(ata) = T A {0} (la valeur 0 représentant le fait qu aucune tâche n est active) ; 2. T est une séquence de 2 nta instants ordonnés, tous variables ; 3. A est une séquence de 2 nta + 1 affectations, toutes variables à l exception de la première a 0 = {0}. avec une contrainte de transition non instantanée c ta associée à chaque tâche ta T A, exprimant que ta doit être réalisée, définie par : 1. Q cta = St ; 2. Hd cta = T, es ta, lf ta ; 3. Du cta = du ta, du ta ; 4. S cta = { D, ata } ; 5. D cta définie par l égalité (ata D = ta). 10 Ce qu il reste à faire Il ne suffit pas de définir des contraintes globales et les moyens de les vérifier. Pour raisonner sur elles et sur leurs interactions avec d éventuelles autres contraintes, il est nécessaire de leur associer des algorithmes de

propagation efficaces capables de déduction. Ce travail reste à faire, même si on pourra s appuyer sur la panoplie de contraintes globales existantes et sur les algorithmes associés. Un langage d expression de ces contraintes, moins barbare que les notations utilisées dans cet article, ne serait pas inutile. La modélisation de problèmes très divers peut par ailleurs faire émerger le besoin d autres contraintes globales ou de variantes des contraintes proposées. Au delà, les contraintes présentées dans cet article sont uniquement des contraintes dures, satisfaites ou non. Ces contraintes permettent de représenter parfaitement ce qui est possible ou impossible concernant les variables contrôlables (faisabilités) et les variables incontrôlables (plausibilités dures), ainsi que ce qui est admissible ou inadmissible (utilités dures). Elles ne permettent cependant pas de représenter des degrés de plausibilité ou d utilité gradués. L extension du cadre proposé à des contraintes souples de plausibilité ou d utilité reste à faire. Elle pourrait s appuyer sur le cadre PFU (Plausibilité-Faisabilité-Utilité [17]) récemment proposé. Dans une autre direction, il serait intéressant de s affranchir de l hypothèse selon laquelle l affectation d une variable d état reste constante entre deux instants du chronogramme, pour considérer des évolutions linéaires ou autres [18, 15]. Références [1] R. Alur and D. Dill. A Theory of Timed Automata. Journal of Theoretical Computer Science, 126(2) :183 235, 1994. [2] R. Barták. Dynamic Constraint Models for Complex Production Environments. In Proc. of the Joint ERCIM/Compulog-Net Workshop, Cyprus, 1999. [3] F. Börner, A. Bulatov, P. Jeavons, and A. Krokhin. Quantified Constraints : Agorithms and Complexity. In Proc. of the Computer Science Logic Conference, pages 244 258, Vienna, Austria, 2003. [4] R. Dechter. Constraint Processing. Morgan Kaufmann, 2003. [5] R. Dechter, I. Meiry, and J. Pearl. Temporal Constraint Networks. Artificial Intelligence, 49 :61 95, 1991. [6] R. Fikes and N. Nilsson. STRIPS : a New Approach to the Application of Theorem Proving. Artificial Intelligence, 2 :189 208, 1971. [7] J. Frank and A. Jónsson. Constraint-Based Attribute and Interval Planning. Constraints, 8(4) :339 364, 2003. [8] M. Ghallab and H. Laruelle. Representation and Control in IxTeT : a Temporal Planner. In Proc. of the 2nd International Conference on Artificial Intelligence Planning and Scheduling (AIPS-94), pages 61 67, Chicago, IL, USA, 1994. [9] M. Ghallab, D. Nau, and P. Traverso. Automated Planning : Theory and Practice. Morgan Kaufmann, 2004. [10] N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer, 1993. [11] A. Jónsson, P. Morris, N. Muscettola, K. Rajan, and B. Smith. Planning in Intrerplanetary Space : Theory and Practice. In Proc. of the 5th International Conference on Artificial Intelligence Planning and Scheduling (AIPS-00), Breckenridge, CO, USA, 2000. [12] P. Laborie and M. Ghallab. IxTeT : an Integrated Approach for Plan Generation and Scheduling. In Proc. of the 4th INRIA/IEEE Symposium on Emerging Technologies and Factory Automation (ETFA-95), pages 485 495, Paris, France, 1995. [13] H. Levesque, R. Reiter, Y. Lesperance, F. Lin, and R. Scherl. GOLOG : A Logic Programming Language for Dynamic Domains. Journal of Logic Programming, 31(1-3) :59 83, 1997. [14] N. Muscettola. HSTS : Integrating Planning and Scheduling. In M. Zweden and M. Fox, editors, Intelligent Scheduling, pages 169 212. Morgan Kaufmann, 1994. [15] J. Penberthy and D. Weld. Temporal Planning with Continuous Change. In Proc. of the 12th National Conference on Artificial Intelligence (AAAI-94), pages 1010 1015, Seattle, WA, USA, 1994. [16] A. Pnueli. The Temporal Logic of Programs. In Proc. of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS-77), pages 46 57, Providence, RI, USA, 1977. [17] C. Pralet, G. Verfaillie, and T. Schiex. Decision with Uncertainties, Feasibilities, and Utilities : Towards a Unified Algebraic Framework. In Proc. of the 17th European Conference on Artificial Intelligence (ECAI-06), pages 427 431, Riva del Garda, Italy, 2006. [18] R. Trinquart and M. Ghallab. An Extended Functional Representation in Temporal Plannning : Towards Continuous Change. In Proc. of the 6th European Conference on Planning (ECP-01), Toledo, Spain, 2001.