29
- 1 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Some general properties of languages 1. Synchronous vs. asynchronous languages (1) Description of several processes in many languages non-deterministic: The order in which executable tasks are executed is not specified (may affect result). Synchronous languages: based on automata models. „Synchronous languages aim at providing high level, modular constructs, to make the design of such an automaton easier [Halbwachs]. Synchronous languages describe concurrently operating automata. „.. when automata are composed in parallel, a transition of the product is made of

Some general properties of languages 1. Synchronous vs. asynchronous languages (1)

  • Upload
    arva

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

Some general properties of languages 1. Synchronous vs. asynchronous languages (1). Description of several processes in many languages non-deterministic: The order in which executable tasks are executed is not specified (may affect result). Synchronous languages: based on automata models. - PowerPoint PPT Presentation

Citation preview

Page 1: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 1 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages1. Synchronous vs. asynchronous languages (1)

Description of several processes in many languages non-deterministic:The order in which executable tasks are executed is not specified (may affect result).

Synchronous languages: based on automata models.

„Synchronous languages aim at providing high level, modular constructs, to make the design of such an automaton easier [Halbwachs].

Synchronous languages describe concurrently operating automata. „.. when automata are composed in parallel, a transition of the product is made of the "simultaneous" transitions of all of them“.

Description of several processes in many languages non-deterministic:The order in which executable tasks are executed is not specified (may affect result).

Synchronous languages: based on automata models.

„Synchronous languages aim at providing high level, modular constructs, to make the design of such an automaton easier [Halbwachs].

Synchronous languages describe concurrently operating automata. „.. when automata are composed in parallel, a transition of the product is made of the "simultaneous" transitions of all of them“.

Page 2: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 2 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Synchronous languages implicitly assume the presence of a (global) clock. Each clock tick, all inputs are considered, new outputs and states are calculated and then the transitions are made.

This requires a broadcast mechanism for all parts of the model.

Idealistic view of concurrency.

Has the advantage of guaranteeing deterministic behavior.

StateCharts is a synchronous language.

Synchronous languages implicitly assume the presence of a (global) clock. Each clock tick, all inputs are considered, new outputs and states are calculated and then the transitions are made.

This requires a broadcast mechanism for all parts of the model.

Idealistic view of concurrency.

Has the advantage of guaranteeing deterministic behavior.

StateCharts is a synchronous language.

Some general properties of languages1. Synchronous vs. asynchronous languages (2)

Page 3: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 3 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages2. Properties of processes (1)

• Number of processesstatic;dynamic (dynamically changed hardware architecture?)

• Nesting:– Nested declaration of processes

process { process { process {}}}

– or all declared at the same levelprocess { … }process { … }process { … }

• Number of processesstatic;dynamic (dynamically changed hardware architecture?)

• Nesting:– Nested declaration of processes

process { process { process {}}}

– or all declared at the same levelprocess { … }process { … }process { … }

Page 4: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 4 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages2. Properties of processes (2)

• Different techniques for process creation

– Elaboration in the source (c.f. ADA, below)declare process P1 …

– explicit fork and join (c.f. Unix)id = fork();

– process creation callsid = create_process(P1);

StateCharts comprises a static number of processes, nested declaration of processes, and process creation through elaboration in the source.

• Different techniques for process creation

– Elaboration in the source (c.f. ADA, below)declare process P1 …

– explicit fork and join (c.f. Unix)id = fork();

– process creation callsid = create_process(P1);

StateCharts comprises a static number of processes, nested declaration of processes, and process creation through elaboration in the source.

Page 5: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 5 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages3. Communication paradigms (1)

• Message passing– Non-blocking communication

Sender does not have to wait until message has arrived; potential problem: buffer overflow

• Message passing– Non-blocking communication

Sender does not have to wait until message has arrived; potential problem: buffer overflow

…send ()…

…receive ()…

Page 6: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 6 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages3. Communication paradigms (2)

– Blocking communication,rendez-vous-based communicationSender will wait until receiver hasreceived message

– Blocking communication,rendez-vous-based communicationSender will wait until receiver hasreceived message

…send ()…

…receive ()…

Page 7: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 7 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages3. Communication paradigms (2)

…send ()…

…receive ()…ack…

