Remodularizing Legacy Model Transformations with Automatic Clustering Techniques Andreas Rentschler , Dominik Werle, Qais Noorshams, Lucia Happe, Ralf Reussner � 3rd Workshop on the Analysis of Model Transformations Monday, September 29, 2014 SOFTWARE DESIGN AND QUALITY GROUP sdq.ipd.kit.edu INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Source: pixelio.de KIT – University of the State of Baden-Wuerttemberg and www.kit.edu National Research Center of the Helmholtz Association
Model-driven Software Quality Prediction Performance data: Performance model Execution time of a component-based Throughput software architecture Resource utilisation Motivation ◉ ⚪ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 2 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Model-driven Software Quality Prediction Performance data: Performance model Palladio Generated Execution time of a component-based Measurement Component Transformation Simulation Run Throughput Data software architecture Model Code Resource utilisation SimuCom Simulation Framework Motivation ◉ ⚪ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 2 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Model-driven Software Quality Prediction Performance data: Performance model Palladio Generated Execution time of a component-based Measurement Component Transformation Simulation Run Throughput Data software architecture Model Code Resource utilisation 5k lines of SimuCom Simulation Framework code Motivation ◉ ⚪ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 2 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Model-driven Software Quality Prediction Performance data: Performance model Queueing Palladio Execution time of a component-based Measurement Transformation Petri Net Simulate Component Throughput Data software architecture Model Model Resource utilisation 5k lines of QVT-O code Motivation ◉ ⚪ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 2 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Problem and Overall Approach Legacy Transformation Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Problem and Overall Approach Legacy Modularized Transformation Transformation Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Problem and Overall Approach Manual Decomposition Legacy Modularized Transformation Transformation Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Problem and Overall Approach Manual Decomposition Legacy Modularized Transformation Transformation Cluster Analysis Clusters Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Problem and Overall Approach Manual Decomposition Legacy Modularized Transformation Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Problem and Overall Approach Manual Decomposition Legacy Modularized Transformation Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies How can we support typical transformation designs? What dependence information is required? Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Manual Decomposition Legacy Modularized Transformation Transformation Problem and Overall Approach Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies How can we support typical transformation designs? What dependence information is required? Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪ 3 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation Design Rules Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies What’s makes model transformations di ff erent from GPL programs? Data-centric operations Data is hierarchically structured Data models extrinsically defined � Common decompositional styles [Lawley04]: Source-driven Target-driven Aspect-driven one-to-many many-to-one a mixture of both mappings mappings, M2T templates Approach ◉ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 4 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation A Minimalistic Example Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 5 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation A Minimalistic Example Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Source Model ActivityModel Activity actions Action successors StopAction StartAction Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 5 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation A Minimalistic Example Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Source Model Target Model ActivityModel ProcessModel Process Activity actions steps Action Step successors next StopAction StartAction Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 5 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation A Minimalistic Example Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Transformation Source Model Target Model ActivityModel ProcessModel call mapping in out Process Activity mapActivity2Process call actions steps mapping out in Action mapAction2Step Step successors call mapping next in mapAction2Step StopAction mapping in StartAction mapAction2Step Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 5 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation A Minimalistic Example Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Transformation Source Model Target Model ActivityModel ProcessModel call mapping in out Process Activity mapActivity2Process call actions steps mapping out in Action mapAction2Step Step successors call mapping next in mapAction2Step StopAction mapping in StartAction mapAction2Step CompositeActions actions Composite Action Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 5 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Legacy Manual Decomposition Modularized Transformation Transformation A Minimalistic Example Transformation Dependency Analysis Control Cluster Analysis and Data Clusters Dependencies Transformation Source Model Target Model ActivityModel ProcessModel call mapping in out Process Activity mapActivity2Process call actions steps mapping out in Action mapAction2Step Step successors call mapping next in mapAction2Step StopAction mapping in StartAction mapAction2Step CompositeActions call mapping actions in out mapAction2Step Composite call Action helper in out createProcess Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪ Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ 5 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al. 2014-04-25
Recommend
More recommend