Une infrastructure ferroviaire touristique est un circuit fermé de 4 terminaux (
Terminal
). Sur ce circuit fermé circulent des voitures (Railcar
), 3 par exemple. Le sens de circulation des voitures est figé.Les données sont organisées comme suit :
Terminal
terminal clockwise_next counterclockwise_next T1 T2 T4 T2 T3 T1 T3 T4 T2 T4 T1 T3
Railcar
railcar origin end is_clockwise R1 T1 T2 true R2 T1 T2 true R3 T3 T2 false Exercise
- UML Class Diagram
- UML Object Diagram in consistency with UML Class Diagram
Les voitures sont signalées à une distance 100 puis une distance 80 (
R2
s'approche deT2
dans la figure) puis, le cas échéant, stoppées sur la voie si la plateforme du terminal est déjà occupée par une autre voiture (embarquement et/ou débarquement de passagers).La plateforme ne peut pas accueillir 2 voitures qui seraient dans des sens différents. Les voitures sont donc en concurrence pour l'accès à la plateforme du terminal qu'elles approchent même si elles roulent en sens opposé. Par exemple,
R2
puisR3
puisR1
doivent accéder séquentiellement à la plateforme deT2
.Le signal
alert100
est envoyé par un centre de contrôle à la voiture en approche ainsi qu'à son terminal d'approche. Le signalalert80
n'est envoyé par le centre de contrôle qu'à la voiture en approche. S'ensuit une interaction entre la voiture en approche et son terminal d'approche.Une voiture qui circule est considérée dans l'état
Cruising
. Suit l'étatArriving
à une distance inférieure à 100 du terminal d'approche puis l'étatStopped at terminal
pour l'embarquement et/ou le débarquement de passagers. Les phasesWait for alert80
(la voiture est à moins de 100 et plus de 80 du terminal d'approche),Wait for terminal order
(la voiture est à moins de 80 du terminal d'approche) etStopped on railway
sont incluses dans le processusArriving
.Les signaux envoyés par son terminal d'approche (
end
) sontstop
(s'arrêter sur la voie),go
(quitter le terminal après embarquement et/ou débarquement de passagers),go on
(repartir après stoppée sur la voie),terminal stopping
(s'arrêter au terminal) etterminal crossing
(ne pas s'arrêter au terminal).Dans le UML Class Diagram, un attribut
status
est introduit dansRailcar
ainsi qu'un type énuméré idoine conforme au UML State Machine Diagram en tant que “behavior” deRailcar
. De plus, le UML Class Diagram est rendu conforme au UML Sequence Diagram via la réception des événements.Exercise (from Enterprise Architect project ver. 16.x )
Design
⇝Manage -Package-
⇝Update Status… -Package-
⤳Railcar_control_system
asValidated
Design
⇝Manage -Package-
⇝Manage Baselines… -Baselines-
or-right click-
(package within browser) ⇝Package Control
⇝Package Baselines…
- Create baseline Lot 1
- Lot 1 ⇝
Export File
⤳Lot_1.xml
Settings
⇝Auditing -Model-
⇝Auditing Settings
⇝Configure
⇝Enable Auditing
⤳ check
Les passagers (touristes) dans les voitures disposent d'un bouton « STOP ». Une fois appuyé (et conséquemment illuminé), la voiture doit procéder à un arrêt à son terminal d'approche (
end
) pour débarquement de passagers. L'appui du bouton est pour la voiture un événement (stop required
) qu'elle doit traiter (réceptionner) en toutes circonstances.Exercise
- Etendre le UML State Machine Diagram “behavior” de
Railcar
(Show Parameter Detail:
⤳Name Only
) et le UML Class Diagram comme ci-dessous. Ne pas oublier l'envoi de l'événementapproaching
.Exercise
Design
⇝Manage -Package-
⇝Update Status… -Package-
⤳Railcar_control_system
asApproved
- Create baseline Lot 2
- Lot 2 ⇝
Export File
⤳Lot_2.xml
- Lot 1 ⤳
Delete Selected
- Snapshot of baseline versus model ⤳
Compare Model to File
(Lot_1.xml
)- Recreation of baseline Lot 1 ⤳
Import File
What's added (use purple Up and Down arrows) in
Railcar_control_system
package against Lot 1? ⤳ e.g., 2 associations (in green)What's suppressed (use purple Up and Down arrows) in
Railcar_control_system
package against Lot 1? ⤳ e.g., 1 note (in red)Auditing
-right click-
(Terminal
element within browser) ⇝View Audit History
Exercise
-left click-
(Lot 1) ⇝Restore to Baseline
-left click-
(Lot 2) ⇝Show Differences
⇝Merge to Model : Merge change from baseline to Model
⤳ piece by piece
Les passagers (touristes) dans les terminaux disposent (aussi) d'un bouton « STOP ». Une fois appuyé (et conséquemment illuminé), le terminal doit signaler à la voiture pour laquelle il est son terminal d'approche de procéder à un arrêt pour embarquement de passagers.
Principle
State machines are attached to classes as follows:
-right click-
(class within browser) ⇝Add
⇝State Machine
Executable StateMachine Artifact ☛
-left click-
(connector within diagram) ⇝Advanced
⇝Set Connector Type…
⤳ map connector to association as “Classifier”Exercise