Designing and Applying a Framework for Logic-Based Model Querying

Querying models is one of the most essential and most elementary tasks in model-based software development. More complex activities like, for instance finding source patterns of model transformations, measuring models, or checking consistency between models, include querying models for certain properties, elements, or substructures. Logic formalisms like full first-predicate logic or description logics provide the well-understood foundation for implementing efficient model querying mechanisms. Regarding the specific purpose of querying models, a more efficient but less expressive logic formalism might be more useful than in other use cases. In this paper, we will introduce a framework which enables us to easily realise metamodel independent query tools based on different subsets of first-order logic. We show the application of the framework by checking a UML design model for architectural properties.

[1]  Frank Buschmann,et al.  A system of patterns , 1995 .

[2]  Diego Calvanese,et al.  The Description Logic Handbook , 2007 .

[3]  Antonio Cicchetti,et al.  Towards Propagation of Changes by Model Approximations , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference Workshops (EDOCW'06).

[4]  W. Marsden I and J , 2012 .

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[7]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[8]  Josef Kittler,et al.  Applications of Graph Transformations with Industrial Relevance , 2011, Lecture Notes in Computer Science.

[9]  Paul Clements,et al.  Software Architecture Documentation in Practice: Documenting Architectural Layers , 2000 .

[10]  Harald Störrle,et al.  A PROLOG-based Approach to Representing and Querying Software Engineering Models , 2007, VLL.

[11]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[12]  Tom Mens,et al.  Maintaining Consistency between UML Models with Description Logic Tools. , 2003 .

[13]  Patrick Dohrmann,et al.  Rule-Based Architectural Compliance Checks for Enterprise Architecture Management , 2009, 2009 IEEE International Enterprise Distributed Object Computing Conference.

[14]  Sebastian Herold,et al.  Checking architectural compliance in component-based systems , 2010, SAC '10.

[15]  Sebastian Herold,et al.  Konformität zwischen Code und Architektur : logikbasierte Überprüfung von Architekturregeln , 2009 .

[16]  Diego Calvanese,et al.  The description logic handbook: theory , 2003 .

[17]  Behzad Bordbar,et al.  On Querying UML Data Models with OCL , 2001, UML.

[18]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[19]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[20]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .