CSCI1600: Embedded and Real Time Software

Slides:



Advertisements
Similar presentations
CS1Q Computer Systems Lecture 12 Simon Gay. Lecture 12CS1Q Computer Systems - Simon Gay 2 Design of Sequential Circuits The systematic design of sequential.
Advertisements

VHDL Structural Architecture ENG241 Week #5 1. Fall 2012ENG241/Digital Design2 VHDL Design Styles Components and interconnects structural VHDL Design.
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
State Machines. What are they? Sometimes called a “Finite State Machine” Depicted as a “state diagram” It’s a tool for specifying a system’s behavior.
ECE 331 – Digital System Design
Conformance Simulation Relation ( ) Let and be two automata over the same alphabet simulates () if there exists a simulation relation such that Note that.
Software modeling for embedded systems: static and dynamic behavior.
Lecture 6 & 7 System Models.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
ECE/CS 352 Digital System Fundamentals© T. Kaminski & C. Kime 1 ECE/CS 352 Digital Systems Fundamentals Spring 2001 Chapter 4 – Part 3 Tom Kaminski & Charles.
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 4: Introduction to the Arduino Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 7: Modeling II: Discrete Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 2: Introduction Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 6: Modeling I: Continuous Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 16: Advanced Programming with I/O Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 5: Arduino Programming Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 15: Advanced Programming Concepts Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 17: Concurrent Programming Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 10: Modeling IV: Compositions of State Machines Steven Reiss, Fall 2015.
Basics of Logic gates - Part 2
Finite State Machines Dr K R Bond 2009
Sequential logic design principles
IS301 – Software Engineering V:
CSCI1600: Embedded and Real Time Software
EEL 3705 / 3705L Digital Logic Design
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Chapter 9 Use Cases.
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Lecture No. 32 Sequential Logic.
CSCI1600: Embedded and Real Time Software
Instructor: Alexander Stoytchev
Marlon Dumas Institute of Computer Science
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
SYEN 3330 Digital Systems Chapter 6 – Part 3 SYEN 3330 Digital Systems.
Midterm Review CSE321 B.Ramamurthy 4/13/2019 B.Ramamurthy.
Instructor: Alexander Stoytchev
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Presentation transcript:

CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Compositions of State Machines Steven Reiss, Fall 2017 Hand out digital watch statechart Without the introductory discussion of the circuit, this lecture would have run short. Might want to look at some of the material in the text and see if it can augment the lecture.

Modeling Tasks We can model individual tasks using FSMs Extended FSMs, Timed automata, Peroidic automata … Hybrid automata to reflect state of outside world This is sufficient for coding We need to model the overall application In order to prove properties of the system In order to understand overall system behavior What was in chapter 5? Lecture 12: Modeling Compositions 12/2/2018

Digital Watch Lots of features Four buttons for input How does it work? How would you model it? Lecture 12: Modeling Compositions 12/2/2018

Statecharts Here is one model Lets look at it in detail Understand what it means Map to a single FSM How many think they could explain/understand this? Lecture 12: Modeling Compositions 12/2/2018

Example : Concurrent Machines This diagram is not readable. Replace Lecture 12: Modeling Compositions 12/2/2018

Example: Concurrency Lecture 12: Modeling Compositions 12/2/2018

Example: Concurrency Lecture 12: Modeling Compositions 12/2/2018

Example : Communicating Tasks Lecture 12: Modeling Compositions 12/2/2018

Example: Hierarchical Lecture 12: Modeling Compositions 12/2/2018

Example: Hierarchical Lecture 12: Modeling Compositions 12/2/2018

Example: Hierarchical Lecture 12: Modeling Compositions 12/2/2018

Microwave Oven Lecture 12: Modeling Compositions 12/2/2018

Digital Watch Can you understand this now? Lecture 12: Modeling Compositions 12/2/2018

Example Tic-Tac-Toe NIM Lecture 12: Modeling Compositions 12/2/2018

Implementing a Statechart Handling concurrency The FSM is in multiple states What does this mean formally (single FSA) What does this mean in a statechart What do you do with an input How is this implemented What if the results are contradictory (set x = 1, set x = 0) What does this mean for your implementation Lecture 12: Modeling Compositions 12/2/2018

Mapping to Code Direct sequential coding Explicit state variables Determine state from various conditions Act accordingly Allows common operations for multiple states Explicit state variables switch (state) { … } Table-driven Approximate the state machine Lecture 12: Modeling Compositions 12/2/2018

Homework Read and Prepare for IO Lab Read 6.1, 6.2, 6.4 Exercise 6.7 Lecture 12: Modeling Compositions 12/2/2018