Sie sind auf Seite 1von 8

Ministre de lEnseignement Suprieur et de la recherche Scientifique Ecole Suprieur dInformatique Ecole Doctorale Sciences et Technologies de l'Information et de la Communication Option

: IRM

Une smantique ASM des flux de jeton pour les diagrammes dactivits

Module : Techniques de modlisations et de vrifications Charg du module : Meme T.Tebibel

Ralis par : YAHIA CHERIF Zine ddine

Promotion : 2010/2011

Liste de figures
Fig. 1 : Diagramme d'activit.5 Fig. 2: Problmes avec les rgions d'activit interruptible.................7

Sommaire
1. 2. 3. 4. INTRODUCTION .............................................................................................................. 4 Problmatique ..................................................................................................................... 4 Contexte .............................................................................................................................. 4 Notions de base ................................................................................................................... 4 4.1. 4.2. 5. 6. 7. 8. 9. Diagrammes d'activit ................................................................................................. 4 Machine detat ............................................................................................................. 5

Calcul des transitions .......................................................................................................... 6 Calcul des offres de jetons .................................................................................................. 6 Slection doffres de jetons ................................................................................................. 7 Rgions activit interruptible .............................................................................................. 7 Rsolution des problmes d'UML ....................................................................................... 8

1. INTRODUCTION
Le langage de modlisation unifi (UML) est largement utilis des fins de spcification et de documentation dans le processus de dveloppement logiciel. Le modle des diagrammes d'activit UML comportent diffrent aspects du systme logiciel, notamment le contrle et les flux de donnes. Pour fournir un soutien au-del de l'outil de dessin d'assistance, et d'utiliser des diagrammes d'activits de manire efficace, il est ncessaire de comprendre exactement leur signification.

2. Problmatique
Les spcifications dUML pour dfinir des diagrammes d'activits avec plus de prcisions, sont insuffisantes pour plusieurs raisons. Premirement, elles sont vagues, laissant beaucoup d'espace pour l'interprtation. Deuximement, il est informel, donc un grand cart doit tre combl jusqu' ce qu'il puisse tre utilement appliqu pour l'excution du modle et le raisonnement automatis. Troisimement, il contient des exigences invraisemblables, par exemple, pour les rgions d'activit interruptible qui rduisent leurs utilisations. Lauteur a propos une solution ces lacunes en dfinissant la smantique des diagrammes d'activits l'aide de machines abstraites dtat (ASM). La spcification est prcise et par consquent, elle permet de comprendre la signification d'un modle. Elle est formelle et peut donc servir de fondement la mise en uvre d'outils. Enfin, elle contribue garantir que le comportement spcifi rpond l'intuition du modlisateur.

3. Contexte
UML facilite la modlisation de contrle et de flux de donnes au moyen de diagrammes d'activit, comprenant une multitude de concepts. Plusieurs niveaux sont dfinis. Ce document traite essentiellement le niveau intermdiaire qui inclut les nuds objet, les flux simultans avec des gardes, et les dcisions. Et prendre les rgions d'activit interruptible comme un exemple d'une fonctionnalit trs utile d'avoir une smantique vague.

4. Notions de base
4.1. Diagrammes d'activit

Les lments fondamentaux de diagrammes d'activits sont des actions qui sont relis par des bords pour indiquer le contrle et les flux de donnes. Actions de spcifier des transformations sur l'tat du systme qui ne sont pas encore dcomposs dans le schma de donn. Ils sont soit dpendants de l'implmentation ou plus spcifiques, par exemple, utilis pour envoyer et recevoir des signaux ou d'invoquer le comportement spcifi dans d'autres diagrammes. le terme plus gnral action est utilis qui est une artes reliant les actions. Elles peuvent passer par des nuds de contrle qui coordonnent les flux dans un diagramme 4

d'activit. Un nud de dcision choisit entre diffrents bords sortants et le nud correspondant et de fusionner plusieurs flux unit indpendant. D'autre part, un nud de fourche se spare un flux en flux simultans et le nud de jointure correspondant synchronise tous les flux entrants. Par ailleurs, les flux peuvent provenir de nuds initiaux et se terminent dans les nuds finaux. Une rgion d'activit interruptible est un sous-ensemble de nuds et d'artes soutenant la rsiliation de parties d'un diagramme d'activit.

Fig.1. Diagramme d'activit

Cet exemple peut s'expliquer au moins en termes de jetons. Lors du dmarrage du diagramme d'activit, les jetons sont disponibles sur le C et D nuds, et sur la E1 bord. Il existe trois situations diffrentes, selon la valeur de l'attribut x: - X <0: Le jeton1 peut permettre une action A et le jetons 3 peut passer au tampon E. Le nud de jointure ne doit pas tre travers. - X = 0: Seulement le jeton 3 peu se dplacer E. - X> 0: Le jeton 2 peut se dplacer la broche d'entre de F, permettant l'action B. Indpendamment, le jeton 3 peut se dplacer soit F ou E, mais pas dans les deux nuds.

4.2.

Machine detat

ASM base peuvent tre considrs comme des pseudo-code sur des donnes abstraites, et en effet nous les utilisons comme un moyen commode pour dcrire les calculs. Un ASM comprend des rgles de transition qui fonctionnent sur un tat compos de fonctions dfinies sur un ensemble de base. La rgle mise jour f (s1, sn...): = T modifie la valeur de f en (s1, sn...) t. En gnral, les rgles de transition de plusieurs s'excutent en parallle, exigeant que les mises jour individuelles n'entrent pas en conflit les uns les autres. 5

5. Calcul des transitions


