1,620 research outputs found
Modularizing and Specifying Protocols among Threads
We identify three problems with current techniques for implementing protocols
among threads, which complicate and impair the scalability of multicore
software development: implementing synchronization, implementing coordination,
and modularizing protocols. To mend these deficiencies, we argue for the use of
domain-specific languages (DSL) based on existing models of concurrency. To
demonstrate the feasibility of this proposal, we explain how to use the model
of concurrency Reo as a high-level protocol DSL, which offers appropriate
abstractions and a natural separation of protocols and computations. We
describe a Reo-to-Java compiler and illustrate its use through examples.Comment: In Proceedings PLACES 2012, arXiv:1302.579
Integrated Structure and Semantics for Reo Connectors and Petri Nets
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
Relating BIP and Reo
Coordination languages simplify design and development of concurrent systems.
Particularly, exogenous coordination languages, like BIP and Reo, enable system
designers to express the interactions among components in a system explicitly.
In this paper we establish a formal relation between BI(P) (i.e., BIP without
the priority layer) and Reo, by defining transformations between their semantic
models. We show that these transformations preserve all properties expressible
in a common semantics. This formal relation comprises the basis for a solid
comparison and consolidation of the fundamental coordination concepts behind
these two languages. Moreover, this basis offers translations that enable users
of either language to benefit from the toolchains of the other.Comment: In Proceedings ICE 2015, arXiv:1508.0459
A Generic Model of Contracts for Embedded Systems
We present the mathematical foundations of the contract-based model developed
in the framework of the SPEEDS project. SPEEDS aims at developing methods and
tools to support "speculative design", a design methodology in which
distributed designers develop different aspects of the overall system, in a
concurrent but controlled way. Our generic mathematical model of contract
supports this style of development. This is achieved by focusing on behaviors,
by supporting the notion of "rich component" where diverse (functional and
non-functional) aspects of the system can be considered and combined, by
representing rich components via their set of associated contracts, and by
formalizing the whole process of component composition
A universally programmable Quantum Cellular Automaton
We discuss the role of classical control in the context of reversible quantum
cellular automata. Employing the structure theorem for quantum cellular
automata, we give a general construction scheme to turn an arbitrary cellular
automaton with external classical control into an autonomous one, thereby
proving the computational equivalence of these two models. We use this
technique to construct a universally programmable cellular automaton on a
one-dimensional lattice with single cell dimension 12.Comment: 4 pages, 4 figures, minor changes in introduction, fixed typos,
accepted for publication in Physical Review Letter
A design method for modular energy-aware software
Nowadays achieving green software by reducing the overall energy consumption of the software is becoming more and more important. A well-known solution is to make the software energy-aware by extending its functionality with energy optimizers, which monitor the energy consumption of software and adapt it accordingly. Modular design of energy-aware software is necessary to make the extensions manageable and to cope with the complexity of the software. To this aim, we require suitable methods that guide designers through the necessary design activities and the models that must be prepared during each activity. Despite its importance, such a method is not investigated in the literature. This paper proposes a dedicated design method for energy-aware software, discusses a concrete realization of this method, andâby means of a concrete exampleâillustrates the suitability of this method in achieving modularity
Explicit connection actions in multiparty session types
This work extends asynchronous multiparty session types (MPST) with explicit connection actions to support protocols with op- tional and dynamic participants. The actions by which endpoints are connected and disconnected are a key element of real-world protocols that is not treated in existing MPST works. In addition, the use cases motivating explicit connections often require a more relaxed form of mul- tiparty choice: these extensions do not satisfy the conservative restric- tions used to ensure safety in standard syntactic MPST. Instead, we de- velop a modelling-based approach to validate MPST safety and progress for these enriched protocols. We present a toolchain implementation, for distributed programming based on our extended MPST in Java, and a core formalism, demonstrating the soundness of our approach. We discuss key implementation issues related to the proposed extensions: a practi- cal treatment of choice subtyping for MPST progress, and multiparty correlation of dynamic binary connections
Natural Language Dialogue Service for Appointment Scheduling Agents
Appointment scheduling is a problem faced daily by many individuals and
organizations. Cooperating agent systems have been developed to partially
automate this task. In order to extend the circle of participants as far as
possible we advocate the use of natural language transmitted by e-mail. We
describe COSMA, a fully implemented German language server for existing
appointment scheduling agent systems. COSMA can cope with multiple dialogues in
parallel, and accounts for differences in dialogue behaviour between human and
machine agents. NL coverage of the sublanguage is achieved through both
corpus-based grammar development and the use of message extraction techniques.Comment: 8 or 9 pages, LaTeX; uses aclap.sty, epsf.te
A Component-oriented Framework for Autonomous Agents
The design of a complex system warrants a compositional methodology, i.e.,
composing simple components to obtain a larger system that exhibits their
collective behavior in a meaningful way. We propose an automaton-based paradigm
for compositional design of such systems where an action is accompanied by one
or more preferences. At run-time, these preferences provide a natural fallback
mechanism for the component, while at design-time they can be used to reason
about the behavior of the component in an uncertain physical world. Using
structures that tell us how to compose preferences and actions, we can compose
formal representations of individual components or agents to obtain a
representation of the composed system. We extend Linear Temporal Logic with two
unary connectives that reflect the compositional structure of the actions, and
show how it can be used to diagnose undesired behavior by tracing the
falsification of a specification back to one or more culpable components
Distributed Port Automata
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
- âŠ