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.

Pattern-based Rewriting through Abstraction / Bottoni, Paolo Gaspare; Guerra, Esther; De Lara, Juan. - In: FUNDAMENTA INFORMATICAE. - ISSN 0169-2968. - STAMPA. - 144:2(2016), pp. 109-160. [10.3233/FI-2016-1325]

Pattern-based Rewriting through Abstraction

BOTTONI, Paolo Gaspare;
2016

Abstract

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.
2016
Category theory; Graph transformation; Graphs; Model-based development; Modelling patterns; Pattern variants; Refactorings; Trees; Information Systems; Computational Theory and Mathematics; Theoretical Computer Science; Algebra and Number Theory
01 Pubblicazione su rivista::01a Articolo in rivista
Pattern-based Rewriting through Abstraction / Bottoni, Paolo Gaspare; Guerra, Esther; De Lara, Juan. - In: FUNDAMENTA INFORMATICAE. - ISSN 0169-2968. - STAMPA. - 144:2(2016), pp. 109-160. [10.3233/FI-2016-1325]
File allegati a questo prodotto
File Dimensione Formato  
Bottoni_Pattern_2016.pdf

solo gestori archivio

Note: Articolo principale
Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 3.61 MB
Formato Adobe PDF
3.61 MB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/926881
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 2
  • ???jsp.display-item.citation.isi??? 2
social impact