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 Introduction to and Analysis of Sequential Logic Circuits (Lecture #20) The slides included herein were taken from the.
ECE 331 – Digital System Design
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.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Introduction to Sequential Logic Design Bistable elements.
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
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.
Digital Logic & Design Dr. Waseem Ikram Lecture No. 31.
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
Lecture No. 32 Sequential Logic.
CSCI1600: Embedded and Real Time Software
Subsuption Architecture
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
Presentation transcript:

CSCI1600: Embedded and Real Time Software Lecture 12: Modeling IV: Compositions of State Machines Steven Reiss, Fall 2016 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.

Circuit Review Lecture 12: Modeling Compositions 10/31/2019

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

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

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 10/31/2019

Example : Concurrent Machines This diagram is not readable. Replace Lecture 12: Modeling Compositions 10/31/2019

Example: Concurrency Lecture 12: Modeling Compositions 10/31/2019

Example: Concurrency Lecture 12: Modeling Compositions 10/31/2019

Example : Communicating Tasks Lecture 12: Modeling Compositions 10/31/2019

Example: Hierarchical Lecture 12: Modeling Compositions 10/31/2019

Example: Hierarchical Lecture 12: Modeling Compositions 10/31/2019

Example: Hierarchical Lecture 12: Modeling Compositions 10/31/2019

Microwave Oven Lecture 12: Modeling Compositions 10/31/2019

Digital Watch Can you understand this now? Lecture 12: Modeling Compositions 10/31/2019

Example Tic-Tac-Toe Lecture 12: Modeling Compositions 10/31/2019

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 10/31/2019

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 10/31/2019

Homework Read 6.1, 6.2, 6.4 Exercise 6.7 Lecture 12: Modeling Compositions 10/31/2019