Computing repairs for constraint violations in UML/OCL conceptual schemas

Updating the contents of an information base may violate some of the constraints defined over the schema. The classical way to deal with this problem has been to reject the requested update when its application would lead to some constraint violation. We follow here an alternative approach aimed at...

Descripción completa

Detalles Bibliográficos
Autores: Oriol Hilari, Xavier|||0000-0002-8845-8504, Teniente López, Ernest|||0000-0001-8890-9638, Tort, Albert
Tipo de recurso: artículo
Fecha de publicación:2015
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/85205
Acceso en línea:https://hdl.handle.net/2117/85205
https://dx.doi.org/10.1016/j.datak.2015.06.006
Access Level:acceso abierto
Palabra clave:UML (Computer science)
Conceptual schema
UML/OCL
Integrity constraint
Repair
UML (Informàtica)
Àrees temàtiques de la UPC::Informàtica::Enginyeria del software
Descripción
Sumario:Updating the contents of an information base may violate some of the constraints defined over the schema. The classical way to deal with this problem has been to reject the requested update when its application would lead to some constraint violation. We follow here an alternative approach aimed at automatically computing the repairs of an update, i.e., the minimum additional changes that, when applied together with the requested update, bring the information base to a new state where all constraints are satisfied. Our approach is independent of the language used to define the schema and the constraints, since it is based on a logic formalization of both, although we apply it to UML and OCL because they are widely used in the conceptual modeling community. Our method can be used for maintaining the consistency of an information base after the application of some update, and also for dealing with the problem of fixing up non-executable operations. The fragment of OCL that we use to define the constraints has the same expressiveness as relational algebra and we also identify a subset of it which provides some nice properties in the repair-computation process. Experiments are conducted to analyze the efficiency of our approach.