Collaboration Entities on Deterministic Finite Automata Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A.

Slides:



Advertisements
Similar presentations
Automata Theory Part 1: Introduction & NFA November 2002.
Advertisements

CS 3240: Languages and Computation
4b Lexical analysis Finite Automata
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
CS5371 Theory of Computation
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
Equivalence, DFA, NDFA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 2 Updated and modified by.
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
Fall 2006Costas Busch - RPI1 Deterministic Finite Automata And Regular Languages.
1 The scanning process Goal: automate the process Idea: –Start with an RE –Build a DFA How? –We can build a non-deterministic finite automaton (Thompson's.
Collaborative Impress Applications in Open Office (Star Office) Minjun Wang EECS Department, Syracuse University, USA Adviser Dr. Geoffrey.
1 Finite Automata. 2 Finite Automaton Input “Accept” or “Reject” String Finite Automaton Output.
1 Languages and Finite Automata or how to talk to machines...
Collaborative Interactive Data Language (IDL) Minjun Wang EECS Department, Syracuse University, USA Adviser Dr. Geoffrey C. Fox
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
1 Chapter 3 Scanning – Theory and Practice. 2 Overview Formal notations for specifying the precise structure of tokens are necessary  Quoted string in.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
1.Defs. a)Finite Automaton: A Finite Automaton ( FA ) has finite set of ‘states’ ( Q={q 0, q 1, q 2, ….. ) and its ‘control’ moves from state to state.
Finite Automata Costas Busch - RPI.
Foundations of (Theoretical) Computer Science Chapter 1 Lecture Notes (Section 1.2: NFA’s) David Martin With some modifications.
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.
Rosen 5th ed., ch. 11 Ref: Wikipedia
Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
CS-5800 Theory of Computation II PROJECT PRESENTATION By Quincy Campbell & Sandeep Ravikanti.
Lecture # 3 Chapter #3: Lexical Analysis. Role of Lexical Analyzer It is the first phase of compiler Its main task is to read the input characters and.
1 Chapter 2 Finite Automata (part b) Windmills in Holland.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
CS412/413 Introduction to Compilers Radu Rugina Lecture 4: Lexical Analyzers 28 Jan 02.
TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA Class date : 12 August, 2013 Prepared by : Karimgailiu R Panmei Roll no. : 11CS10020 GROUP.
Dr. Eng. Farag Elnagahy Office Phone: King ABDUL AZIZ University Faculty Of Computing and Information Technology CPCS 222.
Grid-based Collaboration in Interactive Data Language Applications Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Chapter 3 Regular Expressions, Nondeterminism, and Kleene’s Theorem Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction.
Thin Client Collaboration Web Services Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
CS 154 Formal Languages and Computability February 4 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron.
CS 154 Formal Languages and Computability February 9 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron.
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
CS412/413 Introduction to Compilers Radu Rugina Lecture 3: Finite Automata 25 Jan 02.
1/29/02CSE460 - MSU1 Nondeterminism-NFA Section 4.1 of Martin Textbook CSE460 – Computability & Formal Language Theory Comp. Science & Engineering Michigan.
1 Chapter 2 Finite Automata (part a) Hokkaido, Japan.
Theory of Computation Automata Theory Dr. Ayman Srour.
Nondeterminism Subset Construction ε -Transitions.
Fall 2004COMP 3351 Finite Automata. Fall 2004COMP 3352 Finite Automaton Input String Output String Finite Automaton.
CIS Automata and Formal Languages – Pei Wang
CSCI 2670 Introduction to Theory of Computing
Finite State Machines Dr K R Bond 2009
Lexical analysis Finite Automata
Non Deterministic Automata
FORMAL LANGUAGES AND AUTOMATA THEORY
Finite Automata a b A simplest computational model
Chapter 2 FINITE AUTOMATA.
Non-Deterministic Finite Automata
CSE322 Definition and description of finite Automata
Finite Automata.
4b Lexical analysis Finite Automata
Chapter Five: Nondeterministic Finite Automata
4b Lexical analysis Finite Automata
NFA’s With ε-Transitions
AUTOMATA THEORY.
New Tools In Education Minjun Wang
Non Deterministic Automata
Presentation transcript:

Collaboration Entities on Deterministic Finite Automata Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A Geoffrey Fox Indiana University, U.S.A Marlon Pierce Indiana University, U.S.A

Outline INTRODUCTION INTRODUCTION THE FINITE AUTOMATON THE FINITE AUTOMATON CHARACTERISTICS OF THE DFA FOR COLLABORATION ENTITIES CHARACTERISTICS OF THE DFA FOR COLLABORATION ENTITIES A DFA EXAMPLE IN COLLABORATIVE POWERPOINT AND IMPRESS APPLICATIONS A DFA EXAMPLE IN COLLABORATIVE POWERPOINT AND IMPRESS APPLICATIONS EXTENDED TRANSITION FUNCTION WITH COLLABORATION ENTITIES EXTENDED TRANSITION FUNCTION WITH COLLABORATION ENTITIES LOGICAL CONSENSUS LOGICAL CONSENSUS CONCLUSION CONCLUSION

INTRODUCTION Types of collaborative applications over the Internet Types of collaborative applications over the Internet Collaborative PowerPoint applications, Collaborative Impress applications, and Collaborative ReviewPlus applications.Collaborative PowerPoint applications, Collaborative Impress applications, and Collaborative ReviewPlus applications. Realizations of the Shared Event Model in Grid-base Collaboration, and examples of Peer-to-Peer Grid computing.Realizations of the Shared Event Model in Grid-base Collaboration, and examples of Peer-to-Peer Grid computing. Master Client and Participant ClientMaster Client and Participant Client Common message brokers and text event messages for the communication.Common message brokers and text event messages for the communication. Each application type consists of collaboration entities, they play different roles, and they are finite automaton-based in a collaboration session. Each application type consists of collaboration entities, they play different roles, and they are finite automaton-based in a collaboration session. The Master and Participant collaboration entities are designed for different purposes, in different architectures, implementing mechanisms, and shapes of codes; they are divergent. At the same time, they have the same logic as to the state transitions on events, and get to the same state at the end of the process of each event; they are convergent. The Master and Participant collaboration entities are designed for different purposes, in different architectures, implementing mechanisms, and shapes of codes; they are divergent. At the same time, they have the same logic as to the state transitions on events, and get to the same state at the end of the process of each event; they are convergent.

INTRODUCTION (cont’d) Intuitively, the entities in collaboration – the Master and Participants – collaborate on events to keep showing the same output displays at each step, with the Master in controlling and the Participants in responding. Intuitively, the entities in collaboration – the Master and Participants – collaborate on events to keep showing the same output displays at each step, with the Master in controlling and the Participants in responding. Specifically, they collaborate to share a common finite automaton in their respective instantiations and reach a common state of the finite automaton at any collaboration step. Collaboration of the entities is therefore all about being in a same state of the finite automaton at each event. Specifically, they collaborate to share a common finite automaton in their respective instantiations and reach a common state of the finite automaton at any collaboration step. Collaboration of the entities is therefore all about being in a same state of the finite automaton at each event. It is viable of this modeling It is viable of this modeling The meaning of this modeling The meaning of this modeling Get a simple, clear, and consistent picture with regard to the collaboration between the entities in a sessionGet a simple, clear, and consistent picture with regard to the collaboration between the entities in a session See through the differences between the entities and logically abstract them to share a common finite automaton in their instantiations in collaborationSee through the differences between the entities and logically abstract them to share a common finite automaton in their instantiations in collaboration See the important roles of events and the shared event model in collaborationSee the important roles of events and the shared event model in collaboration

THE FINITE AUTOMATON A five-tuple notation A five-tuple notation A = (Q, Σ, δ, q0, F), whereA = (Q, Σ, δ, q0, F), where A is the name of the automaton; A is the name of the automaton; Q is the finite set of states of the automaton; Q is the finite set of states of the automaton; Σ is the finite set of input symbols; Σ is the finite set of input symbols; q0 is the start state; q0 is the start state; F is the finite set of final or accepting states, which is a subset of Q; F is the finite set of final or accepting states, which is a subset of Q; δ is the transition function, which takes as parameters a state from Q and a symbol from Σ, and returns a state in Q for Deterministic Finite Automata (DFA), or a set of states from Q for Nondeterministic Finite Automaton (NFA). δ is the transition function, which takes as parameters a state from Q and a symbol from Σ, and returns a state in Q for Deterministic Finite Automata (DFA), or a set of states from Q for Nondeterministic Finite Automaton (NFA). Deterministic Finite Automata (DFA) are suitable for modeling the collaboration entities in a collaboration session. Deterministic Finite Automata (DFA) are suitable for modeling the collaboration entities in a collaboration session.

CHARACTERISTICS OF THE DFA FOR COLLABORATION ENTITIES The specialties in the set of input symbols Σ The specialties in the set of input symbols Σ Traditionally, the symbols in Σ are alphabets, digits, or any printable ASCII characters (e.g., a, b, c, 1, 2, 3, %, $, &).Traditionally, the symbols in Σ are alphabets, digits, or any printable ASCII characters (e.g., a, b, c, 1, 2, 3, %, $, &). In our modeling, we define the symbols (or units) in Σ to be event messages, which are independent text stringsIn our modeling, we define the symbols (or units) in Σ to be event messages, which are independent text strings “OpenFile;Dir/filename”, “Goto;CertainSlide#”, “Previous”, “Next” “OpenFile;Dir/filename”, “Goto;CertainSlide#”, “Previous”, “Next” “{Widget_Base;ID:10;TOP:8;HANDLER:10;X:123;Y:456}” “{Widget_Base;ID:10;TOP:8;HANDLER:10;X:123;Y:456}” This is to use semantically complete event messages as the basic units in Σ This is to use semantically complete event messages as the basic units in Σ encapsulate the low level chores into the collaboration entitiesencapsulate the low level chores into the collaboration entities simplify the modeling and make it clear that the DFA are all about collaborations on event messagessimplify the modeling and make it clear that the DFA are all about collaborations on event messages make the automata concentrate on describing the message-based collaborationsmake the automata concentrate on describing the message-based collaborations

A DFA EXAMPLE IN COLLABORATIVE POWERPOINT AND IMPRESS APPLICATIONS A presentation file that has three slides 1, 2, & 3. Q = {q0, q1, q2, q3, q4}, where Q = {q0, q1, q2, q3, q4}, where q0 is the state when the application is started; q1 is the state for slide 1; q2 is the state for slide 2; q3 is the state for slide 3; q4 is the state when the application is ended. Σ = {a0, a1, a2, a3, a4, a5, a6}, with Σ = {a0, a1, a2, a3, a4, a5, a6}, with a0 = “Openfile;C:/file1.ppt” (or file1.sxi; open it), a1 = “Goto;1” (go to slide 1), a2 = “Goto;2” (go to slide 2), a3 = “Goto;3” (go to slide 3), a4 = “Exit” (the application exits), a5 = “Previous” (go to the previous slide), a6 = “Next” (go to the next slide). The start state is q0. The start state is q0. The finite set of accepting states F = {q4} The finite set of accepting states F = {q4} Transition diagram for δ. Transition diagram for δ. In a collaboration session, the DFA is a sub-graph of this transition diagram In a collaboration session, the DFA is a sub-graph of this transition diagram

EXTENDED TRANSITION FUNCTION WITH COLLABORATION ENTITIES We can make the synchronous entities save the event messages a i in a session in the order they happened, and connect them in a string ω, as in ω = a 0 a 1 … a n We can make the synchronous entities save the event messages a i in a session in the order they happened, and connect them in a string ω, as in ω = a 0 a 1 … a n Later on, the users with the asynchronous entities can review the content happened in a session in a way that is sequential access, random access, or even “keyword search” based access to any history display of the contents – the concept of Reverse Indexing on Event Messages. Later on, the users with the asynchronous entities can review the content happened in a session in a way that is sequential access, random access, or even “keyword search” based access to any history display of the contents – the concept of Reverse Indexing on Event Messages. The Extended Transition Function ∆ makes use of any prefix of the string ω, e.g., a 0 a 1 …a i (with 0 ≤ i ≤ n), and transits to state q i+1. The Extended Transition Function ∆ makes use of any prefix of the string ω, e.g., a 0 a 1 …a i (with 0 ≤ i ≤ n), and transits to state q i+1.

EXTENDED TRANSITION FUNCTION WITH COLLABORATION ENTITIES (cont’d) Extended Transition Function Extended Transition Function BASIS: ∆ (q, ε) = q. That is, if the automaton is in state q and reads no input or a null string, it is still in state q.BASIS: ∆ (q, ε) = q. That is, if the automaton is in state q and reads no input or a null string, it is still in state q. INDUCTION: Suppose ω = a 0 a 1 … a n, x = a 0 a 1 … a n-1, a = a n, we can write ω = xa, Then, ∆ (q, ω) = δ (∆ (q, x), a)INDUCTION: Suppose ω = a 0 a 1 … a n, x = a 0 a 1 … a n-1, a = a n, we can write ω = xa, Then, ∆ (q, ω) = δ (∆ (q, x), a) The Language Of A DFA The Language Of A DFA In a collaboration session, the actual event messages are finite, Let Σ = {a 0, a 1, a 2, …, a n }In a collaboration session, the actual event messages are finite, Let Σ = {a 0, a 1, a 2, …, a n } We denote the set of all strings constructed from the symbols in Σ to be Σ*.We denote the set of all strings constructed from the symbols in Σ to be Σ*. We are only interested in those strings that cause the DFA to go through transitions from the start state q 0 to an accepting state in F, such as ω = a 0 a 1 … a n.We are only interested in those strings that cause the DFA to go through transitions from the start state q 0 to an accepting state in F, such as ω = a 0 a 1 … a n. One collaboration session is associated with one event message string ω = a 0 a 1 … a n, and all such strings form a Language for a type of collaboration entities.One collaboration session is associated with one event message string ω = a 0 a 1 … a n, and all such strings form a Language for a type of collaboration entities. If the DFA for the type of collaboration entities is A = (Q, Σ, δ, q0, F), then the language L (A) is defined as L (A) = {ω | ∆ (q0, ω) Є F}. That is, the set of strings which cause the DFA to go through transitions from the start state q 0 to an accepting state in F.If the DFA for the type of collaboration entities is A = (Q, Σ, δ, q0, F), then the language L (A) is defined as L (A) = {ω | ∆ (q0, ω) Є F}. That is, the set of strings which cause the DFA to go through transitions from the start state q 0 to an accepting state in F.

EXTENDED TRANSITION FUNCTION WITH COLLABORATION ENTITIES (cont’d) Random And Sequential Access Random And Sequential Access In random access, the user directs the entity to randomly go to an event message a i (0 ≤ i ≤ n) in string ω = a 0 a 1 … a n, generate the corresponding state p and render the output display. The entity does the job by taking advantage of the Extended Transition Function ∆, as in ∆ (q0, x) = p, where x = a 0 a 1 … a i.In random access, the user directs the entity to randomly go to an event message a i (0 ≤ i ≤ n) in string ω = a 0 a 1 … a n, generate the corresponding state p and render the output display. The entity does the job by taking advantage of the Extended Transition Function ∆, as in ∆ (q0, x) = p, where x = a 0 a 1 … a i. In sequential access, the Extended Transition Function ∆ can be used in the same way as in random access, but since in sequential access the symbols in string ω are accessed sequentially one by one from a 0 going forward to a n, the entity can just take advantage of the current state p in memory, get the next symbol a j (0 ≤ j ≤ n) in the remaining string a j a j+1 … a n of ω, and go to the next state r, as in δ (p, a j ) = r.In sequential access, the Extended Transition Function ∆ can be used in the same way as in random access, but since in sequential access the symbols in string ω are accessed sequentially one by one from a 0 going forward to a n, the entity can just take advantage of the current state p in memory, get the next symbol a j (0 ≤ j ≤ n) in the remaining string a j a j+1 … a n of ω, and go to the next state r, as in δ (p, a j ) = r. Reverse Indexing On Event Messages Reverse Indexing On Event Messages An event message a i corresponds to a state q, the state q corresponds to an output display, the output display corresponds to some contents, from which keywords can be generated, therefore, we can associate the keywords with the event message a i.An event message a i corresponds to a state q, the state q corresponds to an output display, the output display corresponds to some contents, from which keywords can be generated, therefore, we can associate the keywords with the event message a i. Later on, the user with the asynchronous collaboration entity can use keywords to get event messages a i and then x = a 0 a 1 … a i, and use ∆ (q 0, x) = p to get to the states and therefore find the contents.Later on, the user with the asynchronous collaboration entity can use keywords to get event messages a i and then x = a 0 a 1 … a i, and use ∆ (q 0, x) = p to get to the states and therefore find the contents. Further more, this can bring different languages into collaboration.Further more, this can bring different languages into collaboration. See descriptions in the paper See descriptions in the paper

LOGICAL CONSENSUS Units And Unity Units And Unity The logic of the collaboration entities corresponds to the transition function δ of the DFA (or the extended transition function ∆). The logic is composed of many routines (procedures and functions) with unique names. We can think of the routines as the building blocks or units of the logic, and the logic as the unity of the routines. So, routines are the units, and δ or ∆ is the unity of the units.The logic of the collaboration entities corresponds to the transition function δ of the DFA (or the extended transition function ∆). The logic is composed of many routines (procedures and functions) with unique names. We can think of the routines as the building blocks or units of the logic, and the logic as the unity of the routines. So, routines are the units, and δ or ∆ is the unity of the units. On an event, only one or some routines are executing to do the transition; in other words, only one part or some parts of the unity are actually functioning. But we can indistinguishably say that δ (or ∆) is reacting on the event and transiting to the next state.On an event, only one or some routines are executing to do the transition; in other words, only one part or some parts of the unity are actually functioning. But we can indistinguishably say that δ (or ∆) is reacting on the event and transiting to the next state. Divergence And Convergence Divergence And Convergence The Master and Participant collaboration entities are designed for different purposes, in different architectures, implementing mechanisms, and shapes of codes; they are divergent. At the same time, they have the same logic as to the state transitions on events, and get to the same state at the end of the process of each event; they are convergent.The Master and Participant collaboration entities are designed for different purposes, in different architectures, implementing mechanisms, and shapes of codes; they are divergent. At the same time, they have the same logic as to the state transitions on events, and get to the same state at the end of the process of each event; they are convergent. See the paper for demonstration of one collaboration step, and more at the reference [16] of the paper.See the paper for demonstration of one collaboration step, and more at the reference [16] of the paper.

CONCLUSION In this paper we introduced several types of collaborative applications that use the Shared Event Model in Peer-to-Peer Grid computing. In this paper we introduced several types of collaborative applications that use the Shared Event Model in Peer-to-Peer Grid computing. Each application type consists of collaboration entities, and they play different roles in collaboration. Each application type consists of collaboration entities, and they play different roles in collaboration. We model the entities in a collaboration session to be finite automaton- based, and point out that they are deterministic finite automata in essence. We model the entities in a collaboration session to be finite automaton- based, and point out that they are deterministic finite automata in essence. We describe the characteristics of the automata in modeling and analysis of the collaboration between the entities. We discuss issues in both synchronous and asynchronous collaborations. We describe the characteristics of the automata in modeling and analysis of the collaboration between the entities. We discuss issues in both synchronous and asynchronous collaborations. We demonstrate that the collaboration entities of a type converge on a common state of the deterministic finite automata at a collaboration step, even though they diverge in many other respects. We demonstrate that the collaboration entities of a type converge on a common state of the deterministic finite automata at a collaboration step, even though they diverge in many other respects. Intuitively the entities collaborate on events to keep showing the same output displays; specifically collaboration of the entities is all about being in a same state of the deterministic finite automata at each event. Intuitively the entities collaborate on events to keep showing the same output displays; specifically collaboration of the entities is all about being in a same state of the deterministic finite automata at each event.