365 research outputs found

    Complementary formalisms - synthesis, verification and visualization

    Get PDF
    Ph.DDOCTOR OF PHILOSOPH

    The ScenarioTools Play-Out of Modal Sequence Diagram Specifications with Environment Assumptions

    Get PDF
    Many software-intensive systems consist of multiple components that provide complex functionality by their interaction. The scenario-based languages LSCs and MSDs are intuitive, but precise means to specify interactions; the engineers can specify how a system can, must, or must not react to events in its environment. A key benefit of LSCs/MSDs is that they can be executed via the play-out algorithm, which allows engineers to perform an early automated analysis of the specification. However, LSCs/MSDs lack support for expressing also what can or cannot happen in the environment. This is crucial especially in embedded systems: very often, the software will only be able to satisfy its requirements if certain assumptions are made about the behavior of mechanical parts or the physical environment. We extend MSD specifications to formally express such environment assumptions, and propose a corresponding extension of the play-out algorithm. The concepts are implemented in a novel, Eclipse-based tool

    Improving Live Sequence Chart to Automata Transformation for Verification

    Get PDF
    This paper presents a Live Sequence Chart (LSC) to automata transformation algorithm that enables the verification of communication protocol implementations. Using this LSC to automata transformation a communication protocol implementation can be verified using a single verification run as opposed to previous techniques that rely on a three stage verification approach. The novelty and simplicity of the transformation algorithm lies in its placement of accept states in the automata generated from the LSC. We present in detail an example of the transformation as well as the transformation algorithm. Further, we present a detailed analysis and an empirical study comparing the verification strategy to earlier work to show the benefits of the improved transformation algorithm

    Online Search in Behavioral Programming Models

    Get PDF
    Abstract-We present a model based approach to Search Based Software Engineering (SBSE). The approach is based on the Behavioral Programming (BP) paradigm where independent aspects of behavior are woven at run time using a simple interaction protocol. We propose to extend the behavioral programming execution mechanism with on-line heuristic search in program state space that allows programmers to develop non-deterministic programs while relying on a "smart" event selection mechanism to resolve non-determinism in a way that maximizes a specified heuristic function. The paper presents a new library that we have developed in Java and in JavaScript, using Rhino, to facilitate the proposed modeling approach and programming style. We give examples, in the context of a StarCraft game bot built with the library, that demonstrate how the proposed programming idioms can simplify the code and help build robust reactive systems. I. MOTIVATION AND BACKGROUND Search Based Software Engineering (SBSE) is an emerging field of research which aims to cope with the increased demand for functionality, scalability, and robustness of computer programs (and of reactive robotic systems in particular) using heuristic search mechanisms Despite the research activity in the area, search methods are practically used only in specific domains. Harman [2] reports, for example, that 54% of SBSE tools are used for testing purposes, an additional 11% for maintenance, and another 10% for project management. It seems that the main barrier that delays further adaptation of the technique is shortage in models for online search The goal of this this paper is to explore how SBSE can be made accessible to modelers and programmers of reactive systems, such as robotic applications and interactive game bots, as idioms that integrate with standard constructs in common modeling and programming languages. This allows for natural, powerful derivation from modeling languages (such as LSC 3) If unsatisfied with the execution's choices, extend the model by formalizing more refined requirements. 4) Repeat steps 2 and 3 until the behavior is satisfactory. The behavioral programming (BP) paradigm that we focus on in this paper is described in detail in Section II. BP extends and generalizes scenario-based programming which was introduced with the language of live sequence charts (LSC) The idea of "smart" execution of scenario based specifications started in II. BEHAVIORAL PROGRAMMING PRINCIPLES As presented in As shown i
    corecore