EECS 20 Chapter 4 Sections 4.1-4.61 Connecting State Machines Last time we Introduced the nondeterministic state machine Highlighted differences between.

Slides:



Advertisements
Similar presentations
Multi-tape Turing Machines: Informal Description
Advertisements

Language and Automata Theory
4b Lexical analysis Finite Automata
Chapter 5 Pushdown Automata
Variants of Turing machines
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
LING/C SC/PSYC 438/538 Lecture 11 Sandiway Fong. Administrivia Homework 3 graded.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Chapter Two: Finite Automata
Copyright © Cengage Learning. All rights reserved. CHAPTER 1 SPEAKING MATHEMATICALLY SPEAKING MATHEMATICALLY.
EECS 20 Chapter 3 Sections Defining Signals and Systems Last time we Found ways to define functions and systems Defined many example systems Today.
EECS 20 Lecture 14 (February 16, 2001) Tom Henzinger Nondeterminism.
EECS 20 Lecture 38 (April 27, 2001) Tom Henzinger Review.
EECS 20 Chapter 4 Section 4.71 Feedback in State Machines Last time we Identified issues involved when connecting state machines Looked at different connection.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Lexical Analysis III Recognizing Tokens Lecture 4 CS 4318/5331 Apan Qasem Texas State University Spring 2015.
Finite Automata and Non Determinism
CS 310 – Fall 2006 Pacific University CS310 Finite Automata Sections:1.1 page 44 September 8, 2006.
EECS 20 Lecture 15 (February 21, 2001) Tom Henzinger Simulation.
EECS 20 Chapter 5 Part 11 Linear Infinite State Systems Last time we Looked at state machines with feedback Considered state machines with constant or.
Week 2/3 1.System interconnections (block diagrams) 2.Finite State Machines (Chapter 3)
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
EECS 20 Chapter 21 Defining Signals and Systems Last time we Introduced mathematical notation to help define sets Learned the names of commonly used sets.
11/10/2004EE 42 fall 2004 lecture 301 Lecture #30 Finite State Machines Last lecture: –CMOS fabrication –Clocked and latched circuits This lecture: –Finite.
Week 4 1.More examples 2.Nondeterminism, equivalence, simulation (Ch 3) 3.Composition (Ch 4)
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
EECS 20 Chapter 9 Part 21 Convolution, Impulse Response, Filters In Chapter 5 we Had our first look at LTI systems Considered discrete-time systems, some.
Topics Automata Theory Grammars and Languages Complexities
CSC 361Finite Automata1. CSC 361Finite Automata2 Formal Specification of Languages Generators Grammars Context-free Regular Regular Expressions Recognizers.
EECS 20 Chapter 3 Sections State Machines Continued Last time we Introduced the deterministic finite state machine Discussed the concept of state.
EECS 20 Lecture 12 (February 12, 2001) Tom Henzinger Equivalence.
Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Rosen 5th ed., ch. 11 Ref: Wikipedia
CPSC 388 – Compiler Design and Construction Scanners – Finite State Automata.
Finite-State Machines with No Output
Morphological Recognition We take each sub-lexicon of each stem class and we expand each arc (e.g. the reg-noun arc) with all the morphemes that make up.
Pushdown Automata.
CMPS 3223 Theory of Computation
REGULAR LANGUAGES.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
MAT 125 – Applied Calculus 2.1 Functions and Their Graphs.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
System sequence diagrams
Copyright © Curt Hill Finite State Automata Again This Time No Output.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part VI: Design Continuous Activity Diagams State Diagrams.
Signals & Systems Predicting System Performance February 27, 2013.
Context Diagram This section includes two parts. Part 1: Description of a Context Diagram Part 2: How To construct a Context Diagram.
1 Languages: Finite State Machines Chapter 6 problemsstrings (languages) machines answers.
Chapter 2 Scanning. Dr.Manal AbdulazizCS463 Ch22 The Scanning Process Lexical analysis or scanning has the task of reading the source program as a file.
December 3, 2009Theory of Computation Lecture 21: Turing Machines III 1 Simulation of T in L Now the MIDDLE section of Q can be generated by replacing.
1 Chapter Pushdown Automata. 2 Section 12.2 Pushdown Automata A pushdown automaton (PDA) is a finite automaton with a stack that has stack operations.
L ECTURE 3 T HEORY OF AUTOMATA. E QUIVALENT R EGULAR E XPRESSIONS Definition Two regular expressions are said to be equivalent if they generate the same.
Theory of Computation Automata Theory Dr. Ayman Srour.
TOPIC : State Tables UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Pushdown Automata.
Lexical analysis Finite Automata
System sequence diagrams
Modeling Arithmetic, Computation, and Languages
Chapter 2 Finite Automata
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Chapter Two: Finite Automata
4b Lexical analysis Finite Automata
Deterministic Finite Automaton (DFA)
4b Lexical analysis Finite Automata
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Chapter 1 Regular Language
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Presentation transcript:

