280 likes | 429 Views
Challenges for Addressing Quality Factors in Model Transformation. Eugene Syriani Jeff Gray. Software Engineering Group Department of Computer Science College of Engineering. University of Alabama. Motivation Challenges & Planned Solutions
E N D
Challenges for Addressing Quality Factors inModel Transformation Eugene SyrianiJeff Gray Software Engineering Group Department of Computer Science College of Engineering University of Alabama
Motivation • Challenges & Planned Solutions • Elaboration of framework for good practices & their assessment • Formal analysis of this framework • Application in industrial settings • Conclusion
Model transformation statu quo GReAT QVT MOLA DSLTrans ProGReS
What is missing? • Good practices to design transformations • Pragmatics, “intuitions” • Design patterns / anti-patterns • Assessments of high quality transformations • Quality Criteria • Evaluation techniques • Metrics
What we propose • Define quality criteria based on existing transformations • Identify & classify well-founded MT design patterns with proven quality • Support MT engineers by integrating patterns in their designin an automated manner
Design pattern cataloging Goal: Build a repository of design patterns for MT development
Pattern identification • Identify & discover recurrent patterns in model transformation • Completeness issue (see GoF) • Systematic process
Pattern identification • Examine a large set of data • Academic, Industrial • Repositories: ATL transformation zoo, ReMoDD, tool contests, benchmarks • Case studies from literature
Pattern identification • Discover new patterns • Map GoF patterns to MT paradigm • What does Visitor, Proxy, Composite, etc. mean? • Be creative!
Pattern identification Caveat • General-purpose vs. Domain-specific MT patterns • Copy elements from source to target model • Animate a state-transition modeling language • Language independence • Declarative/imperative, Unidirectional/bi-directional,Implicit/explicit control flow, In-place/out-place/exogenous/endogenous • Application scenarios • Level of granularity • Rule level • Multiple rules may be required to perform single task • Re-usable libraries of transformation snippets • Composition of patterns
Pattern formalism • Facilitate understanding, documenting, communicating, and reasoning about the patterns in a standard way • Must be language independent • MOF-like languages • Use of generics/templates • DSL for describing transformations • Syntax: • Concise MT patterns • Canonical form • Semantics • Well-defined formal semantics • Facilitate analysis • Support for higher-order transformation: fully modeled language
Quality assessment of MT Goal: Define quality attributes & propose framework where transformations are guaranteed to satisfy these criteria
Quality Criteria Identification • Quantifiable attributes • Techniques to measure them • Techniques to evaluate transformations
Correctness Degree to which transformation adheres to a set of requirements • Evaluated by V&V techniques • Key is to make use of traceability links in a transformation Inspired by ISO 9126
Re-usability Ease of re-using a transformation • Modular composition of transformation units, rules, complete transformations • Modular transformations (MoTif) • Generic transformations (VIATRA) • Higher-order transformations (ATL, AToM3) Inspired by ISO 9126
Efficiency Relationship between performance of execution & amount of resources used under specific conditions • Benchmarking • Optimization at implementation level, but also at design level • Ability to handle large models and complex transformations (fan-in/out) Inspired by ISO 9126
Reliability Frequency & criticality of a transformation to behave in an unacceptable manner under permissible operating conditions • Security • Fault-tolerance techniques • Exception handling • Usability • Ensure invariant properties Inspired by ISO 9126
Maintainability Effort needed to modify the transformation to satisfy new requirements or correct deficiencies • Model & transformation evolution techniques can be applied Inspired by ISO 9126
Interoperability Cooperation between a given model transformation and other systems: transformation models & other software • Model composition • Conform to a common standard serialization of models for I/O
Quality Criteria Identification • Define quality attributes at coarser level • Implement techniques to measure these quality criteria ?
V&V of transformation patterns How to verify the MT design patternsagainst the quality attributes? Model Checker QualityCriteria Formal Properties Result MT pattern Domain meta-model
ASSISTED DESIGN OF MODEL TRANSFORMATION Goal: Reduce negative impact of model transformationin complex projects • Deep knowledge of semantics of transformation language • Rule scheduling • Attribute/constraint specification • Control logic
The ultimate Model transformation IDE • Detect design patterns based on the pattern catalog during the development of transformations • Detect a non-exact match of a cataloged pattern & propose a resolution to make it compatible with catalog
Pattern Detection • Problem: transformations are defined in a declarative way • Hampers maintenance tasks • Techniques to detect MT pattern in a given MT • Stochastic based on design space exploration • V&V techniques to statically analyze MT & derive structural/behavioral correspondences with existing pattern • Or re-use MT techniques to detect patterns
Resolution of Ill-Formed Design Goal: Improve non-functional properties of the transformation • Detect design patterns in a given transformation that arealmost similar to one from the catalog
Resolution of Ill-Formed Design • Detect non-exact matches • Stochastic, search-based techniques to detect similarities between fragments of an MT • Search-based • Transformation by demonstration • Advanced IDE that records examples of how to use a design pattern • Evaluation of detection can only be done empirically, by observation
Conclusion • Quality Criteria • Design Patterns meeting criteria • Automated assistance for MT development Your suggestions are vital!Topics for afternoon discussion?