Scenario Integration via Higher-Order Graphs *)

Slides:



Advertisements
Similar presentations
Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
Advertisements

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
IELM 511: Information System design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object-Oriented Analysis and Design
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Zinovy Diskin and Juergen Dingel Queen’s University Kingston, Ontario, Canada Mappings, maps and tables: Towards formal semantics for associations in UML.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
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.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
Lab 04.
Group 2 work What is sequence diagram ? What is sequence diagram ? Why do we use it ? Why do we use it ? What is basic notation of SD? What is basic notation.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 5: Interaction Diagrams.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Analysis Classes. What Is an Analysis Class?  A class that represents initial data and behavior requirements, and whose software and hardware-oriented.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Finding Reusable UML Sequence Diagrams Automatically By: William N. Robinson and Han G. Woo From: IEEE Software (September/October 2004) Presented by:
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Modelling and Solving Configuration Problems on Business
Introduction to UML.
Analysis Classes Unit 5.
CHAPTER
Cmpe 589 Spring 2006.
Instructor: Dr. Hany H. Ammar
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Communication DIAGRAM
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
State Machine Diagrams
Object-Orientated Analysis, Design and Programming
Sequence Diagrams.
Business System Development
Relational Algebra Chapter 4, Part A
Information Systems in Organizations 2
Internet of Things A Process Calculus Approach
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Chapter 20 Object-Oriented Analysis and Design
Relational Algebra Chapter 4, Sections 4.1 – 4.2
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
Communication DIAGRAM
An Introduction to Software Architecture
1/16/2019 A metamodel independent framework for model transformation: Towards generic model management patterns in reverse engineering Zinovy Diskin and.
Visual Modeling Using Rational Rose
Requirements Modeling Framework
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
CIS 375 Bruce R. Maxim UM-Dearborn
From MDE (model driven engineering) to CT and back
PASSI (Process for Agent Societies Specification and Implementation)
Zinovy Diskin School of Computing, Queen’s University Kingston, Canada
CS 501: Software Engineering
From Use Cases to Implementation
Presentation transcript:

Scenario Integration via Higher-Order Graphs *) Zinovy Diskin, Juergen Dingel and Hongzhi Liang School of Computing, Queen’s University Kingston, ON, Canada *) Supported by the Natural Sciences and Engineering Research Council of Canada (NSERC), OCE Centre for Communications and Information Technology (CITO), and IBM Software Lab in Ottawa, Canada the speaker 11/15/2018

Data integration: just to give a notion Data set 2 Virtual Integrated Data set Data set 1 Schema 2 Schema 1 map2 map1 map3 Data set 3 Schema 3 11/15/2018

Different types of composing and refining sequence diagrams structure time X A B Y X A B Y 11/15/2018

Summary of the introduction The general motto: complex scenarios are assembled/composed from simple pieces. There are different composition mechanism, and not all of them are captured by ordinary Interaction Overview Diags. What we need is a general scenario model management mechanism. Our goals: To formalize syntax of UML2 SeqDiags in a way facilitating their management: -- comprehensible, -- amenable for algebraic manipulations, -- mathematically sound. To look at how well this formalization could work for scenario integration. 11/15/2018

Content of the talk Generic pattern of model merge Formalization of Sequence Diagrams Example of scenario merge (not entirely trivial) Another example (if we have time) – very simple Discussion: some delicate issues in model/scenario merge; future work; some speculations. 11/15/2018

Model merge: a generic pattern Corresp. Model, R r1 (e1  f1) r12 (/e14  f12) Model A Model B r2 (/e4  f2) f1 e3 f3 e1 f12 f23 [q] f2 e2 /e14 /e4 Model derQAB Model derQBA e3 r1 e2 [q] /r12 f3 f23 /r2 11/15/2018 Model derQBA R derQAB

Meta-schema of merge (merge overview diagram): algebra vs. heuristic match matching [ join ] merge merge normalization normalization Color Legend: green means ‘heuristic’, blue means ‘automatic’ 11/15/2018

Why higher-order graphs? Formalization of sequence diagrams via graphs:_________________________________ 2 1 SD  G2  G1  G0 Defining mapping 2 Why higher-order graphs? /::close Graph G2: Event & msg occurrences 2 /close = deal + pay Add fly-in box asking Why higher-order graph? /:close = :deal + :pay s:Seller /live={exec|wait}* 1 11/15/2018 Graph G0: Classes and dynamic associations (message types) Graph G1: Objects and dynamic links (occurence types)

Metamodels for higher-order graphs In diagrams (a1.a2,a3), rectangles denote sets and arrows are set mappings. In diagram (b), rectangles are objects (sets, graphs, higher-order graphs) and arrows are their morphisms. Bold/ordinary arrow tails denote, resp., totally/partially defined mappings. 11/15/2018

Requirements for merge: a Brokered Sale is a composition of two Sales, called the Wholesale (wSale) and the Retail Sale (rSale), such that the folowing conditions hold: Both sales deal with the same item:Product. The buyer of the Wholesale is the seller of the Retail sale, and is called the retailer for the entire Brokered sale interaction. In general, the retail sale follows after the whole sale but (3.1) the retailer obeys the rule to pay to the whole-seller after getting the payment from the retail buyer, (3.2) in-between the two sales, the retailer needs to perform a special procedure called thinking, and also needs to do some banking. 11/15/2018

Merging structural bases /:close=:deal +:pay /:close = :deal + :pay :pay Two collaboration graphs to be integrated Green edges are new elements in the Retailer scenario 11/15/2018

Three scenarios to be merged 11/15/2018

Topology of scenario merge Legend: stadiums with vertical shading denote interactive behavior (Seq. diags, MSCs or the like) presented by typed graphs; rectangles with horizontal shading are structural bases (collaboration graphs) of the behaviors over them; block grey arrows denote (partially defined) mappings between models (i.e., typed graphs mappings), and grey line arrows are their components showing some details of these mappings; green items in Connector model specify new information not contained in the original models. 11/15/2018 The same Fig.4 topologically

11/15/2018

11/15/2018

Example 2: High-level SD 11/15/2018

Example 2: Refinements 11/15/2018

Example 2: Merge 11/15/2018

Delicate issues automation (algebra) and heuristics in model management; hidden correspondences between views does algebra do what we really need? universal definitions and algebraic algorithms, semantic meaning of merge? derived information and normalization. 11/15/2018

Future work Formalization of nested (concurrent) executions for the same agent/object Adding more type/structure discipline to scenario specifications: “return” 2-arrows, …. , constraints (graphs + constraints = sketches); Topological pre-merge (tools); Inconsistency between views. Partial rather than linear semantics. 11/15/2018

Questions to discuss: How interesting is this sort of scenario composition/management? Formalization of nested executions over the same object/agent. Partial order semantics? 11/15/2018

References Diskin, Dingel and Liang. Scenario integration via higher-order graphs. Technical Report, 2006-517. School of Computing, Queen’s University, 2006 Diskin. Mathematics of generic specifications for model management. In Encyclopedia of Database Technologies & Applications, Eds. L. Rivero, J. Doorn and V. Ferraggine, Idea Publishing Group, 2005 11/15/2018