LES APPROCHES MIXTES ASYNCHRONES UML POUR LE TEMPS REEL

Tรฉlรฉcharger le fichier pdf d’un mรฉmoire de fin d’รฉtudes

Gestion de la complexitรฉ

Concernant la gestion de la complexitรฉ6, nous nous sommes plus particuliรจrement concentrรฉs sur :
โ€ข Les difficultรฉs de lโ€™obtention prรฉcoce dโ€™une comprรฉhension globale et synthรฉtique du systรจme en cours de dรฉveloppement,
โ€ข La dรฉfinition ou lโ€™utilisation de reprรฉsentations communes afin de faciliter le dialogue entre les clients et les diffรฉrents mรฉtiers dโ€™ingรฉnieurs spรฉcialisรฉs dans le dรฉveloppement de parties du systรจme,
โ€ข Les problรจmes de structuration posรฉs par la gestion dโ€™un grand nombre dโ€™informations de modรฉlisation.
En adoptant les principes de la modรฉlisation orientรฉe objet, nous apportons une premiรจre rรฉponse ร  la structuration du systรจme et par consรฉquent ร  cette gestion de la complexitรฉ. La technologie des objets et des composants a montrรฉ quโ€™elle est garante de certains facteurs de qualitรฉ tels que la modularitรฉ, la flexibilitรฉ, la rรฉactivitรฉ et le suivi des besoins [Booch-1994] [Blair-1998]. Nรฉanmoins, lโ€™application des concepts de la modรฉlisation ร  objets au domaine du temps rรฉel nโ€™est pas immรฉdiate. En effet, bien que les concepts OO (Orientรฉ Objet) puissent รชtre รฉtendus afin de prendre en compte directement le parallรฉlisme, un certain nombre de difficultรฉs demeurent. Nous dรฉtaillerons des adaptations possibles en ยงI.2.2.
En choisissant la notation UML, une deuxiรจme rรฉponse est apportรฉe concernant la gestion de la complexitรฉ du systรจme. UML est utilisรฉ comme un langage commun facilitant les รฉchanges et la communication entre les diffรฉrentes รฉquipes (commanditaires et clients compris) intervenant sur le dรฉveloppement du systรจme. En ยงI.2.3, les avantages, mais aussi les limites, de lโ€™utilisation dโ€™UML pour le temps rรฉel sont dรฉtaillรฉs.

Maรฎtrise des aspects dynamiques

Par maรฎtrise de lโ€™aspect dynamique, nous entendons la gestion du parallรฉlisme et des 6 Nous reprenons lโ€™utilisation de G. Booch de ce mot [Booch-1994]. Sous le terme complexitรฉ, nous regroupons les nombreux problรจmes ร  traiter simultanรฉment concernant les activitรฉs de dรฉveloppement (gestion de projet, gestion humaine,โ€ฆ), la difficultรฉ de comprรฉhension de lโ€™environnement et du systรจme (de par sa taille, sa nature…) synchronisations entre activitรฉs du systรจme. De par la dรฉfinition que nous avons donnรฉ prรฉcรฉdemment aux contraintes temporelles, nous considรฉrons que cette problรฉmatique (dรฉtaillรฉe en ยงI.2.3) est รฉtroitement liรฉe ร  celle posรฉe par la modรฉlisation, la vรฉrification et la validation des contraintes temporelles.
Cette nรฉcessitรฉ de vรฉrification et de validation conduit ร  lโ€™utilisation de modรจles formels. En effet, dans le cas des STR que nous รฉtudions, il ne suffit pas de prouver que le systรจme se comporte logiquement selon sa spรฉcification. Il doit aussi rรฉpondre dans les dรฉlais de temps impartis. En ยงI.2.4 nous prรฉsentons les diffรฉrents modรจles formels qui pourraient รชtre utilisรฉs pour remplir ces objectifs et nous motivons notre choix pour lโ€™un dโ€™eux.
Toutefois, l’utilisation seule de mรฉthodes formelles pose certains problรจmes. L’un des plus importants reste la lisibilitรฉ et la comprรฉhension des modรจles, trop souvent rรฉservรฉes ร  des spรฉcialistes et peu adaptรฉes au franchissement des fameux ยซ semantic gaps ยป [Fraser-1991]. Il devient difficile de communiquer avec les clients, les diffรฉrents corps de mรฉtiers engagรฉs dans le projet (automaticien, รฉlectronicien, spรฉcialiste rรฉseaux, spรฉcialiste base de donnรฉesโ€ฆ) et les utilisateurs. Or, ce souci de communication entre intervenants sur le projet est important dans la construction de systรจmes aussi complexes et hรฉtรฉrogรจnes que les STR.

Vers une approche mixte

Les objectifs choisis, dรฉcrits dans les paragraphes prรฉcรฉdents, nous ont donc incitรฉs ร  proposer une approche mixte mรชlant lโ€™utilisation de reprรฉsentations UML (simples et facilement utilisables par un ingรฉnieur) avec des modรจles mathรฉmatiques formels. En effet, nous pensons quโ€™il est essentiel d’offrir aux utilisateurs une reprรฉsentation la plus simple possible (semi-formelle) mais qui resterait issue d’une modรฉlisation formelle.
Nรฉanmoins, ce couplage soulรจve en lui-mรชme un certain nombre de questions. Par exemple, comment rendre compatibles les modรจles formels avec la reprรฉsentation semi-formelle ? Quelles passerelles, transformations ou relations entre les reprรฉsentations formelles et semi-formelles peuvent รชtre dรฉfinies ? Ces diffรฉrents points sont dรฉtaillรฉs auยงI.2.5.

La modรฉlisation objet et le temps rรฉel

