Real Time Event Based Communication Team Abhishekh Padmanabhan CIS 798 Final Presentation.

Slides:



Advertisements
Similar presentations
SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.
Advertisements

CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Global States.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Database Systems: Design, Implementation, and Management Tenth Edition
Modeling & Simulation. System Models and Simulation Framework for Modeling and Simulation The framework defines the entities and their Relationships that.
Prototyping of Real-time Component Based Systems by the use of Timed Automata Trevor Jones Lancaster University, UK
Unified Modeling Language
CPSC 668Set 14: Simulations1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Temporal Specification Chris Patel Vinay Viswanathan.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
© 2005 Prentice Hall12-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Models of Computation as Program Transformations Chris Chang
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
An Introduction to Rational Rose Real-Time
Use of Multimedia in Engineering. Mechatronics engineering is based on the combination from three basic engineering field that is mechaninal, electronics.
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Chapter 10 Architectural Design
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Finite-State Machines with No Output
Design-Making Projects Work (Chapter7) n Large Projects u Design often distinct from analysis or coding u Project takes weeks, months or years to create.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Software Quality Assurance and Testing Fazal Rehman Shamil.
Middleware for Fault Tolerant Applications Lihua Xu and Sheng Liu Jun, 05, 2003.
Parallel and Distributed Simulation Deadlock Detection & Recovery.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Introduction To Modeling and Simulation 1. A simulation: A simulation is the imitation of the operation of real-world process or system over time. A Representation.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Adapted from Krste Asanovic
Finite State Machines Dr K R Bond 2009
Main issues: • What do we want to build • How do we write this down
Unified Modeling Language
Computer Simulation of Networks
Workflow Management Systems
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Middleware for Fault Tolerant Applications
An Introduction to Software Architecture
Modeling Behavior in Statechart Diagrams
Presentation transcript:

Real Time Event Based Communication Team Abhishekh Padmanabhan CIS 798 Final Presentation

Introduction A Distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable. - Leslie Lamport Problem Statement – “Provide a feature in Distributed System design automation enforcing causality in the primitives executed and simulate real time temporal constraints”

Distributed System (DS) Consists of several sites interconnected through a reliable communication medium Environment can interact with the DS at different sites through Service Access Points (SAP) Interactions correspond to executions of service primitives Each site identified by a number i and denoted Site i, correspond a Protocol Entity denoted PE i Intuitively, PE i denotes the local behavior of DS in Site i,

Protocol Synthesis In the user’s viewpoint the DS is a black box which provides a service where only execution of primitives are visible The aim of the designer is then to derive specifications of the local protocol entities PE i, for i = 1, 2, …, n How can we derive systematically specifications of the local protocol entities (protocol specifications) which provide a desired service SERVICE SPECIFICATION PE 1 PE 2 PE n Reliable Medium a1a2ana1a2an

Finite state machine dissected… Behavior of a Distributes System States: 1.Idle 2.Button pushed 3.Brakes Applied Transitions: 1.T1 on push button 2.T2 on actuate Brake Assembly Transitions occur on the execution of a primitives (example push button). Note that these primitives occur at distributed nodes T1 : push button T2: actuate Brake Assembly Behavior of DS Idle Button pushed Brakes Applied

Implementation Scope….. Modules to be developed would do the protocol synthesis given system specification. This would suffice for a non real time systems. For real time we need to consider the temporal constraints. Reference : “Protocol Synthesis for Real-Time Applications” A. Khoumsi, Gregor v. Bochmann and Rachida Dssouli Behavior of DS Behavior at individual nodes Protocol Synthesis

Example Distributed System for emergency braking mechanism in a vehicle Dashboard with an emergency brake push button which when pushed(T1) communicates to a Braking System which triggers the application of brakes(T2) in the brake assembly of the vehicle and resets the braking system(T3) and sends message to dashboard to reset the dashboard button (T4) T1 T2 T3 T4 FSA SS

