Oct 1, 2006 ... State Machine (TASM). Language and Toolset. Martin Ouimet, Guillaume
Berteau,. Kristina Lundqvist. Embedded Systems Laboratory.
The Timed Abstract State Machine (TASM) Language and Toolset Martin Ouimet, Guillaume Berteau, Kristina Lundqvist Embedded Systems Laboratory Massachusetts Institute of Technology October 1st, 2006
Introduction z
Hi-Five Framework z
z
z z
Specification framework for V & V of Real-Time Embedded Systems Use same language across components and abstraction levels Be “open” Be “usable”
2
The Timed Abstract State Machine Language (TASM) - I z
Derivative of Abstract State Machines (ASM)
z
Extensions to include non-functional behavior alongside functional behavior z z
z
Time Resource consumption
“Literate” specification language 3
The Timed Abstract State Machine Language (TASM) - II z z z z
ASM + Time + Resources Parallel and hierarchical composition Synchronous and asynchronous systems Synchronization model z
z
Time
Communication model z
Shared variables
4
TASM – Global View
5
Introducing ASMs – States and Update Sets z z
z z z
State = Value of environment variables at a given point in time, a “step” Step = ASM produces an update set, that is an assignment of one or more values to one or more global variable Run = Sequence of update sets State Evolution = Application of update set at each step of the run. Si = Si -1 @ Ui Example: z
Run: U1, U2, U3, U4, …
z
States: S0, S1, S2, … 6
Introducing TASMs – State and Update Sets + Time + Resources z z z
State = Value of environment variables at a given point in time, a “timestamp” on the global time axis State Evolution = Application of update set at specific timestamps of the run. TSi = TSi -1 @ TUi Example: z
Run: TU1, TU2, TU3, TU4, …
z
States: TS0, TS1, TS2, …
z
(0, S0), (t1, S1), (t2, S2), …
7
ASM - Example z
Initial environment z
z
Synchronous z
z
(light1, On), (light2, Off) (On, Off), (Off, On), (On, Off), etc.
Asynchronous z
(On, Off), (Off, Off), (On, Off), (Off, Off), etc.
8
TASM - Example z
t=0 (On, Off) memory = 40
z z
… t=1 (On, On) memory = 40
z z
… t=2 (Off, On) memory = 50
z
… 9
A More Substantial Example – Electronic Throttle Controller z
z
z
z
Drive-by-wire system to regulate throttle angle and fuel injection for fuel-efficiency Relies heavily on modes to compute commanded throttle voltage Multiple combination of modes – rev-limiting, traction-limiting, cruise-control, human-input From Paul G. Griffiths (UC Berkeley)
10
A More Substantial Example – Electronic Throttle Controller
11
The TASM Toolset z
Tool to: z z z z
Read and write specifications in the TASM language Simulator to execute specifications Verify consistency of rule sets for a given machine Verify completeness of rule sets for a given machine
12
A More Substantial Example – Electronic Throttle Controller
13
A More Substantial Example – Electronic Throttle Controller
14
TASM Toolset Demo z z
Simple Example ETC
15
Research Roadmap z z
z
Create more examples to exercise language Map to UPPAAL to verify best-case and worst-case behavior (time, resource) Use conversion to CNF to generate test-cases
16
Summary z
Conclusion z z z
z
TASM language – executable specification language Unified language – function + time + resources Toolset for analysis and simulation
For more information z z
[email protected] http://esl.mit.edu/tasm
17
References z
ASM z z
z
Börger, Stärk – Abstract State Machines: A Methodology for high-level System Design, Springer-Verlag, 2003. Börger – Why use Evolving Algebras for Hardware and Software Engineering?, LNCS Vol. 1012, 1995.
ETC z
Griffiths - Embedded Software Control Design for an Electronic Throttle Body. Master’s Thesis, UC Berkeley, 2000.
18