L’approche OO se distingue de l’approche fonctionnelle, par le fait qu’un systรจme est considรฉrรฉ comme une collection dโ€™entitรฉs ยซ autonomes ยป, composรฉes d’un รฉtat et fournissant des services au monde extรฉrieur. Ces entitรฉs, appelรฉes plus communรฉment des objets, collaborent ร  la rรฉalisation des fonctionnalitรฉs du systรจme. La communication entre les objets sโ€™effectue selon le concept de client-serveur. Ce procรฉdรฉ a pour effet de protรฉger l’รฉtat des objets contre des accรจs accidentels de la part d’autres entitรฉs. Lโ€™objet est vu comme un module autonome, fortement cohรฉrent et entretenant le minimum de relations de dรฉpendances avec dโ€™autres objets. En outre, lโ€™approche OO offre deux mรฉcanismes puissants dโ€™abstraction ร  travers les hiรฉrarchies de composition et dโ€™hรฉritage.
Cependant, cette utilisation des mรฉcanismes OO dans le domaine du temps rรฉel nรฉcessite quelques adaptations. Comme dans la programmation OO concurrente [Briot-1996], deux grandes approches de modรฉlisation des objets (nous parlerons de reprรฉsentations) se retrouvent :
โ€ข La reprรฉsentation applicative fournit une bibliothรจque dโ€™objets dรฉdiรฉs ร  la prise en compte des mรฉcanismes de bas niveau pour la gestion du temps rรฉel. Des classes comme ยซ Ordonnanceur ยป, ยซ processus ยป et ยซ sรฉmaphores ยป sont ainsi dรฉfinies. Cette reprรฉsentation a tendance ร  laisser lโ€™analyste-concepteur en charge de deux tรขches distinctes : dโ€™une part, la modรฉlisation de lโ€™application en terme dโ€™objets et, dโ€™autre part, la gestion du parallรฉlisme et de la rรฉpartition (รฉgalement exprimรฉe en terme dโ€™objets, mais pas les mรชmes !).
โ€ข La reprรฉsentation intรฉgrรฉe, ร  la diffรฉrence de la prรฉcรฉdente, vise ร  intรฉgrer les mรฉcanismes objets avec les mรฉcanismes du parallรฉlisme et de la rรฉpartition, au sein dโ€™une mรชme entitรฉ. Trois niveaux dโ€™intรฉgration sont constatรฉs :
o Le premier niveau intรจgre la notion dโ€™objet et dโ€™activitรฉ (processus ou tรขche).
Lโ€™objet (nommรฉ ยซ objet actif ยป) est considรฉrรฉ comme dotรฉ dโ€™une ressource de calcul propre. Suivant les approches, lโ€™objet traitera les requรชtes de maniรจre sรฉquentielle ou simultanรฉe. Dans le premier cas, la concurrence provient uniquement des activitรฉs indรฉpendantes des divers objets (on parle alors de concurrence inter-objets). Si lโ€™on permet ร  lโ€™objet de traiter plusieurs requรชtes simultanรฉment, on parle de concurrence intra-objet.
o Une deuxiรจme intรฉgration associe la synchronisation ร  lโ€™activation des objets. La transmission de messages est considรฉrรฉe comme une synchronisation implicite entre lโ€™รฉmetteur et le rรฉcepteur. On parle alors dโ€™objets synchronisรฉs. Diffรฉrents protocoles de communication sont dรฉfinies (synchrones, asynchronesโ€ฆ) et des mรฉcanismes de contrรดle de la concurrence des invocations sont prรฉcisรฉs (par exemple en associant une garde au niveau de chaque mรฉthode de lโ€™objet).
o Enfin, le troisiรจme niveau dโ€™intรฉgration considรจre lโ€™objet comme unitรฉ de rรฉpartition, on parle alors dโ€™objets rรฉpartis. Les objets sont vus comme des entitรฉs pouvant รชtre distribuรฉes et dupliquรฉes sur diffรฉrents sites. La mรฉtaphore de la transmission de message est รฉtendue ร  la communication ร  travers un rรฉseau quelconque.
La reprรฉsentation intรฉgrรฉe nous semble la plus intรฉressante. Outre le fait de simplifier la modรฉlisation et dโ€™รฉviter une structuration ยซ ร  plat ยป, elle permet dโ€™intรฉgrer les mรฉcanismes du temps rรฉel et de la distribution sur une seule entitรฉ : lโ€™objet actif, synchronisรฉ et rรฉparti. Nรฉanmoins, lโ€™utilisation de la reprรฉsentation intรฉgrรฉe dans le domaine du temps rรฉel reste encore difficile car certains conflits ne sont pas totalement rรฉsolus (par exemple, le problรจme de lโ€™hรฉritage du comportement). Ces difficultรฉs seront dรฉtaillรฉes lorsquโ€™elles seront traitรฉes dans la partie II de ce mรฉmoire (cf. ยงII.2.1). Les choix concernant la stratรฉgie de modรฉlisation OO adaptรฉe au temps rรฉel ayant รฉtรฉ motivรฉs, UML est maintenant prรฉsentรฉe.

UML et le temps rรฉel

UML [OMG-1997b] a รฉtรฉ dรฉfinie par l’OMG (Object Management Group) en novembre 1997 comme la notation normalisรฉe des mรฉthodes OO. Cโ€™est une notation gรฉnรฉrique pouvant s’adapter ร  n’importe quelle mรฉthode OO et pour n’importe quel type d’application.
Elle est devenue rapidement un standard de facto et elle est maintenant trรจs utilisรฉe dans le monde industriel. Diffรฉrentes versions dโ€™UML ont รฉtรฉ depuis publiรฉes. Pour notre part, nous utilisons dans ce mรฉmoire la version 1.3 [OMG-1999b].
Nous supposons que le lecteur possรจde une premiรจre connaissance dโ€™UML. De nombreux ouvrages expliquent la notation UML [Booch-1998] [Muller-1997]. Nous en proposons aussi un rรฉsumรฉ [Delatour-2000].

Les bรฉnรฉfices dโ€™UML

Le principal argument en faveur d’UML est son statut de standard de facto. Parmi la multitude de mรฉthodes OO (et les notations qui leur sont associรฉes), disposer d’un consensus dans leur reprรฉsentation est un avantage certain.
Bien qu’issu des notations OMT et OOD, UML possรจde un plus grand pouvoir d’expression que ses aรฎnรฉes et couvre une plus grande partie du cycle de dรฉveloppement. Dans la description des aspects statiques du systรจme, la richesse de description est grande et rien ne semble avoir รฉtรฉ oubliรฉ. La question de la reprรฉsentation d’un objet ou d’une classe et de ses relations statiques ne se pose plus.
Cet รฉtat de fait nous permet d’espรฉrer un meilleur dialogue avec les clients, qui n’ont plus qu’un seul formalisme ร  connaรฎtre (puisque UML est un standard). De plus, les diagrammes UML sont assez intuitifs et aisรฉs ร  comprendre, car ils sont une reprise de formalismes รฉprouvรฉs et utilisรฉs depuis une dรฉcennie.
Par ailleurs, les possibilitรฉs d’extension [Alhir-1999] de cette notation la rendent extrรชmement adaptable. Ces mรฉcanismes dโ€™extension sont multiples et trรจs intรฉressants. En effet, UML repose sur une description en 4 couches afin d’รชtre compatible avec le standard MOF (Meta-Object Facility) [OMG-1997a] de l’OMG. Chaque couche est une instance de sa couche supรฉrieure, la plus haute couche รฉtant une instance dโ€™elle-mรชme. Ces quatre couches sont :
โ€ข Le mรฉta-mรฉta-modรจle : Il dรฉfinit la structure du mรฉta-modรจle et le langage nรฉcessaire ร  la dรฉfinition du mรฉta-modรจle. Il est dรฉfini de maniรจre rรฉflexive.
โ€ข Le mรฉta-modรจle : C’est une instance du mรฉta-mรฉta-modรจle. Il dรฉfinit le langage de la couche ยซย modรจleย ยป, en lโ€™occurrence ici les diagrammes et les รฉlรฉments UML.
โ€ข Le modรจle : Il reprรฉsente l’ensemble des modรจles permettant de dรฉcrire un domaine d’information. Ce sont, par exemple, les classes dรฉfinies pour le systรจme en construction.
โ€ข Les objets utilisateur : C’est une instance du modรจle. Ce sont les objets du systรจme exรฉcutรฉ.
Il est ainsi possible de dรฉfinir des extensions au niveau du modรจle ou au niveau du mรฉta-modรจle. Cela se fait, par exemple, en spรฉcialisation certains รฉlรฉments UML (par utilisation des stรฉrรฉotypes et des valeurs รฉtiquetรฉes). Les extensions du mรฉta-modรจle pouvant รชtre regroupรฉes dans un profil UML, elles peuvent รชtre alors directement employรฉes dans des modรจles UML adaptรฉs ร  un domaine dโ€™รฉtude particulier. En ยงI.2.6.2 dโ€™autres avantages apportรฉs par cette structuration en 4 couches sont dรฉtaillรฉs.
Enfin, la disponibilitรฉ d’AGL (Atelier de Gรฉnie Logiciel) UML libres permettent dโ€™implรฉmenter des prototypes et d’intรฉgrer des techniques et des concepts issues du monde de la recherche.

