Contradiction Finding and Minimal Recovery for UML Class Diagrams

UML (unified modeling language) is the de facto standard model representation language in software engineering. We believe that automated contradiction detection and repair of UML become very important as UML has been widely used. In this paper, we propose a debugging system using logic programming paradigm for UML class diagram with class attributes, multiplicity, generalization relation and disjoint relation. We propose a translation method of a UML class diagram into a logic program, and using a meta-interpreter we can find (set-inclusion-based) minimal sets of rules which leads to contradiction. Then, we use a minimal hitting set algorithm developed by one of the authors to show minimal sets of deletion of rules in order to avoid contradiction

[1]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[2]  Bashar Nuseibeh,et al.  Using Abduction to Evolve Inconsistent Requirements Specification , 1999, Australas. J. Inf. Syst..

[3]  Bashar Nuseibeh,et al.  USING ABDUCTION TO EVOLVE INCONSISTENT REQUIREMENTS SPECIFICATIONS , 1999 .

[4]  Takeaki Uno,et al.  Enumerating Minimally Revised Specifications Using Dualization , 2006, JSAI Workshops.

[5]  Chandrabose Aravindan,et al.  A Rational and Efficient Algorithm for View Deletion in Databases , 1997, ILPS.

[6]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[7]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[8]  D. Gabbay,et al.  Inconsistency Handling in Multiperspective Specifications , 1994 .

[9]  Andrea Zisman,et al.  Knowledge base approach to consistency management of UML specifications , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[10]  Takashi Washio New Frontiers in Artificial Intelligence, Joint JSAI 2005 Workshop Post-Proceedings , 2006, JSAI Workshops.

[11]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[12]  Andrea Calì,et al.  A Formal Framework for Reasoning on UML Class Diagrams , 2002, ISMIS.

[13]  Bashar Nuseibeh,et al.  To be and not to be: on managing inconsistency in software development , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[14]  Ken Satoh,et al.  Minimal Revision of Logical Specification Using Extended Logic Programming : Preliminary Report , 2003 .

[15]  José Júlio Alferes,et al.  Diagnosis and Debugging as Contradiction Removal , 1993, LPNMR.

[16]  Ken Satoh,et al.  Consistency Checking Algorithms for Restricted UML Class Diagrams , 2006, FoIKS.

[17]  José Júlio Alferes,et al.  Diagnosis and Debugging as Contradiction Removal in Logic Programs , 1993, EPIA.

[18]  Takeaki Uno A Practical Fast Algorithm for Enumerating Minimal SetCoverings , 2002 .

[19]  Diego Calvanese,et al.  Reasoning on UML Class Diagrams is EXPTIME-hard , 2003, Description Logics.

[20]  Aditya K. Ghose,et al.  A Framework for Reasoning about Requirements Evolution , 1996, PRICAI.