9 research outputs found

    Integrated Structure and Semantics for Reo Connectors and Petri Nets

    Full text link
    In this paper, we present an integrated structural and behavioral model of Reo connectors and Petri nets, allowing a direct comparison of the two concurrency models. For this purpose, we introduce a notion of connectors which consist of a number of interconnected, user-defined primitives with fixed behavior. While the structure of connectors resembles hypergraphs, their semantics is given in terms of so-called port automata. We define both models in a categorical setting where composition operations can be elegantly defined and integrated. Specifically, we formalize structural gluings of connectors as pushouts, and joins of port automata as pullbacks. We then define a semantical functor from the connector to the port automata category which preserves this composition. We further show how to encode Reo connectors and Petri nets into this model and indicate applications to dynamic reconfigurations modeled using double pushout graph transformation

    Dynamic System Adaptation by Constraint Orchestration

    Get PDF
    For Paradigm models, evolution is just-in-time specified coordination conducted by a special reusable component McPal. Evolution can be treated consistently and on-the-fly through Paradigm's constraint orchestration, also for originally unforeseen evolution. UML-like diagrams visually supplement such migration, as is illustrated for the case of a critical section solution evolving into a pipeline architecture.Comment: 19 page

    Distributed Port Automata

    Get PDF
    Dynamic reconfigurations are a powerful approach for the adaption of component-based or service-oriented software systems at runtime. Important issues in this area are the problems of state transfer and state consistency, i.e., to determine the system state after a reconfiguration and to ensure that it is valid. To deal with these problems, we introduce distributed port automata in this paper. Distributed port automata combine structural and behavioral system properties and therefore allow to reason about dynamic reconfigurations. In our approach, we use an automata-based model for describing the behavior of the primitive building blocks in a system, and a graph-based model for describing its structure in terms of a network. We demonstrate how to derive the system semantics of a distributed port automaton and show that it is compositional. We consider an encoding of the coordination language Reo and show a new result on compositionality of flattening for distributed graphs

    Towards an engine for coordination-based architectural reconfigurations

    Get PDF
    Software reconfigurability became increasingly relevant to the architectural process due to the crescent dependency of modern societies on reliable and adaptable systems. Such systems are supposed to adapt themselves to surrounding environmental changes with minimal service disruption, if any. This paper introduces an engine that statically applies reconfigurations to (formal) models of software architectures. Reconfigurations are specified using a domain specific language— ReCooPLa—which targets the manipulation of software coordinationstructures,typicallyusedinservice-orientedarchitectures(soa).Theengine is responsible for the compilation of ReCooPLa instances and their application to the relevant coordination structures. The resulting configurations are amenable to formal analysis of qualitative and quantitative (probabilistic) properties.This work is partly funded by ERDF - European Regional Development Fund through the COMPETE Programme (operational programme for competitiveness) and by National Funds through the FCT, the Portuguese Foundation for Science and Technology, within project FCOMP-01-0124-FEDER-028923. The second author is supported by an Individual Doctoral Grant from FCT, with reference SFRH/BD/71475/2010

    A model of context-dependent component connectors

    Get PDF
    Recent approaches to component-based software engineering employ coordinat- ing connectors to compose components into software systems. For maximum flexibility and reuse, such connectors can themselves be composed, resulting in an expressive calculus of connectors whose semantics encompasses complex combinations of synchronisation, mutual exclusion, non-deterministic choice and state-dependent behaviour. A more expressive notion of connector includes also context-dependent behaviour, namely, whenever the choices a connector can take change non-monotonically as the context, given by the pending activity on its ports, changes. Context dependency can express notions of priority and inhi- bition. Capturing context-dependent behaviour in formal models is non-trivial, as it is unclear how to propagate context information through composition. In this paper we present an intuitive automata-based formal model of context- dependent connectors, and argue that it is superior to previous attempts at such a model for the coordination language Reo

    Safety and Performance in Generated Coordination Code

    Get PDF
    Reo is able to act as a domain specific language by compiling a high-level protocol specification to coordination glue code in a target general purpose language. In the case of Java, these generated programs take advantage of optimization opportunities, but struggle to preserve Reo’s semantics. In this work, we extend the Reo compiler to support the Rust language. We show that the resulting programs implement several existing and novel performance optimizations, whilst relying on Rust’s expressive type system to preserve meaningful safety and liveness properties at compile time. Our data-oriented design facilitates flexibility, such as protocol reconfiguration at runtime, but still achieves performance in the order of handcrafted programs for non-trivial protocols

    Reconfiguring Distributed Reo Connectors

    No full text
    Abstract. The coordination language Reo defines circuit-like connectors to steer the collaboration of independent components. In this paper, we present a framework for the modeling of distributed, self-reconfigurable connectors based on algebraic graph transformations. Reconfiguring a connector that is composed with others, may involve a change of shared interfaces and may therefore require a reconfiguration of the surrounding connectors as well. We present a method of synchronized local reconfigurations in this setting and discuss a bottom-up strategy for coordinating synchronized reconfigurations in a connector network. We exploit the double-pushout approach for the modeling of reconfigurations, and propose an adaptation of the concept of amalgamation for synchronizing reconfigurations. We use a nondeterministic scheduler as our running example.
    corecore