– Extended rendez-vousExplicit acknowledge from receiverrequired. Receiver can do checking before sending acknowledgement.

– Extended rendez-vousExplicit acknowledge from receiverrequired. Receiver can do checking before sending acknowledgement.

Page 8: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 8 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages3. Communication paradigms (4)

• Shared memoryVariables accessible to several tasksPotential race conditions (inconsistent results possible) Critical sections = sections at which exclusive access to resource r (e.g. shared memory) must be guaranteed.

• Shared memoryVariables accessible to several tasksPotential race conditions (inconsistent results possible) Critical sections = sections at which exclusive access to resource r (e.g. shared memory) must be guaranteed.

StateCharts uses shared memory for communication between processes.

StateCharts uses shared memory for communication between processes.

process a { .. P(S) //obtain lock .. // critical section V(S) //release lock}

process b { .. P(S) //obtain lock .. // critical section V(S) //release lock}

Race-free access to shared memory protected by S possible

Page 9: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 9 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages 4. Specifying timing (1)

4 types of timing specs required [Burns, 1990]:4 types of timing specs required [Burns, 1990]:

• Means for delaying processes• Means for delaying processes

t

?

t

execute

• Measure elapsed timeCheck, how much time has elapsed since last call

• Measure elapsed timeCheck, how much time has elapsed since last call

Page 10: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 10 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Some general properties of languages 4. Specifying timing (2)

• Possibility to specify timeoutsStay in a certain state a maximum time.

• Possibility to specify timeoutsStay in a certain state a maximum time.

StateCharts comprises a mechanism for specifying timeouts. Other types of timing specs not supported.

StateCharts comprises a mechanism for specifying timeouts. Other types of timing specs not supported.

• Methods for specifying deadlinesNot available or in separate control file.

• Methods for specifying deadlinesNot available or in separate control file.

t

execute

Page 11: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 11 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Properties of specification languages5. Using non-standard I/O devices -

Direct access to switches, displays etc;

No protection required; OS can be much faster than for operating system with protection.

No support in standard StateCharts.

No particular OS support anyhow.

Direct access to switches, displays etc;

No protection required; OS can be much faster than for operating system with protection.

No support in standard StateCharts.

No particular OS support anyhow.

Page 12: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 12 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

SDL

Language designed for specification of distributed systems.

• Dates back to early 70s,

• Formal semantics defined in the late 80s,

• Defined by ITU (International Telecommunication Union): Z.100 recommendation in 1980Updates in 1984, 1988, 1992, 1996 and 1999

Language designed for specification of distributed systems.

• Dates back to early 70s,

• Formal semantics defined in the late 80s,

• Defined by ITU (International Telecommunication Union): Z.100 recommendation in 1980Updates in 1984, 1988, 1992, 1996 and 1999

Page 13: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 13 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

SDL

• Provides textual and graphical formats to please all users,

• Just like StateCharts, it is based on the CFSM model of computation; each FSM is called a process,

• However, it uses message passing instead of shared memory for communications,

• SDL supports operations on data.

• Provides textual and graphical formats to please all users,

• Just like StateCharts, it is based on the CFSM model of computation; each FSM is called a process,

• However, it uses message passing instead of shared memory for communications,

• SDL supports operations on data.

Page 14: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 14 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

SDL-representation of FSMs/processes

output

input

state

Page 15: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 15 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Operations on data

Variables can be declared locally for processes.Their type can be predefined or defined in SDL itself.SDL supports abstract data types (ADTs). Examples:

Variables can be declared locally for processes.Their type can be predefined or defined in SDL itself.SDL supports abstract data types (ADTs). Examples:

Page 16: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 16 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Communication among SDL-FSMs

Communication between FSMs (or „processes“) is based on message-passing, assuming a potentially indefinitely large FIFO-queue.

Communication between FSMs (or „processes“) is based on message-passing, assuming a potentially indefinitely large FIFO-queue.

• Each process fetches next entry from FIFO,

• checks if input enables transition,

• if yes: transition takes place,

• if no: input is ignored (exception: SAVE-mechanism).

• Each process fetches next entry from FIFO,

• checks if input enables transition,

• if yes: transition takes place,

• if no: input is ignored (exception: SAVE-mechanism).

Page 17: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 17 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Process interaction diagrams

Interaction between processes can be described in process interaction diagrams (special case of block diagrams).

In addition to processes, these diagrams contain channels and declarations of local signals.

Example:

Interaction between processes can be described in process interaction diagrams (special case of block diagrams).

In addition to processes, these diagrams contain channels and declarations of local signals.

Example:

,

Page 18: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 18 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Designation of recipients

1. Through process identifiers:Example: OFFSPRING represents identifiers of processes generated dynamically.

2. Explicitly:By including the channel name.

3. Implicitly:If signal names imply channel names (B Sw1)

1. Through process identifiers:Example: OFFSPRING represents identifiers of processes generated dynamically.

2. Explicitly:By including the channel name.

3. Implicitly:If signal names imply channel names (B Sw1)

CounterVia Sw1

CounterTO OFFSPRING

Page 19: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 19 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Hierarchy in SDL

Process interaction diagrams can be included in blocks. The root block is called system.

Process interaction diagrams can be included in blocks. The root block is called system.

Processes cannot contain other processes, unlike in StateCharts.

Page 20: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 20 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Timers

Timers can be declared locally. Elapsed timers put signal into queue (not necessarily processed immediately).

RESET also removes timer signal from queue.

Timers can be declared locally. Elapsed timers put signal into queue (not necessarily processed immediately).

RESET also removes timer signal from queue.

Page 21: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 21 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Additional language elements

SDL includes a number of additional language elements, like• procedures• creation and termination of processes• advanced description of data

SDL includes a number of additional language elements, like• procedures• creation and termination of processes• advanced description of data

Page 22: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 22 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Application: description of network protocols

Page 23: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 23 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Larger example: vending machine

Machine° selling pretzels, (potato) chips, cookies, and doughnuts:

accepts nickels, dime, quarters, and half-dollar coins.

Not a distributed application.

° [J.M. Bergé, O. Levia, J. Roullard: High-Level System Modeling, Kluwer Academic Publishers, 1995]

Page 24: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 24 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Overall view of vending machine

Page 25: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

DecodeRequests

p

Page 26: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 26 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

ChipHandler

no

no

yes

yes

Page 27: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 27 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Versions and tools

• SDL-88• SDL-92: object orientation added• SDL-96• SDL-2000: Extended graphical support;

processes and blocks becoming replaced by agents.• Tools for connecting to MSCs (see below)• Tools for connecting to UML (see below)• Tools for translation to CHILL.• Information: www.sdl-forum.org

• SDL-88• SDL-92: object orientation added• SDL-96• SDL-2000: Extended graphical support;

processes and blocks becoming replaced by agents.• Tools for connecting to MSCs (see below)• Tools for connecting to UML (see below)• Tools for translation to CHILL.• Information: www.sdl-forum.org

Page 28: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 28 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Evaluation

• Excellent for distributed applications(was used to specify ISDN),

• Commercial tools available from SINTEF, Telelogic, Cinderella (//www.cinderella.dk).

• Not necessarily deterministic(order, in which FSMs are reading input is unknown) no synchronous language,

• Implementation requires bound for the maximum length of FIFOs; may be very difficult to compute,

• Timer concept adequate just for soft deadlines,• Limited way of using hierarchies,• Limited programming language support,• No description of non-functional properties.

• Excellent for distributed applications(was used to specify ISDN),

• Commercial tools available from SINTEF, Telelogic, Cinderella (//www.cinderella.dk).

• Not necessarily deterministic(order, in which FSMs are reading input is unknown) no synchronous language,

• Implementation requires bound for the maximum length of FIFOs; may be very difficult to compute,

• Timer concept adequate just for soft deadlines,• Limited way of using hierarchies,• Limited programming language support,• No description of non-functional properties.

Page 29: Some general properties of languages 1.  Synchronous vs. asynchronous languages  (1)

- 29 - P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6

Universität Dortmund

Summary

• General language properties– Synchronous vs. asynchronous languages– Properties of processes– Communication– Timing– Access to special I/O devices

• SDL– Representation of processes– Communication & block diagrams– Timers and other language elements– Example: Vending machine– Versions and evaluation

• General language properties– Synchronous vs. asynchronous languages– Properties of processes– Communication– Timing– Access to special I/O devices

• SDL– Representation of processes– Communication & block diagrams– Timers and other language elements– Example: Vending machine– Versions and evaluation