4,510 research outputs found

    Applying Software Model Checking Techniques For Behavioral UML Models

    Get PDF
    Abstract. This work presents a novel approach for the verification of Behavioral UML models, by means of software model checking. We propose adopting software model checking techniques for verification of UML models. We translate UML to verifiable C code which preserves the high level structure of the models, and abstracts details that are not needed for verification. We combine of static analysis and bounded model checking for verifying LTL safety properties and absence of livelocks. We implemented our approach on top of the bounded software model checker CBMC. We compared it to an IBM research tool that verifies UML models via a translation to IBM's hardware model checker RuleBasePE. Our experiments show that our approach is more scalable and more robust for finding long counterexamples. We also demonstrate the usefulness of several optimizations that we introduced into our tool

    Transformation of UML Behavioral Diagrams to Support Software Model Checking

    Get PDF
    Unified Modeling Language (UML) is currently accepted as the standard for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This paper presents an approach to transform up to three different UML behavioral diagrams (sequence, behavioral state machines, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In our approach, properties are formalized based on use case descriptions. The transformation is done for the NuSMV model checker, but we see the possibility in using other model checkers, such as SPIN. The main contribution of our work is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of formal methods in software development.Comment: In Proceedings FESCA 2014, arXiv:1404.043

    Contract Aware Components, 10 years after

    Get PDF
    The notion of contract aware components has been published roughly ten years ago and is now becoming mainstream in several fields where the usage of software components is seen as critical. The goal of this paper is to survey domains such as Embedded Systems or Service Oriented Architecture where the notion of contract aware components has been influential. For each of these domains we briefly describe what has been done with this idea and we discuss the remaining challenges.Comment: In Proceedings WCSI 2010, arXiv:1010.233

    Synthesis of behavioral models from scenarios

    No full text

    Modeling and analysis of real-time software systems using UML

    Get PDF
    Real-Time Systems (RTS) should not only function correctly but should also satisfy time constraints. RTS include embedded systems, which are used nowadays in a variety of applications. These are, for instance, house appliances, automotive, aeronautic/aerospace, and health monitoring systems, to mention just a few. The design of such systems is complex and challenging. In order to cope with the complexity of RTS, there is shift in their development to follow a model-driven approach, such as the Model Driven Architecture (MDA), which relies on using models of high level of abstraction. The Unified Modeling Language (UML) is the Object Management Group (OMG) standard modeling language to support MDA. UML is appropriate for software systems because it allows for a multi-view modeling approach through its multitude of diagrams covering the structure, the behavior and the deployment architecture. Moreover, UML is also used in the domain of real-time software systems. This is achieved through its profiles, including, the OMG standard profile for Schedulability, Performance and Time (UML/SPT) or the upcoming standard UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE). However, UML modeling faces some challenging issues such as model consistency. This issue becomes worse in the context of real-time software systems because additional aspects should be taken into consideration, including time, concurrency and schedulability. In this thesis, we address several issues related to modeling and validation of RTS with UML. We focus in particular on the consistency of UML/SPT models. We adopt an incremental approach to check the consistency of these models by distinguishing the syntactic and semantic levels. The latter is further decomposed into behavioral, concurrency-related and time consistency. Our contributions in this thesis are fourfold. First, we leverage the extensibility mechanisms of UML to propose an extension to UML/SPT. This extension enables the modeling of multicast communications, which is required for the description of the behavior of certain real-time protocols. Second, we propose a formalization of the concurrency modeling capability in UML/SPT using timed automata. This formal semantics allows for applying well-established model checking techniques to check concurrency related consistency in UML/SPT models. Third, we propose an MDA-compliant approach to enable schedulability analysis of UML/SPT models. We present a proof of concept for this approach through a prototype implementation using the Atlas Transformation Language (ATL) and XML-based technologies. Finally, we use the schedulability analysis applied to UML/SPT models in order to check the time consistency of a system design modeled by means of a set of state machines with respect to time constraints modeled using a set of sequence diagrams annotated with UML/SPT time stereotypes. Keywords : Real-time systems, Model-driven Architecture, UML, UML/SPT, Model transformation, ATL, XML, XSLT, Consistency, Concurrency, Model Checking, Schedulability Analysis

    Incremental Consistency Checking in Delta-oriented UML-Models for Automation Systems

    Full text link
    Automation systems exist in many variants and may evolve over time in order to deal with different environment contexts or to fulfill changing customer requirements. This induces an increased complexity during design-time as well as tedious maintenance efforts. We already proposed a multi-perspective modeling approach to improve the development of such systems. It operates on different levels of abstraction by using well-known UML-models with activity, composite structure and state chart models. Each perspective was enriched with delta modeling to manage variability and evolution. As an extension, we now focus on the development of an efficient consistency checking method at several levels to ensure valid variants of the automation system. Consistency checking must be provided for each perspective in isolation, in-between the perspectives as well as after the application of a delta.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857

    TURTLE-P: a UML profile for the formal validation of critical and distributed systems

    Get PDF
    The timed UML and RT-LOTOS environment, or TURTLE for short, extends UML class and activity diagrams with composition and temporal operators. TURTLE is a real-time UML profile with a formal semantics expressed in RT-LOTOS. Further, it is supported by a formal validation toolkit. This paper introduces TURTLE-P, an extended profile no longer restricted to the abstract modeling of distributed systems. Indeed, TURTLE-P addresses the concrete descriptions of communication architectures, including quality of service parameters (delay, jitter, etc.). This new profile enables co-design of hardware and software components with extended UML component and deployment diagrams. Properties of these diagrams can be evaluated and/or validated thanks to the formal semantics given in RT-LOTOS. The application of TURTLE-P is illustrated with a telecommunication satellite system
    • …
    corecore