Architectural Investigation of XCTL by URCA Miloš Cvetanović, Dragan Bojić Faculty of Electrical Engineering University of Belgrade {cmilos,

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Modeling Main issues: What do we want to build How do we write this down.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
Object-Oriented Analysis and Design
BUSINESS MODELING BY UML PROFILE VISA ISSUING SYSTEM Dražen Brđanin, Slavko Marić Faculty of Electrical Engineering Banja.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
CS 425/625 Software Engineering System Models
© Copyright Eliyahu Brutman Programming Techniques Course.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Object Oriented Analysis and Design Using the UML
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CMPT 275 Software Engineering
Introduction To System Analysis and design
An Approach to Task Modelling for User Interface Design Costin Pribeanu National Institute for Research and Development in Informatics, Bucureşti, Romania.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
Software Engineering for Business Information Systems (sebis) Department of Informatics Technische Universität München, Germany wwwmatthes.in.tum.de Master’s.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Ioana Sora, Gabriel Glodean, Mihai Gligor Department of Computers Politehnica University of Timisoara Software Architecture Reconstruction: An Approach.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Coverage Criteria for Testing of Object Interactions in Sequence Diagrams Atanas (Nasko) Rountev Scott Kagan Jason Sawin Ohio State University.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to OOAD and the UML
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.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Systems Architectures System Integration & Architecture.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Object Oriented Analysis & Design By Rashid Mahmood.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Some Simple Design Modeling Techniques
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Conceptual data modeling
Object-Oriented Analysis
Interactions.
Unified Modeling Language
Introduction to UML.
Introduction to the Unified Modeling Language
Software Design Lecture : 15.
Presentation transcript:

Architectural Investigation of XCTL by URCA Miloš Cvetanović, Dragan Bojić Faculty of Electrical Engineering University of Belgrade {cmilos,

Agenda Agenda Introduction to URCA Formal Concept Analysis XCTL project Reverse engineering process Results comparison & Conclusion

Introduction Use case Design Recovery by means of Formal Concept Analysis (URCA) Recovers all mandatory elements of the Rational Unified Process model template Static analysis → basic model elements Dynamic analysis → behavioral aspects Concept analysis → relationships and roles Test Cases UML Model Dynamic Analysis Concept Analysis Static Analysis

Formal Concept Analysis Concept Analysis is used to identify groupings of objects that posses common attributes – Burmeister (1998). A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 A7A7 A8A8 O1O1 XX O2O2 XXX O3O3 XX XXX O4O4 XXXXXX Context relation Concept lattice Concept Partial order via super & sub concept ordering

Interpretation Object maps to Function in code (O → F) (both class member and global) Attribute maps to Use case (A → U) Context relation – “implements” There exist at least one test case that executes F and exercise U Concept contains: - Set of use cases – cardinality 1 in ideal case - Set of related functions

XCTL Project An application for controlling laboratory equipment at Max Planck Institute A reference software reengineering project at the Humboldt University XCTL – classical Windows application - 46 classes member functions and global functions - 38,5 KLOC

Reverse Engineering Process (1) STEP 1 Identify “architecturally relevant” use cases STEP 2 Define test cases that exercise each use case - Start & Exit- Diffraction/Reflection Area Scan - Motor control- Diffraction/Reflection Line scan - Detector use- Representation of measured data - Flow control- Automatic adjustment - Topography- Manual adjustment - General Attitude- Half-width measure

Reverse Engineering Process (2) STEP 3 Collecting dynamic information by executing application for each use case - Profiling data (function execution count) - Function Activation Tree ( UML interaction diagrams) We define some operation on dynamic data - Differing execution count (for extends relations differentiation) - Function filtering (needed to decompose interactions) - Elimination of repeating calling sequences (loops elimination)

Reverse Engineering Process (3) Example of operations over activation tree

Reverse Engineering Process (4) STEP 4 Construction of Context relation STEP 5 Construction of Concept lattice by means of Formal Concept Analysis

Reverse Engineering Process (5) Interpretation of the Concept lattice Root Diffraction/Reflection Scan Area ScanLine ScanMotor Control Device Control Leaf Generalized (abstract) use cases Concrete use cases Included use cases (shared functionality)

Reverse Engineering Process (6) STEP 6 Construction of the initial UML model based upon the results of the Static analysis STEP 7 Supplementing of the initial UML model based upon the results of Concept analysis

Results comparison Hierarchical decomposition Missing parts caused by filtering

Result comparison one use case realization for each concept function is attached to lowest concept that contains it these relations are obtained by static analysis class role (a part of class that participates in realization)

Result comparison & Conclusion Similarities – Same grouping criterion (use case realizations) Differences – Class roles are not present in the manual analysis – Human intelligent abstraction logic – Hierarchies as a level of abstraction

Architectural Investigation of XCTL by URCA Miloš Cvetanović, Dragan Bojić Faculty of Electrical Engineering University of Belgrade {cmilos,