EECS 20 Chapter 4 Sections Connecting State Machines Last time we Introduced the nondeterministic state machine Highlighted differences between deterministic and nondeterministic machines Introduced ideas of equivalence between state machines: simulation and bisimulation Today we will Identify issues involved when connecting state machines Look at different connection topologies Consider implications of connection in mathematical description

EECS 20 Chapter 4 Sections Cascade Composition Here, the output of machine A is the input of machine B. The two machines are running simultaneously (both on step n) Each machine has its own input, current state, and output. The effect of the input x A (n) propagates instantaneously through the cascade at each step: synchrony We may view the cascade of two machines as a single machine. (States A, Inputs A, Outputs A, update A, initialstate A ) (States B, Inputs B, Outputs B, update B, initialstate B )

EECS 20 Chapter 4 Sections Cascade Composition: Definition Define the 5-tuple for the composite machine: States = States A x States B initialState = (initialState A, initialState B ) update ( (s A (n), s B (n)), x(n) ) = ( (s A (n+1), s B (n+1)), y(n) ) where (s A (n+1), y A (n)) = update A (s A (n), x(n)) and (s B (n+1), y(n)) = update B (s B (n), y A (n)) (States A, Inputs A, Outputs A, update A, initialState A ) (States B, Inputs B, Outputs B, update B, initialState B ) Inputs = Inputs A Outputs = Outputs B

EECS 20 Chapter 4 Sections Cascade Composition: Interconnection Note that the “internal” output y A (n) is used as the “internal” input x B (n) to machine B. Thus, for the cascade connection to be valid, we must have Outputs A Ì Inputs B (States A, Inputs A, Outputs A, update A, initialState A ) (States B, Inputs B, Outputs B, update B, initialState B )

EECS 20 Chapter 4 Sections Cascade Composition: Example Consider the cascade of machine A and machine B below, where the output of machine A is the input of machine B. Find the composite state response and output for input x = ab ab c 1/1 0/0 1/0 0/0 1/1 0/01/0 0/1 1/0 0/0 Machine AMachine B s = (a, a), (b, a), (a, b), (a, a)y = 0 0 0

EECS 20 Chapter 4 Sections Cascade Composition: Diagram Two cascaded machines can be drawn using one state diagram: 1)Draw a circle for each state in States A x States B. 2)For each state, consider each possible input to machine A. a)Find the corresponding next state in machine A. b)Find the output of machine A, which forms the input of machine B. c)Find the corresponding next state in machine B. d)Find the output of machine B. e)Draw the transition arrow to (s A (n+1), s B (n+1)). f)Label the transition arrow with the input to machine A and the output from machine B.

EECS 20 Chapter 4 Sections Cascade Composition: Diagram Try drawing a single state diagram for machines A and B in the previous example: a, aa, b a, c b, a b, bb, c 0/0 1/0 0/0 1/0 0/0 1/0 0/1 1/0 Can we ever get to state (b, c)? Can we ever get to states (a, c) or (b, b)? Can we ever get a nonzero output?

EECS 20 Chapter 4 Sections Reachability On its own, given its entire set of legal inputs, Machine B can reach state c and give an output of 1. But, in cascade, the inputs of Machine B are limited to the possible outputs of Machine A. Machine A cannot generate a sequence of outputs that would drive machine B into state c. This behavior is not in Behaviors A. ab ab c 1/1 0/0 1/1 0/01/0 0/1 1/0 0/0 Machine A Machine B

EECS 20 Chapter 4 Sections More Complicated Connections Here, we wish to have access to the individual output y A, even when treating the cascade as one big machine. Sending a signal to more than one destination is called forking. Note also that there is an additional external input into machine B. Machine A Machine B yAyA yByB x B,INT x B,EXT xAxA

EECS 20 Chapter 4 Sections More Complicated Connections When viewing the composite machine as a single entity, with multiple input and/or output ports, we can express the input and output in the expected way using a set product: Inputs = Inputs A x Inputs B,EXT Outputs = Outputs A x Outputs B The set of inputs or outputs for a particular port (Outputs B, for example) is called a port alphabet. Machine A Machine B yAyA yByB x B,INT x B,EXT xAxA Each arrow coming into or out of the composite machine is called a port. Here, there are two input ports and two output ports.