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.
|
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