15 research outputs found

    Formal Semantics for Ward & Mellor's TRANSFORMATION SCHEMA's and its Application to Fault-Tolerant Systems

    Get PDF
    A family of formal semantics is given for the Essential Model of the Transformation Schema of Ward & Mellor using recent techniques developed for defining the semantics of Statecharts by Pnueli and Huizing. A number of ambiguities and inconsistencies in Ward & Mellor's original definition is resolved. The models developed closely resemble those used for synchronous languages. Each model has its own application area, e.g., one fits best for fault-tolerant systems

    Projectable semantics for Statecharts

    Get PDF
    Abstract It has been proved that it is impossible to combine in one semantics for reactive systems the notions of modularity, causality and synchronous hypothesis. This limits bottom-up development of specifications. In this paper we introduce the notion of projectability, which is weaker than modularity, we define a non global consistent semantics for Statecharts that enforces projectability, causality and synchronous hypothesis, and we prove that no global consistent semantics for Statecharts can enforce these three notions

    Modular Compilation of a Synchronous Language

    Get PDF
    Synchronous languages rely on formal methods to ease the development of applications in an efficient and reusable way. Formal methods have been advocated as a means of increasing the reliability of systems, especially those which are safety or business critical. It is still difficult to develop automatic specification and verification tools due to limitations like state explosion, undecidability, etc... In this work, we design a new specification model based on a reactive synchronous approach. Then, we benefit from a formal framework well suited to perform compilation and formal validation of systems. In practice, we design and implement a special purpose language (LE) and its two semantics~: the ehavioral semantics helps us to define a program by the set of its behaviors and avoid ambiguousness in programs' interpretation; the execution equational semantics allows the modular compilation of programs into software and hardware targets (c code, vhdl code, fpga synthesis, observers). Our approach is pertinent considering the two main requirements of critical realistic applications~: the modular compilation allows us to deal with large systems, the model-based approach provides us with formal validation

    Algebraic Framework for Synchronous Language Semantics

    Get PDF
    International audienceIn this article, we study several relevant algebraic frameworks to define synchronous language semantics. Synchronous languages are quite dedicated to design critical embedded applications. Thus, verification and compilation is challenging and should rely on mathematical semantics. We study multi-valued algebras as foundation for semantics definition and we show that a 4-valued algebra with a bilattice structure is well suited to our concern. With this approach we can define semantics offering both the generation of models where verification techniques apply, and separated compilation means.Cet article étudie différents cadres algébriques adéquats pour définir les sémantiques des languages synchrones. Ces languages sont principalement dédiés à la conception de systèmes crtiques embarqués. Leur vérification et leur compilation sont des challenges importants et doivent s'appuyer sur des sémantiques bien fondées mathématiquement. Dans cet article, nous étudions les algèbres multi valuées et nous montrons qu'une algèbre particulière, 4-valuée avec une structure de bilattice répond à notre problème. Cette approche nous permet de définir une sémantique permettant l'application des techniques de vérification formelle et offrant la possibilité d'une compilation séparée

    BSML-mbeddr: Integrating Semantically Congurable State-Machine Models in a C Programming Environment

    Get PDF
    In model-driven engineering, developers express their solutions in domain-specific modelling languages (DSLs) that support domain-specific abstractions. Big-Step Modelling Languages (BSML) is a family of extended state-machine DSLs for creating executable models that have a complex execution semantics. In this paper, we present BSML-mbeddr, which imbeds a large subset of BSML within the mbeddr C programming environment, thereby extending mbeddr with language constructs for extended, semantically configurable state-machines. We also report on three case studies that exercise the expressiveness of BSML-mbeddr, assess the integrability of BSML-mbeddr into mbeddr, and demonstrate the need to provide support for state-machine models with different execution semantics.NSERC Discovery Grant, 155243-12 || Ontario Research Fund, RE05-04

    Compilation Modulaire d'un Langage Synchrone

    Get PDF
    National audienceIn this paper, we study the modular compilation of imperative synchronous programs. We rely on a formal framework well suited to perform compilation and formal validation of systems. In practice, we design and implement a special purpose language (LE) and its \execution equational semantics that allows the modular compilation of programs into software and hardware targets (C code, Vhdl code, FPGA synthesis, Verification tools). We show the correctness of this semantics, and we introduce a new algorithm to check program causality with respect to our modular approach. Relying in this formal approach, we defined a toolkit dedicated to the compilation and the verification of reactive applications.Dans cet article, nous étudions la compilation modulaire de programmes synchrones impératifs. Nous nous appuyons sur des méthodes formelles pour compiler et valider les applications spécifiées. Nous avons défini et implémenté un langage dédié (LE) et sa sémantique équationnelle qui permet la compilation modulaire des programmes vers différentes cibles logicielles et matérielles (code C, code Vhdl, synthétiseurs fpga, format d'entr\ée d'outils de vérification, ...). Nous montrons que cette sémantique est correcte et nous introduisons un algorithme pour vérifier la causalité qui respecte notre approche modulaire. En nous appuyant sur cette approche formelle, nous avons réalisé une boite à outils pour compiler et vérifier des applications réactives synchrones

    Big-Step Semantics

    Get PDF
    With the popularity of model-driven methodologies, and the abundance of modelling languages, a major question for a requirements engineer is: which language is suitable for modelling a system under study? We address this question from a semantic point-of-view for big-step modelling languages (BSMLs). BSMLs are a popular class of behavioural modelling languages in which a model can respond to an environmental input by executing multiple, possibly concurrent, transitions. We deconstruct the semantics of a large class of BSMLs into high-level, orthogonal semantic aspects and discuss the relative advantages and disadvantages of the semantic options for each of these aspects to allow a requirements engineer to compare and choose the right BSML. We accompany our presentation with many modelling examples that illustrate the differences between a set of relevant semantic options.

    Algebras and Synchronous Language Semantics

    Get PDF
    In this report, we study different multi-valued algebras allowing to formally specify synchronous language semanticsCe rapport étudie différentes algèbres multi-valuées permettant de donner un cadre formel à la définition des sémantiques des langages synchrones

    Integrating Semantically Configurable State-machine Models in a C Programming Environment

    Get PDF
    Model-driven engineering is a popular software-development methodology, which requires suitable domain-specific modelling languages (DSLs) to create models. A DSL requires flexible semantics depending on the domain knowledge. Among DSLs, Big-Step Modelling Languages (BSML) is a family of state-machine modelling languages that vary semantically. In BSML, a model can respond to an environmental input with a big-step which comprises a sequence of small-steps, each of which represents the execution of a set of transitions. The semantics of BSMLs are decomposed into mostly orthogonal semantic aspects with a wide range of semantic options. With configurable semantics, the modeller is able to choose the proper option for each semantic aspect, thus to fulfil their per domain/model semantic requirements. In this thesis we present BSML-mbeddr, a state-machine modelling language with hierarchical states, concurrent regions and configurable semantics, which has implemented a large subset of BSML within the mbeddr C programming language environment. mbeddr is a DSL workbench which provides a tool suite that supports the incremental construction of modular DSLs on top of C, together with a set of predefined DSLs. By implementing on mbeddr, BSML-mbeddr is integrated into mbeddr-C that supports programs made with heterogeneous languages, including a combination of programming language and modelling language

    Removing cycles in esterel programs

    Get PDF
    Esterel belongs to the family of synchronous programming languages, which are affected by cyclic signal dependencies. This prohibits a static scheduling, limiting the choice of available compilation techniques for programs with such cycles. This work proposes an algorithm that, given a constructive synchronous Esterel program, performs a semantics-preserving source-level code transformation that removes cyclic signal dependencies. The transformation is divided into two parts: Detection of cycles and iterative resolution of these cycles. It is based on the replacement of cycle signals by a signal expression involving no other cycle signals, thereby breaking the cycle. This transformation of cyclic Esterel programs enables the use of efficient compilation techniques, which are only available for acyclic programs. Furthermore, experiments indicate that the code transformation can even improve code quality produced by compilers that can already handle cyclic programs
    corecore