11 research outputs found

    Finite satisfiability verification in UML class diagrams: a comparative study

    Get PDF
    Unified Modeling Language class diagrams are widely used for modeling, playing a key role in the analysis and design of information systems, especially in development contexts that use modeling oriented methodologies. Therefore, it is relevant to ensure the creation and maintenance of correct class diagrams. With the use of class diagrams it is possible to specify classes, relations and restrictions, however, such diagrams are subject to modeling errors made by their authors and may degenerate into incorrect diagrams. A common cause of incorrect diagrams refers to the definition of contradictory and inconsistent constraints, leading to finite satisfiability problems. Several approaches to the verification of finite satisfiability are currently available, supported by different tools. Through this work, we proceed with the identification and comparison of the existing approaches for the verification of finite satisfiability in class diagrams, determining the effectiveness and efficiency of the proposed tools

    Finite Model Reasoning on UML Class Diagrams via Constraint Programming

    No full text
    Abstract. Finite model reasoning in UML class diagrams is an important task for assessing the quality of the analysis phase in the development of software applications in which it is assumed that the number of objects of the domain is finite. In this paper, we show how to encode finite model reasoning in UML class diagrams as a constraint satisfaction problem (CSP), exploiting techniques developed in description logics. In doing so we set up and solve an intermediate CSP problem to deal with the explosion of “class combinations ” arising in the encoding. To solve the resulting CSP problems we rely on the use of off-the-shelf tools for constraint modeling and programming. As a result, we obtain, to the best of our knowledge, the first implemented system that performs finite model reasoning on UML class diagrams.

    Finite model reasoning on UML class diagrams via constraint programming

    No full text
    Finite model reasoning in UML class diagrams is an important task for assessing the quality of the analysis phase in the development of software applications in which it is assumed that the number of objects of the domain is finite. In this paper, we show how to encode finite model reasoning in UML class diagrams as a constraint satisfaction problem (CSP), exploiting techniques developed in description logics. In doing so we set up and solve an intermediate CSP problem to deal with the explosion of “class combinations” arising in the encoding. To solve the resulting CSP problems we rely on the use of off-the-shelf tools for constraint modeling and programming. As a result, we obtain, to the best of our knowledge, the first implemented system that performs finite model reasoning on UML class diagrams

    Finite model reasoning on UML class diagrams via constraint programming

    No full text

    Finite Model Reasoning on UML Class Diagrams Via Constraint Programming

    No full text
    Finite model reasoning in UML class diagrams is an important task for assessing the quality of the analysis phase in the development of software applications in which it is assumed that the number of objects of the domain is finite. In this paper, we show how to encode finite model reasoning in UML class diagrams as a constraint satisfaction problem (CSP), exploiting techniques developed in description logics. In doing so we set up and solve an intermediate CSP problem to deal with the explosion of “class combinations” arising in the encoding. To solve the resulting CSP problems we rely on the use of off-the-shelf tools for constraint modeling and programming. As a result, we obtain, to the best of our knowledge, the first implemented system that performs finite model reasoning on UML class diagrams

    Validation of UML conceptual schemas with OCL constraints and operations

    Get PDF
    Per tal de garantir la qualitat final d'un sistema d'informació, és imprescindible que l'esquema conceptual que representa el coneixement sobre el seu domini i les funcions que ha de realitzar sigui semànticament correcte.La correctesa d'un esquema conceptual es pot veure des de dues perspectives. Per una banda, des del punt de vista de la seva definició, determinar la correctesa d'un esquema conceptual consisteix en respondre la pregunta "És correcte l'esquema conceptual?". Aquesta pregunta es pot respondre determinant si l'esquema satisfà certes propietats, com satisfactibilitat, no redundància o executabilitat de les seves operacions.D'altra banda, des de la perspectiva dels requisits que el sistema d'informació ha de satisfer, l'esquema conceptual no només ha de ser correcte sinó que també ha de ser el correcte. Per tal d'assegurar-ho, el dissenyador necessita algun tipus de guia i ajut durant el procés de validació, de manera que pugui entendre què està representant l'esquema exactament i veure si es correspon amb els requisits que s'han de formalitzar.En aquesta tesi presentem una aproximació que millora els resultats de les propostes anteriors adreçades a validar un esquema conceptual en UML, amb les restriccions i operacions formalitzades en OCL. La nostra aproximació permet validar un esquema conceptual tant des del punt de vista de la seva definició com de la seva correspondència amb els requisits.La validació es porta a terme mitjançant un conjunt de proves que s'apliquen a l'esquema, algunes de les quals es generen automàticament mentre que d'altres són definides ad-hoc pel dissenyador. Totes les proves estan formalitzades de tal manera que es poden tractar d'una manera uniforme,independentment de la propietat específica que determinen.La nostra proposta es pot aplicar tant a un esquema conceptual complet com només a la seva part estructural. Quan es pretén validar només la part estructural d'un esquema, oferim un conjunt de condicions que permeten determinar si qualsevol prova de validació que es pugui fer sobrel'esquema acabarà en temps finit. Per aquells casos en els quals aquestes condicions de terminació se satisfan, també proposem un procediment de raonament sobre l'esquema que s'aprofita d'aquest fet i és més eficient que en el cas general. Aquesta aproximació permet validar esquemes conceptuals molt expressius, assegurant completesa i decidibilitat al mateix temps.Per provar la factibilitat de la nostra aproximació, hem implementat el procés de validació complet per a la part estructural d'un esquema. A més, per a la validació d'un esquema conceptual que inclou la definició del comportament, hem implementat el procediment de raonament estenent un mètode existent.To ensure the quality of an information system, it is essential that the conceptual schema that represents the knowledge about its domain and the functions it has to perform is semantically correct.The correctness of a conceptual schema can be seen from two different perspectives. On the one hand, from the point of view of its definition, determining the correctness of a conceptual schema consists in answering to the question "Is the conceptual schema right?". This can be achieved by determining whether the schema fulfills certain properties, such as satisfiability, non-redundancy or operation executability.On the other hand, from the perspective of the requirements that the information system should satisfy, not only the conceptual schema must be right, but it also must be the right one. To ensure this, the designer must be provided with some kind of help and guidance during the validation process, so that he is able to understand the exact meaning of the schema and see whether it corresponds to the requirements to be formalized.In this thesis we provide an approach which improves the results of previous proposals that address the validation of a UML conceptual schema, with its constraints and operations formalized in OCL. Our approach allows to validate the conceptual schema both from the point of view of its definition and of its correspondence to the requirements.The validation is performed by means of a set of tests that are applied to the schema, including automatically generated tests and ad-hoc tests defined by the designer. All the validation tests are formalized in such a way that they can be treated uniformly, regardless the specific property they allow to test.Our approach can be either applied to a complete conceptual schema or only to its structural part. In case that only the structural part is validated, we provide a set of conditions to determine whether any validation test performed on the schema will terminate. For those cases in which these conditions of termination are satisfied, we also provide a reasoning procedure that takes advantage of this situation and works more efficiently than in the general case. This approach allows the validation of very expressive schemas and ensures completeness and decidability at the same time. To show the feasibility of our approach, we have implemented the complete validation process for the structural part of a conceptual schema.Additionally, for the validation of a conceptual schema with a behavioral part, the reasoning procedure has been implemented as an extension of an existing method

    Konzeptuelle Modellierung mit UML und OWL – Untersuchung der Gemeinsamkeiten und Unterschiede mit Hilfe von Modelltransformationen

    Get PDF
    Heute wird für konzeptuelle Modellierung sowohl die Unified Modeling Language (UML) als auch auch die OWL 2 Web Ontology Language (OWL 2) verwendet. Beide Sprachen entstammen verschiedenen Technologieräumen und setzen unterschiedliche Schwerpunkte. In dieser Arbeit wird untersucht, ob und wie sich konzeptuelle Modelle, die in der einen Sprache geschrieben sind, in konzeptuelle Modelle, die in der anderen Sprache geschrieben sind, überführen lassen. Dadurch würden für ein Modell Verfahren und Software-Werkzeuge beider Technologieräume verfügbar. Für die automatische Transformation wurde – anders als bei bisherigen Arbeiten – eine Herangehensweise gewählt, die von konkreter Syntax bzw. XML-Serialisierung abstrahiert und auf Ebene der Metamodelle von UML und OWL arbeitet. So lässt sich unabhängig von einzelnen Beispielmodellen zeigen, welche Modellelemente transformiert werden können und welche nicht. Für eine Vielzahl von Modellierungskonzepten wird eine formale Beschreibung gegeben und untersucht, wie sich das jeweilige Konzept mit UML bzw. OWL repräsentieren lässt. In den Fällen, in denen die Semantiken der Repräsentationen in beiden Sprachen hinreichend ähnlich sind, um – unter Beibehaltung der Semantik – eine Transformation durchführen zu können, werden die Transformationen ausführlich sowohl als Freitext als auch formal in Form deklarativer QVT-R-Transformationsregeln beschrieben. Da sich diese Regeln nur auf Elemente der Metamodelle beziehen, sind die Transformationen unabhängig von einzelnen Modellen (Instanzen dieser Metamodelle). Dadurch, dass die Transformationen in beide Richtungen vollständig und formal in QVT-R aufgeschrieben vorliegen, lassen sich die Überlegungen nachvollziehen und bei Bedarf schnell an einzelnen Beispielen testen. In dieser vollständigen und formalen Beschreibung unterscheidet sich diese Arbeit von anderen Arbeiten, die solche Beschreibungen nicht oder nur in Fragmenten enthalten. Während sich in UML beschriebene Datenmodelle bis auf wenige Einschränkungen (abstrakte Typen, bestimmte Arten der Generalisierung, Erweiterung durch Stereotypen) relativ gut mit Ontologien darstellen lassen, ist die Transformation allgemeiner OWL-Ontologien in UML-Datenmodelle nicht immer möglich. So stellt z.B. die automatische Klassifizierung von Objekten eine Schwierigkeit dar. Aber selbst in diesen Fällen ist oft eine Transformation möglich, wie bei Kardinalitätsbeschränkungen, die innerhalb von Vererbungsbeziehungen auftreten. Ein Anwendungsbeispiel aus der Praxis der Deutschen Zentralbibliothek für Wirtschaftswissenschaften (ZBW) zeigt, wie gut sich die Transformationsregeln auf konkrete Modelle anwenden lassen und so ohne große Verluste einen Wechsel von einem Technologieraum zum anderen möglich machen
    corecore