Les limites d’UML pour le temps rรฉel

Parmi les lacunes d’UML (voir par exemple [Hay-1998] [Simons-1998;Simons-1999] [Sourrouille-1998]), nous nโ€™รฉvoquerons que les plus gรฉnรฉrales concernant les aspects comportementaux.

Une sรฉmantique UML imprรฉcise

La plus importante critique est liรฉe ร  lโ€™absence dโ€™une sรฉmantique formelle des modรจles UML dรฉcrivant le comportement du systรจme [Breu-1997] [Boas-1998] [Lano-1998]. Cette dynamique peut รชtre exprimรฉe, soit ร  l’aide des diagrammes d’interactions (diagrammes de sรฉquence et de collaboration), soit ร  l’aide des diagrammes dโ€™รฉtats (diagrammes dโ€™รฉtats/transitions et les diagrammes d’activitรฉs). Les premiers permettent la description d’une histoire (ou ร  la limite d’un ensemble d’histoires), tandis que les seconds permettent la reprรฉsentation de tous les comportements possibles d’un objet et, par extension, du systรจme.
En effet, malgrรฉ son titre, le document ยซ UML Semantics ยป [OMG-1999a] ne dรฉcrit, pour ainsi dire, que la syntaxe dโ€™UML (en prรฉcisant son mรฉta-modรจle ร  lโ€™aide de diagrammes de classes et de contraintes OCL7). Concernant la sรฉmantique, la description est insuffisamment prรฉcise. Elle laisse malheureusement un grand nombre de questions sans rรฉponse. En outre, peu de rรจgles sont dรฉfinies pour vรฉrifier la cohรฉrence d’un diagramme et, encore moins pour vรฉrifier la cohรฉrence entre les diagrammes.
Ce constat touche particuliรจrement celui des diagrammes dโ€™รฉtats/transitions. Signalons en premier lieu les divergences entre les diagrammes dโ€™รฉtats/transitions et le formalisme dont ils sont issus : les Statecharts [Harel-1987]. Les hypothรจses des Statecharts (ร  savoir, communication immรฉdiate, primitives de gestion du temps, actions instantanรฉes, capture immรฉdiate et non-conservation des รฉvรฉnements) ne sont plus respectรฉes. Par ailleurs, des extensions comme les รฉtats de type synchStates ou l’utilisation de fourches d’alternatives font que les techniques existantes de validation pour les Statecharts ne sont donc plus directement applicables. Ainsi, mรชme une simulation des diagrammes dโ€™รฉtats/transitions est impossible. De nombreux chercheurs ([Lilius-1999a] [Gogolla-1998] [Gehrke-1998] [Geisler-1998] [Hamie-1998] [Reggio-1999]) ont signalรฉ que de nombreuses rรจgles รฉtaient, soit manquantes (par exemple aucune politique de choix des รฉvรจnements en attente nโ€™est dรฉfinie [Bรถrger-2001]), soit simplement incohรฉrentes (prioritรฉs de tir des transitions en conflit entre super et sous รฉtat [Simons-2000]). Certes, cette extension UML des Statecharts a gagnรฉ en convivialitรฉ graphique mais au dรฉtriment des vรฉrifications formelles qui deviennent impossibles ร  effectuer sans dรฉfinir une sรฉmantique cohรฉrente et prรฉcise [Schรคfer-2001] [Bรถrger-2000].
Afin de corriger cette lacune dโ€™UML, de nombreuses propositions ont donc รฉtรฉ effectuรฉes par la communautรฉ scientifique et lโ€™OMG a lancรฉ un RFP8 ยซ Action Semantics ยป [OMG-1998]. Une premiรจre rรฉponse a รฉtรฉ apportรฉe [OMG-2000]. Elle introduisait la notion dโ€™occurrence et dโ€™exรฉcution des modรจles UML [Pennaneac’h-2001] [Sunyรฉ-2002]. Cette rรฉponse levait alors un certain nombre dโ€™ambiguรฏtรฉs concernant la sรฉmantique dโ€™UML. Toutefois, ce travail nโ€™a pas รฉtรฉ repris dans les spรฉcifications UML (1.4 et 1.5) dans lesquelles seule la partie prรฉsentant un langage permettant de spรฉcifier des actions (crรฉation, destruction, expression conditionnelle, lecture/รฉcritureโ€ฆ) est prรฉsente [OMG-2002a] [OMG-2002c]. Pour ces raisons, nous nโ€™avons pas รฉtudiรฉ plus en dรฉtail cette rรฉponse au RFP et ne lโ€™avons pas intรฉgrรฉe ร  notre recherche.

Une syntaxe insuffisante pour le temps rรฉel

Lโ€™autre aspect dรฉficient d’UML, par rapport ร  son utilisation pour les STR, est liรฉ ร  sa mauvaise expression de l’aspect dynamique.

Pas de vue globale et synthรฉtique de la dynamique du systรจme

Malgrรฉ un grand nombre de reprรฉsentations diffรฉrentes (quatre) dรฉdiรฉes ร  la modรฉlisation du comportement, UML ne propose pas de diagramme permettant de synthรฉtiser la plupart de ces informations. Il est par consรฉquent difficile de disposer dโ€™une vue globale d’un objet ou d’une partie du systรจme. Ainsi, par exemple, le type de communication entre objets (synchrone ou asynchrone) ne peut รชtre graphiquement reprรฉsentรฉ que sur les diagrammes d’interaction et non sur les diagrammes dโ€™รฉtats/transitions9. Cette absence de diagramme synthรฉtique est gรชnante quand il s’agit de communiquer avec plusieurs รฉquipes travaillant sur un mรชme projet. Il faut faire appel ร  plusieurs types de diagrammes pour parvenir ร  rassembler toute l’information concernant l’aspect dynamique. Par ailleurs, cela multiplie les risques dโ€™incohรฉrences entre les diffรฉrentes vues.

