Model synchronization based on triple graph grammars: correctness, completeness and invertibility

Triple graph grammars (TGGs) have been used successfully to analyze correctness and completeness of bidirectional model transformations, but a corresponding formal approach to model synchronization has been missing. This paper closes this gap by providing a formal synchronization framework with bidi...

ver descrição completa

Detalhes bibliográficos
Autores: Hermann, Frank; Ehrig, Hartmut; Orejas Valdés, Fernando|||0000-0002-3023-4006; Czarnecki, Krzysztof; Diskin, Zinovy; Xiong, Yingfei; Gottmann, Susann; Engel, Thomas
Tipo de documento: Artigo
Data de publicação:2015
País:España
Recursos:Universitat Politècnica de Catalunya (UPC)
Repositório:UPCommons. Portal del coneixement obert de la UPC
Idioma:Inglês
OAI Identifier:oai:upcommons.upc.edu:2117/76970
Acesso em linha:https://hdl.handle.net/2117/76970
https://dx.doi.org/10.1007/s10270-012-0309-1
Nível de acesso:Acesso aberto
Palavra-chave:Formal languages
Graph theory
Model synchronization
Correctness
Bidirectional model transformation
Triple graph grammars
Llenguatges formals
Grafs, Teoria de
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
Descrição
Resumo:Triple graph grammars (TGGs) have been used successfully to analyze correctness and completeness of bidirectional model transformations, but a corresponding formal approach to model synchronization has been missing. This paper closes this gap by providing a formal synchronization framework with bidirectional update propagation operations. They are generated from a given TGG, which specifies the language of all consistently integrated source and target models. As our main result, we show that the generated synchronization framework is correct and complete, provided that forward and backward propagation operations are deterministic. Correctness essentially means that the propagation operations preserve and establish consistency while completeness ensures that the operations are defined for all possible inputs. Moreover, we analyze the conditions under which the operations are inverse to each other. All constructions and results are motivated and explained by a running example, which leads to a case study, using concrete visual syntax and abstract syntax notation based on typed attributed graphs.