Vous êtes sur la page 1sur 11

UML/SysML dans AUTOMGEN

2010-2011 IRAI

Ma r ch e

afte r(2 s)

Ava nce r

Co llisi on Re cule r Vid e afte r

(4s )

Tou rne r

Sommaire
Gnralits .........................................................................................................................................5 Editeur UML/SysML ............................................................................................................................5 Cration des programmes. ..............................................................................................................6 Reprsentation ...............................................................................................................................6 Les lments ...............................................................................................................................6 Etat du programme pendant lexcution ................................................................................... 10 Exemple de programme .................................................................................................................... 11

Gnralits
Ce manuel pour but dexpliquer lutilisation dUML et SysML intgr AUTOMGEN. Ceci permet la cration de programmes sous forme de reprsentation UML/SysML dans le but de gnrer du code. Ceci est utilisable partir de la version 8.019 dAUTOMGEN. Les droits pour le pack UML/SysML doivent tre prsents sur la licence pour pouvoir utiliser cette fonctionnalit. La premire implmentation permet dutiliser les diagrammes dactivits. Les autres formes de diagrammes seront ajoutes progressivement. UML/SysML est vu comme un langage supplmentaire dans AUTOMGEN : lensemble des post-processeurs est utilisable, lensemble des fonctionnalits dAUTOMGEN reste utilisable en complment des folios utilisant UML/SysML.

Editeur UML/SysML
La cration des programmes est ralis sur les folios AUTOMSIM dAUTOMGEN. Lditeur se prsente sous la forme suivante :

Cration des programmes.


Saisissez les lments sur la partie gauche de lcran et dplacez-les sur la page. Vous pouvez ouvrir un assistant en cliquant avec le bouton droit de la souris sur la page et en choisissant Ajouter un objet . Pour documenter les lments, double cliquez dessus (ou slectionnez-les, puis cliquez dessus avec le bouton droit de la souris et choisissez Proprits ), la bote de dialogue des proprits de lobjet souvre alors. Les lments peuvent tre dplacs et redimensionns (saisir un des carrs affichs autour des lments lorsquils sont slectionns). Des pastilles colores montrent les connexions des lments. Les lments peuvent tre placs pour que les pastilles concident, des liaisons peuvent galement tre cres en cliquant sur les pastilles (le curseur affiche une forme de cible) puis en cliquant sur le chemin o doit tre trac la liaison et en finissant par un clic sur la pastille de destination. Seules les pastilles de mmes couleurs peuvent tre relies.

Reprsentation
La reprsentation utilise est celle dUML/SysML. Cette notice ne dtaille pas les rgles dutilisation de la norme UML/SysML, merci de vous reportez la norme o des manuels spcialiss si vous souhaitez apprendre les concepts dUML/SysML. Les lments

Cet lment marque le dbut du programme. Il devrait y avoir au moins un lment Etat initial dans un programme. Cet lment est actif au dmarrage du programme

Cet lment marque la fin du programme. Cet lment peut ne pas tre utilis si le programme ne doit jamais se terminer.

Cet lment est une activit.

Voici la bote de dialogue des proprits dune activit :

La zone contenu peut contenir du code excuter. La zone Entry peut contenir du code qui sera excut une fois sur activation de lactivit. La zone Exit peut contenir du code qui sera excut une fois sur dsactivation de lactivit. La zone Interne peut contenir du code qui sera excut de faon conditionnelle. La syntaxe utiliser pour ces lments est celle du langage littral ST dcrite dans le manuel dAUTOMGEN8. Pour rpondre la norme UML SysML, la syntaxe do/action peut tre utilise. La zone Texte affich peut contenir un texte qui sera affich la place du code. La zone Titre peut contenir un texte qui sera affich comme titre de lactivit.

Cet lment est une transition. La syntaxe utiliser est celle dun test du langage ST : une expression telle quon peut lcrire dans un test IF du langage littral ST. Les tests de fronts sont raliss avec les oprateurs RE et FE. Par exemple :
7

RE(%i5) (* front montant de lentre 5 *) FE(%i8) (* front descendant sur lentre 8 *) /%i2 (* complment de lentre 2 *)

Pour rpondre la norme la norme UML SysML : des crochets peuvent tre utiliss pour encadrer le test, le test peut tre encadr par when() , le test peut tre after(dure) , par exemple : after(10s) .

Si la zone Contenu est vide, la transition est toujours passante. Ici aussi la zone texte permet de substituer un texte pour laffichage sur la page

Cet lment reprsente une dcision. Les transitions horizontales permettent de spcifier les tests. Le contenu dune des 2 transitions peut tre document avec le mot cl [else] .

Exemple :

_compteur_:=_compteur_+1;

compteur>100

[else]

Cet lment est une fusion, les flux de contrle provenant des deux transitions horizontales fusionnent.

Cet lment est une ouverture de synchronisation, le flux de contrle provenant de la transition du haut est communiqu simultanment aux deux transitions du bas.

Cet lment est une fermeture de synchronisation. Le flux de contrle doit arriver sur les deux transitions du haut pour tre transmis la transition du bas.

Cet lment reprsente une attente. La dure de lattente est dfinir dans ses proprits.

Cet lment reprsente ltat History (voir la norme UML SysML pour plus dinformations).Excution Etat du programme pendant lexcution Pendant lexcution, les tats des lments sont affichs (lments actifs en rouge, indication False/True pour les transitions) en dynamique dans lditeur. Les dures en cours associes aux tests lis au temps sont galement affiches.

Exemple :

10

Exemple de programme

[Entry]/%q0:=1; [Exit]/%q0:=0;

after(1s)

[Entry]/%q1:=1; [Exit]/%q1:=0;

after(2s)

Ce programme ralise un clignotant, il peut, par exemple, tre compil et tlcharg sur un automate programmable.

11