Using reasoning to support ORM conceptual modelling and its application in information systems
Creators: name: Sportelli, Francesco
Publisher: name: Universitäts- und Landesbibliothek Sachsen-Anhalt
Year: 2021
Subjects: subject: Programmiermethodik
subject: Logikprogrammierung
subject: 005.12

description: Die konzeptionelle Modellierung ist ein kritischer Schritt bei der Software- Entwicklung. Ihr Zweck ist es, relevante Aspekte der Anwendungsdomäne in einer Sprache zu beschreiben, die für alle am Projekt beteiligten Akteure verständlich ist. Eine Möglichkeit, die konzeptuelle Modellierung zu implementieren, ist die faktenbasierte Modellierung, eine Methodik, die in der Lage ist, die konzeptuellen Modellierungs Constraints darzustellen und dabei auch die Semantik zu erfassen, um Zwischen- und Endergebnisse zu validieren. Object-Role Modelling (ORM) ist eine faktenbasierte Sprache für die Modellierung und Abfrage von Informationen auf der konzeptionellen Ebene durch eine grafische und textuelle Sprache zur Spezifizierung von Modellen, Abfragen und Prozeduren, um die Zuordnung zu anderen Arten von Modellen wie UML und ER durchzuführen. Konzeptionelle Modelle allein sind nicht in der Lage, die Semantik der Modelle zu überprüfen, und diese Einschränkung kann zu impliziten Konsequenzen führen, die vom Modellierer insbesondere in komplexen Diagrammen unentdeckt bleiben können; dies kann auch zu verschiedenen Formen von Inkonsistenzen oder Redundanzen im Diagramm selbst führen, die eine Verschlechterung der Qualität des Designs und/oder erhöhte Entwicklungszeiten und -kosten zur Folge haben. Dieses Problem führt zu der Notwendigkeit automatisierten Schließens, um die genannten Inkonsistenzen und Redundanzen zu überprüfen. Das automatisierte Schließen ist ein bekanntes Verfahren, das einen logischen Prozess verwendet, bei dem eine Schlussfolgerung auf mehreren Prämissen beruht, die im Allgemeinen als wahr angenommen werden. Unter logischem Schließen verstehen wir die Ableitung von Fakten, die in unserem ORMDiagramm nicht explizit ausgedrückt sind. Die Anwendung des automatisierten Schließens auf die konzeptuelle Modellierungsmethodik hat einige Vorteile, da sie den Modellierer während der Modellierungsphase unterstützt, um Fehler zu vermeiden. Redundanzen oder Inkonsistenzen des Diagramms, die Ableitung neuer Constraints, die Bestätigung der Gültigkeit des Modells oder der Vorschlag einer ¨Uberarbeitung sind weitere Vorteile. Diese Schritte sind vor allem für Kontexte, in denen riesige konzeptuelle Diagramme verwendet werden, in denen es sehr schwierig und zeitaufwändig ist, die Semantik der Diagramme manuell zu überprüfen, zeitsparend. Die Hauptidee dieser Arbeit besteht darin, eine Methodik zur Anwendung des automatisierten Schließens auf konzeptuelle Modelldiagramme zu entwickeln, um die Semantik der Diagramme zu überprüfen, damit die Vorteile des automatisierten Schließens genutzt werden können. In dieser Arbeit wird die Methodik auf ORM angewandt, eine mächtige Sprache die eine Vielzahl von Constraints bereitstellt. Unter all diesen Constraints gibt es ORM-Ableitungsregeln, die in der Lage sind, Wissen auszudrücken, das über die Standard-ORM-Fähigkeiten hinausgeht, was zu einer weiteren Komplexität das Schließens führt, da sie der ORM-Sprache Ausdruckskraft verleihen. Diese Regeln ähneln in gewisser Weise den OCL-Constraints für UML oder SQL-Triggers. Ein weiterer Beitrag dieser Arbeit besteht in der Formalisierung der ORMAbleitungsregeln. Auf diese Weise wird es möglich sein, das automatisierte Schließen auch auf die ORM-Diagramme auszudehnen, die mit ORMAbleitungsregeln ausgestattet sind. Ein Beitrag mit einem eher praktischen Charakter wird durch die Implementierung eines Frameworks namens UModel gegeben, das das automatisierte Schließen über konzeptuellen Diagrammen anwendet. Obwohl der Schwerpunkt der Verwendung des Frameworks in dieser Arbeit auf ORM liegt, wurde das Framework so konzipiert, dass es mit den gängigsten konzeptuellen Modellierungssprachen wie UML und ER kompatibel ist. ORM ist in einer offiziellen Microsoft Visual Studio-Erweiterung namens NORMA implementiert, die es dem Benutzer ermöglicht, ORM-Diagramme zu erstellen, zu modifizieren und zu exportieren, und die eine Vielzahl von Funktionen bereitstellt, die dem Modellierer bei der Verwaltung seines ORMDiagramms helfen. Obwohl NORMA ein leistungsstarkes Werkzeug ist, ist es nicht in der Lage, die Konsistenz der Modelle zu überprüfen, und aus diesem Grund könnte die Ausstattung mit Schlussfolgerungfunktionen ein Schritt nach vorn sein, um die Qualität der ORM-Diagramme zu erhalten. Ein weiterer Teil dieser Arbeit ist die Erweiterung der NORMA-Funktionalitäten durch ein Plugin unter Verwendung des UModel-Frameworks, das automatische Schließen über die in NORMA geladenen ORM-Diagramme aktiviert und dann den Endbenutzern die Schlussfolgerungen anzeigt. ORM wird auch in industriellen Unternehmen eingesetzt. Diese Unternehmen verwenden normalerweise CASE-Tools, mit denen sie die konzeptuellen Diagramme erstellen können. Diese Tools berücksichtigen nicht die ¨Uberprüfung der Semantik der konzeptuellen Diagramme, und eine weitere Herausforderung besteht darin, das oben erwähnte automatisierte Schlussverfahren für eine Zielsoftware zu verallgemeinern. Aus diesem Grund wurde eine Fallstudie auf der Grundlage eines realen industriellen Szenarios erstellt, um mögliche Vorteile, die sich aus der verwendeten Methodik ergeben, konkret zu messen und zu beobachten.
description: Conceptual modelling is a critical step during software development. Its purpose is to describe relevant aspects of the application domain in a language that is understandable by all the stakeholders taking part to the project. A way to implement conceptual modelling is by using fact-based modelling, a methodology that is able to represent the conceptual modelling constraints capturing also the semantics in order to validate intermediate and final results. Object-Role Modelling (ORM) is a fact-based language for modelling and querying information at the conceptual level by a graphical and textual language for specifying models, queries and procedures to perform the mapping to other kinds of models like UML and ER. Conceptual models alone are not able to check the semantics of the models and this limitation may lead to implicit consequences that can go undetected by the modeller especially in complex diagrams; this may also lead to various forms of inconsistencies or redundancies in the diagram itself that give rise to the degradation of the quality of the design and/or increased development times and costs. This issue leads to the need of automated reasoning to check the mentioned inconsistencies and redundancies. Automated reasoning is a well-known procedure that uses a logical process in which a conclusion is based on multiple premises that are generally assumed to be true. By reasoning we mean deriving facts that are not expressed in our ORM diagram explicitly. Applying automated reasoning to the conceptual modelling methodology has some benefits, since it supports the modeller during the modelling phase in order to avoid mistakes, as redundancies or inconsistencies of the diagram, deriving new constraints, confirm the validity of the model or suggest revision. These steps are a time saver especially for contexts where huge conceptual diagrams are used, where it is very difficult and time consuming to manually check the semantics of the diagrams. The main idea of this work is to develop a methodology to apply the automated reasoning on conceptual modelling diagrams to check the semantics of the diagrams, in order to take the benefits from the automated reasoning. In this work the methodology is applied to ORM which is a powerful language providing a rich set of constraints. Among all the constraints there are ORM Derivation rules which are able to express knowledge that is beyond the standard ORM capabilities, bringing to a further complexity of the reasoning because they add expressiveness to the ORM language. Those rules are in a way similar to OCL constraints for UML, or SQL triggers. Another contribution of this work is to formalise ORM Derivation rules, in this way it will be possible to extend the automated reasoning even on those ORM diagrams equipped with ORM Derivation Rules. A contribution with a more practical flavour is given by the implementation of a framework named UModel which applies the automated reasoning over conceptual diagrams. Although the usage of the framework in this work has its focus on ORM, the framework has been designed to be compatible with the most popular conceptual modelling languages such as UML and ER. ORM is implemented in an official Microsoft Visual Studio extension named NORMA, which allows the user to create, modify and export ORM diagrams and which provides a rich set of functionalities to help the modeller to manage its ORM diagram. Despite NORMA being a powerful tool, it is not able to check the consistency of the models and for this reason equipping it with reasoning capabilities could be a step forward in order to preserve the quality of the ORM diagrams. A contribution of this work is the extension of NORMA functionalities by a plugin, using the UModel framework, that activates the automated reasoning over those ORM diagrams loaded into NORMA and then showing the inferences to the final users. ORM is also used in the industry world companies. Those organisation usually use CASE tools that allow them to build the conceptual diagrams. These tools does not take into account checking the semantics of the conceptual diagrams and another challenge is to generalize the aforementioned automated reasoning procedure for a target software. For this reason, a case study based on real-world industrial scenario has been provided in order to concretely measure and observe possible benefits coming from the used methodology.