Problem 1: Ambiguity of rules when state diagrams are combined with Pascal August 11, 2008.

Slides:



Advertisements
Similar presentations
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Advertisements

Synchronization and Deadlocks
Vered Gafni, The Design Language of Statecharts.
Mutual Exclusion By Shiran Mizrahi. Critical Section class Counter { private int value = 1; //counter starts at one public Counter(int c) { //constructor.
Exception Handling Chapter 15 2 What You Will Learn Use try, throw, catch to watch for indicate exceptions handle How to process exceptions and failures.
Lesson 16 Exceptions Lesson Exceptions1. Murphy’s Law Anything that can go wrong will go wrong Lesson Exceptions2.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Introduction to Software Engineering 7. Modeling Behaviour.
Chapter 3 The Critical Section Problem
Session 18 Modeling the Dynamic View: The Collaboration Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 20, 2011 Presented.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Chapter 5 Processes and Threads Copyright © 2008.
Transaction Processing Lecture ACID 2 phase commit.
Concurrency CS 510: Programming Languages David Walker.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Sequence Diagram. What is Sequence Diagram?  Sequence Diagram is a dynamic model of a use case, showing the interaction among classes during a specified.
Advanced Behavioral Modeling
12.1 Exceptions The limitations of traditional methods of exception handling Error conditions are a certainty in programming Programmers make.
SE-565 Software System Requirements More UML Diagrams.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Sequence Diagram Tutorial
Chapter 10 State Machine Diagrams
Chapter-4/5-1CS331- Fakhry Khellah Term 081 Chapter 4 (Only 4.2 – 4.3) Digital Transmission.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Object-Oriented Modeling Using UML CS 3331 Section 2.3 of Jia 2003.
Session 21 Applying the Basic Statechart to the Case Study Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented by.
1 A Student Guide to Object- Oriented Development Chapter 7 State Diagrams.
Information System Design IT60105
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
States.
CS3773 Software Engineering Lecture 06 UML State Machines.
An Energy Efficient MAC Protocol for Wireless LANs, E.-S. Jung and N.H. Vaidya, INFOCOM 2002, June 2002 吳豐州.
Problem Class 3 - Slide 1 PYKC 17 Nov 2015 E2.1 Digital Electronics Problem Class 3 State Machines (Problem Sheet 3) Peter Cheung Department of Electrical.
Statechart Diagrams. Creating a Statechart Diagram A Statechart diagram shows the life cycle of a single object, from the time that it is created until.
Practical Workflow Services Peter Goodman. Agenda  Why Workflow?  The Workflow Runtime  Workflow Services  Windows Server AppFabric  Demo.
1 Review Questions Define n variables, types of shared variables, message-passing, shared-memory system, system topology n program-counter/guarded command.
Firoze Abdur Rakib. Syntax errors, also known as parsing errors, are perhaps the most common kind of error you encounter while you are still learning.
CSE 403 Lecture 8 UML Sequence Diagrams Reading: UML Distilled, Ch. 4, M. Fowler slides created by Marty Stepp
Testing Concurrent Programs Sri Teja Basava Arpit Sud CSCI 5535: Fundamentals of Programming Languages University of Colorado at Boulder Spring 2010.
Govt. Engineering College- Gandhinagar. It is all about……  STATE MACHINE.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
UML Review: State Machines. Sept. 17, 2003Lecture 5: CS660 Fall Overview States Transitions Activities Modeling object lifeline Creating well-structured.
Chapter 4 – Thread Concepts
16 Exception Handling.
State Machine Diagrams
Finite State Machines Dr K R Bond 2009
OPERATING SYSTEMS CS3502 Fall 2017
Chapter 4 – Thread Concepts
Concurrency/synchronization using UML state models
Prepared By Sidra Noureen
CSC 422 Kutztown University Dr. Spiegel
States.
Superior University, Lahore
COMP3221: Microprocessors and Embedded Systems
Chapter 10 Object States and The Statechart Diagram
Unix System Calls and Posix Threads
Chapter 5 state Modeling
Chapter 6 Control Statements: Part 2
States.
Concurrency: Mutual Exclusion and Process Synchronization
Rick Molloy Senior Developer Microsoft Startup Business Group
CS533 Concepts of Operating Systems Class 11
CrawlBuddy The web’s best friend.
Chapter 3: Process Concept
UML State Diagrams.
CS561 Computer Architecture Hye Yeon Kim
Presentation transcript:

Problem 1: Ambiguity of rules when state diagrams are combined with Pascal August 11, 2008

Combining State Diagrams and Pascal 1.2.1: State transitions and sending and receiving of messages occur instantaneously. When a state is entered and the condition to leave that state is not immediately fulfilled, the state executes continuously, sending the messages and executing the actions contained in the state in a continuous manner. 21.5.1 (extensions to 1.2.1): The actions inside a state block execute instantaneously. Actions inside state blocks are atomic (i.e., uninterruptible). After performing all the actions listed in a state block one time, the state block then continuously evaluates its exit conditions until one is satisfied, at which point control passes through a transition arrow to the next block. While the state awaits fulfillment of one of its exit conditions, the actions inside do not implicitly repeat. 4.2.8: The TransmitFrame operation is synchronous. Its duration is the entire attempt to transmit the frame; when the operation completes, transmission has either succeeded or failed, as indicated by the TransmitStatus status code. August 11, 2008

Need to clarify the conventions If a state calls TransmitFrame() function, should 21.5.1 or 4.2.8 take precedence? If 4.2.8 takes precedence, then, the state machine will remain in the state until TransmitFunction() returned, even if the exit condition is satisfied immediately This is analogous to a serial execution in any single-threaded (single-stack) finite automata If 21.5.1 takes precedence, then calling TransmitFrame() function will be an instantaneous event and the execution will immediately proceed with the state code that follows this function call. This is analogous to a multi-threaded model, where a call to TransmitFrame() simply spawns another thread (process) which executes asynchronously from the parent process. Both approaches are justified. We need to make a choice and document it. August 11, 2008