7 research outputs found

    Prototyping the Semantics of a DSL using ASF+SDF: Link to Formal Verification of DSL Models

    Full text link
    A formal definition of the semantics of a domain-specific language (DSL) is a key prerequisite for the verification of the correctness of models specified using such a DSL and of transformations applied to these models. For this reason, we implemented a prototype of the semantics of a DSL for the specification of systems consisting of concurrent, communicating objects. Using this prototype, models specified in the DSL can be transformed to labeled transition systems (LTS). This approach of transforming models to LTSs allows us to apply existing tools for visualization and verification to models with little or no further effort. The prototype is implemented using the ASF+SDF Meta-Environment, an IDE for the algebraic specification language ASF+SDF, which offers efficient execution of the transformation as well as the ability to read models and produce LTSs without any additional pre or post processing.Comment: In Proceedings AMMSE 2011, arXiv:1106.596

    Semantics of UML 2.2 State Machines in Rewriting Logic

    Get PDF
    While the semantics of (labeled) transition systems and the relations between these are well understood. However, the same has not yet been achieved for UML 2.2 state machines. Their many semantics often is defined in terms of labeled transition systems, because the standard document is ambiguous. A formal, modular core semantics for UML 2.2 state machines is given in rewriting logic

    An overview of Mirjam and WeaveC

    Get PDF
    In this chapter, we elaborate on the design of an industrial-strength aspectoriented programming language and weaver for large-scale software development. First, we present an analysis on the requirements of a general purpose aspect-oriented language that can handle crosscutting concerns in ASML software. We also outline a strategy on working with aspects in large-scale software development processes. In our design, we both re-use existing aspect-oriented language abstractions and propose new ones to address the issues that we identified in our analysis. The quality of the code ensured by the realized language and weaver has a positive impact both on maintenance effort and lead-time in the first line software development process. As evidence, we present a short evaluation of the language and weaver as applied today in the software development process of ASML

    Transformation de modèles UML vers des programmes Fiacre

    No full text
    Aujourd'hui, le domaine de la modélisation et de la validation formelle de logiciels est un enjeu majeur du génie logiciel. Plus spécifiquement, les architectures logicielles des systèmes embarqués doivent être conçues pour assurer des fonctions critiques soumises à des contraintes très fortes en termes de fiabilité et de performances temps réel. Malgré les progrès techniques, la grande taille de ces systèmes facilite l'introduction d'une plus grande gamme d'erreurs. Alors, les méthodes formelles ont contribué les solutions rigoureuses et puissantes à produire des systèmes non défaillants. Dans ce domaine, les techniques de model-checking ont été fortement popularisées grâce à leur faculté d'exécuter automatiquement des preuves de propriétés sur des modèles logiciels. Alors, il faut pouvoir gérer à partir des modèles UML des codes formels pour différents outils model-checkers selon le type d'analyse que l'on veut mener. Dans ce travail, le langage pivot Fiacre est choisi comme le langage formel intermédiaire de transformation de modèles UML. Ce langage est exploitable par des outils model-checkers OBP Explorer et TINA. On a défini des règles de transformation qui permet de transformer le modèle structurel et fonctionnel UML vers programmes Fiacre. Les diagrammes de classes sont traduits pour construire la structure du système et les diagrammes d'états sont traduits pour construire la dynamique du système. Les diagrammes d'objets sont traduits pour construire la configuration initiale du système. Une classe active UML et sa machine d'état sont traduites par un processus Fiacre et son comportement et une classe inactive UML est traduite par un type de record en Fiacre. Afin d'établir des règles de transformation, on a proposé deux approches qui permettent de les valider : 1. Montrer la préservation des propriétés lors des transformations en Fiacre. 2. Montrer l'équivalence des sémantiques d'exécution entre le monde UML et le monde Fiacre

    A Semantics of Communicating Reactive Objects with Timing

    Get PDF
    Contains fulltext : 36153.pdf (preprint version ) (Open Access
    corecore