228 research outputs found

    Lightweight and static verification of UML executable models

    Get PDF
    Executable models play a key role in many software development methods by facilitating the (semi)automatic implementation/execution of the software system under development. This is possible because executable models promote a complete and fine-grained specification of the system behaviour. In this context, where models are the basis of the whole development process, the quality of the models has a high impact on the final quality of software systems derived from them. Therefore, the existence of methods to verify the correctness of executable models is crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. In this paper a lightweight and static verification method to assess the correctness of executable models is proposed. This method allows us to check whether the operations defined as part of the behavioural model are able to be executed without breaking the integrity of the structural model and returns a meaningful feedback that helps repairing the detected inconsistencies.Peer ReviewedPostprint (author's final draft

    Towards Model Checking Executable UML Specifications in mCRL2

    Get PDF
    We describe a translation of a subset of executable UML (xUML) into the process algebraic specification language mCRL2. This subset includes class diagrams with class generalisations, and state machines with signal and change events. The choice of these xUML constructs is dictated by their use in the modelling of railway interlocking systems. The long-term goal is to verify safety properties of interlockings modelled in xUML using the mCRL2 and LTSmin toolsets. Initial verification of an interlocking toy example demonstrates that the safety properties of model instances depend crucially on the run-to-completion assumptions

    ARTIST: Model-Based Stairway to the Cloud

    Get PDF
    International audienceOver the past decade, cloud services emerged as one of the most promising technologies in IT. Since cloud computing allows improving the quality of software and, at the same time, aims at reducing costs of operating software and hardware, more and more software is delivered as a service in the cloud. However , moving existing software applications to the cloud and making them behave as software as a service is still a major challenge. In fact, in addition to technical aspects, business aspects also need to be considered. The ARTIST EU project (FP7) proposes a comprehensive model-based modernization approach, covering both business and technical aspects, to cloudify already existing software. In particular , ARTIST employs MDE techniques to automate the reverse engineering and forward engineering phases in a way that modernized software truly benefits from targeted cloud environments. In this paper we describe the overall ARTIST approach and present several lessons learned

    Lightweight and static verification of UML executable models

    Get PDF
    Executable models play a key role in many development methods (such as MDD and MDA) by facilitating the immediate simulation/implementation of the software system under development. This is possible because executable models include a fine-grained specification of the system behaviour using an action language. Executable models are not a new concept but are now experiencing a comeback. As a relevant example, the OMG has recently published the first version of the “Foundational Subset for Executable UML Models” (fUML) standard, an executable subset of the UML that can be used to define, in an operational style, the structural and behavioural semantics of systems. The OMG has also published a beta version of the “Action Language for fUML” (Alf) standard, a concrete syntax conforming to the fUML abstract syntax, that provides the constructs and textual notation to specify the fine-grained behaviour of systems. The OMG support to executable models is substantially raising the interest of software companies for this topic. Given the increasing importance of executable models and the impact of their correctness on the final quality of software systems derived from them, the existence of methods to verify the correctness of executable models is becoming crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. Despite the number of research works targetting the verification of software models, their computational cost and poor feedback makes them difficult to integrate in current software development processes. Therefore, there is the need for efficient and useful methods to check the correctness of executable models and tools integrated to the modelling tools used by designers. In this thesis we propose a verification framework to help the designers to improve the quality of their executable models. Our framework is composed of a set of lightweight static methods, i.e. methods that do not require to execute the model in order to check the desired property. These methods are able to check several properties over the behavioural part of an executable model (for instance, over the set of operations that compose a behavioural executable model) such as syntactic correctness (i.e. all the operations in the behavioural model conform to the syntax of the language in which it is described), non-redundancy (i.e. there is no another operation with exactly the same behaviour), executability (i.e. after the execution of an operation, the reached system state is -in case of strong executability- or may be -in case of weak executability- consistent with the structural model and its integrity constraints) and completeness (i.e. all possible changes on the system state can be performed through the execution of the operations defined in the executable model). For incorrect models, the methods that compose our verification framework return a meaningful feedback that helps repairing the detected inconsistencies

    Exploring the potentials and tools of systems engineering and MBSE in machine design

    Get PDF
    Abstract. This thesis explores Systems Engineering (SE) and Model-Based Systems Engineering (MBSE) in the context of modern machine design. The primary objective is to understand how SE’s interdisciplinary and holistic methodologies, once rooted in the telephone industry, can be seamlessly adapted into the intricate realm of machine design. One of the key findings suggests that, despite the growing intrigue around MBSE as a novel approach to systems engineering, there is still a lack of concrete evidence to substantiate its effectiveness. However, certain studies have highlighted the strengths of MBSE, especially its tools’ capability for parametric and numerical analyses. These tools integrate smoothly with the initial phases of the design process, enabling continuous exploration of a system’s dynamic behavior. While MBSE is still emerging, it offers several apparent advantages, such as improved communication, increased consistency, and efficient use of both time and financial resources. With the knowledge that mechanical engineering these days means working with many different specialists from various fields, we can safely say that engineering machines like cars and planes fall into the realm of systems engineering. The primary methodology employed for data acquisition in this thesis was a literature review.Systeemitekniikan ja MBSE:n mahdollisuudet ja työkalut koneensuunnittelussa. TiivistelmĂ€. TĂ€mĂ€ opinnĂ€ytetyö tutkii Systeemitekniikan (SE) ja Mallipohjaisen Systeemitekniikan (MBSE) kĂ€sitteitĂ€ modernin koneensuunnittelun kontekstissa. PÀÀasiallinen tavoite on ymmĂ€rtÀÀ, miten SE:n monitieteelliset ja kokonaisvaltaiset menetelmĂ€t, jotka alun perin juontavat juurensa puhelinalaan, voivat saumattomasti soveltua monimutkaisen koneensuunnittelun maailmaan. Yksi keskeisistĂ€ havainnoista viittaa siihen, ettĂ€ vaikka MBSE herĂ€ttÀÀ kasvavaa kiinnostusta uutena lĂ€hestymistapana systeemitekniikkaan, sen tehokkuutta tukevasta konkreettisesta nĂ€ytöstĂ€ on edelleen niukasti saatavilla. Kuitenkin tietyt tutkimukset ovat korostaneet MBSE:n vahvuuksia, erityisesti sen työkalujen kykyĂ€ parametriseen ja numeeriseen analyysiin. NĂ€mĂ€ työkalut integroituvat saumattomasti suunnitteluprosessin alkuvaiheisiin, mahdollistaen jĂ€rjestelmĂ€n dynaamisen kĂ€yttĂ€ytymisen jatkuvan tutkimisen. Vaikka MBSE on edelleen kehittyvĂ€ alue, se tarjoaa useita selkeitĂ€ etuja, kuten parannetun kommunikaation, lisÀÀntyneen johdonmukaisuuden sekĂ€ ajan ja taloudellisten resurssien tehokkaamman hyödyntĂ€misen. Kun otetaan huomioon, ettĂ€ nykyaikainen koneensuunnittelu edellyttÀÀ usein yhteistyötĂ€ eri alojen erikoisasiantuntijoiden kanssa, voidaan perustellusti vĂ€ittÀÀ, ettĂ€ monimutkaisten koneiden, kuten autojen ja lentokoneiden, suunnittelu kuuluu systeemitekniikan piiriin. TĂ€mĂ€n opinnĂ€ytetyön tĂ€rkein tutkimusmenetelmĂ€ oli kirjallisuuskatsaus

    Certifications of Critical Systems – The CECRIS Experience

    Get PDF
    In recent years, a considerable amount of effort has been devoted, both in industry and academia, to the development, validation and verification of critical systems, i.e. those systems whose malfunctions or failures reach a critical level both in terms of risks to human life as well as having a large economic impact.Certifications of Critical Systems – The CECRIS Experience documents the main insights on Cost Effective Verification and Validation processes that were gained during work in the European Research Project CECRIS (acronym for Certification of Critical Systems). The objective of the research was to tackle the challenges of certification by focusing on those aspects that turn out to be more difficult/important for current and future critical systems industry: the effective use of methodologies, processes and tools.The CECRIS project took a step forward in the growing field of development, verification and validation and certification of critical systems. It focused on the more difficult/important aspects of critical system development, verification and validation and certification process. Starting from both the scientific and industrial state of the art methodologies for system development and the impact of their usage on the verification and validation and certification of critical systems, the project aimed at developing strategies and techniques supported by automatic or semi-automatic tools and methods for these activities, setting guidelines to support engineers during the planning of the verification and validation phases

    Requirements Analysis for an Integrated OCL Development Environment

    Get PDF
    An Integrated OCL Development Environment (IDE4OCL) can significantly improve the pragmatics and praxis of OCL. We present the domain concepts, toolĂąlevel interactions with OCL and the use cases we identified in a systematic analysis of requirements for an IDE4OCL. The domain concepts is an important contribution of our work as it attempts to clarify inconsistencies in the relevant specifications. Because OCL is not a standĂąalone language, the OCL landscape includes several interacting tools including an IDE4OCL. The use cases describe our vision of the desired functionality unique to an IDE4OCL. The results of our analysis and the long term vision of our work should be relevant to developers of OCL tools as well as to the OMG Request for Information regarding the UML Futures1. Our work is relevant to the UML Futures Roadmap because providing OCL for the constraints in the UML specification has been a longstanding problem at the OMG

    A Framework for Executable Systems Modeling

    Get PDF
    Systems Modeling Language (SysML), like its parent language, the Unified Modeling Language (UML), consists of a number of independently derived model languages (i.e. state charts, activity models etc.) which have been co-opted into a single modeling framework. This, together with the lack of an overarching meta-model that supports uniform semantics across the various diagram types, has resulted in a large unwieldy and informal language schema. Additionally, SysML does not offer a built in framework for managing time and the scheduling of time based events in a simulation. In response to these challenges, a number of auxiliary standards have been offered by the Object Management Group (OMG); most pertinent here are the foundational UML subset (fUML), Action language for fUML (Alf), and the UML profile for Modeling and Analysis of Real Time and Embedded Systems (MARTE). However, there remains a lack of a similar treatment of SysML tailored towards precise and formal modeling in the systems engineering domain. This work addresses this gap by offering refined semantics for SysML akin to fUML and MARTE standards, aimed at primarily supporting the development of time based simulation models typically applied for model verification and validation in systems engineering. The result of this work offers an Executable Systems Modeling Language (ESysML) and a prototype modeling tool that serves as an implementation test bed for the ESysML language. Additionally a model development process is offered to guide user appropriation of the provided framework for model building

    Tool Support for fUML Models

    Get PDF
    In this paper we present a tool chain that aids in the construction of executable UML models according to the new Foundational UML (fUML) standard. These executable models can be constructed and tested in the modeling phase, and code can be generated from them towards different platforms. The fUML standard is currently built and promoted by OMG for building executable UML models. The compatibility of the executable models with the fUML standard means that only the UML elements allowed by fUML should be used for the abstract syntax and the extra constraints imposed by the fUML standard should be considered. The tool chain we propose is intregrated with the existing UML tools of Eclipse modeling infrastructure
    • 

    corecore