Back to Search
Start Over
Pattern-based Rewriting through Abstraction
- Source :
- Biblos-e Archivo. Repositorio Institucional de la UAM, instname
- Publication Year :
- 2016
- Publisher :
- IOS Press, 2016.
-
Abstract
- Fundamenta Informaticae, vol. 144, no. 2, pp. 109-160, 2016, Copyright 2016, with permission from IOS Press<br />Model-based development relies on models in different phases for different purposes, with modelling patterns being used to document and gather knowledge about good practices in specific domains, to analyse the quality of existing designs, and to guide the construction and refactoring of models. Providing a formal basis for the use of patterns would also support their integration with existing approaches to model transformation. To this end, we turn to the commonly used, in this context, machinery of graph transformations and provide an algebraic-categorical formalization of modelling patterns, which can express variability and required/forbidden application contexts. This allows the definition of transformation rules having patterns in left and right-hand sides, which can be used to express refactorings towards patterns, change the use of one pattern by a different one, or switch between pattern variants. A key element in our proposal is the use of operations to abstract models into patterns, so that they can be manipulated by pattern rules, thus leading to a rewriting mechanism for classes of graphs described by patterns and not just individual graphs. The proposal is illustrated with examples in object-oriented software design patterns and enterprise architecture patterns, but can be applied to any other domain where patterns are used for modelling.<br />This work has been partially supported by the Spanish Ministry of Economy and Competitivity with projects Go-Lite (TIN2011-24139) and Flexor (TIN2014-52129-R), the Madrid Region with project SICOMORO (S2013/ICE-3006), and the EU commission with project MONDO (FP7-ICT-2013-10, #611125).
- Subjects :
- Theoretical computer science
Computer science
0102 computer and information sciences
Modelling patterns
Permission
computer.software_genre
01 natural sciences
Graph transformation
Theoretical Computer Science
Trees
Refactorings
Model-based design
0101 mathematics
Category theory
Informática
Graph rewriting
Algebra and Number Theory
Graphs
Model-based development
Pattern variants
Information Systems
Computational Theory and Mathematics
010102 general mathematics
Abstraction (mathematics)
Code refactoring
010201 computation theory & mathematics
Rewriting
computer
Subjects
Details
- Language :
- English
- Database :
- OpenAIRE
- Journal :
- Biblos-e Archivo. Repositorio Institucional de la UAM, instname
- Accession number :
- edsair.doi.dedup.....e032f0832feff831f7557f74fe6b0893