Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University.

Slides:



Advertisements
Similar presentations
Object-Oriented Software Engineering Visual OO Analysis and Design
Advertisements

Behavioral Modeling: State Diagrams CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Visualization Kenny Inthirath.  Reviewing a Suitable Technique to Use  Scope and Purpose  What types of models can be represented?  Architectural.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
1 Statecharts for the many: Algebraic State Transition Diagrams Marc Frappier GRIL – Groupe de recherche en ingénierie du logiciel.
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Component-Level Design
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Lecture 4 Class Responsibility Collaboration Cards
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Modeling State-Dependent Objects Using Colored Petri Nets
Chapter 10: Architectural Design
An Introduction to Rational Rose Real-Time
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Model-Oriented Programming: Bridging the Model-Code Divide Modeling in Software Engineering (MiSE 2013) Omar Badreddin, Timothy C. Lethbridge University.
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
SE-280 Dr. Mark L. Hornick Design Review Issues. SE-280 Dr. Mark L. Hornick 2 Many expensive defects are a result of design problems Software applications.
Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Model Oriented Programming: An Empirical Study of Comprehension Omar Badreddin Andrew Forward Timothy C. Lethbridge try.umple.org.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
UML-1 3. Capturing Requirements and Use Case Model.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity SERA 2013SERA 2013 (August 7, 2013 in.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
UML-1 8. Capturing Requirements and Use Case Model.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
A Student Guide to Object- Oriented Development Chapter 10 Designing objects and classes.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
DynaRIA: a Tool for Ajax Web Application Comprehension Dipartimento di Informatica e Sistemistica University of Naples “Federico II”, Italy Domenico Amalfitano.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Basic building blocks of SD Levels (Stocks), Rates (Flows), Auxiliary variables and Arrows Essential building blocks Represent the way dynamic systems.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
A Student Guide to Object-Oriented Development
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:
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Models and Diagrams. Models A model is an abstract representation of something real or imaginary. Like a map, a model represents something A useful model.
Chapter 5 – System Modeling Lecture 9 Section A 27/4/2015 Section B 29/4/2015 1Chapter 5 System modeling.
STAR Webinars Ontology driven diagram generator for health simulation models Andrew Sutcliffe.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
COMP091 – Operating Systems 1 Memory Management. Memory Management Terms Physical address –Actual address as seen by memory unit Logical address –Address.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
The Dagstuhl Middle Model: An Overview Timothy C. Lethbridge SITE, University. of Ottawa
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.
Simulation Examples And General Principles Part 2
Maikel Leemans Wil M.P. van der Aalst. Process Mining in Software Systems 2 System under Study (SUS) Functional perspective Focus: User requests Functional.
Concurrent Systems Modeling using Petri Nets
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Object-Oriented Analysis and Design
Unified Modeling Language
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
Modeling Behavior in Statechart Diagrams
Timothy C. Lethbridge, Andrew Forward, Omar Badreddin
Presentation transcript:

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University of Ottawa

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Progress so far The student who is to start will not start until January But –The student has a full scholarship, freeing up funds that I can use to put a second student on the project in January or Sept next year, or hire a student temporarily –I have a PhD student laying groundwork by studying how code can better be generated from state machines –I am continuing to develop plans

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Research questions Q1: How to go from trace to model –Trace abstraction to generate a model Useful for understanding, simulation and generation of a system Q2: How to go from model to trace –Better tracing based on the model E.g. defining trace points

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Q1: From trace to model What modeling formalisms should we use? –State machines Likely with a lage amount of concurrency Abstracting an entire trace or set of traces –Sequence diagrams (and similar) Not so useful for large cases o Not enough abstraction Good for scenarios, not as good for describing the entire behaviour of an element –Static diagrams (component/communication/class) Mapping states/threads to components

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Converting a trace to a model Seek ‘similarities’ in sequences –Patterns, common hehavior that persists for a while, then becomes different Working hypothesis: Each is a state –Works with system traces, routine traces, etc. ‘Similarity function’ must be defined and van be varied Concurrency in traces gives rise to concurrent state machines –Synchronization between states might exist if multiple state transitions occur in different state machines at once

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Varying the similarity function … Allows dynamically altering the –Number of states Function ‘everything equals everything’ returns a single state –Complexity of the diagram –Details of types of states visible in the model

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge What notation should be used? Use a textual UML format to allow programmatic manipulation We would like to use Umple –Many similarities to STATL, but broader applicability –Large subset of UML –Under our control –Code generation facilities Can run simulated system (executable model) to explore scenarios

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge What is the state of the art? Several papers in the literature, dating back to 2004 –So far I am unaware of any that translate traces to state machines for Large scale traces Highly concurrent trace models Tunable levels of abstraction

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Q2: What can be added to a model to enable tracing? State boundaries –Transitions, synchronization,etc. –State machine abstraction level determines number of trace points Communication between components of various kinds Insert these into the system for the next iteration

Sept Tracing Status Update - Sept Montreal - Timothy Lethbridge Next steps Looking forward to studying real models to be provided by Mario Couture Also looking for suggestions for large traces to abstract into state machines Will work on literature review before state of the art