The Timed Abstract State Machine (TASM) Language and Toolset

47 downloads 81 Views 459KB Size Report
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