43
technische universität dortmund fakultät für informatik informatik 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 201210 23 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. © Springer, 2010

Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

technische universität dortmund

fakultät für informatikinformatik 12

Models of computation

Peter MarwedelTU DortmundInformatik 12

2012年 10 月 23 日

These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

©S

prin

ger,

2010

Page 2: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 2 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Models of computation

What does it mean, “to compute”?

Models of computation define:

Components and an execution model for computations for each component

Communication model for exchange of information between components.

C-1

C-2

Page 3: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 3 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Models of computationconsidered in this course

C, C++, Java with librariesCSP, ADA |

C, C++, JavaVon Neumann model

Plain text, use cases| (Message) sequence charts

Undefined components

Kahn networks, SDF

(Not useful)Data flow

Only experimental systems, e.g. distributed DE in Ptolemy

VHDL, Verilog, SystemC, …

Discrete event (DE) model

C/E nets, P/T nets, …Petri nets

SDLStateChartsCommunicating finite state machines

Message passingSynchronous | Asynchronous

Shared memory

Communication/local computations

Page 4: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 4 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Why not use von-Neumann (thread-based) computing (C, C++, Java, …) ?

Potential race conditions (inconsistent results possible) Critical sections = sections at which exclusive access to resource r (e.g. shared memory) must be guaranteed.

thread a {..P(S) //obtain lock.. // critical sectionV(S) //release lock

}

thread b {..P(S) //obtain lock.. // critical sectionV(S) //release lock

}

Race-free access to shared memory protected by S possible

This model may be supported by:mutual exclusion for critical sectionsspecial memory properties

Page 5: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 5 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Why not just use von-Neumann computing (C, Java, …) (2)?

Problems with von-Neumann Computing

Thread-based multiprocessing may access global variables

We know from the theory of operating systems that

• access to global variables might lead to race conditions,

• to avoid these, we need to use mutual exclusion,

• mutual exclusion may lead to deadlocks,

• avoiding deadlocks is possible only if we accept performance penalties.

Other problems (need to specify total orders, …)

Page 6: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 6 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Consider a Simple Example

“The Observer pattern defines a one-to-many dependency between a subject object andany number of observer objectsso that when the subject object changes state,all its observer objects are notified and updated automatically.”

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns, Addision-Wesley, 1995

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

Page 7: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 7 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Example: Observer Pattern in Java

public void addListener(listener) {…}

public void setValue(newvalue) {

myvalue=newvalue;

for (int i=0; i<mylisteners.length; i++) {

myListeners[i].valueChanged(newvalue)}

}

Thanks to Mark S. Miller for the details of this example.

Would this work in a multithreaded context?

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

Page 8: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 8 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Example: Observer Patternwith Mutual Exclusion (mutexes)

public synchronized void addListener(listener) {…}

public synchronized void setValue(newvalue) {

myvalue=newvalue;

for (int i=0; i<mylisteners.length; i++) {

myListeners[i].valueChanged(newvalue)}

} Javasoft recommends against this.What’s wrong with it?

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

Page 9: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 9 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Mutexes using monitors are minefields

public synchronized void addListener(listener) {…}

public synchronized void setValue(newvalue) {

myvalue=newvalue;

for (int i=0; i<mylisteners.length; i++) {

myListeners[i].valueChanged(newvalue)}

}valueChanged() may attempt to acquire a lock on some other object and stall. If the holder of that lock calls addListener(): deadlock!

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

x calls addListener

valueChanged

requests

lock

held

by x

mutex

Page 10: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 10 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Simple Observer PatternBecomes not so simple

public synchronized void addListener(listener) {…}

public void setValue(newValue) {

synchronized (this) {

myValue=newValue;

listeners=myListeners.clone();

}

for (int i=0; i<listeners.length; i++) {

listeners[i].valueChanged(newValue)}

}

while holding lock, make a copy of listeners to avoid race conditions

notify each listener outside of the synchronized block to avoid deadlock

This still isn’t right.What’s wrong with it?

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

Page 11: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 11 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Simple Observer Pattern:How to Make it Right?

public synchronized void addListener(listener) {…}

public void setValue(newValue) {

synchronized (this) {

myValue=newValue;

listeners=myListeners.clone();

}

for (int i=0; i<listeners.length; i++) {

listeners[i].valueChanged(newValue)}

}

Suppose two threads call setValue(). One of them will set the value last, leaving that value in the object, but listeners may be notified in the opposite order. The listeners may be alerted to the value-changes in the wrong order!

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

Page 12: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 12 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Why are deadlocks possible?

We know from the theory of operating systems, that deadlocks are possible in a multi-threaded system if we have

Mutual exclusion

Holding resources while waiting for more

No preemption

Circular wait

Conditions are met for our example

Page 13: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 13 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

A stake in the ground …

