Modeling State-Dependent Objects Using Colored Petri Nets

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

COMET Approach for UML Overview
Principles of Engineering System Design Dr T Asokan
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Application of Coloured Petri Net for Agent Control and Communication in the ABAsim Architecture Antonín Kavička University of Pardubice, Czech Republic.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Unified Modeling (Part I) Overview of UML & Modeling
Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus.
THE OBJECT-ORIENTED DESIGN WORKFLOW Statechart Diagrams.
DIVES Alur, Lee, Kumar, Pappas: University of Pennsylvania  Charon: high-level modeling language and a design environment reflecting the current state.
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 © NOKIA CPN&MOCA tutorial.PPT / / JXU Modeling Software Architecture with UML + CPN Jianli Xu Nokia Research Center Joint Tutorial of CPN’04.
SE-565 Software System Requirements More UML Diagrams.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Modern Software Design Methods for Concurrent and Real-Time Systems By Hassan Gomaa Presented by James Roberts
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
UML - Development Process 1 Software Development Process Using UML (2)
Business Analysis and Essential Competencies
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
Illustrations and Answers for TDT4252 exam, June
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
9-1 © Prentice Hall, 2004 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Integrating UML and Petri Nets Problem with Current Software Engineering Methodology Stochastic Petri nets and their useful properties Translating UML.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
By: David Harel & Eran Grey Presenter: Elizabeth Antony CISC 836.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Formal Methods.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Week 7 - Systems Engineering and Analysis
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
1 Unified Modeling Language, Version 2.0 Chapter 2.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Mapping UML Diagrams to a Petri Net Notation for System Simulation Zhaoxia Hu Supervised by Dr. Sol M. Shatz Concurrent Software Systems.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
4+1 View Model of Software Architecture
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Main issues: • What do we want to build • How do we write this down
State Machines Massimo Felici.
Dynamic Modeling Lecture # 37.
Design Yaodong Bi.
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Presentation transcript:

Modeling State-Dependent Objects Using Colored Petri Nets Robert G. Pettit IV Hassan Gomaa MOCA 01 Workshop on Modeling of Objects, Components, and Agents George Mason University Department of Information and Software Engineering

Research Goals Goal is to provide behavioral analysis capabilities for concurrent object-oriented software architecture designs Determine absense of deadlocks Validation of event sequences and timing Colored Petri nets (CPNs) used as underlying formalism to achieve the desired validation Petri net translation must be automatable Transparent to the object architect Object architectures are expressed in terms of the UML Several different types of objects must be addressed This paper focuses specifically on state-dependent objects

Modeling UML Dynamic Behavior Concurrent design developed using COMET method Collaboration diagrams form basis for CPN translation Use case scenarios dictate event sequences Executed in DesignCPN simulator Objects Active vs. Passive Asynchronous vs. Periodic Communication Synchronous vs. Queued Translation to CPNs determined by stereotypes and tagged values Supported stereotypes are described in the COMET method

State-Dependent Objects (SDOs) Stereotyped as <<state-dependent>> Operate as controllers within the system Behavior depends on both the input events and the current state of the object In COMET, each state-dependent object encapsulates a state machine Represented as a UML statechart associated with the state-dependent object

Modeling SDOs with CPNs Architecture modeled using a hierarchy of CPN subnets Top-level CPN model represents the system context Places represent system interfaces Single transition represents the system being modeled First decomposition represents the system architecture Models system collaboration diagram Captures objects and their connections Each object is then represented with its own subnet Captures the basic structure (control flow) of each concurrent object Transitions within state-dependent objects are further decomposed to capture: Statechart structure Behavior of individual states

High-Level SDO Subnet Discuss flow of control within the active state-dependent object Control token Inputs and outputs ExecuteSTD substitution transition Process time Discuss how “state” is modeled using a tuple of state and conditions

Top-Level CPN State Chart Model First decomposition of ExecuteSTD captures the structure of the statechart Statechart is “flattened” to remove hierarchical state decomposition Interim representation to facilitate systematic mapping to CPN model CPN model contains one transition for each state Transitions enabled via arc incriptions corresponding to the current state

Modeling Individual States Each “state” transition is further decomposed to capture specific behavior First transition in path executes code segment to determine next state and action path based Remaining place-transition pairs are traversed based on the desired actions

Benefits of CPN Modeling Simulation Automated testing of state-dependent behavior “What-if” analysis of input events, states, and conditions Interactive execution to explore detailed areas of concern Performance analysis Timing analyzed in relation to other sytem objects Only as good as the architect’s estimation of process time for each object Occurrence graph Deadlock detection Coverage analysis

Example: Cruise Control Real-time control system to manage speed of an automobile State-dependent behavior based on: Driver input Current cruise control setting Condition of engine (on or off) and brake (pressed or released)

Cruise Control SDO Cruise Control SDO (from collaboration diagram) Cruise Control Statechart

Cruise Control SDO CPN Model Discuss connections to overall cruise control model Discuss elaboration of the general SDO subnet

Cruise Control Top-Level Statechart CPN Relate to cruise control statechart from previous slide Discuss how each transition is only enabled if the current state matches the state being modeled.

Cruise Control Idle State Relate to both the cruise control statechart and to the previous CPN model Discuss how the code segment works Traverse an action branch and relate it to the cruise control statechart

Conclusions and Future Research UML dynamic behavior can be represented using colored Petri nets Statecharts may be systematically mapped to CPN representations Petri net theory used to validate dynamic properties Occurrence graphs detect deadlock and starvation Simulator used to execute models and provide functional analysis CASE tools may also provide statistical analysis Completed research effort will provide mechanism to automate validation of dynamic behavioral properties UML collaboration diagrams Use case scenarios