Home

E-NetObject - Hal-Lirmm

image

Contents

1. Valider Annuler Figure 37 propri t s de la Transition En appuyant sur le bouton Modifier les Pr dicats la fen tre de la Figure 38 s affichera Son utilisation est relativement simple En haut se trouve la liste des pr dicats d j entr s pour cette Transition En dessous il est possible d entrer une expression bool enne en ditant les deux champs et en choisissant un op rateur les champs ne peuvent contenir que des expressions du type nom variable attribut nom variable m thode ou 31 constante videmment les expressions contenues dans les champs doivent tre compatibles entre elles et avec l op rateur choisi Modification de la Condition Liste des Termes nl erter inf 45 Saisie d un Terme Annuler Figure 38 conditions d une Transition Au final tous ces termes sont li s entre eux par l op rateur bool en ET si l utilisateur veut exprimer un OU il devra le faire structurellement cf Figure 39 a ET b c Ceci est quivalent a ET b OU c L absence de la place aval donnerait la structure le sens d un OU exclusif Figure 39 expression structurelle du OU Le bouton Modifier les Actions permet d acc der la fen tre ci apr s cf Figure 40 De mani re similaire la pr c dente en haut se trouve la liste des actions d j pr sentes dans cette Transition Par contre la saisie d une action est un peu plus compliqu e en effet il faut d abord
2. ou Editer si une variable est s lectionn e la liste des tuples des Classes accept es par la Place aval ou amont s affiche dans la liste en bas gauche Comme pour la fen tre de marquage si l utilisateur s lectionne l un des tuples sa composition s affichera dans la liste de droite et il pourra en diter le nom de la variable en utilisant le champ en bas droite et le bouton OK Cliquer sur le bouton ajouter ajoutera l tiquette la liste du haut 30 Variables de l Arc Liste des variables de l arc Cr er Liste des n uplet La variable Ajouter Valider Annuler Figure 36 variables sur les Arcs 4 Transitions La fen tre de Propriete des Transitions Figure 37 est celle qui offre le plus d options c est celle qui demande le plus de v rification Elle affiche le nom de la Transition son identifiant sa position Gr ce une bo te d roulante il est possible de choisir un verrou La priorit de la Transition peut tre chang e via le JSpinner Comme pour la Place il est possible de modifier la liste des Arcs entrants sortants La fen tre temporelle peut tre dit e avec le bouton Modifier la fen tre de Temps Propri t de la Transition Transition1 08 232 172 Aucun Modifier la Liste des Arcs Entrants Modifier la Liste des Arcs Sortants Modifier la fen tre de Temps Modifier les Pr dicats Modifier les Actions
3. L interface de l diteur Concernant le design de l interface deux possibilit s s offraient nous Une premi re classique avec une fen tre principale contenant toutes fen tres des r seaux une autre avec un ensemble de fen tres ind pendantes Cette derni re possibilit a t retenue car la gestion des sous fen tres est faite directement par Java alors que les fen tres principales sont g r es par le syst me Voici un sch ma de l interface MenuBar Barre de Menu ToolBar Barre d outils Afficheur Fen tre contenant une Page GraphicBar Information Palette Informations sur les d outils objets du r seau Page El ment affichant le r seau InfoClasses Fen tre d information sur les Classes du r seau Barre de statut Figure 12 sch ma de l interface choisie Liste des fen tres 16 a Editeur Cette fen tre est la principale de l interface elle centralise la plupart des informations et g re la liste des r seaux ouverts Elle est compos e d une barre de menu et d une barre d outils 1 MenuBar MenuBar Barre de Menu Fichier Edition Affichage Dictionnaire Aide ToolBar Barre d outils Figure 13 sch ma de la barre de menus Cette barre de menu comporte des menus classiques comme le menu Fichier Edition Affichage Aide et d autres menus comme Dictionnaire en voici une description Fichier Ce menu poss de les actions habituelles comme Nouvea
4. dire au m me niveau hi rarchique c est pr quand la fusion a lieu entre un Noeud d un r seau et un Noeud de l un de ses sous r seaux direct rp quand la fusion a lieu entre un Noeud d un sous r seau et un Noeud de son r seau englobant cf Figure 21 Zeien Arc de fusion de type or Arc de fusion de type rr Arc de fusion de type pi Near en gras sans fl ches est l Arc de fusion Figure 21 les diff rents types d arcs de fusion 22 j Methode Cette classe impl mente les m thodes associ es aux Classes d un r seau elle a pour attributs un nom une signature et le chemin du fichier C C contenant le code du corps de la m thode les m thodes tant d velopp es en dehors de l diteur de RdPO k Classe Cette classe impl mente les Classes du r seau de Petri comme il l est d fini dans le mod le elle a pour attributs un nom une liste d attributs une liste de M thodes ainsi qu une ventuelle Classe parente Elle fournit aussi des m thodes qui permettent d obtenir les attributs et les m thodes de ses anc tres I Etiquette Cette classe a une utilit diff rente selon la classe Arc ou Place qui l utilise Ella a pour attributs une liste dont un l ment sur deux le premier est le nom de la variable qui a pour type la Classe plac e en deuxi me position cf Figure 22 Or lorsque l Etiquette est associ e une Place le nom de la variable est ignor c est pour cela que cette
5. ds un nus anses senennuisensue c enatms ENEE RR ERR EE EK n s uns 3 1 1 LE PROJET GLOBAL nine nn ee A ie nnmnnn 3 25 CONTEXTES en a ee nn ut aa 5 2 1 LES RESEAUX DE PETRI sssmscrrmmanummmnnuenmnnnnemmanunnmmeeenmaanunnmmeennnnanuune 5 2 1 1 RESEAUX DEELER A sn ne ee Ne en rt mis 5 2 1 2 AJOUT DES OBJETS eege H 2 de 6 2 1 3 LE MODELE RDPO EEN ee es ann re mer 6 2 1 4 LE MODELE RDPO DE L DITEUR Sa en an en use 7 3 CONCEPTION EE 14 3 1 DITEUR DE RDPO ins anecannntien scan teens te tte en ete are ntf se sea ebe 14 3 1 1 D hee ENTREE 14 3 1 2 L INTERFACE DE L EDITEUR eet 16 i REALISATION BEE 21 SL EDITEUR DE RDPO nu iaaa manra aada Ee Eed naahidi 21 CES DREEM EE 21 4 1 2 L INTEREACE DE L DITEUR onde nt name nn mt ide it 24 5 21 2 Li 2 ee 34 PAU La Led 4 a a aae i a aaa 36 1 Pr sentation 1 1 Le Projet Global Cet diteur de R seaux de Petri Objets s inscrit dans une cha ne de d veloppement d applications robotiques Ce projet est le fruit d une r flexion et de travaux d j amorc s les ann es pr c dentes travers une collaboration entre les d partements ROB et ARC du LIRMM Cette collaboration initi e par David ANDREU avec Th r se LIBOUREL et Christophe DONY porte sur la conception d un syst me de d veloppement d applications temps r el distribu es bas es sur les r seaux de Petri Objets RdPO La partie du projet expos e ici aborde la conception et la r alisation
6. gles de construction garantissant la coh rence de l interpr tation du graphe e Sur les transitions L ensemble des conditions port par une transition est trait comme une conjonction de conditions lors de l ex cution du mod le En effet chaque condition de l ensemble est li avec les autres par un ET logique Les seuls attributs et m thodes utilisables dans la condition sont ceux des Jetons entrants ainsi que ceux de GLOBAL_CLASS Les attributs et m thodes utilisables dans les actions sont ceux des Jetons entrants et sortants ainsi que celles de GLOBAL_CLASS e Sur les arcs L intersection des ensembles de variables d entr e resp de sortie port s par chaque arc d entr e resp de sortie d une m me transition doit tre vide C est dire qu une transition ne prend pas en entr e resp ne produit pas en sortie 2 variables identiques provenant de 2 arcs distincts Les seules tiquettes pour un arc pr sont celles des classes admises dans la place amont et pour un arc post ce sont celles des classes admises dans la place aval 13 3 Conception 3 1 Editeur de RdPO L diteur doit permettre l utilisateur de cr er et d diter des RdPO Il doit poss der toutes les caract ristiques d un diteur classique comme e couper copier coller e annuler r tablir e les fonctions de sauvegarde d ouverture etc En tant qu diteur de r seaux de Petri il doit pouvoir e donner la possibilit de cr er tous les l
7. ments structurels du mod le y compris les Arcs inhibiteurs et les MacroPlaces dans le futur e respecter les contraintes li es la structure des r seaux de Petri e donner la possibilit de cr er des sous r seaux partir de r seaux d j sauvegard s afin que l utilisateur puisse les r utiliser e cr er des mod les g n riques Cette fonctionnalit permet de prot ger l dition de mod les qui seront amen s tre instanci s e g n rer un r seau sous une forme textuelle XML dans le cas pr sent afin que celui ci puisse tre converti facilement et export vers des logiciels tiers Etant donn que cet diteur doit tre volutif il tait plus coh rent de le d velopper dans un langage orient objet Pour des raisons de portabilit et parce que la performance n tait pas une donn e fondamentale du cahier des charges de l diteur le langage de programmation Java a t pr f r au C De plus il est noter que la structure et l interface ont t con ues de mani re ind pendante ainsi il est possible d avoir une interface totalement diff rente reprenant la structure 3 1 1 Les entit s d un RdPO Voici le diagramme des classes des entit s contenues dans un RdPO PlaceClone Figure 11 diagramme des classes des entit s des RdPO 14 Les l ments impliqu s dans ce diagramme sont a Arc Un Arc relie deux Noeuds entre eux mais les contraintes inh rentes au mod le des r
8. seaux de Petri sont v rifi es dans l interface Un Arc conna t son Noeud de d part et son Noeud d arriv e ainsi que la liste d tiquettes qui lui sont associ es b ArcTest Cette classe impl mente les Arcs de Test c est l une des sous classes de Arc c Inhibiteur Cette classe est l autre sous classe de Arc elle caract rise les Arcs inhibiteurs d ArcFusion Ces Arcs servent fusionner deux Places ou deux transitions de deux r seaux diff rents Les Places doivent avoir les m mes caract ristiques savoir accepter les m mes types de Jetons e Classe Cette classe impl mente les Classes du r seau Les instances de ces Classes sont les Objets que nous retrouvons dans les Jetons Elle comporte une liste d attributs ainsi qu une liste de m thodes elle conna t aussi sa Classe m re f Etiquette Cette entit repr sente les Jetons que peut accepter une Place ou qui peuvent passer par un Arc g Noeud Cette classe r unit les caract ristiques des N uds du r seau savoir les Places et les Transitions Elle poss de une liste des Arcs entrants et une des Arcs sortants h Objet Ils repr sentent l instanciation des Classes du r seau i Jeton Un Jeton est un tuple d Objets il est utilis pour le marquage des Places j Place Une Place est reli e une ou plusieurs Transitions via des Arcs La Place est l entit qui contient les Jetons qui ne peuvent y tre plac s que si la Place les
9. 3e nom variable methode terme terme e une expression est de la forme lerterme 2e expression op rateur expression les expressions ainsi que les op rateurs doivent tre compatibles les param tres pass s aux m thodes doivent tre conformes la signature de celles ci Quelques exemples Conditions xX a lt 3 1 terme x a nom variable attribut op rateur lt 2 terme 3 constante y b gt z c 1 terme y b nom variable attribut op rateur gt 29 terme z c nom variable attribut y c z code 1 terme c nom variable attribut op rateur galit 29terme z code nom variable methode Actions x a y b 1 terme x a nom variable attribut op rateur allocation 29 terme y b nom variable attribut x b y tirerchiffre 1 terme x b nom variable attribut op rateur allocation 29terme y tirerchiffre nom variable methode z inc terme z inc nom variable methode z calcule 3 x c terme z calcule 3 x c nom variable methode constante nom variable attribut 36
10. A et B d finissent un rectangle Ce type de Lieu est utilis pour les Noeuds Places et Transitions ainsi que pour les RdP f Arc Cette classe impl mente l l ment graphique Arc du r seau il a comme attributs deux Noeuds un amont et l autre aval un LieuArc d finissant sa position sur le r seau et une liste d Etiquettes Plusieurs m thodes sont fournies une permettant de renvoyer le type de l Arc selon que celui ci soit un Arc Post Transition gt Place ou un Arc Pre Place gt Transition une autre permettant de conna tre la pond ration ventuelle de cet Arc si il ne peut pas porter de Jetons banalis s cette m thode retournera 1 il faudra alors acc der la liste des Etiquettes afin de savoir quels sont les tuples d objet pouvant tre port s par cet Arc g ArcTest La classe ArcTest h rite de Arc elle pour seule particularit de renvoyer ArcTest comme type h Inhibiteur Cette classe par rapport Arc dont elle h rite a la seule particularit de renvoyer Inhibiteur comme type i ArcFusion Ce type d Arc n a pas du tout le m me sens que les trois types d Arcs vus pr c demment en effet ceux ci relient des r seaux des sous r seaux afin de fusionner deux places ou deux transitions Par contre de mani re analogue aux types d Arcs pr c dents ces Arcs de fusion ont un type c est rm dans le cas o cet Arc fusionne deux Noeuds qui se trouvent dans deux sous r seaux de m me niveau c est
11. Figure 9 11 AVERTISSEMENTS Place interne source Place interne puit Place isol e sans arc place sans arc entrant place sans arc sortant entrant ni sortant Transition puit transition Transition source Transition isol e sans sans arc sortant transition sans arc entrant arc entrant ni sortant Figure 10 e R gles de la fusion des places La fusion des places n est possible qu entre places de communication i e d entr e ou de sortie ou entre places internes il n est donc pas possible de fusionner une place de communication avec une place interne Deux places de communication ou interne peuvent tre fusionn es si elles acceptent le m me type de Jetons La fusion de deux places de sorties r sulte en une place de sortie la fusion de deux d entr es en une place d entr e Il est aussi possible de fusionner une place d entr e et une de sortie La r sultante est une place interne mutante c est dire qu elle reste fusionnable avec d autres places de sortie d entr e ou interne mutante La fusion de deux places internes r sulte en une place interne Dans tous les cas les types de jetons accept s par la place restent les m mes Voici les caract ristiques du r sultat de la fusion de deux places o L ensemble des transitions amonts respectivement avals est l union des ensembles des transitions amonts respectivement aval de chaque place o Le marquage initial est la somme des marquages initiaux des
12. Selon le nombre d Arcs amont aval la Place a un type interne n Arcs aval amont n gt 0 isol e 0 Arcs aval amont source 0 Arcs aval n Arcs amont n gt 0 ou puits n Arcs aval n gt 0 0 Arcs amont En plus de ces Places il existe celles d entr es et celles de sorties Celles ci permettent d interfacer le r seau avec d autres r seaux 4 Arc Un Arc relie une Place et une Transition ou vice versa dans le premier cas c est un Arc Pre dans l autre un Arc Post Cette entit porte plusieurs Etiquettes qui sont des multi ensembles non ordonn s de nom de variables associ es des Classes cette liste d finit les Jetons qui peuvent tre candidats au franchissement d une Transition dans le cas d un Arc Pre cette Etiquette d finit les Jetons qui seront d pos s dans une Place dans le cas d Arcs Post On distingue trois types d Arcs les arcs classiques zs ou simples les Arcs de test et les Arcs inhibiteurs 9 5 Arc de Fusion Un Arc de Fusion a pour but de permettre la fusion entre deux n uds du r seau Les r gles d finissant cette fusion sont donn es ci apr s 6 Transition Cette entit a pour but en conjonction avec les Arcs de filtrer gt et d agir sur les Jetons qui peuvent la traverser Pour cela elle est munie d un ensemble ventuellement vide de conditions appel aussi garde d un ensemble ventuellement vide d actions et ventuellement d un verrou et ou d une fen tre temporell
13. admet C est une sous classe de N ud k PlaceClone Ce type de Place a pour but de clarifier un r seau o les Arcs sont nombreux Pour cela l utilisateur a la possibilit de cloner une Place le clone a les m mes caract ristiques que la Place d origine sauf que visuellement la Place et son clone n ont pas les m mes Arcs entrants et sortants 15 I Transition Une Transition est reli e une ou plusieurs Places via des Arcs La Transition est l entit qui conditionne le passage des Jetons tir de la Transition et qui peut agir sur ceux ci C est une sous classe de N ud m RdP RdP est l entit abstraite repr sentant un r seau de Petri objets Un RdP peut tre un mod le g n rique une fois export en tant que tel il ne pourra tre instanci qu en tant sauvegard apr s avoir t import en tant que RdP normal Si l utilisateur veut modifier le RdP g n rique il devra l importer partir du disque dur puis l exporter de nouveau en tant que mod le g n rique Les modifications apport es un mod le g n rique ne sont pas r percut es dans les instances cr es auparavant n RdPSimple Un RdPSimple est l entit qui contient les N uds les Arcs les Classes d un r seau de Petri o RdPComposite Un RdPComposite est un r seau compos de plusieurs r seaux ou alors un sous r seau il est noter qu il est impossible de sauvegarder un sous r seau Il contient au moins un RdPSimple 3 1 2
14. er ou diter un tuple de Classe qui d signera les Classes qui sont accept es par les Places En appuyant sur le bouton Modifier le marquage de la Place la fen tre ci apr s s affichera Figure 34 Dans la colonne une JList de gauche s affichent les tuples de Classes accept s par la Place Lorsque l utilisateur s lectionne un de ces tuples les Classes associ es ce tuple s affichent dans la liste du milieu La s lection de l une de ces Classes permettra de donner un nom l instance en entrant un nom dans le champ du bas puis en cliquant sur OK En s lectionnant le nom de l attribut dans la liste de droite et en cliquant sur Editeur cr er il est possible de changer la valeur d un attribut 29 Choix de la classe Instancier Etiquettes de la Place Classes associ es Attributs de la Classe valider Annuler Figure 34 instanciation d une Classe 3 Arcs La fen tre de Propri t pour un Arc Figure 35 est plus r duite que les autres elle affiche l identifiant et la position de celui ci et ne comporte qu un seul bouton part Valider et Annuler permettant de modifier la liste des variables Propri t de l Arc Position x Valider Figure 35 propri t s de l Arc Cette fen tre Figure 36 permet d diter les variables port es par les Arcs En haut se trouve la liste des variables d j port es par l Arc En cliquant sur Cr er
15. j d fini JComboBox Si Type Enum r est s lectionn l utilisateur pourra d finir un nouveau type num r en entrant des valeurs dans la liste l aide des boutons fl ch s et du champ droite le champ de gauche permet de nommer cette num ration 28 Propri t de l Attribut om de l Attribut Usure Type Simple Type Enum r peu moyen beaucoup Valider Annuler Figure 32 propri t s de l attribut 2 Places Les fen tres de Propri t pour les Places Figure 33 les Arcs et les Transitions sont similaires Celle des Places a plusieurs champs JTextField qui permettent de changer le nom la position ou d afficher son identifiant il est possible de changer le type de la Place en fonction du nombre d Arce Les boutons JButton permettent de modifier la liste des Arcs entrants sortants l aide d une ModifListe fonctionnalit s utiliser avec prudence car aucune v rification n est faite sur la coh rence des changements les tuples de Classe accept s par la Place avec une ModifListe et le marquage Propri t de la Place Place16 Identifiant Position X 180 Position Y 71 Modifier la Liste des Arcs Entrants Modifier la Liste des Arcs Sortants Modifier les classes de la Place Modifier le marquage de la Place Valider Annuler Figure 33 propri t s de la Place En appuyant sur le bouton Modifier les classes de la Place l utilisateur pourra cr
16. principale elle affiche la hi rarchie des Classes du r seau lorsque l utilisateur s lectionne une classe dans l arbre la liste de ses attributs s affiche dans la liste en bas gauche et la 19 liste des m thodes s affiche en bas droite Lorsque l utilisateur double clique sur une des classes sa fen tre de Propri t s s ouvre f Propri t Cette fen tre permet l utilisateur de g rer les propri t s des l ments du r seau elle lui permet de changer le nom de l objet de changer sa position et bien d autres choses Voici la liste des caract ristiques qui peuvent tre chang es via cette fen tre Transition On peut changer la liste des Arcs entrants ou sortants le Verrou qui lui est associ e sa fen tre temporelle et surtout les Actions et Conditions Place Comme pour une Transition il est possible de changer la liste des Arcs entrants ou sortants de modifier sa position de stipuler si c est une Place de sortie d entr e ou interne On peut aussi changer les tuples de Classes que cette Place accepte et videmment modifier le marquage Arc Pour cet l ment il est seulement possible de changer son tiquette en fonction de sa Place aval ou amont Classe Il est possible via cette fen tre de changer la liste des attributs des m thodes de modifier l h ritage de la classe et choisir dans quelle librairie sera sauv e cette classe 20 4 R alisation 4 1 Editeur de RdPO Comme il a t dit
17. qui affichent le type des informations qui sont affich es dans les trois premiers champs textuels JTextField Ces champs affichent le type de l l ment son identifiant et sa position sur la Page Les deux autres champs textuels affichent des informations pour certains types d l ments par exemple pour les Arcs le 4 composant affiche leur Etiquette Le 5 champ affiche les informations relatives la fusion pour une Place Il est noter que le nom de l l ment point devient le titre de cette fen tre Figure 25 information sur les entit s c InfoClasses Cette extension de JDialog affiche les informations concernant les Classes du r seau contenu dans l Afficheur courant Etant donn que les Classes sont organis es en une hi rarchie nous avons choisi d utiliser un composant d affichage d arbres le JTree Pour afficher les informations relatives aux attributs et aux m thodes des Classes nous avons opt pour quatre listes deux pour les attributs et deux pour les m thodes la premi re affiche le nom des attributs la deuxi me affiche le type des attributs la troisi me affiche le nom des m thodes et la derni re liste affiche leur signature Outre ces attributs il existe des m thodes qui mettent jour et construisent l arbre partir d un Vecteur de Classes et d autres qui mettent jour l affichage des attributs et des m thodes lorsqu une Classe est s lectionn e Lorsque l utilisateur double clique
18. sur le nom d une Classe de l arborescence la fen tre de Propriete de cette Classe s affiche 25 6 Liste des Classes BANALISE USER DEF Machine Fraiseuse Perceuse Piece Attributs M thodes Nom Type Nom Signature duree entier linit void etat etats Figure 26 information des Classes d Afficheur Cette fen tre a pour principale fonction d afficher une Page et de la g rer Elle est donc compos e d une Page d un composant qui permet de faire d filer cette Page quand le r seau qu elle affiche est plus grand que l Afficheur lui m me de deux composants deux JLabel qui constituent la barre de statut ainsi que de trois composants une JWindow un JTextArea et un JPanel servant afficher une petite aide contextuelle En plus d afficher une Page l Afficheur g re le menu contextuel les raccourcis claviers les v nements souris qui permettent de cr er de d placer les l ments constitutif du r seau etc Generatrice Figure 27 l afficheur 26 e Page La Page est la classe qui contient et g re un r seau A part le RdP elle a pour attributs un Vecteur qui contient la s lection courante d l ments du r seau quatre piles Stack qui servent g rer la fonctionnalit d annulation r tablissement d une action faite sur le r seau En plus de contenir le r seau de le g rer et d en cr er les l ments Page dessine aussi les Arcs les Places le
19. Place peut contenir des Jetons banalis s 1 si elle ne peut en contenir ou un nombre sup rieur 0 indiquant leur nombre Pour conna tre la liste des Classes accept es par cette Place il faut se r f rer la liste d Etiquettes 23 q PlaceClone Cette sp cialisation de Place impl mente les Places clones du r seau Elle a pour attribut la Place originelle Les m thodes ne concernant pas les Arcs ont t red finies afin d acc der aux m thodes correspondantes de la Place originelle En ce qui concerne les Arcs les listes sont diff rentes que ce soit un clone ou une Place originelle r Transition Cette classe est une autre sp cialisation de N ud elle impl mente les Transitions du r seau Les principaux attributs sont la liste des Arcs de Fusion la liste des Conditions celle des Actions la fen tre temporelle le verrou la priorit de cette Transition ainsi que bool en indiquant si l action doit tre ex cut e en parall le s RdP Cette classe abstraite dont RdPSimple et RdPComposite sont une sp cialisation est l impl mentation de ce que repr sente un r seau Elle a pour attributs un nom un bool en indiquant si ce r seau est comprim ou non si le r seau est sous la forme de sous r seau l cran un bool en indiquant si ce r seau est g n rique un LieuBoite d terminant la localisation du RdP sur le r seau quand il est sous forme de sous r seau le chemin de sauvegarde du r seau et enfin
20. aces 2 1 Les R seaux de Petri Nous exposons ici le formalisme des RdPO que nous utilisons dans ce projet Afin de ne pas faire une description trop lourde du mod le nous commen ons par d finir le mod le des R seaux de Petri simples ensuite nous expliquerons l extension qu apportent les objets au mod le Enfin suivra le formalisme classique des RdPO 2 1 1 R seaux de Petri simples Le formalisme des r seaux de Petri est un puissant outil math matique et sa repr sentation graphique constitue un bon outil de mod lisation David89 Un r seau de Petri simple sans objet est un graphe compos de Places les ronds de Transitions les rectangles et d Arcs orient s les fl ches Ces derniers relient obligatoirement une Place et une Transition ou vice versa il ne peut donc pas y avoir de n ud Place ou Transition li e un n ud du m me type par un Arc normal ou inhibiteur cf Figure 4 une place une transition Figure 4 exemple de RdP simple Les Places peuvent contenir des Jetons des poids peuvent tre associ s aux arcs pour indiquer le nombre de Jetons requis dans la Place amont pour que la Transition soit sensibilis e cf Figure 5 Une Transition est dite tirable franchissable si elle est suffisamment sensibilis e et si la condition qui lui est associ e est v rifi e Si un Arc inhibiteur est en entr e d une Transition celle ci est tirable si les Places amont des Arcs inhibiteurs ne contien
21. action d une Transition est un ensemble d expressions concernant les variables et ou m thodes des Arcs entrants ou sortants cela peut tre aussi l appel une fonction de GLOBAL_ CLASS Il est ainsi possible de manipuler les Objets contenus dans un Jeton Lorsque les Objets d un Jeton ont pass les tests ceux ci pourront tre r utilis s afin d en construire un nouveau d autres pourront tre cr s tout d pend des Etiquettes port es par les Arc avals 10 c Les R gles 1 Relatives la Structure e R gles structurelles de base ERREURS V Les n uds sont LAN obligatoirement reli s par des arcs les arcs n existent que lorsqu ils connectent Il y a obligatoirement alternance dans Deux n uds une place et une transition deux n uds en la connexion des n uds i e il est peuvent tre reli s dans les deux sens mais respectant les interdit de relier deux transitions entre un seul et unique arc dans chaque sens contraintes ci apr s elles ou deux places entre elles seul Un arc isol i e sans cas d exception les arcs de fusion n ud amont ni aval est impossible Wi Un arc inhibiteur est obligatoirement Un arc inhibiteur ne accompagn d un arc simple en entr e peut tre en sortie d une d une transition en effet sinon cela transition n aurait pas de sens l Un arc test est obligatoirement accompagn d un arc simple en entr e d une transition en effet sinon cela n aurait pas de sens
22. archives ouvertes E NetObject Un Editeur de R seaux de Petri Objets F Raclot David Andreu Th r se Libourel Rouge Robin Passama To cite this version F Raclot David Andreu Th r se Libourel Rouge Robin Passama E NetObject Un Editeur de R seaux de Petri Objets 02180 2002 pp 40 lt lirmm 00191513 gt HAL Id lirmm 00191513 http hal lirmm ccsd cnrs fr lirmm 00191513 Submitted on 26 Nov 2007 HAL is a multi disciplinary open access archive for the deposit and dissemination of sci entific research documents whether they are pub lished or not The documents may come from teaching and research institutions in France or abroad or from public or private research centers L archive ouverte pluridisciplinaire HAL est destin e au d p t et la diffusion de documents scientifiques de niveau recherche publi s ou non manant des tablissements d enseignement et de recherche fran ais ou trangers des laboratoires publics ou priv s E EE z Se EFESE UNIVERSIT MONTPELLIER II L I RM M SCIENCES ET TECHNIQUES DU LANGUEDOC E NetObject Un diteur de R seaux de Petri Objets F Raclott D Andreu T Libourel R Passama Rapport LIRMM n 02180 1 DESS TNI UMII LIRMM d partement Robotique 3 LIRMM d partement Acquisition et Repr sentation des Connaissances 4 LIRMM d partement Robotique et Acquisition et Repr sentation des Connaissances 1 PRESENTATION
23. auparavant l diteur a t d velopp en Java il s appuie donc sur une approche objet afin que cet diteur soit modulaire et facile faire voluer De plus le langage Java fournit toute une s rie de biblioth ques qui permettent de cr er facilement des interfaces Net Object Editeur Graphique de R seaux de Pe chier Edition Affichage Cichormaire Aide D khta A eX Type ice Interne mutante ID Place dp Position 2202 1961 lt pann EE Hotspot sp _1Flace260 Liste ces Classes SANALISE LECH Dr Get Fra seuse C care gece Attnbuts Methodes d Nom Type Nom Signature de ger atrice re enter fnit vaid O Ki etat etats 2 mm e Figure 20 vue g n rale de l interface 4 1 1 Les entit s d un RdPO Voici la description des l ments manipul s par l interface cette partie est tr s importante car elle conditionne le bon d veloppement de l interface de l diteur a Super Comme son nom l indique cette classe est la parente de toutes celles qui seront list es par la suite Afin de pouvoir identifier les l ments d un r seau cette classe a un compteur permettant d avoir l unicit d un identifiant dans un r seau b SuperLieu Cette classe abstraite d finit tous les l ments graphiques du r seau elle a des m thodes permettant de d placer un l ment de le renommer etc Les Noeuds les Arcs h r
24. choisir entre l appel simple une m thode et la d finition d une expression plus complexe Les champs remplis par l utilisateur sont analys s et v rifi s afin que les r gles soient respect es cf Annexe 32 Modification de l Action Liste des Actions nl erter recoit 45 Saisie d une Action Appel un operateur O Expression recoit Appel une m thode Figure 40 actions d une Transition 33 5 R f rences David89 R David H Alla Du grafcet aux r seaux de Petri Trait des Nouvelles HERMES 1989 Valette00 R Valette Les R seaux de Petri L A A S C N R S Toulouse Septembre 2000 Passama02 R Passama Rapport de Stage de DEA Informatique L I R M M Montpellier Juillet 2002 RaclotO2 F Raclot Rapport de Stage de DESS TNI L I R M M Montpellier Juillet 2002 RRO2181 F Raclot D Andreu T Libourel R Passama Manuel d utilisation de l diteur E NetObject RR L I R M M n 02181 RRO2182 R Passama D Andreu F Raclot T Libourel J NetObject un noyau d ex cution de R seaux de Petri Objets RR L I R M M n 02182 34 ANNEXE 1 R gles concernant les conditions et les actions d une Transition Voici les r gles respecter pour une action ou une condition d une Transition Celles ci sont v rifi es par l diteur la plupart sont videntes mais il est bon de les rappeler e Un terme est de la forme lerconstante 2e nom variable attribut
25. classe a deux m thodes pour le test d galit une qui teste tous les l ments de la liste et l autre qui ne teste que les Classes Figure 22 structure d une etiquette m Noeud Noeud est la classe dont h rite Place et Transition elle a pour attributs un nom une liste d Arcs entrants une liste d Arcs sortants ainsi qu un LieuBoite Un Noeud peut avoir plusieurs type normal si il a des Arcs entrants et sortants isole si il n a ni Arc sortants ni entrants puit si il a seulement des Arcs entrants et source si il a seulement des Arcs sortants n Objet Impl mente l instanciation d une Classe d un r seau cette classe a pour attribut la Classe laquelle cet Objet est associ ceci afin de pouvoir mettre jour cet objet si la Classe est modifi e une liste correspondant aux valeurs des attributs de la Classe et le nom de cette instance o Jeton Cette classe repr sente les tuples d Objet C est seulement une liste d Objet p Place Cette sp cialisation de Noeud impl mente les Places du r seau Elle pour attributs la liste des Arcs de fusion la liste des Etiquettes qui d finit les Jetons pouvant marquer cette Place la liste de ses Places clones et un autre indiquant si il s agit d une Place d entr e de sortie ou interne Comme la classe Arc il existe une m thode permettant de savoir le nombre de Jetons banalis s pouvant se trouver dans cette Place cette m thode retourne 0 si la
26. d un environnement d dition de RAPO mod le partir duquel sont d crites les applications cf RaclotO2 Ces applications seront ensuite construites partir de l assemblage de composants bas s sur les RdPO Passama02 Cette cha ne est compos e des outils suivants e Un diteur de RdPO Net Objet permettant de cr er et d diter des RdPO e Un g n rateur XML cr ant un fichier XML d crivant le r seau dit e Un compilateur produisant une image C C du RdPO partir du fichier XML e Un joueur cet l ment de la cha ne est celui qui animera le RdPO Ainsi il devra propager les objets du r seau Pousse Jeton g rer le temps et les actions l int rieur des transitions du RdPO g rer les changes via le r seau RRO2182 Voici un sch ma descriptif de la cha ne de d veloppement Figure 1 Edition Ex cution g n ration compilation en C Description du Structure r seau de Petri C informatique XML compilation Entit ex cutable Figure 1 description de la cha ne de d veloppement Le manuel d utilisation de cet diteur est donn dans RR02181 La figure ci apr s cf Figure 2 d crit le mode de fonctionnement de l diteur Cette cha ne permet donc l utilisateur de saisir le r seau de son choix de g n rer l image XML contenant toute sa description la structure le marquage les classes et l interface d finissant les possibilit s de communication avec les autre
27. e Une Transition est sensibilis e si l un des ensembles d Objets repr sent par un Jeton pr sent dans une Place amont est gal l un des ensembles de Classes repr sent par une Etiquette port e par l Arc reliant cette Place et la Transition Voici un exemple cf Figure 8 lt A B gt lt A B gt lt A B gt lt C D gt lt C D gt lt C D gt lt ai bi gt lt a1 b1 gt lt ai bi gt Transitions sensibilis es Transition non sensibilis e lt A B gt Classes accept es par la Place lt a b gt Jetons se trouvant dans la Place lt al b1 gt Etiquette de l Arc Figure 8 exemples de sensibilisations par des jetons objets En g n ralisant une transition comprenant les diff rents types d Arcs en entr e e classique test et inhibiteur la transition est sensibilis e si e P contient n jetons lt x gt e P2 contient n jetons lt y gt P P P3 e P3 ne contient aucun jeton Remarque le jeton lt x gt amen par l Arc de test reliant la transition la place P1 ne participe pas vraiment au tir Seule sa pr sence respectivement son absence permet respectivement emp che le tir et le jeton n est pas affect par ce tir La condition de la Transition est un ensemble de pr dicats portants sur les variables des Arcs entrants Si les Objets contenus dans le Jeton passent les tests avec succ s le Jeton pourra aller dans la Place aval cela d pend du ou des Arcs sortants de la Transition L
28. eau e Le dessin du r seau e Les actions comme l impression le couper copier coller supprimer l annulation ou le r tablissement d une action la s lection d un objet 18 c GraphicBar GraphicBar Palette Figure 17 sch ma de la palette d outils Cette fen tre est l une des plus utiles pour utilisateur En effet elle lui permet de cr er les l ments graphiques du r seau On peut donc cr er ainsi une Place une Transition un Arc un Arc inhibiteur un Arc de Test un Arc de fusion un Sous R seau et aussi choisir l outil de s lection d Information Information Informations sur les objets du r seau Figure 18 sch ma de la fen tre d informations des entit s graphiques Cette fen tre a pour but d afficher les informations des objets graphiques lorsque l utilisateur passe le pointeur de la souris sur un de ceux ci Voici la liste des informations que cette fen tre affiche e Le nom de l objet celui ci remplace le titre de la fen tre Le type de l objet point L identifiant de l objet Les coordonn es abscisse ordonn e du lieu o se trouve l l ment e InfoClasses InfoClasses Fen tre d information sur les Classes du r seau Arborescence des Classes du r seau Information sur les Informations sur les attributs m thodes Figure 19 sch ma de la fen tre d informations des classes Cette fen tre est compos e de trois parties la premi re qui se trouve en haut est la
29. gner par le biais de variables les types d objets faire transiter travers la transition A chaque place 8 est associ un ensemble des classes admises d finissant les classes d objets que peut contenir la place Pour les r seaux de Petri pond r s les marques sont des jetons banalis s Une classe sp cifique pr d finie BANALISE permet l utilisation de jetons banalis s Dans ce cas les arcs reliant les places et les transitions supportent l expression de la pond ration i e du poids associ Une place ne peut contenir que l un ou l autre des types Le soit des jetons banalis s soit des jetons objets Au del des jetons objets ou des jetons banalis s manipul s au sein du mod le certaines variables et ou m thodes globales sont accessibles via toutes les transitions du graphe A titre d exemple consid rons les variables verrous associ es aux transitions Une Variable verrou V peut verrouiller n transitions si elle a t associ e ces n transitions Pour cela une transition peut appeler une m thode globale qui teste ou modifie la valeur du verrou consid r Toutes ces variables et ou m thodes sont associ es une classe globale nomm e GLOBAL CLASS l utilisateur pourra enrichir cette classe tant sur les m thodes que sur les attributs b Les l ments 1 Les Classes Les Classes d objets d finies dans ce mod le sont organis es en une hi rarchie de sp cialisation simple toute Classe
30. ir les variables formelles associ es aux arcs d entr e et de sortie les attributs et les m thodes des classes correspondantes e Une application M est le marquage initial qui associe chaque Place une somme formelle de n uplets d instances d objets appel s Jetons les objets doivent tre repr sent s par des identificateurs leur nom par exemple Mo P PE ne SH P lt y gt Ata lt y gt P3 Figure 6 2 1 4 Le mod le RdPO de l diteur Nous allons pr senter les particularit s de notre mod le RdPO mod le dit par rapport au RdPO g n ral que l on vient de d finir a Particularit s 1 La Transition Les transitions T sont compos es de plusieurs parties autrement appel es blocs e Le premier bloc est celui relatif aux pr dicats il supporte l expression de la conditions de franchissement e Le deuxi me bloc est d di l aspect temporel il permet d exprimer des intervalles de franchissement d une transition Un intervalle temporel I est constitu de deux bornes a b a et b tant respectivement la date de tir au plus t t et la date de tir au plus tard e Le troisi me bloc est d di au verrouillage de la transition Par le biais de variables globales bool ennes appel es verrous il est possible d interdire le franchissement d une transition o d un ensemble de transitions e Le quatri me bloc est relatif aux actions Les actions sont en effet associ es aux t
31. itent donc de cette classe qui a pour but de faciliter la d tection et la manipulation d l ments graphiques dans le r seau c Lieu Comme la classe pr c dente celle ci est abstraite elle d finit l emplacement d un l ment graphique du r seau Pour ceci deux points A et B sont utilis s selon les cas ils d finissent un vecteur ou un rectangle dans le premier cas A est le point de d part du vecteur et B l arriv e dans le second cas A repr sente le coin sup rieur gauche du rectangle et B son oppos c est dire le coin inf rieur droit A ce propos c est l l ment graphique lui m me de s assurer de la coh rence de ces informations Cette classe contient essentiellement des m thodes permettant de d placer ce lieu de mani re absolue en le pla ant en un endroit d fini ou alors de mani re relative en lui donnant deux valeurs qui indiquent un d placement sur les abscisses et les ordonn es En plus de ces m thodes cette classe fournit des m thodes permettant de tester l inclusion d un point ou d un autre Lieu dans celui ci 21 d LieuArc Cette classe h rite de Lieu les points A et B d finissent donc respectivement le d part et l arriv e de l Arc La particularit de cette classe est que le test d inclusion d un point dans ce LieuArc se fait avec une marge d erreur Sinon il serait trop difficile de s lectionner un Arc e LieuBoite Cette classe h ritant de Lieu les points
32. le chemin du fichier de librairie de Classes Cette classe fournit beaucoup de m thodes comme une permettant d obtenir le RdPSimple d un r seau il en existe qui renvoie la liste des l ments du r seau selon leur type une autre permet de savoir si un nom est utilis par un l ment d un certain type et d autres permettant de conna tre ce qui se trouve un endroit du r seau etc t RdPSimple Cette classe sp cialisation de RdP impl mente les r seaux simples Elle a pour attributs une liste d Arc de Noeuds de Classes de Verrous et un RdPSimple repr sentant son p re ventuel dans la hi rarchie des sous r seaux Des m thodes existent mais c est seulement des red finitions des m thodes de RdP u RdPComposite Cette classe qui est aussi une sp cialisation de RdP repr sente les r seaux compos s de sous r seaux ou alors les sous r seaux eux m mes Elle a pour principaux attributs une liste de RdP une liste d Arc de fusions entre n uds du RdPComposite et une liste d Arcs de fusion dont l une des extr mit s n est pas dans ce r seau composite Une m thode existe renvoyant un RdPComposite selon son nom les autres m thodes sont des red finitions des m thodes de RdP 4 1 2 L interface de l diteur Cette partie est peut tre la plus sensible du projet tant donn que c est elle qui centralise toutes les autres et les coordonne afin d avoir un fonctionnement correct et respectant les attentes de l uti
33. lisateur Heureusement Java fournit un grand nombre de classes qui permettent de faire ce type d interface relativement facilement a Editeur Cette fen tre qui est une sp cialisation de JFrame g re aussi un grand nombre d v nements comme ceux relatifs au clavier raccourcis claviers aux actions les boutons aux fen tres ou aux menus Il g re aussi la liste des Afficheurs l ouverture d un r seau ou d un sous r seau la cr ation des verrous etc Les menus JMenu et JMenultem se trouvant sur la barre de menus JMenuBar permettent l utilisateur d utiliser facilement ces fonctionnalit s La barre d outils JToolBar affiche des boutons JButton qui correspondent aux fonctionnalit s les plus utilis es cf Figure 23 24 Net Object Editeur Graphique de R seaux de Pe Fichier Edition Affichage Dictionnaire Aide De Z AP co Figure 23 Editeur L Editeur g re aussi la palette d outils graphiques cf Figure 24 c est une JDialog celle ci est constitu e de huit boutons JButton sur lesquels se trouvent des ic nes Imagelcon afin de faciliter leur identification Arc de fusion S lection Place Transition Arc Arc inhibiteur Sous R seau Macro Place Figure 24 palette d outils b Information Cette sp cialisation de JDialog permet l utilisateur d afficher des informations relatives l l ment du r seau qui est point par la souris Elle est constitu e de trois JLabel
34. ne pouvant tre fille que d une seule Classe m re Une Classe est compos e d un ensemble fini d attributs ainsi que d un ensemble fini de m thodes Les attributs et les m thodes de ces classes ne sont d finis que sur les types primitifs entier r el bool en cha ne de caract re et num rations Dans la hi rarchie pr existent deux classes BANALISE et GLOBAL CLASS e BANALISE sert uniquement permettre l utilisation comme Jeton d instance de cette Classe les Jetons correspondant sont alors dits banalis s c est dire non tuples d Objets c est dire ceux utilis s dans les RdP simples e GLOBAL CLASS sert uniquement la d finition de fonctions et de variables globales que l utilisateur d cide d utiliser pour la globalit de son r seau 2 Les Jetons et les Objets Tout d abord les Objets ce sont eux qui repr sentent les instances des Classes d finies pr c demment Le Jetons eux sont repr sent s par un multi ensemble non ordonn fini d Objets 3 Place Les Places sont des entit s nomm es du r seau et qui peuvent recevoir des Jetons au sens large c est dire des tuples d Objets Le type des Objets autoris s dans les Jetons potentiels de la Place est indiqu dans celle ci Les Jetons effectifs constitueront le marquage de la Place Le marquage g n ral du r seau sera l ensemble des marquages de ses Places Toute Place est reli e une ou plusieurs Transitions par des Arcs orient s
35. nent pas de Jeton Ces Arcs sp ciaux ne peuvent pas exister en sortie d une Transition de plus leur pr sence seul en entr e d une Transition n a pas de sens Transition non sensibilis e Transitions sensibilis es Figure 5 exemples de sensibilisations Le franchissement de la transition induit le retrait respectivement l ajout de Jetons sont dans les Places amont respectivement aval en fonction de la pond ration des Arc les reliant la transition 2 1 2 Ajout des objets Le mod le de r seaux de Petri pr c dent pr sente une insuffisance au niveau de son pouvoir d expression En effet dans ce mod le les Jetons ne contiennent pas de donn es et ne sont pas diff rentiables jetons dits banalis s Pour palier cette limitation la notion de tuple d objets est venue en remplacement du jeton Des classes d objets sont associ es au r seau ventuellement organis es en hi rarchie il est alors possible de contr ler le type des objets qui participent au marquage d une Place de la m me mani re les Arcs peuvent filtrer les types des objets qui pourront ventuellement franchir une Transition Une tiquette associ e l arc permet de sp cifier le type de jeton type d objets admis par cet arc Ce type de jeton doit bien sur tre admis par le place amont pour chaque place l ensemble des objets jetons admis est sp cifi e Au niveau des transitions les conditions ne peuvent porter que sur les jetons entrants Le
36. on afin d diter supprimer cr er un attribut ou une m thode Bien videmment il est possible de nommer la Classe de choisir sa parente et de choisir la librairie dans laquelle sera sauv e cette Classe Propri t de la Classe Nom IMachine h rite de Aucune iste des Attributs Liste des M thodes tt Cr er Cr er hemin de la librairielEDiversiProjetiEditeurRdPitest lih Parcourir valider Annuler Figure 30 propri t s de la Classe Lorsque l utilisateur choisit de cr er ou d diter une m thode cette fen tre Figure 31 s affiche Elle est compos e de trois boutons JButton et de trois champs JTextField Ces derniers permettent de rentrer le nom la signature et le chemin Propri t de la M thode om de la M thode init ignature de la M thode void 0 ode de la M thode ojetsimachine cc Parcourir Valider Annuler Figure 31 propri t s de la m thode Lorsque l utilisateur choisit de cr er ou d diter un attribut cette fen tre Figure 32 s affiche Il y a un champ JTextField pour entrer le nom de cet attribut une case JCheckBox qui permet de choisir si il s agit d une liste deux boutons radios qui permettent de choisir entre un attribut de type simple ou un attribut de type num r Si Type Simple est s lectionn l utilisateur peut choisir le type parmi ceux qui sont dans la bo te d roulante entier reel string booleen ou un type num r d
37. places concern es e R gles de la fusion des transitions En plus de la fusion des places il est possible de fusionner les transitions La fusion des transitions impose moins de contraintes que celle des places L ensemble des variables port es par les tiquettes des arcs doivent avoir une intersection nulle Si l une ou les deux transitions sont temporis es l intersection des intervalles de temps doit tre non nulle l intervalle de temps d une transition non temporis e est consid r comme tant TO Soit T la fusion de T et T o L ensemble des places amonts respectivement aval de T est l union des ensembles de places amont respectivement aval de T et T2 o La condition port e par T est le ET des conditions des transitions initiales Ate Ts At T1 A Atc T2 o L action port e par Tp est le ET des actions port es par les transitions initiales AUT Aa T1 Ata T2 12 o L intervalle de temps port par T est l intersection des intervalles des transitions initiales Temps Tr Temps T1 N Temps T2 Si l intersection est nulle une erreur est signal e et aucun intervalle n est associ Tf o La priorit de T est la plus haute des priorit s des transitions initiales Piiorite Tf Max Piiorite T1 Piiorite T2 o Le verrou de T est un O entre les verrous des transitions initiales Verrou Tr Verrou T1 V Verrou T2 2 Relatives lInterpr tation Il existe galement des r
38. ransitions et ex cut es lors du tir de la transition Une action dur e non nulle i e non consid rable comme instantan e induit un d lai de franchissement de la transition cela nous ram ne un mod le T temporis Le jeton ne sera d pos dans la place aval uniquement lorsque l action sera termin e Cette repr sentation proche d un mod le T temporis est assimilable un mod le au sein duquel une transition peut tre affin e raffinement de transition par une s quence transition place transition Nous proposons la possibilit de sp cifier l ex cution des actions associ es une transition sous forme de threads i e ex cution en parall le de l ex cution du graphe Notons que la transition concern e est assimil e une transition temporis e Par ailleurs il est possible d attribuer des niveaux de priorit aux transitions Ces niveaux 2 de priorit ne sont pris en compte que dans le cadre de la r solution de conflit cf RRO21821 2 La Structuration e Les sous r seaux ont pour but de faciliter la d composition et de fait la r utilisabilit d un r seau de Petri Il est ainsi possible de les composer afin de donner naissance un mod le composite Les moyens de composition utilisent les arcs de fusion et ou les places de communication cf ci dessous e Les arcs de fusion permettent comme leur nom l indique de fusionner deux places de communications i e d entr e ou de sortie ou deu
39. rimer Permet d imprimer le r seau courant sous sa forme graphique ou d image XML Couper Coupe la s lection courante Copier Copie la s lection courante Coller Colle le contenu de notre presse papier en haut gauche du r seau Supprimer Supprime la s lection Annuler Annule la derni re action effectu e sur le r seau 17 a H d H g r R tablir R tablit une action annul e auparavant Lx Fermer Ferme le r seau courant b Afficheur Afficheur Fen tre contenant une Page Page El ment affichant le r seau Barre de statut Figure 15 sch ma de l afficheur Cette fen tre permet comme son nom l indique d afficher un r seau via une Page C est cette fen tre qui g re les v nements claviers et souris ainsi que les menus contextuels Pour des raisons de commodit s la Page est contenue dans une entit qui permet de faire d filer le r seau dans le cas o celui ci serait plus grand que l Afficheur 1 Page Afficheur Affichage du r seau Page Dessin du r seau Barre de statut Figure 16 sch ma de la page C est la partie la plus importante d un Afficheur elle contient le r seau cr e les l ments de celui ci les listes g rant l annulation r tablissement d une action En fait elle g re quasiment tout ce qui est relatif au r seau lui m me sauf les propri t s des l ments En r sum elle g re e La cr ation des l ments graphiques du r s
40. s Transitions etc Elle permet d imprimer la forme graphique du r seau elle g re les fonctionnalit s de copier couper coller supprimer f ModifListe et SelectListe Ces deux classes sont beaucoup utilis es dans l dition des propri t s des l ments du r seau SelectListe Figure 28 permet de choisir un ou plusieurs composants dans une liste lt entier enum gt Valider Annuler Figure 28 SelectListe ModifListe Figure 29 permet de modifier le contenu d une liste la colonne de gauche affiche les valeurs disponibles et la colonne de droite affiche la liste que l on dite cliquer sur gt pour ajouter l l ment s lectionn gauche dans la liste de droite cliquer sur lt pour supprimer un l ment de la liste de droite D finition d un n uplet BANALISE entier entierL enumL valider Annuler Figure 29 ModifListe g Propriete La classe Propriete est l une des classes les plus importantes de l diteur car c est elle qui g re toutes les propri t s des composants d un r seau Elle v rifie aussi que les donn es entr es par l utilisateur sont valides surtout en ce qui concerne les Transitions Elle une extension de JDialog afin de faciliter sa description nous allons d tailler les propri t s de chaque composant 27 1 Classes La fen tre des propri t s des Classes Figure 30 est compos e de listes JList des m thodes et attributs de boutons JButt
41. s actions peuvent elles porter sur les jetons entrants provenant des places amont et sortants destin s aux places aval Les transitions supportent les conditions ou garde d volution du graphe expression bool enne ainsi que les actions g n rer lors du franchissement A l heure actuelle les RAPO ne sont quasiment utilis s qu en mod lisation en effet le passage l impl mentation se fait la plupart du temps manuellement Ceci est tr s co teux en temps et peut aussi tre g n rateur d erreurs 2 1 3 Le mod le RdPO Valette00 Un r seau de Petri est constitu de e Un ensemble fini P de Places e Un ensemble fini T de Transitions e Un ensemble fini Cass de Classes ventuellement organis en une hi rarchie et d finissant pour chaque Classe un ensemble d attributs e Un ensemble de variables V typ es par Css e Une fonction place pr c dente appel e Pre qui chaque Arc d entr e d une Transition fait correspondre une somme formelle de n uplets d l ments de V e Une fonction place suivante appel e Post qui chaque Arc de sortie d une Transition fait correspondre une somme formelle de n uplets d l ments de V e Une application A qui chaque Transition associe un ensemble de conditions qui font intervenir les variables formelles associ es aux arcs d entr e et les attributs des classes correspondantes e Une application A qui chaque Transition associe un ensemble d actions qui font interven
42. s r seaux Cette image XML sera d pos e terme sur un n ud mat riel via un environnement de d ploiement g rant la mise en relation de tous ces composants cf Passama02 Editeur de RdPO Nouveaul du R seau Utilis pour l assemblage des modules environnement de description du RdPO d ploiement description du marquage description des classes description de l interface Figure 2 fonctionnement de l diteur Une fois les images XML des r seaux d ploy es sur les n uds mat riels celles ci seront compil es en langage C C Ceci fait les sources C C r sultant de cette g n ration seront regroup es avec les sources C C du Joueur de r seau de Petri Le tout sera compil en langage machine par un compilateur adapt au syst me d exploitation OS du n ud mat riel cible cf Figure 3 Sources Joueur e classes RdPO Joueur e classes Joueur OS d pendant cr ateur Code Machine Composant Image XML R seau Joueur du R seau OS d pendant OS d pendant parseur XML g n rateur sources C compilateur C OS d pendant Figure 3 cr ation d un composant 2 Contexte Les r seaux de Petri sont g n ralement utilis s pour mod liser des syst mes qui sont asynchrones distribu s non d terministes et ou stochastiques Les Places repr sentent les tats possibles du syst me dont l activit repose sur l volution du marquage distribution des jetons sur les pl
43. u Ouvrir Enregistrer Imprimer Ce menu a en plus des actions sp cifiques aux r seaux de Petri comme Importer Exporter un mod le g n rique G n rer une image XML du r seau Compiler un r seau en C cette fonctionnalit est appell e dispara tre dans le futur et g rer les librairies de Classes Edition Cette partie permet de Couper Copier Coller Supprimer un objet s lectionn Elle permet aussi d Annuler o de R tablir une action Affichage Ce menu permet d afficher ou de cacher les fen tres de l interface comme la GraphicBar Palette d outils la fen tre d information g n rale ou celle sp cifique aux classes Dans un r seau il permet aussi d afficher directement des informations sur la Page comme le noms des objets le marquage sur les places ainsi que les images miniatures des sous r seaux Dictionnaire Ce menu donne la possibilit de modifier et de cr er des l ments du r seau Aide Classiquement ce menu donne acc s l aide du logiciel au format HTML ainsi qu a des informations le concernant 2 ToolBar MenuBar Barre de Menu ToolBar Barre d outils Et d el KKAE eh BAX C Q Figure 14 sch ma de la barre d outils Nouveau Permet d ouvrir une nouvelle fen tre avec un r seau vide Ouvrir Permet d ouvrir un r seau de Petri pr c demment enregistr Enregistrer Enregistre le r seau courant dans un fichier G n rer G n re une image XML du r seau Imp
44. x transitions entre elles Fusion des Places m T S 3 Pi P2 P T2 Ta T we Fusion des Transitions Pi P3 Pi P3 P2 P4 P2 P Figure 7 Fusion des N uds d un r seau e La communication Il existe trois types de places P Interne Entr e Sortie Cette distinction permet d exprimer explicitement les places d interactions entre mod les qu ils soient ex cut s sur un m me joueur au sens processus ou sur des joueurs diff rents sur un m me processeur ou non connect s par un r seau de communication Une place est par d faut une place interne il s agit d un tat interne du mod le Une place d entr e est une place de r ception il s agit d une place dans laquelle est re u un message Une place de sortie est une place d mission il s agit d une place dans laquelle est d pos un message mettre Ces deux derniers types de places ont la possibilit d tre connect entre eux via des arcs de fusion cf ci dessus 3 Les Marques du R seau et les Variables Globales Il est possible d diter deux types de mod les voire de les coupler Ces mod les sont les r seaux de Petri pond r s et les r seaux de Petri Objets tous deux pouvant tre temporels Pour les r seaux de Petri Objets les marques sont des objets dont les classes sont d finies par l utilisateur La hi rarchisation des classes et donc l h ritage le polymorphisme etc est possible Sur ce mod le les arcs permettent de d si

Download Pdf Manuals

image

Related Search

Related Contents

WAGAN Brite‑Nite 3W Sport  Linksys WRK54G (EU/LA) User's Manual  EnGenius EOC2611P  KitchenAid KFC3511 3.5 Cup Food Chopper  Invacare CG8000 User's Manual  Goclever Chronos Eco  LIBÉRATION_BONDY BLOG Le Congo en beauté à la - Magnin-A  Hama VM-28HDMI  HERTZ by Electromedia Car Speaker HX 200 User's Manual  Trattamento al sale per piscine  

Copyright © All rights reserved.
Failed to retrieve file