A propos des diagrammes d’รฉtats/transitions UML

Puisque les diagrammes dโ€™รฉtats/transitions sont issus du formalisme des Statecharts, nous retrouvons les mรชmes bรฉnรฉfices et controverses suscitรฉs par leurs aรฎnรฉs concernant la description de STR.
En effet, les Statecharts sont bien adaptรฉs ร  des couches oรน la plupart des opรฉrations sont sรฉquentielles. En particulier, ils permettent de rรฉsoudre graphiquement le problรจme de l’explosion combinatoire par la gรฉnรฉralisation et l’agrรฉgation d’รฉtats. Ils permettent รฉgalement de reprรฉsenter ยซ callEvent ยป (dans le cas dโ€™une communication synchrone) ou par un ยซ SignalEvent ยป (dans le cas dโ€™une communication asynchrone).
En revanche, dรจs que les niveaux d’ordonnancement de processus, de tรขches ou de structuration abstraite sont nรฉcessaires, le parallรฉlisme et la distribution deviennent consรฉquents. La lisibilitรฉ des Statecharts par des non-spรฉcialistes est alors remise en question. Ils n’offrent, en particulier, aucun mรฉcanisme graphique simple de reprรฉsentation explicite des contraintes et des dรฉpendances temporelles (dรฉlais, chiens de garde…). Dans les Statecharts, comme dans les diagrammes dโ€™รฉtats/transitions UML, le temps est introduit ร  l’aide de fonctions renvoyant un boolรฉen lorsquโ€™un certain laps de temps sโ€™est รฉcoulรฉ. Les relations temporelles entre les diffรฉrents รฉvรฉnements sont alors implicitement traduites dans les diagrammes dโ€™รฉtats/transitions. Il devient malaisรฉ de suivre les chemins de commutations depuis un รฉtat initial jusqu’ร  un รฉtat final ou inversement [Giese-1999]. Pourtant, cโ€™est un besoin important dans la modรฉlisation des STR. En effet, dans le premier cas, cela permettrait de suivre l’ordre des รฉvรฉnements. Dans le second cas, il serait alors possible de connaรฎtre les chemins et les รฉtats initiaux susceptibles de conduire le systรจme dans un รฉtat donnรฉ (non dรฉsirรฉ par exemple).
Par ailleurs, une autre critique concerne l’abstraction de comportement introduite par les Statecharts [Paludetto-1999]. La structuration offerte est typiquement celle d’une approche fonctionnelle. De ce fait, elle peut induire une rรฉpartition centralisรฉe du contrรดle : un objet centralisateur, reprรฉsentatif d’un niveau systรจme, distribue le contrรดle ร  des objets de niveau infรฉrieur. Or, une telle vision des liens comportementaux va ร  l’encontre de l’indรฉpendance spatiale et temporelle10 prรฉconisรฉe par lโ€™approche OO. En effet, dans une vision OO, un systรจme se trouve dans un macro-รฉtat donnรฉ, dรฉfini par le vecteur d’รฉtats de ses sous-systรจmes. En terme de dynamique, ce sont ces derniers qui, par leur coopรฉration et leurs sous-รฉtats, dรฉfinissent l’รฉtat de l’objet systรจme.

Une reprรฉsentation limitรฉe du temps

Lโ€™expression des CT explicites reste limitรฉe en UML 1.3.
Sur les diagrammes de sรฉquence, le temps s’รฉcoule de haut en bas. L’axe vertical peut รชtre graduรฉ afin d’exprimer des contraintes temporelles. Deux primitives (Event.ReceiveTime et Event.SendTime) permettent de diffรฉrencier les instants oรน les messages entre objets sont envoyรฉs et reรงus. Pour le reste, des notes dans un format non spรฉcifiรฉ, peuvent รชtre utilisรฉes afin de dรฉfinir des contraintes temporelles.
Dans les diagrammes dโ€™รฉtats, en plus dโ€™Event.ReceiveTime et dโ€™Event.SendTime, les primitives When et After peuvent รชtre utilisรฉes. When (date = janvier 1999) permet de spรฉcifier un temps logique (ou รฉchantillonnรฉ) absolu. After (x unitรฉs de temps) permet de reprรฉsenter un temps relatif.
Il nโ€™est donc pas possible, sans crรฉer une extension ร  UML [Flake-2002a] [Sendall-2001] [Bodeveix-2002], de spรฉcifier, par exemple : des รฉvรฉnements ou des activitรฉs pรฉriodiques, de donner des informations probabilistes, de dรฉfinir des relations entre temps physiques et temps logiques, de diffรฉrencier simplement les CT internes et externesโ€ฆ Dans le chapitre suivant (ยงI.2.4), les besoins que nous avons identifiรฉs concernant la modรฉlisation des contraintes temporelles sont dรฉtaillรฉs.
Conscient de ce fait, lโ€™OMG a lancรฉ le RFP ยซ UML Profile for Schedulability, Performance and Time ยป qui dรฉfinit, entre autres, une syntaxe plus riche ร  UML sur cet aspect temporel. Une rรฉponse [OMG-2002d], en phase finale dโ€™adoption, est disponible. Les exemples donnรฉs portent sur un enrichissement des diagrammes de sรฉquence et dโ€™activitรฉs par un ensemble de notes prรฉcisant le comportement temporel des รฉlรฉments (รฉvรฉnements et actions) de ces diagrammes (pรฉriodicitรฉ, durรฉe, probabilitรฉโ€ฆ). Nous avons pu vรฉrifier que nos travaux sur les contraintes temporelles (en particulier sur leur reprรฉsentation) sont compatibles avec cette rรฉponse. Nous avons donc pu adapter, dans la mesure du possible, nos notations concernant les CT afin de respecter celles proposรฉes par cette rรฉponse. Cependant, cette adaptation ne reste que syntaxique et nโ€™est pas complรจte pour trois raisons :
โ€ข La rรฉponse est arrivรฉe rรฉcemment et nous nโ€™avons pas eu le temps de lโ€™intรฉgrer complรจtement ร  nos travaux.
โ€ข Elle modifie actuellement le mรฉta-modรจle UML1.4 pour faire apparaรฎtre la notion dโ€™exรฉcution dโ€™action (ce quโ€™un profil UML nโ€™est pas autorisรฉ ร  faire, en thรฉorie).
โ€ข La dรฉfinition du temps proposรฉe entre en contradiction avec des rรฉponses ร  dโ€™autres RFP (par exemple avec ยซ Action Semantics ยป).
Toutefois, une rรฉvision de cette rรฉponse est en cours pour le futur UML 2.0 et ces lacunes devraient disparaรฎtre.

