7 research outputs found

    Computing repairs for constraint violations in UML/OCL conceptual schemas

    Get PDF
    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.Peer ReviewedPostprint (author's final draft

    Ensuring the semantic correctness of a BAUML artifact-centric BPM

    Get PDF
    Context: Using models to represent business processes provides several advantages, such as facilitating the communication between the stakeholders or being able to check the correctness of the processes before their implementation. In contrast to traditional process modeling approaches, the artifact-centric approach treats data as a key element of the process, also considering the tasks or activities that are performed in it. Objective: This paper presents a way to verify and validate the semantic correctness of an artifact-centric business process model defined using a combination of UML and OCL models - a BAUML model. Method: We achieve our goal by presenting several algorithms that encode the initial models into first-order logic, which then allows to use an existing satisfiability checking tool to determine their correctness. Results: An approach to verify and validate an artifact-centric BPM specified in BAUML, which uses a combination of UML and OCL models. To do this, we provide a method to translate all BAUML components into a set of logic formulas. The result of this translation ensures that the only changes allowed are those specified in the model, and that those changes are taking place according the order established by the model. Having obtained this logic representation, these models can be validated by any existing reasoning method able to deal with negation of derived predicates. Moreover, we show how to automatically generate the relevant tests to validate the models. We also show the feasibility of our approach by implementing a prototype tool and applying it to a running example. Conclusion: It is feasible to ensure the semantic correctness of an artifact-centric business process model in practice.Peer ReviewedPostprint (author's final draft

    Validation of UML conceptual schemas with operations

    Get PDF
    The purpose of validating a conceptual schema is to guarantee that it properly reflects what the user needs from an application. This task is not fully formalizable, so it is desirable to provide the designer with a set of tools that assist him or her in the validation process. A conceptual schema specifies the relevant information about the domain, and how this information changes as a result of operations. In this sense, we propose an approach to validate a UML conceptual schema by simulating the execution of the operations defined in it, so that the designer can check both that the schema is correctly defined and that it satisfies the requirements.Postprint (published version

    Generació d’operacions de sistema correctes a partir d’un diagrama de classes UML

    Get PDF
    Com s’argumenta a [Oli07] no és possible desenvolupar un sistema d’informació sense haver definit, prèviament, el seu esquema conceptual. Per tant, considerem aquesta tasca com a essencial dins del procés de desenvolupament de qualsevol sistema d’informació. Per a grans sistemes d’informació, la definició d’aquest esquema conceptual és una tasca feixuga i de llarga duració on la probabilitat de cometre errors és directament proporcional a la complexitat i mida de l’esquema conceptual La possibilitat de poder utilitzar certs mètodes per a automatitzar, parcialment, aquesta tasca aporta grans beneficis a qualsevol desenvolupador de sistemes d’informació. En aquest sentit, aquest treball presenta un mètode per a poder generar, automàticament, les operacions del sistema a partir del seu diagrama de classes. Com veurem més endavant, l’esquema de comportament que formaran aquestes operacions serà simple i senzill però, alhora, complirà certes propietats que permetran considerar-lo com a vàlid. Aquest treball també té com a objectiu l’elaboració d’un prototipus que implementi el mètode proposat. Per a poder concretar la resta d’objectius d’aquest treball és necessari la definició de certs conceptes previs. Aquestes definicions es troben al següent capítol del document, per aquesta raó, els objectius concrets d’aquest treball queden definits, a posteriori, al capítol 3. L’article Deriving Operation Contracts from UML Class Diagrams [CaG07] de Jordi Cabot i Cristina Gòmez (directora d’aquest treball), ha servit com a punt de partida i com a document base per l’elaboració d’aquesta tesi de màster. De fet, el nostre treball amplia l’article amb noves aportacions que el complementen. En el capítol 9 es mostra quin és el conjunt concret d’aportacions del nostre treball respecte a aquest article

    Generació d’operacions de sistema correctes a partir d’un diagrama de classes UML

    Get PDF
    Com s’argumenta a [Oli07] no és possible desenvolupar un sistema d’informació sense haver definit, prèviament, el seu esquema conceptual. Per tant, considerem aquesta tasca com a essencial dins del procés de desenvolupament de qualsevol sistema d’informació. Per a grans sistemes d’informació, la definició d’aquest esquema conceptual és una tasca feixuga i de llarga duració on la probabilitat de cometre errors és directament proporcional a la complexitat i mida de l’esquema conceptual La possibilitat de poder utilitzar certs mètodes per a automatitzar, parcialment, aquesta tasca aporta grans beneficis a qualsevol desenvolupador de sistemes d’informació. En aquest sentit, aquest treball presenta un mètode per a poder generar, automàticament, les operacions del sistema a partir del seu diagrama de classes. Com veurem més endavant, l’esquema de comportament que formaran aquestes operacions serà simple i senzill però, alhora, complirà certes propietats que permetran considerar-lo com a vàlid. Aquest treball també té com a objectiu l’elaboració d’un prototipus que implementi el mètode proposat. Per a poder concretar la resta d’objectius d’aquest treball és necessari la definició de certs conceptes previs. Aquestes definicions es troben al següent capítol del document, per aquesta raó, els objectius concrets d’aquest treball queden definits, a posteriori, al capítol 3. L’article Deriving Operation Contracts from UML Class Diagrams [CaG07] de Jordi Cabot i Cristina Gòmez (directora d’aquest treball), ha servit com a punt de partida i com a document base per l’elaboració d’aquesta tesi de màster. De fet, el nostre treball amplia l’article amb noves aportacions que el complementen. En el capítol 9 es mostra quin és el conjunt concret d’aportacions del nostre treball respecte a aquest article

    Artifact-centric business process models in UML : specification and reasoning

    Get PDF
    Business processes are directly involved in the achievement of an organization's goals, and for this reason they should be performed in the best possible way. Modeling business processes can help to achieve this as, for instance, models can facilitate the communication between the people involved in the process, they provide a basis for process improvement and they can help perform process management. Processes can be modeled from many different perspectives. Traditional process modeling has followed the process-centric (or activity-centric) perspective, where the focus is on the sequencing of activities (i.e. the control flow), largely ignoring or underspecifying the data required by these tasks. In contrast, the artifact-centric (or data-centric) approach to process modeling focuses on defining the data required by the tasks and the details of the tasks themselves in terms of the changes they make to the data. The BALSA framework defines four dimensions which should be represented in any artifact-centric business process model: business artifacts, lifecycle, services (i.e. tasks) and associations. Using different types of models to represent these dimensions will result in distinct representations, whose differing characteristics (e.g. the degree of formality or understandability) will make them more appropriate for one purpose or another. Considering this, in the first part of this thesis we propose a framework, BAUML, for modeling business processes following an artifact-centric perspective. This framework is based on using a combination of UML and OCL models, and its goal is to have a final representation of the process which is both understandable and formal, to avoid ambiguities and errors. However, once a process model has been defined, it is important to ensure its quality. This will avoid the propagation of errors to the process's implementation. Although there are many different quality criteria, we focus on the semantic correctness of the model, answering questions such as "does it represent reality correctly?" or "are there any errors and contradictions in it?". Therefore, the second part of this thesis is concerned with finding a way to determine the semantic correctness of our BAUML models. We are interested in considering the BAUML model as a whole, including the meaning of the tasks. To do so, we first translate our models into a well-known framework, a DCDS (Data-centric Dynamic System) to which then modelchecking techniques can be applied. However, DCDSs have been defined theoretically and there is no tool that implements them. For this reason, we also created a prototype tool, AuRUS-BAUML, which is able to translate our BAUML models into logic and to reason on their semantic correctness using an existing tool, SVTe. The integration between AuRUS-BAUML and SVTe is transparent to the user. Logically, the thesis also presents the logic translation which is performed by the tool.Els processos de negoci estan directament relacionats amb els objectius de negoci, i per tant és important que aquests processos es duguin a terme de la millor manera possible. Optar per modelar-los pot ajudar a aconseguir-ho, ja que els models proporcionen nombrosos avantatges. Per exemple: faciliten la comunicació entre les parts involucrades en el procés, proporcionen una base a partir del qual millorar-lo, i poden ajudar a gestionar-lo. Els processos es poden modelar des de diferents perspectives. El modelat tradicional de processos s'ha basat molt en la perspectiva anomenada "process-centric" (centrada en processos) o "activity-centric" (centrada en activitats), que posa l'èmfasi en la seqüència d'activitats o tasques que s'han d'executar, ignorant en gran mesura les dades necessàries per dur a terme aquestes tasques. Per altra banda, la perspectiva "artifact-centric" (centrada en artefactes) o "data-centric" es basa en definir les dades que necessiten les tasques i els detalls de les tasques en si, representant els canvis que aquestes fan a les dades. El framework BALSA defineix quatre dimensions que haurien de representar-se en qualsevol model artifact-centric: els artefactes de negoci (business artifacts), els cicles de vida (lifecycles), els serveis (services) i les associacions (associations). Utilitzant diferents tipus de models per representar aquestes dimensions porta a obtenir diverses representacions amb característiques diferents. Aquesta varietat de característiques farà que els models resultants siguin més apropiats per un propòsit o per un altre. Considerant això, en la primera part d'aquesta tesi proposem un framework, BAUML, per modelar processos de negoci seguint una perspectiva artifact-centric. El framework es basa en utilitzar una combinació de models UML i OCL, i el seu objectiu és obtenir una representació final del procés que sigui a la vegada comprensible i formal, per tal d'evitar ambigüitats i errors. Un cop definit el procés, és important assegurar-ne la qualitat. Això evitarà la propagació d'errors a la implementació final del procés. Malgrat que hi ha molts criteris de qualitat diferents, ens centrarem en la correctesa semàntica del model, per respondre a preguntes com ara "representa la realitat correctament?" o "conté errors o contradiccions?". En conseqüència, la segona part d'aquesta tesi se centra en buscar una manera per determinar la correctesa semàntica d'un model BAUML. Ens interessa considerar el model com un tot, incloent el significat de les tasques (és a dir, el detall del que fan). Per aconseguir-ho, primer traduïm les tasques a un framework reconegut, DCDSs (Data-centric Dynamic Systems). Un cop obtingut, s'hi poden aplicar tècniques de model-checking per determinar si compleix certes propietats. Malauradament, els DCDSs s'han definit a nivell teòric i no hi ha cap eina que els implementi. Per aquest motiu, hem creat un prototip d'eina, AuRUS-BAUML, que és capaç de traduir els nostres models BAUML a lògica i aplicar-hi tècniques de raonament per determinar-ne la correctesa semàntica. Per la part de raonament, l'AuRUS-BAUML fa servir una eina existent, l'SVTe. La integració entre l'AuRUS-BAUML i l'SVTe és transparent de cara a l'usuari. Lògicament, la tesi també presenta la traducció a lògica que porta a terme l'eina

    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
    corecore