Nontrivial software written with threads, semaphores, and mutexes is incomprehensible to humans.

© Edward Lee, Berkeley, Artemis Conference, Graz, 2007

“… threads as a concurrency model are apoor match for embedded systems. … they work well only … where best-effort scheduling policies are sufficient.”

Edward Lee: Absolutely Positively on Time, IEEE Computer, July, 2005

Page 14: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 14 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Ways out of this problem

Looking for other options (“model-based design”)

No model that meets all modeling requirements

using compromises

Page 15: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 15 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Models of computationconsidered in this course

C, C++, Java with librariesCSP, ADA |

C, C++, JavaVon Neumann model

Plain text, use cases| (Message) sequence charts

Undefined components

Kahn networks, SDF

(Not useful)Data flow

Only experimental systems, e.g. distributed DE in Ptolemy

VHDL, Verilog, SystemC, …

Discrete event (DE) model

C/E nets, P/T nets, …Petri nets

SDLStateChartsCommunicating finite state machines

Message passingSynchronous | Asynchronous

Shared memory

Communication/local computations

Page 16: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

technische universität dortmund

fakultät für informatikinformatik 12

Early design phases

Peter MarwedelTU Dortmund,Informatik 12

2012年 10 月 23 日These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

©S

prin

ger,

2010

Page 17: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 17 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Capturing the requirements as text

In the very early phases of some design project, only descriptions of the system under design (SUD) in a natural language such as English or Japanese exist. Expectations for tools:

• Machine-readable• Version management• Dependency analysis• Example: DOORS® [Telelogic/IBM]

Page 18: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 18 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Use cases

Use cases describe possible applications ofthe SUD Included in UML (Unified Modeling Language) Example: Answering machine

Neither a precisely specified model of the computations nor a precisely specified model of the communication

Page 19: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 19 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

(Message) Sequence charts

Explicitly indicate exchange of information One dimension (usually vertical dimension) reflects time The other reflects distribution in space

Example: Included in

UML Earlier

called Message Sequence Charts, now mostly called Sequence Charts

Page 20: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 20 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Example (2)

www.ist-more.org, deliverable 2.1

Page 21: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 21 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Application: In-Car Navigation System

Car radio with navigation systemUser interface needs to be responsiveTraffic messages (TMC) must be processed in a timely waySeveral applications may execute concurrently

© Thiele, ETHZ

Page 22: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 22 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

System Overview

NAV RAD

MMI

DB

Communication

© Thiele, ETHZ

Page 23: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 23 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

NAV RAD

MMI

DB

Communication

Use case 1: Change Audio Volume

< 200 ms

< 50 ms

© Thiele, ETHZ

Page 24: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 24 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Use case 1: Change Audio Volume

© Thiele, ETHZ

CommunicationResourceDemand

Page 25: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 25 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

NAV RAD

MMI

DB

Communication

< 200 ms

Use case 2: Lookup Destination Address

© Thiele, ETHZ

Page 26: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 26 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Use case 2: Lookup Destination Address

© Thiele, ETHZ

Page 27: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 27 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

NAV RAD

MMI

DB

Communication

Use case 3: Receive TMC Messages

< 1000 ms

© Thiele, ETHZ

Page 28: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 28 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Use case 3: Receive TMC Messages

© Thiele, ETHZ

Page 29: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 29 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

(Message) Sequence Charts (MSC)

No distinction between accidental overlap and synchronization

Page 30: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 30 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Time/distance diagrams as a special case©

ww

w.o

pent

rack

.ch

Levi-TDD

Page 31: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 31 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

UML: Timing diagrams

Can be used to show the change of the state of an object over time.

Based on Scott Ambler, Agile Modeling,//www.agilemodeling.com, 2003

Mo Thu Mo

Professor

Recordingassistant

teaching

preparation

Other duty

Other duty

recording

editing

ThuApproximately ..

Page 32: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 32 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Life Sequence Charts* (LSCs)

* W. Damm, D. Harel: LSCs: Breathing Life into Message Sequence Charts, Formal Methods in System Design, 19, 45–80, 2001

Key problems observed with standard MSCs:

During the design process, MSC are initially interpreted as

“what could happen”

(existential interpretation, still allowing other behaviors).

Later, they are frequently assumed to describe

“what must happen”

(referring to what happens in the implementation).

Page 33: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 33 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Extensions for LSCs (1)

Extension 1:

Introduction of pre-charts:Pre-charts describe conditions that must hold for the main chart to apply.

Pre-chart

Example:

Prof Mic Cam RecorderTA

confirms

test

press

Page 34: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 34 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Extensions (2)

Extension 2: Mandatory vs. provisional behavior Extension 2: Mandatory vs. provisional behavior

If condition is not met, exit subchart

Condition must be met; otherwise abort

Condition

