12 research outputs found

    Analysis and Verification of Service Contracts

    Get PDF

    rCOS: A refinement calculus for object systems

    Get PDF
    This article presents a mathematical characterization of object-oriented concepts by defining an observation-oriented semantics for a relational objectoriented language with a rich variety of features including subtypes, visibility, inheritance, type casting, dynamic binding and polymorphism. The language is expressive enough for the specification of object-oriented designs and programs. We also propose a calculus based on this model to support both structural and behavioral refinement of object-oriented designs. We take the approach of the development of the design calculus based on the standard predicate logic in Hoare and He’s Unifying Theories of Programming (UTP). We also consider object reference in terms of object identity as values and mutually dependent methods

    A systematic identification of consistency rules for UML diagrams

    Get PDF
    UML diagrams describe different views of one piece of software. These diagrams strongly depend on each other and must therefore be consistent with one another, since inconsistencies between diagrams may be a source of faults during software development activities that rely on these diagrams. It is therefore paramount that consistency rules be defined and that inconsistencies be detected, analyzed and fixed. The relevant literature shows that authors typically define their own UML consistency rules, sometimes defining the same rules and sometimes defining rules that are already in the UML standard. The reason might be that no consolidated set of rules that are deemed relevant by authors can be found to date. The aim of our research is to provide a consolidated set of UML consistency rules and obtain a detailed overview of the current research in this area. We therefore followed a systematic procedure in order to collect and analyze UML consistency rules. We then consolidated a set of 116 UML consistency rules (avoiding redundant definitions or definitions already in the UML standard) that can be used as an important r

    UML consistency rules: a systematic mapping study

    Get PDF
    Context: The Unified Modeling Language (UML), with its 14 different diagram types, is the de-facto standard tool for objectoriented modeling and documentation. Since the various UML diagrams describe different aspects of one, and only one, software under development, they are not independent but strongly depend on each other in many ways. In other words, the UML diagrams describing a software must be consistent. Inconsistencies between these diagrams may be a source of the considerable increase of faults in software systems. It is therefore paramount that these inconsistencies be detected, ana

    Formalización de refactorings en el contexto de MDA

    Get PDF
    El objetivo principal de esta tesis es presentar una técnica de especificación de refactorings alineados con MDA aplicables a sus diferentes tipos de modelos de diseño UML, es decir, a modelos independientes de la computación, modelos dependientes de una plataforma y modelos dependientes de la implementación. En particular, en este trabajo, se muestra la técnica de especificación de refactorings aplicados a modelos de diagramas de clases UML enriquecidos con anotaciones OCL en los distintos niveles de abstracción. Los refactorings se especifican como contratos OCL utilizando la técnica de metamodelado. Los metamodelos son expresados usando Meta Object Facility (MOF). Asimismo, en esta tesis, se analiza la integración de la especificación de los refactorings con técnicas formales. Se detalla la traducción de los contratos OCL de refactorings y los metamodelos MOF al lenguaje de especificación formal NEREUS.Facultad de Informátic

    Graphs and Graph Transformations for Object-Oriented and Service-Oriented Systems

    Get PDF
    Theories of graphs and graph transformations form an important part of the mathematical foundations of computing, and have been applied in a wide range of areas from the design and analysis of algorithms to the formalization of various computer systems and programs. In this thesis, we study how graphs and graph transformations can be used to model the static structure and dynamic behavior of object-orientated and service-oriented systems. Our work is mainly motivated by the difficulty in understanding and reasoning about objectorientated and service-oriented programs, which have more sophisticated features compared with traditional procedural programs. We show that the use of graphs and graphs transformations provides both an intuitive visualization and a formal representation of object-orientated and serviceoriented programs with these features, improving people’s understanding of the execution states and behaviors of these programs. We provide a graph-based type system, operational semantics and refinement calculus for an object-oriented language. In this framework, we define class structures and execution states of oo programs as directed and labeled graphs, called class graphs and state graphs, respectively. The type system checks whether a program is well-typed based on its class graph, while the operational semantics defines each step of program execution as a simple graph transformations between state graphs. We show the operational semantics is type-safe in that the execution of a well-typed program does not “go wrong”. Based on the operational semantics, we study the notion of structure refinement of oo programs as graph transformations between their class graphs. We provide a few groups of refinement rules for various purposes such as class expansion and polymorphism elimination and prove their soundness and relative completeness. We also propose a graph-based representation of service-oriented systems specified in a serviceoriented process calculus. In this framework, we define states of service-oriented systems as hier- archical graphs that naturally capture the hierarchical nature of service structures. For this, we exploit a suitable graph algebra and set up a hierarchical graph model, in which graph transformations are studied following the well-known Double-Pushout approach. Based on this model, we provide a graph transformation system with a few sets of graph transformation rules for various purposes such as process copy and process reduction. We prove that the graph transformation system is sound and complete with respect to the reduction semantics of the calculus

    Modelling evolving clinical practice guidelines: a case of Malawi

    Get PDF
    Electronic medical record (EMR) systems are increasingly being adopted in low- and middle-income countries. This provides an opportunity to support task-shifted health workers with guideline-based clinical decision support to improve the quality of healthcare delivery. However, the formalization of clinical practice guidelines (CPGs) into computer-interpretable guidelines (CIGs) for clinical decision support in such a setting is a very challenging task due to the evolving nature of CPGs and limited healthcare budgets. This study proposed that a CIG modelling language that considers CPG change requirements in their representation models could enable semi-automated support of CPG change operations thereby reducing the burden of maintaining CIGs. Characteristics of CPG changes were investigated to elucidate CPG change requirements using CPG documents from Malawi where EMR systems are routinely used. Thereafter, a model-driven engineering approach was taken to design a CIG modelling framework that has a novel domain-specific modelling language called FCIG for the modelling of evolving CIGs. The CIG modelling framework was implemented using the Xtext framework. The national antiretroviral therapy EMR system for Malawi was extended into a prototype with FCIG support for experimentation. Further studies were conducted with CIG modellers. The evaluations were conducted to answer the following research questions: i) What are the CPG change requirements for modelling an evolving CIG? ii) Can a model-driven engineering approach adequately support the modelling of an evolving CIG? iii) What is the effect of modelling an evolving CIG using FCIG in comparison with the Health Level Seven (HL7) standard for modelling CIGs? Data was collected using questionnaires, logs and observations. The results indicated that finegrained components of a CPG are affected by CPG changes and that those components are not included explicitly in current executable CIG language models. The results also showed that by including explicit semantics for elements that are affected by CPG changes in a language model, smart-editing features for supporting CPG change operations can be enabled in a language-aware code editor. The results further showed that both experienced and CIG modellers perceived FCIG as highly usable. Furthermore, the results suggested that FCIG performs significantly better at CIG modelling tasks as compared to the HL7 standard, Arden Syntax. This study provides empirical evidence that a model-driven engineering approach to clinical guideline formalization supports the authoring and maintenance of evolving CIGs to provide up-to-date clinical decision support in low- and middle-income countries

    Automated Hierarchical, Forward-Chaining Temporal Planner for Planetary Robots Exploring Unknown Environments

    Get PDF
    The transition of mobile robots from a controlled environment towards the real-world represents a major leap in terms of complexity coming primarily from three different factors: partial observability, nondeterminism and dynamic events. To cope with them, robots must achieve some intelligence behaviours to be cost and operationally effective. Two particularly interesting examples of highly complex robotic scenarios are Mars rover missions and the Darpa Robotic Challenge (DRC). In spite of the important differences they present in terms of constraints and requirements, they both have adopted certain level of autonomy to overcome some specific problems. For instance, Mars rovers have been endowed with multiple systems to enable autonomous payload operations and consequently increase science return. In the case of DRC, most teams have autonomous footstep planning or arm trajectory calculation. Even though some specific problems can be addressed with dedicated tools, the general problem remains unsolved: to deploy on-board a reliable reasoning system able to operate robots without human intervention even in complex environments. This is precisely the goal of an automated mission planner. The scientific community has provided plenty of planners able to provide very fast solutions for classical problems, typically characterized by the lack of time and resources representation. Moreover, there are also a handful of applied planners with higher levels of expressiveness at the price of lowest performance. However, a fast, expressive and robust planner has never been used in complex robotic missions. These three properties represent the main drivers for the outcomes of the thesis. To bridge the gap between classical and applied planning, a novel formalism named Hierarchical TimeLine Networks (HTLN) combining Timeline and HTN planning has been proposed. HTLN has been implemented on a mission planner named QuijoteExpress, the first forward-chaining timeline planner to the best of our knowledge. The main idea is to benefit from the great performance of forward-chaining search to resolve temporal problems on the state-space. In addition, QuijoteExpress includes search enhancements such as parallel planning by division of the problem in sub-problems or advanced heuristics management. Regarding expressiveness, the planner incorporates HTN techniques that allow to define hierarchical models and solutions. Finally, plan robustness in uncertain scenarios has been addressed by means of sufficient plans that allow to leave parts of valid plans undefined. To test the planner, a novel lightweight, timeline and ROS-based executive named SanchoExpress has been designed to translate the plans into actions understandable by the different robot subsystems. The entire approach has been tested in two realistic and complementary domains. A cooperative multirover Mars mission and an urban search and rescue mission. The results were extremely positive and opens new promising ways in the field of automated planning applied to robotics
    corecore