79 research outputs found

    Towards a Conceptual Framework Supporting Model Compilability

    Get PDF
    The ever-growing use of modeling languages today is largely due to a maturation of model-based development technologies. However, there is enough room for improving language specifications and consequently, the efficiency of their usage. The state of facts in specifying Well Formedness Rules is among the most important issues calling for improvements. Despite the fact that various papers have approached it, the topic is still open. To solve it, there is the need of a rigorous conceptual framework supporting the specification of modeling languages’ static semantics. This would stand as a basis for ensuring model compilability, a mandatory requirement in a model-driven context. Through this paper, we aim at providing core ideas that would contribute to the creation of such a framework. Our approach is testing-oriented and promotes the use of OCL specification patterns

    An open source software selection process and a case study

    Get PDF
    In this study, I design an empirical open source software selection process, which reuses some ideas from Commercial Off-the-Shelf selection methods and addresses the characteristics of the open source software. Basically, it consists of three basic steps: identification, screening and evaluation. The identification step is to find all possible alternatives to open source software that can meet the high level requirements. The next step is screening, in which the refined requirements are applied to filter the alternatives. The evaluation step is based on the Analytic Hierarchy Process, in which the alternatives are inspected from functional suitability, source code, support strength and popularity. In more detail, under functionality suitability criterion, alternatives to open source software are evaluated in viewing of how much functionality can fit in with the functional user requirements. The source code of the alternatives is evaluated from six criteria: programming language, code size, code comment, code intra-module complexity and code inter-module complexity. The evaluation of support strength depends on the evaluation of field support and support resources. The field support includes commercial support and community support. The community support specifically refers to the direct responses from the community to the support requests. Aside from field support, open source software projects also provide various support-related resources such as, documents, wiki, blog, etc. To determine the popularity of the alternatives, I evaluate them from software use, development participation and web popularity. In the case study, I utilize the process to select the best open source unified modeling language tool from the ten alternatives for the software development process. After the screening phase, the four competitive alternatives, BOUML, ArgoUML, UMLet and Violet, are evaluated from functionality, source code, support strength and popularity criteria. The evaluation result indicates that ArgoUML is the best tool for the requirement. The case study demonstrates the effectiveness of the selection process. Various important attributes of open source software are taken into consideration systematically and the final decision is reached based on comprehensive investigation and analysis. The process provides an operable solution to the open source selection problem in practice

    Evaluation of UML tools using an end-to-end application

    Get PDF
    Master of Science in Engineering - EngineeringAny software project goes through the different stages of a Software Development Life Cycle (SDLC). Like any other commercial product, software has a design stage but this stage is unique and critical to software due to its soft nature. A system that is given careful thought at the design phase results in a correct and complete system and adheres to software design principle. The “Unified Modelling Language” (UML) is a standard modelling language for object-oriented systems. Many tools are currently available to support the design and implementation of software. Generating skeletal code from a design brings down the implementation time considerably. This research report presents a list of criteria against which one can compare different UML tools, and puts forward a rating system where decisions can be made on them. It presents a comparison between four UML tools: ArgoUML, Rational Rose, Together Control Centre, and MasterCraft. An end-to-end application was developed on each of these tools as part of the evaluation process. During the design phase a detailed design was done using the ICONIX process. The different features of an ideal UML tool is analysed and used to evaluate the four selected tools. Of the four tools, Rational Rose, Together Control Centre, MasterCraft are offthe-shelf modelling softwares whereas ArgoUML is an open source modelling software. From the evaluation it is observed that Together Control Centre attains a high score with Rational Rose following just behind. MasterCraft comes third. Argo UML has the least score but it has the advantage of being an open source software

    Organising interoperability information on highly dynamic and heterogeneous environments

    Get PDF
    Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de ComputadoresThe “Internet of Things” is a dynamic global network infrastructure where physical and virtual “things” communicate and share information amongst themselves. Plug and Interoperate is an approach that allows heterogeneous “things” to plug (into data) and seamlessly exchange information within the environment. To allow that, Plug and Interoperate needs to have the comprehension about the existing interoperability information. For this, the interoperability information needs to be duly organised. However, and in the “Internet of Things”, this presents major challenges. First, it is difficult to index all interoperability information due to the “things” heterogeneity (many and different languages and formats) and due to the dynamics of the system (disparate things entering/leaving the environment at all times). Also, that the environment can be used with much different purposes, which hinders the way on how the interoperability information should be organised. So, an architecture of an Interoperability Repository System is presented, in order to organise all interoperability information in this kind of environments. The solution handles heterogeneous interoperability information and allows users to add a User Space to the repository in order to customise it to specific needs. It also provides a notification mechanism in order to notify users of new or updated interoperability information

    Performance requirements verification during software systems development

    Get PDF
    Requirements verification refers to the assurance that the implemented system reflects the specified requirements. Requirement verification is a process that continues through the life cycle of the software system. When the software crisis hit in 1960, a great deal of attention was placed on the verification of functional requirements, which were considered to be of crucial importance. Over the last decade, researchers have addressed the importance of integrating non-functional requirement in the verification process. An important non-functional requirement for software is performance. Performance requirement verification is known as Software Performance Evaluation. This thesis will look at performance evaluation of software systems. The performance evaluation of software systems is a hugely valuable task, especially in the early stages of a software project development. Many methods for integrating performance analysis into the software development process have been proposed. These methodologies work by utilising the software architectural models known in the software engineering field by transforming these into performance models, which can be analysed to gain the expected performance characteristics of the projected system. This thesis aims to bridge the knowledge gap between performance and software engineering domains by introducing semi-automated transformation methodologies. These are designed to be generic in order for them to be integrated into any software engineering development process. The goal of these methodologies is to provide performance related design guidance during the system development. This thesis introduces two model transformation methodologies. These are the improved state marking methodology and the UML-EQN methodology. It will also introduce the UML-JMT tool which was built to realise the UML-EQN methodology. With the help of automatic design models to performance model algorithms introduced in the UML-EQN methodology, a software engineer with basic knowledge of performance modelling paradigm can conduct a performance study on a software system design. This was proved in a qualitative study where the methodology and the tool deploying this methodology were tested by software engineers with varying levels of background, experience and from different sectors of the software development industry. The study results showed an acceptance for this methodology and the UML-JMT tool. As performance verification is a part of any software engineering methodology, we have to define frame works that would deploy performance requirements validation in the context of software engineering. Agile development paradigm was the result of changes in the overall environment of the IT and business worlds. These techniques are based on iterative development, where requirements, designs and developed programmes evolve continually. At present, the majority of literature discussing the role of requirements engineering in agile development processes seems to indicate that non-functional requirements verification is an unchartered territory. CPASA (Continuous Performance Assessment of Software Architecture) was designed to work in software projects where the performance can be affected by changes in the requirements and matches the main practices of agile modelling and development. The UML-JMT tool was designed to deploy the CPASA Performance evaluation tests

    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

    Data State of Play - Compliance Testing and Interoperability Checking

    Get PDF
    The document provides an inventory of existing solutions for compliance testing and interoperability checking for data taking into account the draft INSPIRE data specifications conceptual model (D2.5), the first draft of the INSPIRE Methodology for the development of data specifications (D2.6) and the first draft of the data Specifications Guidelines for the encoding of spatial data (D2.7). Even if the emphasis is on spatial and geographical data, the document investigates applicable solutions outside the geographical Information System domain, with a particular attention paid to checking compliance with ¿application schemas¿ as defined in the previously mentioned documents.JRC.H.6-Spatial data infrastructure

    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.Postprint (published version

    Closing the gap between guidance and practice, an investigation of the relevance of design guidance to practitioners using object-oriented technologies

    Get PDF
    This thesis investigates if object oriented guidance is relevant in practice, and how this affects software that is produced. This is achieved by surveying practitioners and studying how constructs such as interfaces and inheritance are used in open-source systems. Surveyed practitioners framed 'good design' in terms of impact on development and maintenance. Recognition of quality requires practitioner judgement (individually and as a group), and principles are valued over rules. Time constraints heighten sensitivity to the rework cost of poor design decisions. Examination of open source systems highlights the use of interface and inheritance. There is some evidence of 'textbook' use of these structures, and much use is simple. Outliers are widespread indicating a pragmatic approach. Design is found to reflect the pressures of practice - high-level decisions justify 'designed' structures and architecture, while uncertainty leads to deferred design decisions - simpler structures, repetition, and unconsolidated design. Sub-populations of structures can be identified which may represent common trade-offs. Useful insights are gained into practitioner attitude to design guidance. Patterns of use and structure are identified which may aid in assessment and comprehension of object oriented systems.This thesis investigates if object oriented guidance is relevant in practice, and how this affects software that is produced. This is achieved by surveying practitioners and studying how constructs such as interfaces and inheritance are used in open-source systems. Surveyed practitioners framed 'good design' in terms of impact on development and maintenance. Recognition of quality requires practitioner judgement (individually and as a group), and principles are valued over rules. Time constraints heighten sensitivity to the rework cost of poor design decisions. Examination of open source systems highlights the use of interface and inheritance. There is some evidence of 'textbook' use of these structures, and much use is simple. Outliers are widespread indicating a pragmatic approach. Design is found to reflect the pressures of practice - high-level decisions justify 'designed' structures and architecture, while uncertainty leads to deferred design decisions - simpler structures, repetition, and unconsolidated design. Sub-populations of structures can be identified which may represent common trade-offs. Useful insights are gained into practitioner attitude to design guidance. Patterns of use and structure are identified which may aid in assessment and comprehension of object oriented systems
    corecore