Receipt of message is not guaranteed

If message is sent, it will be received

Message

Instance run need not move beyond loc/time

Instance must move beyond location/time

Location

At least one run of the system satisfies the chart

All runs of the system satisfy the chart

Chart

Provisional (dashed lines)

Mandatory (solid lines)Level

Page 35: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 35 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

PROs: Appropriate for visualizing schedules, Proven method for representing schedules in transportation. Standard defined: ITU-TS Recommendation Z.120:

Message Sequence Chart (MSC), ITU-TS, Geneva, 1996. Semantics also defined: ITU-TS Recommendation Z.120:

Message Sequence Chart (MSC)—Annex B: Algebraic Semantics of Message Sequence Charts, ITU-TS, Geneva.

CONS: describes just one case, no timing tolerances: "What does

an MSC specification mean: does it describe all behaviors of a system, or does it describe a set of sample behaviors of a system?” *

* H. Ben-Abdallah and S. Leue, “Timing constraints in message sequence chart specifications,” in Proc. 10th International Conference on Formal Description Techniques FORTE/PSTV’97, Chapman and Hall, 1997.

(Message) Sequence Charts

Page 36: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

technische universität dortmund

fakultät für informatikinformatik 12

Communicating finite state machines

Peter MarwedelTU DortmundInformatik 12

2012年 10 月 23 日

These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

©S

prin

ger,

2010

Page 37: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 37 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Models of computation considered in this course

C, C++, Java with librariesCSP, ADA |

C, C++, JavaVon Neumann model

Plain text, use cases| (Message) sequence charts

Undefined components

Kahn networks, SDF

(Not useful)Data flow

Only experimental systems, e.g. distributed DE in Ptolemy

VHDL, Verilog, SystemC, …

Discrete event (DE) model

C/E nets, P/T nets, …Petri nets

SDLStateChartsCommunicating finite state machines

Message passingSynchronous | Asynchronous

Shared memory

Communication/local computations

Page 38: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 38 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

StateCharts: recap of classical automata

Classical automata:

Moore-automata:Y = (Z); Z+ = (X, Z)

Mealy-automataY = (X, Z); Z+ = (X, Z)

Internal state Zinput X output Y

Next state Z+ computed by function Output computed by function

Z0 Z1

Z2Z3

e=1

e=1

e=1

e=10 1

23

clockMoore- + Mealy automata=finite state machines (FSMs)

Moore- + Mealy automata=finite state machines (FSMs)

Page 39: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 39 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Timed automata

Timed automata = automata + models of time The variables model the logical clocks in the system, that are

initialized with zero when the system is started, and then increase synchronously with the same rate.

Clock constraints i.e. guards on edges are used to restrict the behavior of the automaton.A transition represented by an edge can be taken when the clocks values satisfy the guard labeled on the edge.

Additional invariants make sure, the transition is taken. Clocks may be reset to zero when a transition is taken

[Bengtsson and Yi, 2004].

Page 40: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 40 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Example: Answering machine

May take place, butdoes not have to

Ensures that transitiontakes place

Page 41: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 41 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Definitions

Let C: real-valued variables C representing clocks.Let : finite alphabet of possible inputs.Definition: A clock constraint is a conjunctive formula of atomic constraints of the formx ◦ n or x−y ◦ n for x, y ∈ C, ◦ ∈ {≤,<,=,>,≥} and n ∈NLet B(C) be the set of clock constraints.Definition: A timed automaton A is a tuple (S, s0,E, I) whereS is a finite set of states, s0 is the initial state,E ⊆ S×B(C)× ×2C ×S is the set of edges,

B(C): conjunctive condition, 2C: variables to be reset I : S→B(C) is the set of invariants for each of the states

B(C): invariant that must hold for state S

Page 42: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 42 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Definitions (2)

Let C: real-valued variables C representing clocks.Let : finite alphabet of possible inputs.Definition: A clock constraint is a conjunctive formula of atomic constraints of the form x ◦ n or x−y ◦ n for x, y ∈ C, ◦ ∈ {≤,<,=,>,≥} and n ∈NLet B(C) be the set of clock constraints.Definition: A timed automaton A is a tuple (S, s0,E, I) where S is a finite set of states, s0 is the initial state,E ⊆ S×B(C)× ×2C ×S is the set of edges, B(C): conjunctive condition, 2C: variables to be reset I : S→B(C) is the set of invariants for each of the states, B(C): invariant that must hold for state S

Page 43: Models of computation - TU Dortmund...2012年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. ... Communication model for exchange of information

- 43 -technische universitätdortmund

fakultät fürinformatik

P.Marwedel, Informatik 12, 2012

Summary

Motivation for non-von Neumann models

Support for early design phases

• Text

• Use cases

• (Message) sequence charts

Automata models

• Timed automata