-
-
Notifications
You must be signed in to change notification settings - Fork 197
TrafficLight
Kevin Brightwell edited this page Aug 26, 2015
·
1 revision
namespace generatedCode;
class Intersection_timerDriven_noPedestrian {
Integer directionOneGoTime;
Integer directionTwoGoTime;
Integer yellowTime;
direction_One_Light;
direction_Two_Light;
Integer P1GoTime;
Integer P2GoTime;
flow {
FourWayStop
{
entry / {direction_One_Light = "FlashingRed"; direction_Two_Light = "FlashingRed"; }
initiateRegularOperation -> DirectionOneGo;
}
DirectionOneGo
{
entry / {directionOneLight = directionOneLight.Green; directionTwoLight = directionTwoLight.Red; }
Wait_DirectionOneGo -> DirectionOneHalting;
detectMalfunction_DirectionOneGo -> FourWayStop;
}
DirectionOneHalting
{
entry / {directionOneLight = directionOneLight.Yellow; }
WaitDirectionOneHalting -> DirectionTwoGo;
detectMalfunction_DirectionOneaHalting -> FourWayStop;
}
DirectionTwoGo
{
entry / {directionOneLight = directionOneLight.Red; directionTwoLight = directionTwoLight.Green; }
WaitDirectionTwoGo -> DirectionTwoHalting;
detectMalfunction_DirectionTwoGo -> FourWayStop;
}
DirectionTwoHalting
{
entry / {directionTwoLight = directionTwoLight.Yellow; }
Wait_DirectionTwoGo -> DirectionOneGo;
detectMalfunction_DirectionTwoHalting -> FourWayStop;
}
}
pedestrianFlow
{
FourWayStop
{
entry / {P1Light = P1Light.DoNotWalk; P2Light = P2Light.DoNotWalk;}
initiateRegularOperation_Pedestrian -> P2Go;
}
P1Go
{
entry / {P1Light = P1Light.Walk;}
Wait_P1GO -> P1Halting;
detectMalfunction_P1GO -> FourWayStop;
}
P1halting
{
entry / {P1Light = P1Light.FlashingP1Light;}
Wait_P1Halting -> P2Go;
detectMalfunction_P1Halting -> FourWayStop;
}
P2Go
{
entry / {P2Light = P2Light.Walk;}
Wait_P2GO -> P2Halting;
detectMalfunction_P2GO -> FourWayStop;
}
P2Halting
{
entry / {P2Light = P2Light.Flashing;}
Wait_P2Halting -> P1Go;
detectMalfunction_P2Halting -> FourWayStop;
}
}
directionOneLight
{
FlashingRed {}
Red {}
Yellow {}
Green {}
}
directionTwoLight
{
FlashingRed {}
Red {}
Yellow {}
Green {}
}
P1Light
{
DoNotWalk {}
Flashing {}
Walk {}
}
P2Light
{
DoNotWalk {}
Flashing {}
Walk {}
}
}
- Wiki Home
- FAQ Frequently asked questions
- Examples
- Presentations
- PhilosophyAndVision
- Best practices for using Umple
- Publications and theses
- Tutorials
- Installing Eclipse plugin