SlideServe
Menu
Préférences
© SlideServe · v2026

Architectural Investigation of XCTL by URCA

rrittenhouse avatar
16 diapositives · 200 Views · Jan 03, 2020

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.

Architectural Investigation of XCTL by URCA - slide 1
01 / 16Architectural Investigation of XCTL by URCA
1 / 17

Télécharger la présentation

Architectural Investigation of XCTL by URCA
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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