SS for our Example 1 – Dashboard, 2 – Brake System T1 – [1, A 1, 2], T2 – [2, B 2, 3], T3 – [3, C 2, 4], T4 – [4, D 1, 1] In general Tp – [q, E a, r] reads a transition p from state q to r on execution of entity E at site a A 1 -push button B 2 –apply brakes C 2 –reset brakes D 1 –reset button T1 T2 T3 T4 SS

Non Real-time Synthesis Given SS as the input Derivation Procedure 1 Implement causal ordering of primitives executed at various sites from the point of view of the DS to get the GPS (Global Protocol Specification) 2 From GPS, we compute the Protocol Specification (PS) of each PEi that must be implemented in Site i by projecting GPS into events occurring in Site i

GPS for our Example (Step 1) Here Tp represents transaction p and S ij means message sent from site i to j and R ij means message received by i from j T4 T1 S 12 R 21 T2 T3 S 21 R 12 GPS

GPS to PS (Step 2) Here we derive the Protocol Specification for each individual site which is a FSM with primitives on that site and the nodes now representing the states in DS where the primitives can happen from the point of view of each individual site. for e.g. a(1) b(2) c(3-7) d(8) e(1-3, 7-8) f(4) g(5) h(6) a b c d T1 T4 e f g h T2 T3 S 12 R 12 R 21 S 21 PS 1 PS 2

Real-time Synthesis Notations Timed transition and Timed automaton Let I = [a; b] be an interval, where b > a >= 0 We define a timed transition Tr – [q, E, r; C, v] where (a)[q, E, r] represents a transition as in the FSA SS (b)C = (I 1, I 2 …, I m ) m > 0 (c)v is a variable with value identifying a transition For a timed transition the definition of v necessitates to know the incoming transitions of r and the definition of C necessitates to know the incoming transitions of q

Back to our Example ( with TA) 1 – Dashboard, 2 – Brake System Tr1 – [1, A 1, 2; c1, 1], T2 – [2, B 2, 3; c2, 1] Tr3 – [3, C 2, 4; c3, 1], T4 – [4, D 1, 1; c4, 1] A 1 -push button B 2 –apply brakes C 2 –reset brakes D 1 –reset button Tr4 Tr1 - I1 [0; X] Tr1 Tr2 - I2 [0; 0.25] Tr2 Tr3 - I3 [0; 0.25] Tr3 Tr4 - I4 [0; 0.5] SS described by TA – SST PS i described by TA - PST i Tr1 Tr2 Tr3 Tr4 SST

Real Time Protocol Synthesis Given SST as the input Derivation Procedure 1 Implement causal ordering of primitives executed at various sites from the point of view of the DS to get the GPST (Global Protocol Specification in Real Time) 2 Insert into GPST temporal constraints and message delays to obtain GST 3 Compute the Protocol Specification in Real Time (PST) of each PE i that must be implemented in Sitei by projecting GST into events occurring in Sitei omitting medium delay

Temporal Constraints From requirements t m ε M a,b = [µ a,b ; ρ a,b ] and t k ε I k = [γ k, δ k ] ( k = 1, 2, …, n) we must compute constraints on t s and tr k (k = 1, 2, …, n) which ensure that requirements tk ε Ik on the service will be respected. These derived constraints are written in the form t s ε S = [θ k ;φ k ], and tr k ε R k = [τ k ;ω k ] for k = 1,2, …, n. This computation must be made for each occurrence of the structure in the GPST. Tr r ba s ab Tr k tsts tmtm tr k tktk

Current System… A component assembly framework supporting a variety of visualization and programming tools for developing component connections.

Feature Addition… Apply causality constraints to the primitives being executed. Check for temporal constraints required for real time event based communication. Simulate temporal constraints exhibited by the communication medium.

System Overview There are two ways of constructing a software design; one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. C. A. R. Hoare SS XML parserProtocol Synthesis Model Checking for Timing Constraints XML Dump Application Specific Code generation Hard wired Code Generation Event Service Based Impl SS in XML

Tools and Technologies… XML for input and output specification of the system. Java to develop modules for protocol synthesis. XML is being used at various levels to provide flexibility in the system and to make the module easily pluggable in any environment.