Problรจmes abordรฉs sur les contraintes temporelles

Problรจmes liรฉs ร  la modรฉlisation des CT

La plus importante difficultรฉ concernant la modรฉlisation des CT rรฉside dans la grande diversitรฉ d’expression des relations dโ€™ordre. Remarquons quโ€™elles sont donnรฉes sous diffรฉrentes formes (pas forcรฉment exprimรฉes en termes de contraintes temporelles explicites) et de diffรฉrentes maniรจres par les clients. Par exemple, le freinage d’une voiture peut รชtre dรฉfini en terme de synchronisation des roues, en terme d’une vitesse diffรฉrentielle tolรฉrable entre les roues… Pour le systรจme informatique, cela peut correspondre ร  la dรฉfinition dโ€™une contrainte temporelle synchronisant la vitesse angulaire des deux roues.
En outre, les CT externes peuvent รชtre exprimรฉes dans diffรฉrents types de temps, tandis que les CT internes sont exprimรฉes dans un temps informatique (รฉchantillonnรฉ ou logique). Cette diversitรฉ dans lโ€™expression des CT externes provient de lโ€™hรฉtรฉrogรฉnรฉitรฉ de lโ€™environnement. Ce dernier peut effectivement รชtre composรฉ de diffรฉrents รฉquipements mesurant et utilisant le temps diffรฉremment. Certains dโ€™entre eux manipulent un temps continu, d’autres un temps รฉchantillonnรฉ, d’autres encore des sรฉquences d’รฉvรฉnements. Par ailleurs, le systรจme informatique peut lui-mรชme รชtre dรฉcomposรฉ en sous-systรจmes, rรฉpartis sur plusieurs nล“uds ne fonctionnant pas ร  la mรชme cadence ou ne partageant pas une mรชme horloge globale.
Une autre difficultรฉ est liรฉe ร  la nรฉcessitรฉ dโ€™exprimer certains besoins dans diffรฉrentes รฉchelles de temps. Par exemple, dans un atelier, une procรฉdure automatique de diagnostic peut รชtre lancรฉe toutes les semaines, tandis que la commande d’un bras de robot sera exprimรฉe en millisecondes. Cette granularitรฉ des temps impose de dรฉfinir des correspondances ou des intervalles de correspondance entre ces diffรฉrentes รฉchelles. Il faudrait donc au moins disposer dโ€™un formalisme permettant lโ€™expression dโ€™intervalles temporels (voir [Corsetti-1991] pour une description dรฉtaillรฉe de cette problรฉmatique).
Une premiรจre solution est de disposer dโ€™un formalisme unifiรฉ, suffisamment riche, de modรฉlisation de ces diffรฉrents types de temps. Ce formalisme doit idรฉalement pouvoir exprimer toutes les catรฉgories de CT, quโ€™elles soient implicites, explicites, dรฉterministes, probabilistes, sous formes de durรฉes ou dโ€™intervalles.

Problรจmes liรฉs ร  la vรฉrification des CT

Lโ€™analyste-concepteur devra naturellement veiller ร  ce que les CT internes quโ€™il dรฉfinit, respectent les CT externes. Or, รฉtablir des correspondances entre les CT externes et les CT internes est dรฉlicat. Une mรชme CT externe peut รชtre en relation avec une multitude de CT internes. Ainsi, dans le cas simple d’un temps de rรฉponse entre un stimulus et une rรฉponse, cette CT externe va รชtre en relation avec plusieurs CT internes. Nous aurons des CT sur la phase de capture du stimulus, sa ou ses transformations successives et sa gรฉnรฉration sous forme de rรฉponse. Lโ€™identification de ces dรฉpendances nโ€™est pas simple ou immรฉdiate. Il sera toujours difficile pour le concepteur d’envisager les consรฉquences de la modification d’une CT sur le reste des CT ou tout simplement de vรฉrifier leur cohรฉrence.
De plus, lโ€™analyste-concepteur doit pouvoir disposer de moyens de dรฉrivation de CT ร  partir d’autres CT, en termes de composition ou de dรฉcomposition. Cela lui permet de raisonner successivement sur des vues globales puis dรฉtaillรฉes.
Par ailleurs, on retrouve les problรจmes classiques de la synchronisation : le partage de ressources et les possibilitรฉs de famines et de blocages qui en dรฉcoulent [Chang-1993]. Toutefois, puisque nous ne nous sommes intรฉressรฉs quโ€™aux premiรจres รฉtapes du dรฉveloppement, nous nโ€™avons pas abordรฉ les problรจmes de conception dรฉtaillรฉe rencontrรฉs lors de lโ€™ordonnancement des activitรฉs sur des processeurs.
Pour un systรจme de grande taille, il est indispensable que cette activitรฉ de vรฉrification soit automatisรฉe et repose sur un modรจle formel. Les modรจles, aptes ร  rรฉpondre ร  lโ€™ensemble des critรจres รฉnumรฉrรฉs, sont maintenant prรฉsentรฉs.

Les modรจles formels pour le temps rรฉel

Afin de prรฉsenter les modรจles formels adaptรฉs au traitement temporel, nous avons privilรฉgiรฉ une taxonomie basรฉe sur deux critรจres : le premier est liรฉ aux techniques dโ€™analyse offertes, le second aux paradigmes de modรฉlisation. Par consรฉquent, un rappel sur les techniques dโ€™analyse est dโ€™abord effectuรฉ, puis la taxonomie est donnรฉe. Enfin, notre choix pour un modรจle formel conclut ce chapitre.

Rappels sur les techniques dโ€™analyses formelles

Il existe essentiellement deux types de techniques dโ€™analyse formelle : celles fondรฉes sur la dรฉmonstration de thรฉorรจmes (theoremยญproving) et celles basรฉes sur les รฉvaluations de modรจles (modelยญchecking). Elles ont รฉtรฉ รฉtudiรฉes intensivement dans la littรฉrature et de nombreux algorithmes et outils ont รฉtรฉ dรฉveloppรฉs (voir par exemple [L’Her-1997]).
Les dรฉmonstrations de thรฉorรจme
Avec les dรฉmonstrations de thรฉorรจmes, le modรจle du systรจme et les propriรฉtรฉs dรฉsirรฉes sont exprimรฉs comme des formules d’une logique [Clarke-1996a]. A partir de l’ensemble des formules reprรฉsentant le systรจme, les propriรฉtรฉs doivent รชtre retrouvรฉes par des mรฉcanismes de dรฉduction et de substitution. Aux diffรฉrentes รฉtapes de cette preuve, les formules reprรฉsentant le systรจme sont rรฉรฉcrites en respectant un ensemble de rรจgles jusqu’ร  l’obtention de la propriรฉtรฉ.
Cette technique est puissante : elle permet de prouver des propriรฉtรฉs sur des systรจmes de toute taille (ร  la limite infinie). Cependant, si elle permet de montrer qu’un systรจme est correct, elle n’indique pas clairement les erreurs lorsqu’elles existent. C’est donc une mรฉthode utilisรฉe gรฉnรฉralement en derniรจre phase de vรฉrification.
Le plus gros problรจme pour son utilisation est quโ€™elle n’est pas automatisable (et ne le sera jamais11). C’est pourquoi la technique entiรจrement automatisรฉe des รฉvaluations de modรจles est gรฉnรฉralement prรฉfรฉrรฉe [Clarke-1996b].