La smantique des diagrammes d'activits est spcifie en termes de jetons .la regle rgle de transition est appel chaque fois que des jetons sont disponibles a des actions, nuds initiaux, ou nuds d'objet. Selon la spcification UML, ces nuds offrent des jetons sur leurs bords sortants. Les jetons peuvent tre rejets par leurs gardes, car les bords son valuer faux, ou par les nuds. Les offres de jetons peuvent se dplacer, si elles sont acceptes par tous les bords intermdiaires et des nuds de contrle, ainsi que leurs nuds de destination. Ces derniers comprennent les actions, les nuds finaux, et les nuds dobjet. Le principe de parcourir la fin exige que l'ensemble du chemin du nud d'origine la destination est parcouru la fois. Le but dfinitif de la rgle est de dterminer quelles sont les jetons dplacs, qui est le dclencheurs, les destinations, et d'effectuer la transition. Le fonctionnement exact de la propagation de l'offre symbolique et leur slection des actions de destination et nuds d'objet, cependant, n'est ni formellement dfinies, ni suffisamment discuts dans la spcification. Notre proposition pour le calcul de la transition et l'excution se compose de la rgle suivante (ASM principal) qui est excut plusieurs reprises aussi longtemps que des jetons de contrle ou de donnes sont disponibles: InitialiseFlowsForControlFlowSources InitialiseFlowsForObjectFlowSources seq PropagateFlowInformation seq SelectTokenOffers seq RemoveFlowsInInterruptedRegions seq ActivateAcceptEventActions seq ExecuteTransition Les macros InitialiseFlows et PropagateFlowInformation rpandent les offre symbolique partir des nuds source, o le contrle effectif et les donnes des jetons est rinitialis, travers le graphe d'activit. L'abandon de l'activit des rgions interruptible peut empcher les jetons de la traverse, la rgle de RemoveFlowsInInterruptedRegions supprime ces slections. Cas problmatiques inconsidr par la spcification UML, y compris la manutention des rgions imbriques d'activit interruptible. Accepter les nuds d'action vnement sans artes entrantes, contenue dans les rgions d'activit interruptible, sont initialiss par ActivateAcceptEventActions. L'excution relle de la traverse symbolique et la cessation des actions dans les rgions interrompue est effectue par ExecuteTransition.

6. Calcul des offres de jetons


La distribution des offres de jeton est ralise en deux tapes. Premirement, de nouvelles offres jeton sont crs pour les jetons de repos sur les bords sortants d'actions ou de noeuds initiaux (tant des sources de flux de contrle), ou au niveau des nuds objet (tant des sources de flux de l'objet). Deuximement, le jeton offre sont propages travers le graphe activit vers les noeuds de destination, savoir les actions, les nuds d'objet, et les nuds finaux.

7. Slection doffres de jetons


Une fois le jeton offre sont calculs, nous slectionnons des sous-ensembles d'entre eux qui participer la transition planifie. La transition peut conduire, par exemple, le dbut d'une nouvelle action. D'autres possibilits sont le dplacement des jetons des nuds de tampon central, et les nuds finaux. La spcification UML, cependant, n'indique pas ce qu'il faut faire si il ya des offres assez symbolique pour effectuer plusieurs de ces oprations. Nous utilisons l'itration ASM et le choix non-dterministe construit adhrer la spcification. L'itration peut tre arrt en choisissant n = skipSelection tout moment. Sinon, nous slectionnons offre jeton en fonction du type de nud.

8. Rgions activit interruptible


Aprs que les offres jeton ont t slectionns pour les nuds de destination, nous dterminer quelles rgions d'activit interruptible sont avorts et liminer les flux qui sont en conflit avec ces rgions. Si l'une des offres slectionnes passe par un point d'interruption tous les jetons dans la rgion interrompue doivent tre enlevs, et par consquent toutes les offres de ces jetons doivent tre enleves aussi. La figure 2 montre l'offre 1 qui provient d'un noeud en dehors de la rgion, et l'offre 2 qui rentre dans la rgion aprs l'avoir quitt. soit le maintien ou la destruction des jetons peuvent tre utiles, notre algorithme peut tre adapt ces deux alternatives. cette fin, nous introduisons la configuration de la smantique en utilisant les balises UML, un mcanisme d'extension standard de l'UML. Ce mcanisme a dj t appliqu avec succs la configuration et la manipulation du signal. Dans la Fig. 2, la balise est utilise ignoreFlowIntoInterruptedRegion est interrog dans la rgle suivante ASM.

Fig.2. Problmes avec les rgions d'activit interruptible

9. Rsolution des problmes d'UML


Pour faire face des questions ouvertes qui peuvent tre dcides par le modlisateur, nous introduisons les balises UML qui sont interrogs par les rgles de l'EAM. Si la spcification devrait avoir dcid, par exemple, concernant la non-exclusivit des gardes sur les bords en comptition, nous proposons une dcision. Consquences non intuitif des exigences de la spcification (par exemple, des tampons fourche) sont discutes en dtail, galement en fournissant des implmentations alternatives . Les erreurs videntes, par exemple, pour les rgions imbriques d'activit interruptible, sont corriges.

Conclusion
Nous formalisons la smantique des flux de jetons dans les diagrammes d'activit dUML 2 en termes de rgles de l'ASM. Les rgles qui en rsultent peuvent tre retrace aux besoins prsents ou absents de la spcification UML. La partie prsente dans cet article est intgr dans les rgles pour moteurs asynchrones multi-agents ASM prcisant la gestion des signaux et des excutions d'activit et d'action . La formalisation est de haut niveau suffisante pour rvler des problmatiques avec la spcification UML. D'autre part, il peut tre excut directement en utilisant le compilateur ASML. Par ailleurs, il est apte servir de base l'appui d'outils, par exemple, pour le model checking et de vrification . Un environnement intgr a t mis en uvre, soutenant la simulation et de dbogage des diagrammes d'activits.

Das könnte Ihnen auch gefallen