diff options
author | Thomas Schuetz | 2012-10-15 22:08:18 +0000 |
---|---|---|
committer | Thomas Schuetz | 2012-10-15 22:08:18 +0000 |
commit | 4414f03679874220a23c1de838238f5bed933bc7 (patch) | |
tree | 8df20acfca90270425aa0a17149608a91e193674 /examples | |
parent | 744ba36ab8efd09b3218cd40e864449d380c8ed0 (diff) | |
download | org.eclipse.etrice-4414f03679874220a23c1de838238f5bed933bc7.tar.gz org.eclipse.etrice-4414f03679874220a23c1de838238f5bed933bc7.tar.xz org.eclipse.etrice-4414f03679874220a23c1de838238f5bed933bc7.zip |
[tutorials.simulators.trafficlight] made traffic light more robust -
can handle disconnect and reconnect now
Diffstat (limited to 'examples')
8 files changed, 494 insertions, 638 deletions
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Async.seq b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Async.seq index 98f564edd..c4c82f467 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Async.seq +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Async.seq @@ -1,430 +1,241 @@ -#generated MSC for Trace2UML - /SSTraffic >-- /SSTraffic/application executeInitialTransition - /SSTraffic >-- /SSTraffic/application/light1 executeInitialTransition - /SSTraffic >-- /SSTraffic/application/light1/trafficLightSocket executeInitialTransition - /SSTraffic >-- /SSTraffic/application/light2 executeInitialTransition - /SSTraffic >-- /SSTraffic/application/light2/trafficLightSocket executeInitialTransition - /SSTraffic >-- /SSTraffic/application/controller executeInitialTransition - /SSTraffic >-- /SSTraffic/TimingService executeInitialTransition - /SSTraffic --> /SSTraffic/application executeInitialTransition - /SSTraffic --> /SSTraffic/application/light1 executeInitialTransition - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket open - /SSTraffic/application/light1 >>> OpenSocket - /SSTraffic --> /SSTraffic/application/light1/trafficLightSocket executeInitialTransition - /SSTraffic/application/light1/trafficLightSocket >>> closed - /SSTraffic --> /SSTraffic/application/light2 executeInitialTransition - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket open - /SSTraffic/application/light2 >>> OpenSocket - /SSTraffic --> /SSTraffic/application/light2/trafficLightSocket executeInitialTransition - /SSTraffic/application/light2/trafficLightSocket >>> closed - /SSTraffic --> /SSTraffic/application/controller executeInitialTransition - /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/controller >>> Idle - /SSTraffic --> /SSTraffic/TimingService executeInitialTransition - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket open - /SSTraffic/application/light1/trafficLightSocket >-- /SSTraffic/application/light1 established - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket open - /SSTraffic/application/light2/trafficLightSocket >-- /SSTraffic/application/light2 established - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light1/trafficLightSocket --> /SSTraffic/application/light1 established - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> Off_Blinking_On - /SSTraffic/application/light2/trafficLightSocket --> /SSTraffic/application/light2 established - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> Off_Blinking_On - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> Off_Blinking_Off - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> Off_Blinking_Off - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> Off_Blinking_On - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> Off_Blinking_On - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> Off_Blinking_Off - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> Off_Blinking_Off - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> Off_Blinking_On - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> Off_Blinking_On - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> Off_Blinking_Off - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> Off_Blinking_Off - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/controller internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/controller internalTimeout - /SSTraffic/application/controller >-- /SSTraffic/application/light1 greenForCar - /SSTraffic/application/controller >-- /SSTraffic/application/light2 greenForPed - /SSTraffic/application/controller >>> SwitchToLight1GreenForCars - /SSTraffic/application/controller --> /SSTraffic/application/light1 greenForCar - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> PedRed - /SSTraffic/application/controller --> /SSTraffic/application/light2 greenForPed - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> CarYellow2 - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> CarYellow - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> CarRed - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/light1 >>> CarGreen - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/controller >>> state0 - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/light2 >>> PedGreen - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/controller >>> Light1GreenForCars - /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/controller internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/controller internalTimeout - /SSTraffic/application/controller >-- /SSTraffic/application/light1 greenForPed - /SSTraffic/application/controller >-- /SSTraffic/application/light2 greenForCar - /SSTraffic/application/controller >>> SwitchToLight2GreenForCars - /SSTraffic/application/controller --> /SSTraffic/application/light1 greenForPed - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> CarYellow2 - /SSTraffic/application/controller --> /SSTraffic/application/light2 greenForCar - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> PedRed - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> CarRed - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> CarYellow - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/light1 >>> PedGreen - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/controller >>> state2 - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/light2 >>> CarGreen - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/controller >>> Light2GreenForCars - /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/controller internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/controller internalTimeout - /SSTraffic/application/controller >-- /SSTraffic/application/light1 greenForCar - /SSTraffic/application/controller >-- /SSTraffic/application/light2 greenForPed - /SSTraffic/application/controller >>> SwitchToLight1GreenForCars - /SSTraffic/application/controller --> /SSTraffic/application/light1 greenForCar - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> PedRed - /SSTraffic/application/controller --> /SSTraffic/application/light2 greenForPed - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> CarYellow2 - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> CarYellow - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> CarRed - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/light1 >>> CarGreen - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/controller >>> state0 - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/light2 >>> PedGreen - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/controller >>> Light1GreenForCars - /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/controller internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/controller internalTimeout - /SSTraffic/application/controller >-- /SSTraffic/application/light1 greenForPed - /SSTraffic/application/controller >-- /SSTraffic/application/light2 greenForCar - /SSTraffic/application/controller >>> SwitchToLight2GreenForCars - /SSTraffic/application/controller --> /SSTraffic/application/light1 greenForPed - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> CarYellow2 - /SSTraffic/application/controller --> /SSTraffic/application/light2 greenForCar - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> PedRed - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light1 >>> CarRed - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/light2 >>> CarYellow - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational - /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout - /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1 >-- /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/light1 >>> PedGreen - /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send - /SSTraffic/application/light1/trafficLightSocket >>> opened - /SSTraffic/application/light1 --> /SSTraffic/application/controller greenForPedDone - /SSTraffic/application/controller >>> state2 - /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout - /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout - /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2 >-- /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/light2 >>> CarGreen - /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send - /SSTraffic/application/light2/trafficLightSocket >>> opened - /SSTraffic/application/light2 --> /SSTraffic/application/controller greenForCarDone - /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout - /SSTraffic/application/controller >>> Light2GreenForCars - /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout - /SSTraffic/TimingService >>> Operational +#generated MSC for Trace2UML
+ /SSTraffic >-- /SSTraffic/application executeInitialTransition
+ /SSTraffic >-- /SSTraffic/application/light1 executeInitialTransition
+ /SSTraffic >-- /SSTraffic/application/light1/trafficLightSocket executeInitialTransition
+ /SSTraffic >-- /SSTraffic/application/light2 executeInitialTransition
+ /SSTraffic >-- /SSTraffic/application/light2/trafficLightSocket executeInitialTransition
+ /SSTraffic >-- /SSTraffic/application/controller executeInitialTransition
+ /SSTraffic >-- /SSTraffic/TimingService executeInitialTransition
+ /SSTraffic --> /SSTraffic/application executeInitialTransition
+ /SSTraffic --> /SSTraffic/application/light1 executeInitialTransition
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket open
+ /SSTraffic/application/light1 >>> OpenSocket
+ /SSTraffic --> /SSTraffic/application/light1/trafficLightSocket executeInitialTransition
+ /SSTraffic/application/light1/trafficLightSocket >>> closed
+ /SSTraffic --> /SSTraffic/application/light2 executeInitialTransition
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket open
+ /SSTraffic/application/light2 >>> OpenSocket
+ /SSTraffic --> /SSTraffic/application/light2/trafficLightSocket executeInitialTransition
+ /SSTraffic/application/light2/trafficLightSocket >>> closed
+ /SSTraffic --> /SSTraffic/application/controller executeInitialTransition
+ /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/controller >>> Idle
+ /SSTraffic --> /SSTraffic/TimingService executeInitialTransition
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket open
+ /SSTraffic/application/light1/trafficLightSocket >-- /SSTraffic/application/light1 established
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket open
+ /SSTraffic/application/light2/trafficLightSocket >-- /SSTraffic/application/light2 established
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/application/light1/trafficLightSocket --> /SSTraffic/application/light1 established
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> Off_Blinking_On
+ /SSTraffic/application/light2/trafficLightSocket --> /SSTraffic/application/light2 established
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> Off_Blinking_On
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> Off_Blinking_Off
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> Off_Blinking_Off
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> Off_Blinking_On
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> Off_Blinking_On
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> Off_Blinking_Off
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> Off_Blinking_Off
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> Off_Blinking_On
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> Off_Blinking_On
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> Off_Blinking_Off
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> Off_Blinking_Off
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/controller internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/controller internalTimeout
+ /SSTraffic/application/controller >-- /SSTraffic/application/light1 greenForCar
+ /SSTraffic/application/controller >-- /SSTraffic/application/light2 greenForPed
+ /SSTraffic/application/controller >>> SwitchToLight1GreenForCars
+ /SSTraffic/application/controller --> /SSTraffic/application/light1 greenForCar
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> PedRed
+ /SSTraffic/application/controller --> /SSTraffic/application/light2 greenForPed
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> CarYellow2
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light1 >>> CarYellow
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/light2 >>> CarRed
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
+ /SSTraffic/TimingService >-- /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/TimingService --> /SSTraffic/application/light1 internalTimeout
+ /SSTraffic/application/light1 >-- /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/application/light1 >-- /SSTraffic/application/controller greenForCarDone
+ /SSTraffic/application/light1 >>> CarGreen
+ /SSTraffic/application/light1 --> /SSTraffic/application/light1/trafficLightSocket send
+ /SSTraffic/TimingService >-- /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light1/trafficLightSocket >>> opened
+ /SSTraffic/application/light1 --> /SSTraffic/application/controller greenForCarDone
+ /SSTraffic/application/controller >>> state0
+ /SSTraffic/TimingService --> /SSTraffic/application/light2 internalTimeout
+ /SSTraffic/application/light2 >-- /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2 >-- /SSTraffic/application/controller greenForPedDone
+ /SSTraffic/application/light2 >>> PedGreen
+ /SSTraffic/application/light2 --> /SSTraffic/application/light2/trafficLightSocket send
+ /SSTraffic/application/light2/trafficLightSocket >>> opened
+ /SSTraffic/application/light2 --> /SSTraffic/application/controller greenForPedDone
+ /SSTraffic/application/controller >-- /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/application/controller >>> Light1GreenForCars
+ /SSTraffic/application/controller --> /SSTraffic/TimingService internalStartTimeout
+ /SSTraffic/TimingService >>> Operational
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Sync.seq b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Sync.seq index 58543452e..50058ecdd 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Sync.seq +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/tmp/log/SSTraffic_Sync.seq @@ -1 +1 @@ -#generated MSC for Trace2UML +#generated MSC for Trace2UML
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/ButtonActionListener.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/ButtonActionListener.java index 8c47c64e3..e0ea689ca 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/ButtonActionListener.java +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/ButtonActionListener.java @@ -1,47 +1,47 @@ -/******************************************************************************* - * Copyright (c) 2012 tieto deutschland gmbh (http://www.tieto.com) - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Thomas Jung - *******************************************************************************/ - - -package org.eclipse.etrice.tutorials.simulators.trafficlight; - - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.OutputStream; -import java.io.IOException; - -public class ButtonActionListener -implements ActionListener { - - private OutputStream out; - private String cmd1 = "requestGreen"; - - public ButtonActionListener(OutputStream out){ - this.out = out; - } - - public void actionPerformed(ActionEvent arg0) { - // TODO Auto-generated method stub - String s = arg0.getActionCommand(); - - if (s.equals("REQUEST")) { - System.out.println("Taste gedrückt"); - try { - out.write(cmd1.getBytes()); - out.flush(); - } - catch (IOException e){ - System.out.println(e.toString()); - } - // out.write(cmd1.getBytes()); - } - } -} +/*******************************************************************************
+ * Copyright (c) 2012 tieto deutschland gmbh (http://www.tieto.com)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+
+package org.eclipse.etrice.tutorials.simulators.trafficlight;
+
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.OutputStream;
+import java.io.IOException;
+
+public class ButtonActionListener
+implements ActionListener {
+
+ private OutputStream out;
+ private String cmd1 = "requestGreen";
+
+ public ButtonActionListener(OutputStream out){
+ this.out = out;
+ }
+
+ public void actionPerformed(ActionEvent arg0) {
+ String s = arg0.getActionCommand();
+
+ if (s.equals("REQUEST")) {
+ System.out.println("Taste gedrückt");
+ try {
+ out.write(cmd1.getBytes());
+ out.flush();
+ }
+ catch (IOException e){
+ System.out.println(e.toString());
+ }
+ // out.write(cmd1.getBytes());
+ }
+ }
+}
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/Main.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/Main.java index a83500d79..cad6821a1 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/Main.java +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/Main.java @@ -1,55 +1,55 @@ -/******************************************************************************* - * Copyright (c) 2012 tieto deutschland gmbh (http://www.tieto.com) - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Thomas Jung - * Thomas Schuetz - *******************************************************************************/ - - - -package org.eclipse.etrice.tutorials.simulators.trafficlight; - -public class Main { - - /** - * @param args - */ - public static void main(String[] args) { - - if (checkArgs(args) == false) { - System.exit(0); - } - - PedastrianLightWnd wnd = new PedastrianLightWnd(Integer.parseInt(args[0])); - } - - public static boolean checkArgs(String[] args) { - // check length - if (args.length != 1) { - System.out - .println("ERROR: wrong number of arguments - expected 1 argument"); - printUsage(); - return false; - } else { - try { - Integer.parseInt(args[0]); - return true; - } catch (Exception e) { - System.out.println("ERROR: integer value expected as argument"); - printUsage(); - return false; - } - } - } - - public static void printUsage() { - System.out.println("Usage: java -jar trafficlight.jar [ip-address]"); - System.out.println("Example: java -jar trafficlight.jar 4440"); - } - -} +/*******************************************************************************
+ * Copyright (c) 2012 tieto deutschland gmbh (http://www.tieto.com)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+
+
+package org.eclipse.etrice.tutorials.simulators.trafficlight;
+
+public class Main {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+
+ if (checkArgs(args) == false) {
+ System.exit(0);
+ }
+
+ new PedastrianLightWnd(Integer.parseInt(args[0]));
+ }
+
+ public static boolean checkArgs(String[] args) {
+ // check length
+ if (args.length != 1) {
+ System.out
+ .println("ERROR: wrong number of arguments - expected 1 argument");
+ printUsage();
+ return false;
+ } else {
+ try {
+ Integer.parseInt(args[0]);
+ return true;
+ } catch (Exception e) {
+ System.out.println("ERROR: integer value expected as argument");
+ printUsage();
+ return false;
+ }
+ }
+ }
+
+ public static void printUsage() {
+ System.out.println("Usage: java -jar trafficlight.jar [ip-address]");
+ System.out.println("Example: java -jar trafficlight.jar 4440");
+ }
+
+}
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/PedastrianLightWnd.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/PedastrianLightWnd.java index 7576be396..10c98c2b0 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/PedastrianLightWnd.java +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/PedastrianLightWnd.java @@ -6,123 +6,161 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Thomas Jung + * Thomas Jung (initial contribution) * Thomas Schuetz - *******************************************************************************/ - + *******************************************************************************/ package org.eclipse.etrice.tutorials.simulators.trafficlight; -import java.awt.*; + +import java.awt.Button; +import java.awt.Frame; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import java.awt.TextField; +import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; -import java.io.BufferedReader; import java.io.OutputStream; -import java.net.*; -import java.awt.event.ActionEvent; +import java.net.ServerSocket; +import java.net.Socket; public class PedastrianLightWnd extends Frame { - // Konstructor - public PedastrianLightWnd (int ipPort){ - super("PedestrianLightsGUI"); + private static final long serialVersionUID = 1L; + + private TrafficLight3 carLights = null; + private TrafficLight2 pedLights = null; + + ButtonActionListener buttonListener = null; + + Button requestButton = null; + TextField statusLine = null; + + private void resetLights() { + carLights.setState(4); + pedLights.setState(2); + } + + public PedastrianLightWnd(int ipPort) { + super("PedestrianLightsGUI"); GridBagLayout layout = new GridBagLayout(); GridBagConstraints gbc; - TrafficLight3 carLights = new TrafficLight3(4); - TrafficLight2 pedLights = new TrafficLight2(2); - TextField statusLine = new TextField(); - Button requestButton = new Button("REQUEST"); + carLights = new TrafficLight3(4); + pedLights = new TrafficLight2(2); + statusLine = new TextField(); + requestButton = new Button("REQUEST"); requestButton.setEnabled(false); addWindowListener(new WindowClosingAdapter(true)); - char cmdString[]=new char[100]; - int cmdCounter = 0, cmdState = 0; - + setLayout(layout); - - gbc=makeGbc(0,1,1,1); - layout.setConstraints(carLights,gbc); + + gbc = makeGbc(0, 1, 1, 1); + layout.setConstraints(carLights, gbc); add(carLights); - - gbc=makeGbc(1,1,1,1); - layout.setConstraints(pedLights,gbc); + + gbc = makeGbc(1, 1, 1, 1); + layout.setConstraints(pedLights, gbc); add(pedLights); - + statusLine.setText("listening on TCP Port " + ipPort); statusLine.setEditable(false); statusLine.setFocusable(false); - gbc = makeGbc(0,0,2,1); + gbc = makeGbc(0, 0, 2, 1); gbc.fill = GridBagConstraints.BOTH; - layout.setConstraints(statusLine,gbc); + layout.setConstraints(statusLine, gbc); add(statusLine); - gbc = makeGbc(0,2,2,1); + gbc = makeGbc(0, 2, 2, 1); gbc.fill = GridBagConstraints.BOTH; - layout.setConstraints(requestButton,gbc); + layout.setConstraints(requestButton, gbc); add(requestButton); pack(); setVisible(true); - // open socket - try { - ServerSocket echod = new ServerSocket(ipPort); - Socket socket = echod.accept(); - statusLine.setText("connected !"); + loopSocket(ipPort); // blocking loop + } + + private void loopSocket(int ipPort) { + while (true) { + // open and close socket endlessly + try { + ServerSocket echod = new ServerSocket(ipPort); - // InputStream in = socket.getInputStream(); - BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); - OutputStream out = socket.getOutputStream(); + Socket socket = echod.accept(); + statusLine.setText("socket connected !"); - requestButton.addActionListener(new ButtonActionListener(out)); - requestButton.setEnabled(true); - - carLights.setState(4); - pedLights.setState(2); - - String cmd; - - while ((cmd = in.readLine()) != null){ - - if (cmd.equals("carLights=red")){ - carLights.setState(0); - } - if (cmd.equals("carLights=yellowRed")){ - carLights.setState(1); - } - if (cmd.equals("carLights=green")){ - carLights.setState(2); - } - if (cmd.equals("carLights=yellow")){ - carLights.setState(3); - } - if (cmd.equals("pedLights=red")){ - pedLights.setState(0); - } - if (cmd.equals("pedLights=green")){ - pedLights.setState(1); - } - if (cmd.equals("pedLights=off")){ - pedLights.setState(2); - } - if (cmd.equals("carLights=off")){ - carLights.setState(4); - } - if (cmd.equals("button=on")){ - requestButton.setEnabled(true); - } - if (cmd.equals("button=off")){ - requestButton.setEnabled(false); - } + BufferedReader in = new BufferedReader(new InputStreamReader( + socket.getInputStream())); + OutputStream out = socket.getOutputStream(); + + buttonListener = new ButtonActionListener(out); + requestButton.addActionListener(buttonListener); + requestButton.setEnabled(true); + + resetLights(); + + String cmd; + while ((cmd = in.readLine()) != null) { + dispatchCommand(requestButton, cmd); + } + statusLine.setText("socket disconnected !"); + + // deactivate button + requestButton.removeActionListener(buttonListener); + requestButton.setEnabled(false); + + resetLights(); + + // clean up socket + socket.close(); + echod.close(); + } catch (IOException e) { + System.err.println(e.toString()); + System.exit(1); } - // System.out.println("Verbindung beendet"); - socket.close(); - echod.close(); - }catch (IOException e) { - System.err.println(e.toString()); - System.exit(1); } } - - private GridBagConstraints makeGbc(int x, int y, int width, int height){ + + private void dispatchCommand(Button requestButton, String cmd) { + // check carLights + if (cmd.equals("carLights=red")) { + carLights.setState(carLights.RED); + } + if (cmd.equals("carLights=yellowRed")) { + carLights.setState(carLights.YELLOWRED); + } + if (cmd.equals("carLights=green")) { + carLights.setState(carLights.GREEN); + } + if (cmd.equals("carLights=yellow")) { + carLights.setState(carLights.YELLOW); + } + if (cmd.equals("carLights=off")) { + carLights.setState(carLights.OFF); + } + + // check pedLights + if (cmd.equals("pedLights=red")) { + pedLights.setState(pedLights.RED); + } + if (cmd.equals("pedLights=green")) { + pedLights.setState(pedLights.GREEN); + } + if (cmd.equals("pedLights=off")) { + pedLights.setState(pedLights.OFF); + } + + // check button + if (cmd.equals("button=on")) { + requestButton.setEnabled(true); + } + if (cmd.equals("button=off")) { + requestButton.setEnabled(false); + } + } + + private GridBagConstraints makeGbc(int x, int y, int width, int height) { GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = x; gbc.gridy = y; @@ -132,7 +170,7 @@ public class PedastrianLightWnd extends Frame { gbc.weighty = 1; // gbc.fill = GridBagConstraints.BOTH; gbc.anchor = GridBagConstraints.CENTER; - gbc.insets = new Insets(1,1,1,1); + gbc.insets = new Insets(1, 1, 1, 1); return gbc; - } + } } diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight2.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight2.java index 3c1f742ab..912e9687d 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight2.java +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight2.java @@ -6,21 +6,24 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Thomas Jung + * Thomas Jung (initial contribution) + * Thomas Schuetz *******************************************************************************/ package org.eclipse.etrice.tutorials.simulators.trafficlight; -import java.awt.*; -import java.awt.event.*; +import java.awt.Canvas; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; public class TrafficLight2 extends Canvas { + private static final long serialVersionUID = 1L; // Traffic light has 4 states - // 0 = red - // 1 = yellowRed - // 2 = green - // 3 = yellow + final static int RED = 0; + final static int GREEN = 1; + final static int OFF = 2; private int state; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight3.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight3.java index 21c7715f6..65e6637ad 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight3.java +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/TrafficLight3.java @@ -6,22 +6,26 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Thomas Jung + * Thomas Jung (initial contribution) + * Thomas Schuetz *******************************************************************************/ package org.eclipse.etrice.tutorials.simulators.trafficlight; -import java.awt.*; -import java.awt.event.*; +import java.awt.Canvas; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; public class TrafficLight3 extends Canvas { + private static final long serialVersionUID = 1L; // Traffic light has 4 states - // 0 = red - // 1 = yellowRed - // 2 = green - // 3 = yellow - // 4 = OFF + final static int RED = 0; + final static int YELLOWRED = 1; + final static int GREEN = 2; + final static int YELLOW = 3; + final static int OFF = 4; private int state; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/WindowClosingAdapter.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/WindowClosingAdapter.java index ac18b8499..e43b8a232 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/WindowClosingAdapter.java +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/src/org/eclipse/etrice/tutorials/simulators/trafficlight/WindowClosingAdapter.java @@ -6,7 +6,7 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Thomas Jung + * Thomas Jung (initial contribution) *******************************************************************************/ @@ -15,8 +15,8 @@ package org.eclipse.etrice.tutorials.simulators.trafficlight; /* WindowClosingAdapter.java */ -import java.awt.*; -import java.awt.event.*; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; public class WindowClosingAdapter extends WindowAdapter |