190,982 research outputs found
A channel-based coordination model for components
In this paper we present a coordination model for component-based software systems based on the notion of mobile channels, and describe its implementation in the Java language. Channels allow anonymous, and point-to-point communication among components, while mobility allows dynamic reconfiguration of channel connections in a system. This model supports dynamic distributed systems where components can be mobile. It provides an efficient way of interaction among components. Furthermore, our model provides a clear separation between the computational part and the coordination part of a system, allowing the development and description of the coordination structure of a system to be done in a transparent way. Our description of the Java implementation of this coordination model demonstrates that it is self-contained enough for developing component-based systems. However, if desired, our model can be used as a basis to extend other models that focus on other aspects of components that are less related to composition and coordination concerns
Input-output Conformance Testing for Channel-based Service Connectors
Service-based systems are software systems composed of autonomous components or services provided
by different vendors, deployed on remote machines and accessible through the web. One of the
challenges of modern software engineering is to ensure that such a system behaves as intended by its
designer. The Reo coordination language is an extensible notation for formal modeling and execution
of service compositions. Services that have no prior knowledge about each other communicate
through advanced channel connectors which guarantee that each participant, service or client, receives
the right data at the right time. Each channel is a binary relation that imposes synchronization
and data constraints on input and output messages. Furthermore, channels are composed together
to realize arbitrarily complex behavioral protocols. During this process, a designer may introduce
errors into the connector model or the code for their execution, and thus affect the behavior of a
composed service. In this paper, we present an approach for model-based testing of coordination
protocols designed in Reo. Our approach is based on the input-output conformance (ioco) testing
theory and exploits the mapping of automata-based semantic models for Reo to equivalent process
algebra specifications
Modeling Role-Based Systems with Exogenous Coordination
The concept of roles is a promising approach to cope with context dependency and adaptivity of modern software systems. While roles have been investigated in conceptual modeling, programming languages and multi-agent systems, they have been given little consideration within component-based systems.
In this paper, we propose a hierarchical role-based approach for modeling relationships and collaborations between components. In particular, we consider the channel-based, exogenous coordination language Reo and discuss possible realizations of roles and related concepts. The static requirements on the binding of roles are modeled by rule sets expressed in many-sorted second-order logic and annotations on the Reo networks for role binding, context and collaborations, while Reo connectors are used to model the coordination of runtime role playing. The ideas presented in this paper may serve as a basis for the formalization and formal analysis of role-based software systems
An enhanced model for stochastic coordination
Publicado em "Proceedings of the First International Workshop on Formal Methods for and on the Cloud, iFMCloud@IFM 2016, Reykjavik, Iceland, 4th June 2016"Applications developed over the cloud coordinate several, often anonymous,
computational resources, distributed over different execution nodes, within
flexible architectures. Coordination models able to represent quantitative data
provide a powerful basis for their analysis and validation. This paper extends
IMCreo, a semantic model for Stochastic reo based on interactive Markov chains,
to enhance its scalability, by regarding each channel and node, as well as
interface components, as independent stochastic processes that may (or may not)
synchronise with the rest of the coordination circuit.Luis S. Barbosa is supported by grant SFRH/BSAB/113890/2015 from FCT, the Portuguese Foundation for Science and Tecnhology. This research is financed by the ERDF COMPETE 2020 Programme within project POCI-01-0145-FEDER-00696, and by National Funds through FCT as part of project UID/EEA/50014/2013
Spectrum Sharing in mmWave Cellular Networks via Cell Association, Coordination, and Beamforming
This paper investigates the extent to which spectrum sharing in mmWave
networks with multiple cellular operators is a viable alternative to
traditional dedicated spectrum allocation. Specifically, we develop a general
mathematical framework by which to characterize the performance gain that can
be obtained when spectrum sharing is used, as a function of the underlying
beamforming, operator coordination, bandwidth, and infrastructure sharing
scenarios. The framework is based on joint beamforming and cell association
optimization, with the objective of maximizing the long-term throughput of the
users. Our asymptotic and non-asymptotic performance analyses reveal five key
points: (1) spectrum sharing with light on-demand intra- and inter-operator
coordination is feasible, especially at higher mmWave frequencies (for example,
73 GHz), (2) directional communications at the user equipment substantially
alleviate the potential disadvantages of spectrum sharing (such as higher
multiuser interference), (3) large numbers of antenna elements can reduce the
need for coordination and simplify the implementation of spectrum sharing, (4)
while inter-operator coordination can be neglected in the large-antenna regime,
intra-operator coordination can still bring gains by balancing the network
load, and (5) critical control signals among base stations, operators, and user
equipment should be protected from the adverse effects of spectrum sharing, for
example by means of exclusive resource allocation. The results of this paper,
and their extensions obtained by relaxing some ideal assumptions, can provide
important insights for future standardization and spectrum policy.Comment: 15 pages. To appear in IEEE JSAC Special Issue on Spectrum Sharing
and Aggregation for Future Wireless Network
Treo: Textual Syntax for Reo Connectors
Reo is an interaction-centric model of concurrency for compositional
specification of communication and coordination protocols. Formal verification
tools exist to ensure correctness and compliance of protocols specified in Reo,
which can readily be (re)used in different applications, or composed into more
complex protocols. Recent benchmarks show that compiling such high-level Reo
specifications produces executable code that can compete with or even beat the
performance of hand-crafted programs written in languages such as C or Java
using conventional concurrency constructs.
The original declarative graphical syntax of Reo does not support intuitive
constructs for parameter passing, iteration, recursion, or conditional
specification. This shortcoming hinders Reo's uptake in large-scale practical
applications. Although a number of Reo-inspired syntax alternatives have
appeared in the past, none of them follows the primary design principles of
Reo: a) declarative specification; b) all channel types and their sorts are
user-defined; and c) channels compose via shared nodes. In this paper, we offer
a textual syntax for Reo that respects these principles and supports flexible
parameter passing, iteration, recursion, and conditional specification. In
on-going work, we use this textual syntax to compile Reo into target languages
such as Java, Promela, and Maude.Comment: In Proceedings MeTRiD 2018, arXiv:1806.0933
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
Modelling the GSM handover protocol in CommUnity
CommUnity is a formal approach to software architecture. It has a precise, yet intuitive mathematical semantics based on category theory. It supports, at the methodological level, a clear separation between computation, coordination, and distribution (including mobility). It provides a simple state-based language for describing component behaviour that is inspired by Unity and Interacting Processes. It also addresses composition as a first class concern and accounts for the emergence of global system properties from interconnections. This paper describes the approach and available tool support by modelling essential aspects of the GSM handover protocol. We also sketch a framework that we are implementing for the distributed execution of such specifications using Klava, a Java library for mobile agent systems based on tuple spaces
- …