An Integrated Framework for Scenarios and State Machines Bikram Sengupta IBM Research India Rance Cleaveland Department of Computer Science University.

Slides:



Advertisements
Similar presentations
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Advertisements

Behavioral Modeling: State Diagrams CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons,
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Logic Based LSC Consistency Testing Presenter: Anup Niroula.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
Systems Analysis and Design in a Changing World, Fourth Edition
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Program Testing Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Transitioning From Software Requirements Models to Design Models
Methodology and Tools for End-to-End SOA Configurations By: Fumiko satoh, Yuichi nakamura, Nirmal K. Mukhi, Michiaki Tatsubori, Kouichi ono.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
1 MFI-5: Metamodel for Process models registration HE Keqing, WANG Chong State Key Lab. Of Software Engineering, Wuhan University
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
1 The CeNTIE project is supported by the Australian Government through the Advanced Networks Program of the Department of Communications, Information Technology.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Behavioral Composition in Symbolic.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Semantic Web Services enabled B2B Integration Kotinurmi,Vitvar,
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Prof. Hany H. Ammar, CSEE, WVU, and
Hierarchical Load Balancing for Large Scale Supercomputers Gengbin Zheng Charm++ Workshop 2010 Parallel Programming Lab, UIUC 1Charm++ Workshop 2010.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Systems Analysis and Design in a Changing World, Fourth Edition
Luca Pazzi, Marco Pradelli University of Modena and Reggio Emilia
Algorithms and Problem Solving
Instructor: Dr. Hany H. Ammar
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
Chapter 20 Object-Oriented Analysis and Design
Algorithms and Problem Solving
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

An Integrated Framework for Scenarios and State Machines Bikram Sengupta IBM Research India Rance Cleaveland Department of Computer Science University of Maryland, College Park

Outline Background  Motivation  Triggered Message Sequence Charts (TMSCs)  Communicating State Machines (CSMs)  Acceptance Trees Combining TMSCs and CSMs  An Integrated Framework  Semantics Case Study  Automated Resuscitation and Stabilization System (ARSS) Conclusions and Future Work

Motivation Heterogeneous specifications, featuring a mixture of high-level requirements and lower-level design artifacts, are motivated by several development methodologies  In spiral system development processes, requirements elicitation and system design often proceed hand-in-hand  Intermediate stages of refinement-based strategies contain a mixture of design elements and requirements  UML supports notations for both requirements modeling and operational design However, research in the area of heterogeneous specifications has remained confined to the more theoretical domains of process algebra, temporal logic and mu-calculus  We need to explore how these ideas may be adapted to more accessible notations used in practice We propose a framework for heterogeneous system specifications consisting of a mix of  Higher-level scenario-based requirements, expressed as Triggered Message Sequence Charts (TMSCs)  State-machine-based subsystem designs, given as Communicating State Machines (CSMs)

Triggered Message Sequence Charts (TMSCs) P Q a b trigger action extensible terminates Conditional Scenario Partial Scenario

Communicating State Machines out(I 1,I 2,a) loc(I 1,p 1 ) end(I 1 ) loc(I 1,p 2 ) in(I 1,I 2,a) end(I 2 ) A1A1 A2A2

Acceptance Trees: the “must” pre-order ab {{c}{d}} cd {{a}} {{c}} {{}} a c <must {{a}{b}} P <must Q, if Q is “more deterministic” than P P1 P2 {{}} acceptance set

Combining TMSCs and CSMs TMSCs and CSMs both specify system behavior in terms of sequences of events that may occur  A scenario shows only one possible interaction between instances, and is inherently “incomplete” Conditional and partial TMSC scenarios make the behavior even more “incomplete”  In CSMs, the individual behavior of each instance is generally given over all interactions, hence they are more “complete” Any common account of TMSCs and CSMs should  Be able to express both underspecified as well as fully specified behavior in a uniform manner  Provide operators to weave together multiple scenarios and to allow “networks” of CSMs to be formed  Prescribe when a CSM “correctly” implements a TMSC specification, or, more generally, when one heterogeneous specification “refines” another An acceptance tree-based framework will have the right ingredients  Execution-based  Behavior may be expressed at various levels of detail through “acceptance sets”  “Must-preorder” may be used to check the relationship between scenarios, state- machines, and a mixture of these notations, once they are expressed as acceptance trees

Example: From TMSCs to Acceptance Trees PQ a b a b PQ a {{b}} b b c {{a}} {{b}} a b <must X Y {{a}{b}{c}…}

A Common Framework H ::= M (single TMSC) | S (single ISM) | X (variable) | H H (communicating parallel comp) | H || H (interleaving parallel comp) | H + H (delayed choice) | H * H (internal choice) | H /\ H (logical AND) | H ; H (sequential composition) | recX. H (recursive operation)

Semantics of Heterogeneous Expressions /\ => a p b q a p b q Combine acceptance trees of sub-expressions Semantics is compositional  If P <must Q then P op R <must Q op R

Case Study: Automated Resuscitation and Stabilization System D R B P Blood Pressure Patient Infusion Pump Control Unit Display/Alarm

Initial System Requirements RB = M 1 + M 2 RP= M 3 * M 4 RD= M 5 * M 6 BS = RB; RP; RD RS = BS /\ T1

Initial Design RB <must C 1, RP <must C 2, RD <must C 3 BS = RB;RP;RD <must C 1 ;C 2 ;C 3 RB = M1 + M2 <must C1 C1 C2 C3

Intermediate Heterogeneous Design C1;C2;C3 <must ID <must ID /\ T1 Initial Design ID

Refined Design & New Requirement ID <must RD HS2 = RD /\ T2 Refined Design RD

Final Design RD /\ T 2 <must FD RS = BS /\ T 1 <must C1;C2;C3 /\ T 1 <must RD <must RD /\ T 2 <must FD

Conclusions Requirements and design phases often overlap in practice  Need for a common framework that would allow requirements and design notations to inter-operate We presented a framework for heterogeneous specifications involving  Requirements expressed as TMSCs  Design elements represented as CSMs Semantics is based on acceptance trees  Precise notion of refinement in terms of the “must” pre-order Supports principled evolution of higher-level requirements to lower-level operational specifications Future Work  Extend framework to cater to other notations  Synthesize state-machines from TMSC expressions