- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund SDL Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine.
Advertisements

Embedded System, A Brief Introduction
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Fakultät für informatik informatik 12 technische universität dortmund Finite state machines + message passing: SDL Peter Marwedel TU Dortmund, Informatik.
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Chapter 3 Process Description and Control
Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Concurrency Important and difficult (Ada slides copied from Ed Schonberg)
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
1 Complexity of Network Synchronization Raeda Naamnieh.
Concurrency: Mutual Exclusion and Synchronization Why we need Mutual Exclusion? Classical examples: Bank Transactions:Read Account (A); Compute A = A +
1 Concurrency: Mutual Exclusion and Synchronization Chapter 5.
CS533 Concepts of Operating Systems Class 3 Monitors.
Concurrency CS 510: Programming Languages David Walker.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
Mainly OK & ready FSMs: 1. Discuss good examples and bad examples of state names: (bad preparing 1, preparing 2, …)
Asynchronous Message Passing EE 524/CS 561 Wanliang Ma 03/08/2000.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
A. Frank - P. Weisberg Operating Systems Introduction to Cooperating Processes.
1/26/2007CSCI 315 Operating Systems Design1 Processes Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating.
Concurrency - 1 Tasking Concurrent Programming Declaration, creation, activation, termination Synchronization and communication Time and delays conditional.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
- 1 - Embedded Systems—State charts Specifications.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Specifications.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Comparative Programming Languages hussein suleman uct csc304s 2003.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Some general properties of languages 1. Synchronous vs. asynchronous languages.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
StateCharts Peter Marwedel Informatik 12 Univ. Dortmund Germany.
Chapter 3 Parallel Programming Models. Abstraction Machine Level – Looks at hardware, OS, buffers Architectural models – Looks at interconnection network,
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
1 Concurrency Architecture Types Tasks Synchronization –Semaphores –Monitors –Message Passing Concurrency in Ada Java Threads.
Processes. Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-4 Process Communication Department of Computer Science and Software.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
CS533 – Spring Jeanie M. Schwenk Experiences and Processes and Monitors with Mesa What is Mesa? “Mesa is a strongly typed, block structured programming.
Digital System Design using VHDL
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Fall 2000M.B. Ibáñez Lecture 26 I/O Systems II. Fall 2000M.B. Ibáñez Application I/O Interface I/O system calls encapsulate device behaviors in generic.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
1 Advanced Embedded Systems Lecture 3 Specification Languages.
Technische universität dortmund fakultät für informatik informatik 12 Finite state machines & message passing: SDL Peter Marwedel TU Dortmund, Informatik.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
Lecture 2 Specification and Requirement Analysis of Embedded System.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
Processes and threads.
Chapter 3: Process Concept
Operating Systems (CS 340 D)
Computer Engg, IIT(BHU)
Operating Systems (CS 340 D)
Applied Operating System Concepts
Embedded System Design Specifications and Modeling
Presentation transcript:

- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages 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“.

- 2 - Embedded Systems - SDL 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 languages 1. Synchronous vs. asynchronous languages

- 3 - Embedded Systems - SDL Some general properties of languages 2. Properties of processes Number of processes static; dynamic (dynamically changed hardware architecture?) Nested declaration of processes or all declared at the same level Different techniques for process creation Elaboration in the source code, explicit fork and join, process creation calls  StateCharts comprises a static number of processes, nested declaration of processes, and process creation through elaboration in the source code. Number of processes static; dynamic (dynamically changed hardware architecture?) Nested declaration of processes or all declared at the same level Different techniques for process creation Elaboration in the source code, explicit fork and join, process creation calls  StateCharts comprises a static number of processes, nested declaration of processes, and process creation through elaboration in the source code.

- 4 - Embedded Systems - SDL Some general properties of languages 3. Communication paradigms 1. Message passing: –Non-blocking communication Sender does not have to wait until message has arrived; potential problem: buffer overflow –Blocking communication, rendez-vous-based communication Sender will wait until receiver has received message –Extended rendez-vous Explicit acknowledge from receiver required. Receiver can do checking before sending acknowledgement. 1. Message passing: –Non-blocking communication Sender does not have to wait until message has arrived; potential problem: buffer overflow –Blocking communication, rendez-vous-based communication Sender will wait until receiver has received message –Extended rendez-vous Explicit acknowledge from receiver required. Receiver can do checking before sending acknowledgement.

- 5 - Embedded Systems - SDL Some general properties of languages 3. Communication paradigms 2. Shared memory Variables accessible to several tasks –Critical sections = sections at which exclusive access to some resource r must be guaranteed. 2. Shared memory Variables accessible to several tasks –Critical sections = sections at which exclusive access to some resource r must be guaranteed.  StateCharts uses shared memory for communication between processes.

- 6 - Embedded Systems - SDL Some general properties of languages 4. Specifying timing 4 types of timing specs required [Burns, 1990]: Measure elapsed time Check, how much time has elapsed since last call Means for delaying processes Possibility to specify timeouts We would like to be in a certain state only a certain maximum amount of time. Methods for specifying deadlines With current languages not available or specified in separate control file. 4 types of timing specs required [Burns, 1990]: Measure elapsed time Check, how much time has elapsed since last call Means for delaying processes Possibility to specify timeouts We would like to be in a certain state only a certain maximum amount of time. Methods for specifying deadlines With current languages not available or specified in separate control file.  StateCharts comprises a mechanism for specifying timeouts. Other types of timing specs are not supported.

- 7 - Embedded Systems - SDL Properties of specification languages 5. 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.

- 8 - Embedded Systems - SDL Specification and Description Language (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 1980 Updates 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 1980 Updates in 1984, 1988, 1992, 1996 and 1999

- 9 - Embedded Systems - SDL SDL Designed for distributed applications, based on asynchronous message passing. Provides textual and graphical formats to please all users (graphical and textual formats). 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. Designed for distributed applications, based on asynchronous message passing. Provides textual and graphical formats to please all users (graphical and textual formats). 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.

Embedded Systems - SDL SDL-representation of FSMs/processes output input state

Embedded Systems - SDL 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:

Embedded Systems - SDL Communication among SDL-FSMs Communication between FSMs (or “processes”) is based on asynchronous 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).

Embedded Systems - SDL 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:, (channel)

Embedded Systems - SDL Designation of signal 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) Counter Via Sw1 Counter TO OFFSPRING

Embedded Systems - SDL Hierarchy in SDL Process interaction diagrams can be included in blocks. The root block is called system. Processes cannot contain other processes, unlike in StateCharts.

Embedded Systems - SDL 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.

Embedded Systems - SDL 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

Embedded Systems - SDL 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]

Embedded Systems - SDL Overall view of vending machine

Decode Requests p

Embedded Systems - SDL ChipHandler