Taxonomie des modรจles formels

Par rapport aux techniques d’analyse

Trois grands groupes peuvent se dรฉgager12 [Bucci-1995] :
โ€ข Les modรจles dรฉclaratifs, qui se fondent sur les notations mathรฉmatiques (axiomes, clauses,โ€ฆ) et qui donnent une vue abstraite de l’espace d’รฉtat ร  l’aide d’รฉquations logiques et algรฉbriques. Le systรจme est dรฉcrit en spรฉcifiant ses propriรฉtรฉs globales. Ce type d’approche privilรฉgie l’analyse formelle de type dรฉmonstration de thรฉorรจme. Dans cette approche se retrouvent : les logiques temporelles (RTL [Jahanian-1986], TLA [Lamport-1994], TRIO+ [Mandrioli-1992],โ€ฆ), les langages dรฉclaratifs ร  flots de donnรฉes comme LUSTRE [Halbwachs-1991] ou SIGNAL [Benveniste-1990], les mรฉthodes algรฉbriques de type VDM [Jones-1993], VDM++[Dรผrr-1995], Z [Spivey-1989]โ€ฆ
โ€ข Les modรจles opรฉrationnels (ou impรฉratifs), qui se dรฉfinissent en terme d’รฉtats et de transitions. Ils sont, par consรฉquent, intrinsรจquement exรฉcutables. La simulation est gรฉnรฉralement possible et des analyses formelles (par model-checking) sont gรฉnรฉralement proposรฉes. Dans cette famille se retrouvent : les formalismes comme les RdP [Petri-1962], SDL [Union-1992], les modรจles basรฉs sur CCS de Milner [Milner-1980] et sur CSP de Hoare [Hoare-1978] comme les algรจbres de processus telles que LOTOS [Eijk-1989] ou RT-LOTOS, les automates temporisรฉs, les dรฉrivรฉs formels (comme Modecharts [Jahanian-1988]) des Statecharts [Harel-1987], les langages impรฉratifs de type ESTEREL [Berry-1992]โ€ฆ.
โ€ข Les modรจles duaux, qui essaient d’intรฉgrer ร  la fois les caractรฉristiques des modรจles opรฉrationnels et dรฉclaratifs en les faisant cohabiter. ESM/RTTL [Ostroff-1987], qui couple des machines รฉtendues ร  la logique temporelle d’intervalles, est reprรฉsentative de ce type d’approche.

Par rapport aux paradigmes de modรฉlisation

Afin de simplifier les tรขches de vรฉrification et de validation du systรจme, diverses hypothรจses simplificatrices de modรฉlisation, concernant essentiellement les CT, peuvent รชtre รฉmises. Suivant le respect de ces hypothรจses de modรฉlisation, trois paradigmes de synchronisation peuvent รชtre distinguรฉs [Carcagno-1995] :
โ€ข Paradigme synchrone fort : Dans cette approche, les actions et les communications sont considรฉrรฉes comme immรฉdiates et de dynamiques nรฉgligeables par rapport ร  la dynamique du procรฉdรฉ. Le temps manipulรฉ est dรฉfini par rapport aux arrivรฉes successives des รฉvรฉnements. C’est une vision multiforme du temps, car il y a autant de temps que d’รฉvรฉnements externes indรฉpendants. Le systรจme รฉvolue par l’arrivรฉe d’รฉvรฉnements. La phase de transition (ou transitoire) entre deux รฉtats est considรฉrรฉe comme immรฉdiate. Par ailleurs, on suppose une communication synchrone par diffusion large (broadcasting) : toutes les communications sont diffusรฉes ร  tous les composants. Le systรจme est donc un systรจme rรฉflexe (les rรฉactions sont supposรฉes instantanรฉes).
โ€ข Paradigme synchrone faible : Cette approche, par rapport au synchrone fort, permet de mieux maรฎtriser les temps de communication et d’exรฉcution. Ceux-ci ne sont plus supposรฉs nuls, mais sont uniformisรฉs et fixรฉs arbitrairement ร  une mรชme constante. Le comportement du systรจme peut donc se synthรฉtiser par une suite temporelle d’instants รฉquidistants, le systรจme rรฉagissant aux changements survenus depuis le dernier instant. Pour fonctionner, un tel systรจme doit รชtre cadencรฉ par une horloge globale (ou un ensemble d’horloges locales synchronisรฉes). Le temps de rรฉaction correspond alors ร  une unitรฉ de temps de cette horloge. Une communication par broadcasting est lร  aussi supposรฉe. Le systรจme n’est plus rรฉflexe mais pรฉriodique.
โ€ข Paradigme asynchrone : Avec ce paradigme, la durรฉe des actions et les temps de communication sont considรฉrรฉs comme bornรฉs (mais peuvent varier dans des intervalles). Les dรฉlais de transitions du systรจme ne sont pas supposรฉs constants (une transition pouvant prendre un nombre variable de cycles de calcul). Lorsque des synchronisations sont nรฉcessaires entre nล“uds, elles sont faites de maniรจre explicite par des communications. La communication par diffusion nโ€™est plus supposรฉe par dรฉfaut.
Ainsi, dans les approches synchrones, nous retrouvons les logiques temporelles, les langages de type SIGNAL, ESTEREL, LUSTRE, les dรฉrivรฉs de Statechartsโ€ฆ
Avec le paradigme asynchrone, nous retrouvons les algรจbres de processus (CSP, SDL), les langages dรฉclaratifs de type ELECTRE [Cassez-1995] ou les RdP.
Notons que, dans un contexte de systรจme distribuรฉ, il peut y avoir une utilisation de modรจles synchrones, pour la description du comportement des nล“uds et, de modรจles asynchrones pour la description des communications entre les nล“uds (voir par exemple [Carcagno-1995]).

Approches UML basรฉes sur des rรฉseaux de Petri

Avant de prรฉsenter les approches UML basรฉes sur les RdP, nous faisons un rappel les diffรฉrentes techniques de couplage des RdP avec une modรฉlisation OO ainsi que sur les classes de RdP permettant la manipulation explicite de CT. Nous supposons que le lecteur possรจde une connaissance du formalisme des RdP.

Les RdP et la modรฉlisation OO

Rappels sur la modรฉlisation par RdP

