1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Ch 3: Unified Process CSCI 4320: Software Engineering.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
Systems Analysis and Design 8th Edition
CS 355 – Programming Languages
May 11, ACL2 Panel: What is the Future of Theorem Proving? Arvind Computer Science & Artificial Intelligence Laboratory.
Software Testing and Quality Assurance
1 Evaluation of OCL for Large-Scale Modelling A Different View of the Mondex Smart Card Application Emine G. Aydal, Richard F. Paige, Jim Woodcock University.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
1 SWE Introduction to Software Engineering Lecture 5.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Overview of Software Requirements
Software Testing and Quality Assurance
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Chapter 6– Artifacts of the process
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Introduction To System Analysis and design
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
Object-Oriented Software Testing. C-S 5462 Object-Oriented Software Testing Research confirms that testing methods proposed for procedural approach are.
ICIS-report on specification and BIM 7 methods or trends of integrating specifications and building models – pro and contras 2.
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
11/15/10 State of the practiceState of the practice Building software pyramids 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.
Lab 5 CPIT 250 System Analysis and Design.
Software Engineering 2 -Prakash Shrestha.
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.
OOP Review CS 124.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
The Hashemite University Computer Engineering Department
Requirements Analysis
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Interpreting the Object Constraint Presented by: Ed Kausmeyer.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
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.
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
Requirements Engineering Processes
John D. McGregor Module 6 Session 1 More Design
Presentation transcript:

1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway

My background Bachelor in Computer Science, Nanjing University, China, 1997 Master in Computer Science, Colorado State University, USA, 2006 After 2006: Ph.D. research in software engineering Full-time software engineer 2

3 Outline Problem Statement Solution Overview Evaluation Method Related Work Research Plan

4 Background The Unified Modeling Language is a de-facto standard OO modeling language UML class models are often used to describe software designs Software design is creative process and human beings introduce errors in the design model Design errors should be uncovered and resolved as early as possible

5 State-of-the-art in UML class model analysis UML design class model describes Structure in terms of classes and relationships Functionality in terms of operation specifications (OCL) UML static analysis tools USE/OCLE can check whether a snapshot is consistent with structural constraints in UML design class models A snapshot is a UML instance model describing a system state They do not provide good support for analyzing functionality

6 Research questions How to analyze functional scenarios against UML design class models? How can we leverage USE/OCLE to support scenario-based analysis? What type of design errors can be uncovered in scenario-based analysis of UML design class models? How to systematically generate scenarios?

7 Outline Problem Statement Solution Overview A scenario-based analysis approach Scenario generation techniques Evaluation Method Related Work Research Plan

Scenario-based Analysis: A lightweight approach Step 1 Step 2 Step 3 8

Step 1: generate snapshot model Create a structured class Snapshot that contains a part structure representing snapshots of the system Create a Transition class that links to before and after snapshots For each operation in the UML design Create a subclass of Transition Add operation parameters as attributes “And” OCL pre and post conditions and transform to invariants of the Transition subclass Add frame constraints: make sure other objects and relationships remain unchanged 9

Snapshot model: an example 10

Step 2: generate snapshot transitions 1. Use UMLAnT to generate snapshot transitions Verifier describes operation definitions using JAL (Java-like Action Language) Snapshot transitions are generated by executing JAL using UMLAnT 2. Use Alloy to generate snapshot transitions To be discussed in scenario generation part 11

Step 3: consistency checking Snapshot transitions are instance model of the Snapshot model Consistency is checked using USE/OCLE Inconsistencies imply errors in either the UML design or the operation definitions 12

Scenario generation 13 Scenario generation technique automates the creation of scenarios Option 1: Generate scenarios from formal UML requirements model Option 2: Generate scenarios from UML design Compare two options

Scenario generation option 1 Generate scenarios from formal UML requirements model UML Requirements model UML activity diagram describing use case sequences Use case formally described as system operation with parameters and pre/post conditions All allowed operation sequences are extracted from the UML activity diagram Alloy is used to solve parameters of scenarios 14

Scenario generation option 2 Generates scenarios from UML designs using Alloy Verifier describes operation definitions in terms of OCL constraints Transform snapshot class model and operation definitions to Alloy Generate interesting scenarios and their snapshot sequences using Alloy trace 15

16 Outline Problem Statement Solution Overview Evaluation Method Related Work Research Plan

17 Evaluate scenario-based analysis technique Questions Can the technique find inconsistencies between UML class model and scenarios? What types of inconsistencies can the technique uncover? Method Different types of inconsistencies are seeded into UML design class models and scenario models Two groups of students: one uses scenario-based analysis tool, another does manual inspection Record and compare number of errors and type of errors found

18 Evaluate scenario generation method Question: Can the scenario generation method generate scenarios that uncover design errors? Method: Seed design errors in the UML design class model Generate scenarios using the scenario generation method and a random scenario generator Compare design errors uncovered by the scenario generation method and a random generator

19 Outline Problem Statement Solution Overview Evaluation Method Related Work Research Plan

20 Related Work Transforming UML to formal specification languages Developers need to be familiar with these notations and techniques Correctness of transformation can be difficult to prove Testing & Animating UML designs (UMLAnT) Testing one operation call vs Analyzing scenarios Executing the UML model vs Static analysis

21 Outline Problem Statement Solution Overview Evaluation Method Related Work Research Plan

22 Research Plan Research tasksSchedule Background and related work investigation Finished First version of scenario-based UML design analysis technique Finished Research Proposal Implementing scenario-based analysis tool and integrating with UMLAnT Scenario generation – Case study – Case study – Drafting dissertation –

23 Questions and discussions ?

24 Feedback and questions Separate scenario-based analysis and scenario generation techniques Not practical to create two-level of abstractions (requirement and design level) Use this approach when good requirements models are available Otherwise, use option 2 The scenario-based analysis technique does not require a requirements model Why not Alloy Alloy is used to generate scenarios in a lightweight manner

Step 2: generate snapshot transitions Operation definitions: created by the verifier in Java-like Action Language (JAL) JAL can be interpreted by UMLAnT (UML Animation and Testing) to generate next system state (snapshot) Each scenario contains a sequence of operations with parameters populated Snapshot transitions are generated by interpreting operations definitions 25

26 Limitations Lightweight: Does not automatically explore all possible scenarios Does not analyze asynchronous operations Does not analyze parallel and concurrent UML models