1 / 16

Architectural Investigation of XCTL by URCA

This paper explores the use of Formal Concept Analysis (URCA) for the architectural investigation of XCTL, a laboratory equipment control application. The paper discusses the reverse engineering process, results comparison, and provides conclusions.

Télécharger la présentation

Architectural Investigation of XCTL by URCA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architectural Investigationof XCTL by URCA Miloš Cvetanović, Dragan BojićFaculty of Electrical Engineering University of Belgrade {cmilos, bojic}@etf.bg.ac.yu

  2. Agenda • Introduction to URCA • Formal Concept Analysis • XCTL project • Reverse engineering process • Results comparison & Conclusion cmilos@etf.bg.ac.yu

  3. Introduction • Use case Design Recoveryby means of Formal Concept Analysis (URCA) • Recovers all mandatory elementsof the Rational Unified Process model template • Static analysis → basic model elementsDynamic analysis → behavioral aspectsConcept analysis → relationships and roles Static Analysis UMLModel TestCases DynamicAnalysis ConceptAnalysis cmilos@etf.bg.ac.yu

  4. Concept Formal Concept Analysis Concept Analysis is used to identify groupings of objects that posses common attributes – Burmeister (1998). Context relation Partial orderviasuper & subconcept ordering Concept lattice cmilos@etf.bg.ac.yu

  5. 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 cmilos@etf.bg.ac.yu

  6. XCTL Project • An application for controllinglaboratory equipment at Max Planck Institute • A reference software reengineering projectat the Humboldt University • XCTL – classical Windows application - 46 classes - 496 member functions and global functions - 38,5 KLOC cmilos@etf.bg.ac.yu

  7. Reverse Engineering Process (1) • STEP 1Identify “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 cmilos@etf.bg.ac.yu

  8. Reverse Engineering Process (2) • STEP 3 Collecting dynamic informationby 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) cmilos@etf.bg.ac.yu

  9. Reverse Engineering Process (3) • Example of operations over activation tree cmilos@etf.bg.ac.yu

  10. Reverse Engineering Process (4) • STEP 4 Construction of Context relation • STEP 5 Construction of Concept latticeby means of Formal Concept Analysis cmilos@etf.bg.ac.yu

  11. Reverse Engineering Process (5) • Interpretation of the Concept lattice Root Diffraction/ReflectionScan Generalized(abstract) use cases Area Scan Line Scan Motor Control Concreteuse cases Device Control Included use cases (shared functionality) Leaf cmilos@etf.bg.ac.yu

  12. 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 cmilos@etf.bg.ac.yu

  13. Hierarchicaldecomposition Missing parts causedby filtering Results comparison cmilos@etf.bg.ac.yu

  14. one use caserealization foreach concept function isattached tolowestconcept thatcontains it these relationsare obtained bystatic analysis class role(a part of classthat participatesin realization) Result comparison cmilos@etf.bg.ac.yu

  15. 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 cmilos@etf.bg.ac.yu

  16. Architectural Investigationof XCTL by URCA Miloš Cvetanović, Dragan BojićFaculty of Electrical Engineering University of Belgrade {cmilos, bojic}@etf.bg.ac.yu

More Related