Modรฉliser un systรจme complexe, ร  l’aide de RdP, consiste ร  structurer ce systรจme en deux parties [Valette-2000] : une partie ยซ contrรดle ยป et une partie ยซ donnรฉes ยป. La partie ยซ contrรดle ยป dรฉcrit essentiellement les enchaรฎnements possibles des activitรฉs. La partie ยซ donnรฉes ยป correspond ร  l’ensemble des structures de donnรฉes internes au systรจme et des calculs effectuรฉs sur ces donnรฉes.
Le RdP dรฉcrit la structure de contrรดle du systรจme. La modรฉlisation des donnรฉes est souvent rรฉalisรฉe par des jetons ayant une structure de donnรฉes. Elle nรฉcessite alors l’utilisation de RdP dits de haut niveau (RdP Colorรฉs [Jensen-1981], Prรฉdicat/Transition [Genrich-1986] ou Objet [Sibertin-Blanc-1991] [Lakos-1990 ]).
L’interprรฉtation du RdP revient ร  spรฉcifier les liens entre la partie ยซ contrรดle ยป et la partie ยซ donnรฉes ยป. On peut la traduire en associant :
โ€ข Des conditions aux transitions (ainsi que sur la partie structure de donnรฉes du jeton).
โ€ข Des actions aux transitions (entraรฎnant par exemple la modification des donnรฉes du jeton).
Rappelons que le RdP n’est pas un outil facilitant la structuration de systรจme. Il n’apporte qu’un seul concept dans l’organisation dudit systรจme : celui de permettre une dรฉlimitation claire entre la structure de contrรดle (dรฉcrite par le graphe lui-mรชme) et la structure de donnรฉes (dรฉcrite en complรฉment du graphe et constituant lโ€™interprรฉtation du rรฉseau de Petri). Une approche hiรฉrarchisรฉe est certes possible [Valette-1979], mais elle doit rรฉsulter d’une volontรฉ du concepteur et s’appuyer sur des rรจgles et des mรฉthodes extรฉrieures au RdP.
Pour cette raison, la structuration du systรจme est souvent apportรฉe par un autre mรฉcanisme que les RdP. Cโ€™est pourquoi, diffรฉrentes mรฉthodes ont รฉtรฉ dรฉfinies afin de coupler des RdP ร  des approches OO.

Le couplage RdP et OO

Diffรฉrentes รฉtudes comparatives des couplages entre RdP et lโ€™approche OO ont รฉtรฉ effectuรฉes [Zapf-1999] [Lakos-1997] [Valk-2000]. Trois grandes dรฉmarches sont identifiรฉes [Bastide-1995] :
โ€ข Intรฉgration des concepts ร  objets dans les RdP.
โ€ข Intรฉgration des RdP dans les concepts ร  objets.
โ€ข Intรฉgration mutuelle des concepts OO et des RdP.
Dans la premiรจre catรฉgorie, les RdP modรฉlisent toute la structure de contrรดle du systรจme. Les jetons modรฉlisent les objets, ces derniers รฉtant gรฉnรฉralement reprรฉsentatifs des propriรฉtรฉs statiques du systรจme. Nous pouvons citer dans cette catรฉgorie : LOOPN [Lakos-1990 ], MacroNet [Keller-1994], MOBY [Fleischhack-1993], OBJSA [Battiston-1988], THORN [Schรถf-1995], SimCom [Verkoulen-1998]โ€ฆ Cependant, ce type dโ€™approches est rapidement confrontรฉ ร  la complexitรฉ de modรฉlisation dโ€™un systรจme, les RdP modรฉlisant ร  plat toute la structure de contrรดle du systรจme. Dans la seconde catรฉgorie, les RdP sont utilisรฉs afin de dรฉcrire le comportement des objets actifs (et parfois passifs) ainsi que les communications inter-objets. Les RdP sont ยซ ร  lโ€™intรฉrieur ยป des objets, on parle alors dโ€™approches ยซ Objet ร  RdP ยป(Petri Net Object). Diffรฉrentes classes de RdP (prรฉdicat/transition, colorรฉs, etc.) peuvent รชtre utilisรฉes suivant la classe de systรจme modรฉlisรฉe. Un grand nombre de formalismes est proposรฉ dans cette catรฉgorie, citons HOOD Nets [Di Stefano-1991], HOOD/PNO [Paludetto-1991], OOBM [Hanisch-1997], OBM [Kappel-1991], OCPN [Maier-1997], PAM [Bachatรจne-1995], PN-TOX [Holvoet-1995]โ€ฆ La structuration est en gรฉnรฉral supportรฉe par une mรฉthode OO (HOOD, OMT, UMLโ€ฆ).
Dans la derniรจre catรฉgorie, une classe de RdP particuliรจre est dรฉveloppรฉe afin de directement prendre en compte les aspects OO (hรฉritage, instanciationโ€ฆ). Cette classe de RdP, souvent appelรฉe ยซ RdP ร  Objet ยป (Object Petri Net)[Sibertin-Blanc-1985;Sibertin-Blanc-1991] connaรฎt diverses dรฉclinaisons. Nous retrouvons des formalismes comme CLOWN [Battiston-1995], CO-OPN/2 [Biberstein-1997], HOON [Lรถwe-1995], LOOPN++ [Lakos-1995b], OPN [Valk-1996]โ€ฆ Ces modรจles peuvent รชtre couplรฉs ร  des mรฉthodes OO ou dรฉfinir leur propre formalisme.

Les classes de RdP adaptรฉes au traitement de CT explicites

Un RdP modรฉlise, par sa structure, des relations d’ordre entre les transitions et dรจs lors, des relations d’ordre entre tirs de transition. Cela permet donc une manipulation de CT qualitatives et un RdP ordinaire peut modรฉliser toutes les relations dโ€™Allen [Allen-1983] [Sรฉnac-1996]. Mais pour manipuler des CT explicites, il faut l’enrichir de considรฉrations quantitatives.
Un RdP รฉtant un graphe biparti, il est naturel de placer ces considรฉrations, soit sur les places, soit sur les transitions, mais on peut aussi les placer sur les arcs des transitions ou sur les jetons. En outre, les contraintes temporelles peuvent รชtre reprรฉsentรฉes par des durรฉes (classe de RdP temporisรฉ) ou par des intervalles (classe de RdP temporel). Enfin, ces CT peuvent รชtre soit dรฉterministes, soit stochastiques. Cette libertรฉ de choix dans l’affectation des CT permet d’obtenir une large variรฉtรฉ de RdP ayant des pouvoirs d’expression temporelle plus ou moins grands et des capacitรฉs d’analyse plus ou moins rรฉduites.
Nous prรฉsentons briรจvement les classes de RdP les plus usuelles que sont les classes de RdP temporisรฉ, t-temporel et stochastique. Nous conseillons au lecteur, intรฉressรฉ par une comparaison dรฉtaillรฉe de ces diffรฉrentes classes, la consultation de la thรจse de Marc Boyer [Boyer-2001].

