403 research outputs found

    A probabilistic extension of UML statecharts: specification and verification

    Get PDF
    This paper is the extended technical report that corresponds to a published paper [14]. This paper introduces means to specify system randomness within UML statecharts, and to verify probabilistic temporal properties over such enhanced statecharts which we call probabilistic UML statecharts. To achieve this, we develop a general recipe to extend a statechart semantics with discrete probability distributions, resulting in Markov decision processes as semantic models. We apply this recipe to the requirements-level UML semantics of [8]. Properties of interest for probabilistic statecharts are expressed in PCTL, a probabilistic variant of CTL for processes that exhibit both non-determinism and probabilities. Verification is performed using the model checker Prism. A model checking example shows the feasibility of the suggested approach

    Semantic mutation testing

    Get PDF
    This is the Pre-print version of the Article. The official published version can be obtained from the link below - Copyright @ 2011 ElsevierMutation testing is a powerful and flexible test technique. Traditional mutation testing makes a small change to the syntax of a description (usually a program) in order to create a mutant. A test suite is considered to be good if it distinguishes between the original description and all of the (functionally non-equivalent) mutants. These mutants can be seen as representing potential small slips and thus mutation testing aims to produce a test suite that is good at finding such slips. It has also been argued that a test suite that finds such small changes is likely to find larger changes. This paper describes a new approach to mutation testing, called semantic mutation testing. Rather than mutate the description, semantic mutation testing mutates the semantics of the language in which the description is written. The mutations of the semantics of the language represent possible misunderstandings of the description language and thus capture a different class of faults. Since the likely misunderstandings are highly context dependent, this context should be used to determine which semantic mutants should be produced. The approach is illustrated through examples with statecharts and C code. The paper also describes a semantic mutation testing tool for C and the results of experiments that investigated the nature of some semantic mutation operators for C

    Statechart Slicing

    Get PDF
    The paper discusses how to reduce a statechart model by slicing. We start with the discussion of control dependencies and data dependencies in statecharts. The and-or dependence graph is introduced to represent control and data dependencies for statecharts. We show how to slice statecharts by using this dependence graph. Our slicing approach helps systems analysts and system designers in understanding system specifications, maintaining software systems, and reusing parts of systems models

    Non-null Infinitesimal Micro-steps: a Metric Temporal Logic Approach

    Full text link
    Many systems include components interacting with each other that evolve with possibly very different speeds. To deal with this situation many formal models adopt the abstraction of "zero-time transitions", which do not consume time. These however have several drawbacks in terms of naturalness and logic consistency, as a system is modeled to be in different states at the same time. We propose a novel approach that exploits concepts from non-standard analysis to introduce a notion of micro- and macro-steps in an extension of the TRIO metric temporal logic, called X-TRIO. We use X-TRIO to provide a formal semantics and an automated verification technique to Stateflow-like notations used in the design of flexible manufacturing systems.Comment: 20 pages, 2 figures, submitted to the conference "FORMATS: Formal Modelling and Analysis of Timed Systems" 201

    A Holistic Approach in Embedded System Development

    Full text link
    We present pState, a tool for developing "complex" embedded systems by integrating validation into the design process. The goal is to reduce validation time. To this end, qualitative and quantitative properties are specified in system models expressed as pCharts, an extended version of hierarchical state machines. These properties are specified in an intuitive way such that they can be written by engineers who are domain experts, without needing to be familiar with temporal logic. From the system model, executable code that preserves the verified properties is generated. The design is documented on the model and the documentation is passed as comments into the generated code. On the series of examples we illustrate how models and properties are specified using pState.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338

    Duration calculus semantics for statecharts

    Get PDF
    Statecharts and Duration Calculus are two formalisms used in the development of reactive systems. Statecharts provide a powerful visual formalism to specify systems. Duration Calculus is a formal logic to specify and reason about temporal requeriments. In this work, we propose a description of statecharts semantics using Duration Calculus. Thus we build a common semantic model for Duration Calculus speci¯cations and statecharts. The formalization is done in two steps. First, the structure of a statechart is represented using Duration Calculus formula. Then, the semantics of the execution of a step is introduced.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    Duration calculus semantics for statecharts

    Get PDF
    Statecharts and Duration Calculus are two formalisms used in the development of reactive systems. Statecharts provide a powerful visual formalism to specify systems. Duration Calculus is a formal logic to specify and reason about temporal requeriments. In this work, we propose a description of statecharts semantics using Duration Calculus. Thus we build a common semantic model for Duration Calculus speci¯cations and statecharts. The formalization is done in two steps. First, the structure of a statechart is represented using Duration Calculus formula. Then, the semantics of the execution of a step is introduced.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    Idioms for µ-charts

    Get PDF
    This paper presents an idiomatic construct for µ-charts which reflects the high-level specification construct of synchronization between activities. This, amongst others, has emerged as a common and useful idea during our use of µ-charts to design and specify commonly-occurring reactive systems. The purpose of this example, apart from any inherent interest in being able to use synchronization in a specification, is to show how the very simple language of µ-charts can used as a basis for a more expressive language built by definitional extension
    corecore