Modelado de Software con UML2.0 - Universidad Autónoma de ...
Modelado de Software con UML2.0 - Universidad Autónoma de ...
Modelado de Software con UML2.0 - Universidad Autónoma de ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Máquinas q <strong>de</strong> Estados<br />
Ejemplo. Herramienta <strong>de</strong> Dibujo (iv)<br />
Mo<strong>de</strong>s<br />
mo<strong>de</strong>Select(Insert)/<br />
Canvas.Insert<br />
mo<strong>de</strong>Select(Move)/<br />
Canvas.Move<br />
Insert<br />
mo<strong>de</strong>Select(Delete)/<br />
Canvas.Delete<br />
mo<strong>de</strong>Select(Insert)/<br />
Canvas.Insert<br />
Move<br />
mo<strong>de</strong>Select(Delete)/ ( )/<br />
Canvas.Delete<br />
Delete<br />
mo<strong>de</strong>Select(Move)/<br />
CCanvas.Move M<br />
Diagramas <strong>de</strong> Actividad<br />
Refinamiento <strong>de</strong> los diagramas <strong>de</strong> estados estados.<br />
Los estados representan p la ejecución j <strong>de</strong> acciones o<br />
subactivida<strong>de</strong>s<br />
Las transiciones son disparadas p cuando se completan p estas<br />
acciones o subactivida<strong>de</strong>s<br />
Semántica basada en tokens.<br />
Flujos dirigidos por procesamiento interno (en los<br />
diagramas <strong>de</strong> estados normales son dirigidos por eventos<br />
externos).<br />
Semántica basada en Re<strong>de</strong>s <strong>de</strong> Petri. No obstante no se<br />
107<br />
da una transformación a Re<strong>de</strong>s <strong>de</strong> Petri.<br />
105<br />
Canvas<br />
onDrawingMouse1Press(x,y)<br />
Idle<br />
move<br />
insert<br />
Máquinas <strong>de</strong> Estados<br />
Ejemplo Ejemplo. Herramienta <strong>de</strong> Dibujo (v)<br />
Idle<br />
[Shapes in Circle]/<br />
Insertingg<br />
ddrawCircle(x,y) Ci l ( )<br />
[Shapes in Rectangle]/<br />
drawRectangle(x,y)<br />
[Shapes in Triangle]/<br />
drawTriangle(x,y)<br />
C<br />
Moving<br />
<strong>de</strong>lete<br />
insert<br />
Idle<br />
Deleting<br />
onDrawingMouse1Press(x,y)/<br />
movingObject=find_closest(x,y)<br />
i Obj t fi d l t( ) onDrawingMouse1Click(x,y)/<br />
D i M 1Cli k( )/<br />
find_closest(x,y).<strong>de</strong>l()<br />
onDrawingMouse1Release(x,y)<br />
Moving<br />
onDrawingMouse1Motion(x,y)/<br />
oldCoords=coords(movingObject)<br />
move(movingObject, distance(oldCoords, (x,y)))<br />
Diagramas g <strong>de</strong> Actividad<br />
Ejemplo<br />
[found<br />
coffee]<br />
Find<br />
Beverage g<br />
Put Coffee<br />
Put Filter<br />
in Filter in Machine<br />
Add Water<br />
to Reservoir<br />
move<br />
Turn on<br />
Machine<br />
Brew<br />
coffee<br />
<strong>de</strong>lete<br />
106<br />
/ coffeePot.turnOn<br />
[no coffee]<br />
Get<br />
Cups<br />
light goes out<br />
Pour<br />
Coffee<br />
[found cola] Get cans<br />
of cola<br />
[no cola]<br />
Drink<br />
108