Rรฉseaux de Pรฉtri Temporisรฉs (RdPTรฉ)

Dรฉfinitions

Deux classes de RdP Temporisรฉ (RdPTรฉ) (Timed Petri Net) se distinguent :
โ€ข Les p-RdPTรฉ [Sifakis-1977] : Une durรฉe est associรฉe ร  chaque place. La sรฉmantique de cette durรฉe correspond au temps de sรฉjour minimum d’un jeton (son temps d’indisponibilitรฉ) dans une place.
โ€ข Les t-RdPTรฉ [Ramchandani-1974] : A chaque transition est associรฉe une durรฉe dont la sรฉmantique correspond ร  la durรฉe de tir de la transition. Le jeton ayant sensibilisรฉ la transition nโ€™est plus disponible pendant toute cette durรฉe.
Ces deux classes de RdP sont, en fait, รฉquivalentes [Sifakis-1979] et proposent la mรชme idรฉe : dissocier le marquage en deux parties : les jetons libres et les jetons indisponibles. Un jeton indisponible ne peut plus sensibiliser une transition et donc participer ร  un franchissement.

Critiques

La notion dโ€™indisponibilitรฉ des jetons est lโ€™une des lacunes des RdPTรฉ car il devient extrรชmement difficile de modรฉliser des mรฉcanismes prรฉemptifs de type ยซย chiens de gardeย ยป. En effet, les jetons sont absorbรฉs par les transitions (ou les places). Ils ne sont alors plus disponibles pour le tir d’autres transitions. En outre, rien dans la dรฉfinition de ces modรจles ne permet de forcer le tir dโ€™une transition franchissable : le ou les jetons participant ร  sa sensibilisation peuvent rester indรฉfiniment dans leur place et la transition ne sera jamais tirรฉe. Il est toutefois possible de dรฉfinir un fonctionnement au plus tรดt oรน la transition est tirรฉe dรจs sa sensibilisation. Dans ce cas, il est possible dโ€™รฉtablir un graphe de marquage de tir au plus tรดt et de quantifier les durรฉes des chemins. Cette technique dโ€™analyse a รฉtรฉ utilisรฉe pour lโ€™optimisation de systรจme de production [Gaubert-1999], mais elle doit รชtre couplรฉe avec des heuristiques et des techniques de calculs extรฉrieures. En effet, la politique de tir au plus tรดt nโ€™est pas suffisante, par exemple, pour dรฉterminer un parcours minimum (en ordonnancement, il est connu quโ€™il faut parfois attendre pour gagner ensuite du temps).
Un dernier inconvรฉnient des RdPTรฉ rรฉside dans leur incapacitรฉ ร  exprimer la notion d’indรฉterminisme temporel. En effet, dans de nombreux cas (connaissance incomplรจte du systรจme, gigue temporelle, variabilitรฉ temporelle de la durรฉe d’un traitement), la durรฉe d’un traitement n’est pas exactement connue et peut รชtre comprise dans un intervalle de temps min-max.

Rรฉseau de Petri ร  transitions temporelles (t-RdPTl)

Comme pour un t-RdPTรฉ, un RdP t-temporel peut comporter des informations temporelles sur ces transitions ti, mais ici exprimรฉes par des intervalles temporels [ai,bi] (avec 0๏€ โ‰ค ai๏€ โ‰ค bi).
Pour รชtre franchie, une transition ti doit รชtre sensibilisรฉe de maniรจre continue pendant le dรฉlai minimum ai avant de pouvoir รชtre franchie. Elle ne peut rester validรฉe au-delร  du dรฉlai maximum bi. Grรขce ร  ce mรฉcanisme, des incertitudes de tir dโ€™une transition peuvent รชtre exprimรฉes. De plus, le jeton sensibilisant une transition reste disponible pour dโ€™autres transitions.
Diffรฉrentes sรฉmantiques de fonctionnement dโ€™un t-RdPTl sont possibles concernant :
โ€ข Le traitement de la multi-sensibilisation d’une transition et,
โ€ข La sรฉmantique temporelle de tir des transitions.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

Introduction gรฉnรฉrale
Partie I Vers une approche mixte UML pour le temps rรฉel
I.1. TERMINOLOGIE
I.2. PROBLEMES ABORDES ET CHOIX DE Lโ€™AXE DE RECHERCHE
I.3. LES APPROCHES MIXTES ASYNCHRONES UML POUR LE TEMPS REEL
I.4. CONCLUSION
Partie II La structuration dans UML/PNO
II.1. LES CONFLITS DU PARADIGME OO INTEGRE
II.2. PROPOSITIONS POUR LIMITER LES CONFLITS DU PARADIGME OO INTEGRE
II.3. RESUME SUR LA STRUCTURATION DANS UML/PNO
Partie III Formalisation du comportement
III.1. LES DIAGRAMMES A RESEAUX DE PETRI
III.2. LE DIAGRAMME DE COMPORTEMENT EXTERNE Dโ€™UN CC
III.3. LE DIAGRAMME DE COMPORTEMENT INTERNE Dโ€™UN CC
III.4. RESUME SUR LA DYNAMIQUE DANS UML/PNO
Partie IV Dรฉrivation et validation partielles des diagrammes UML dynamiques
IV.1. LA DERIVATION DES DIAGRAMMES UML
IV.2. LES REGLES DE DERIVATION DES DIAGRAMMES UML
IV.3. VALIDATION PARTIELLE DES DIAGRAMMES UML
IV.4. RESUME SUR LA DERIVATION ET LA VALIDATION PARTIELLES
Partie V Vรฉrification des contraintes temporelles
V.1. VERIFICATION DES CT A Lโ€™AIDE DU GRAPHE DE CLASSE
V.2. VERIFICATION DES CT A Lโ€™AIDE DE LA LOGIQUE LINEAIRE
V.3. DEMARCHE DE VERIFICATION UML/PNO DES CONTRAINTES TEMPORELLES
V.4. UN PROTOTYPE Dโ€™AGL UML ET RDP
V.5. RESUME SUR LA VERIFICATION DES CONTRAINTES TEMPORELLES
Partie VI Conclusion gรฉnรฉrale
VI.1. CONTRIBUTIONS
VI.2. PROSPECTIVES
Publications associรฉes ร  UML/PNO
Rรฉfรฉrences bibliographique
Partie VII Annexe : rรจgles de dรฉrivation des diagrammes de sรฉquence
VII.1. PROCESSUS DE PASSAGE
VII.2. LES COMMUNICATIONS ENTRANTES ET SORTANTES
VII.3. LES EFFETS OBSERVABLES DES INVOCATIONS
VII.4. LES CONTRAINTES TEMPORELLES
VII.5. LES ALTERNATIVES
VII.6. LES BOUCLES
VII.7. LES INFORMATIONS NON TRADUITES DES DIAGRAMMES DE SEQUENCE

Tรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *