Validating Real-Time Behavioral Patterns of Embedded Controllers
Jagannath Aghav and Claude Petitpierre Swiss Federal Institute of Technology (EPFL)
1
Validating Real-Time Behavioral Patterns of Embedded Controllers - - PowerPoint PPT Presentation
Validating Real-Time Behavioral Patterns of Embedded Controllers Jagannath Aghav and Claude Petitpierre Swiss Federal Institute of Technology (EPFL) 1 O UTLINE ... 1. Validation Process Cycle 2. Composition of Gear Controller 3. Timing
1
2
Design Pattern Time computation Redesign cycle Desgin pattern
Execution time
Java
Synchronous ( active )
3
4
5
Control Engine Control Control Clutch
||
Interface
Controllers Program Environment Environment Clutch
OpenClutch/ CloseClutch NewGear ReqNewGear
Engine E Timer Gear Box GB Timer
GearNeu GearSet/ ReqSet/ ReqNeu
Gear Control C Timer
ClutchOpen/ ClutchClose ReqSpeed/ 6−Reverse 1−5 −Forward 0− Neutral {0,1,...6} Gears: Interface ReqTorque/ ReqZeroTorque TorqueZero/ SpeedSet
6
7
8
9
10
11
12
13
public class Gear { ... active class ClutchController{ ... accept OpenClutch; //! {1, 0, OpenClutch, 35} ... } active class Clutch{ ... accept ClutchOpen; //! {0, 1, ClutchOpen, 30} ... }
14
Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 15
: program controller,
✆: environment and
✝ ✄✞ ☎ ✟ ✆ ✠: edge with transition from
☎to
✆.
✝Input: File description of finite state model. Output: Sum of execution times of all possible paths.
.
next new edge
✞ ✆ ✟ ☎ ✠. All the paths are terminating with either
✞ ☎ ✟ ✆ ✠type of edge.
16
E1
✡E2 : Time(E 1 0 CloseClutch 10 + E 0 1 ClutchOpen 30)
☛40 units Time(E 1 0 CloseClutch 10 + E 0 1 ClutchClose 25 + E 0 1 ClutchOpen 30)
☛65 units E1
✡E3 : Time(E 1 0 CloseClutch 10 + E 0 1 ClutchClose 25 + E 0 1 ClutchOpen 30 + E 0 0 ErrorOpening 10)
☛75 units E4
✡E5 : Time(E 1 0 OpenClutch 35 + E 0 1 ClutchOpen 30 + E 0 1 ClutchClose 25 )
☛90 units Time(E 1 0 OpenClutch 35 + E 0 1 ClutchClose 25)
☛60 units E4
✡E6 : Time(E 1 0 OpenClutch 35 + E 0 1 ClutchOpen 30 + E 0 1 ClutchClose 25 + E 0 0 ErrorClosing 10 )
☛100 units
17
Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization Initialization E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E_7_6_ReqNewGear_35 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E_4_5_ReqZeroTorque_25 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E_5_4_TorqueZero_50 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E3 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E4 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E_4_5_ReqSpeed_40 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E6 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E_5_4_SpeedSet_80 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E7 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E9 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E_4_5_ReqTorque_30 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E10 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 LG LG LG LG LG LG LG LG LG LG LG LG LG LG LG LG LG GL GL GL GL GL GL GL GL GL GL GL GL GL GL GL GL GL E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E_6_7_NewGear_20 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E11 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E12 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E_2_2_ErrorNeu_10 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E15 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E_2_3_ReqNeu_50 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E13 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_1_ClutchOpen_30 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E_0_0_ErrorOpening_10 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E16 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E_3_2_GearNeu_50 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E14 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E_1_0_OpenClutch_35 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E19 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E23 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_2_ErrorIdle_20 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E_2_3_ReqSet_60 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E17 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E_3_2_GearSet_80 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E18 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E21 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E22 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E_0_0_ErrorClosing_10 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E25 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E_1_0_CloseClutch_10 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E24 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25 E_0_1_ClutchClose_25
18
E2
✡E3 : Time(E 7 6 ReqNewGear 35 + E 4 5 ReqZeroTorque 25)
☛60 units ... E8
✡E9 : Time(E 5 4 SpeedSet 80 + E 2 3 ReqSet 60)
☛140 units ... E10
✡E1 : Time(E 3 2 GearSet 80 + E 4 5 ReqTorque 30 + E 6 7 NewGear 20 )
☛130 units ... E21
✡E25 : Time(E 3 2 GearSet 80 + E 0 1 ClutchClose 25 + E 0 0 ErrorClosing 10 )
☛115 units E8
✡E23 : Time(E 5 4 SpeedSet 80 + E 2 3 ReqSet 60 + E 2 2 ErrorIdle 20)
☛160 units
19
20
21