12,399 research outputs found

    An Algebra of Hierarchical Graphs

    Get PDF
    We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then well suited for defining graphical representations of software models where nesting and linking are key aspects

    An Algebra of Hierarchical Graphs and its Application to Structural Encoding

    Get PDF
    We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then well suited for defining graphical representations of software models where nesting and linking are key aspects. In particular, we propose the use of our graph formalism as a convenient way to describe configurations in process calculi equipped with inherently hierarchical features such as sessions, locations, transactions, membranes or ambients. The graph syntax can be seen as an intermediate representation language, that facilitates the encodings of algebraic specifications, since it provides primitives for nesting, name restriction and parallel composition. In addition, proving soundness and correctness of an encoding (i.e. proving that structurally equivalent processes are mapped to isomorphic graphs) becomes easier as it can be done by induction over the graph syntax

    Hierarchical models for service-oriented systems

    Get PDF
    We present our approach to the denotation and representation of hierarchical graphs: a suitable algebra of hierarchical graphs and two domains of interpretations. Each domain of interpretation focuses on a particular perspective of the graph hierarchy: the top view (nested boxes) is based on a notion of embedded graphs while the side view (tree hierarchy) is based on gs-graphs. Our algebra can be understood as a high-level language for describing such graphical models, which are well suited for defining graphical representations of service-oriented systems where nesting (e.g. sessions, transactions, locations) and linking (e.g. shared channels, resources, names) are key aspects

    A requirements specification for a software design support system

    Get PDF
    Most existing software design systems (SDSS) support the use of only a single design methodology. A good SDSS should support a wide variety of design methods and languages including structured design, object-oriented design, and finite state machines. It might seem that a multiparadigm SDSS would be expensive in both time and money to construct. However, it is proposed that instead an extensible SDSS that directly implements only minimal database and graphical facilities be constructed. In particular, it should not directly implement tools to faciliate language definition and analysis. It is believed that such a system could be rapidly developed and put into limited production use, with the experience gained used to refine and evolve the systems over time

    Using Inhabitation in Bounded Combinatory Logic with Intersection Types for Composition Synthesis

    Full text link
    We describe ongoing work on a framework for automatic composition synthesis from a repository of software components. This work is based on combinatory logic with intersection types. The idea is that components are modeled as typed combinators, and an algorithm for inhabitation {\textemdash} is there a combinatory term e with type tau relative to an environment Gamma? {\textemdash} can be used to synthesize compositions. Here, Gamma represents the repository in the form of typed combinators, tau specifies the synthesis goal, and e is the synthesized program. We illustrate our approach by examples, including an application to synthesis from GUI-components.Comment: In Proceedings ITRS 2012, arXiv:1307.784

    Semantics and Execution of Domain Specific Models

    Get PDF
    In this paper we present a two-level approach to extend the abstract syntax of models with concrete semantics. First, a light-weight execution interface for iteratable models with a generic user interface allows the tool smith to provide arbitrary execution and visualization engine implementations for his or her Domain Specific Modeling Language (DSML). We discuss how the common execution manager runtime allows co-simulations of different model types and engine implementations to provide a flexible framework in the diverse DSML scenery. Second, as a concrete but nevertheless generic implementation of a simulation engine for behavior models, we present semantic model specifications and a runtime interfacing to the Ptolemy II tool suite. As a project in the area of model simulation, the latter provides a mature sophisticated and formally grounded backbone for model execution. We present our approach as an open source Eclipse integration to be an extension to the Eclipse modeling projects. After introducing basic concepts, the paper explains how simulations are currently being integrated into the framework and presents some illustrative case studies also covering UML approaches

    The Hamlet Application Design Language: introductory definition report

    Get PDF
    This report provides an introduction to the definition of the Hamlet Application Design Language (ADL). ADL is a graphical-based language and notation supporting the design of parallel real-time applications. Designs expressed in ADL are based on a model of processes that communicate by message-passing. Communication can either be synchronous or asynchronous, and orthogonally, may be subject to blocking, delaying, or nonblocking timing constraints. The language has been devised in such a way that automated (skeletal) code generation can be supported. To this aim, structural aspects are expressed in a notation somewhat similar to data-flow diagrams, whereas behavioral aspects are expressed as state-transition machines following a syntax similar to that of SDL. Exploitation of parallelism is obtained by annotating a design with process replication specifications

    Adaptivity in High-Performance Embedded Systems: a Reactive Control Model for Reliable and Flexible Design

    Get PDF
    International audienceSystem adaptivity is increasingly demanded in high-performance embedded systems, particularly in multimedia System-on-Chip (SoC), due to growing Quality of Service requirements. This paper presents a reactive control model that has been introduced in Gaspard, our framework dedicated to SoC hardware/software co-design. This model aims at expressing adaptivity as well as reconfigurability in systems performing data-intensive computations. It is generic enough to be used for description in the different parts of an embedded system, e.g. specification of how different data-intensive algorithms can be chosen according to some computation modes at the functional level; expression of how hardware components can be selected via the usage of a library of Intellectual Properties (IPs) according to execution performances. The transformation of this model towards synchronous languages is also presented, in order to allow an automatic code generation usable for formal verification, based of techniques such as model checking and controller synthesis as illustrated in the paper. This work, based on Model-Driven Engineering and the standard UML MARTE profile, has been implemented in Gaspard

    Modelica - A Language for Physical System Modeling, Visualization and Interaction

    Get PDF
    Modelica is an object-oriented language for modeling of large, complex and heterogeneous physical systems. It is suited for multi-domain modeling, for example for modeling of mechatronics including cars, aircrafts and industrial robots which typically consist of mechanical, electrical and hydraulic subsystems as well as control systems. General equations are used for modeling of the physical phenomena, No particular variable needs to be solved for manually. A Modelica tool will have enough information to do that automatically. The language has been designed to allow tools to generate efficient code automatically. The modeling effort is thus reduced considerably since model components can be reused and tedious and error-prone manual manipulations are not needed. The principles of object-oriented modeling and the details of the Modelica language as well as several examples are presented
    corecore