Fig 19 - uploaded by Farhad Arbab
Content may be subject to copyright.
Ordinary PA of LossySync (bottom–left) and its specification in RSL (top–left) and the L-ed M-ed 3-coloring model of LossySync (bottom–right) and its specification in RSL (top–right).  

Ordinary PA of LossySync (bottom–left) and its specification in RSL (top–left) and the L-ed M-ed 3-coloring model of LossySync (bottom–right) and its specification in RSL (top–right).  

Source publication
Article
Full-text available
Reo is a coordination language which can be used to model the interactions among a set of components or services in a compositional manner using connectors. The language concepts of Reo include synchronization, mutual exclusion, data manipulation, memory and context-dependency. Context-dependency facilitates the precise specification of a connector...

Similar publications

Article
Full-text available
Semantic image synthesis is a process for generating photorealistic images from a single semantic mask. To enrich the diversity of multimodal image synthesis, previous methods have controlled the global appearance of an output image by learning a single latent space. However, a single latent code is often insufficient for capturing various object s...
Article
Full-text available
Color transfer is an emerging framework for dealing with ubiquitous color manipulation in media such as documents and images. Despite the notable progress made in the field, there remains a need for designers that can represent the same information in personalization and corresponding to media context. This work presents adaptive color transfer met...
Article
Full-text available
Humans are unique in the way they understand the causal relationships between the use of tools and achieving a goal. The idea at the core of the present research is that tool use can be considered as an instance of problem-solving situations supported by technical reasoning. In an eye-tracking study, we investigated the fixation patterns of partici...
Preprint
Full-text available
Complex manipulation tasks, such as rearrangement planning of numerous objects, are combinatorially hard problems. Existing algorithms either do not scale well or assume a great deal of prior knowledge about the environment, and few offer any rigorous guarantees. In this paper, we propose a novel hybrid control architecture for achieving such tasks...

Citations

... These works also mainly focus on coordinating different communication patterns among the computation activities rather than coordinating the dynamic nature of the system. For example, context-dependent connectors have received much attention over the past ten years [6] [7] [8]. However, the notion of context referred to in these works is limited to the pending activities on each of the connector's ports. ...
Article
Full-text available
With the proliferation of smart embedded devices, Cyber Physical Social Computing and Networking systems (CPSCN) are emerging as a next generation of social networks. Unlike traditional Social Networks that run on cloud-based infrastructure, CPSCN systems usually depend on a large number of distributed, heterogeneous devices such as mobile phones, smart vehicles or network access points. These computing resources, which are often referred to as fog computing systems, provide a gateway to the physical world, and thus offer new possibilities for social applications. Unfortunately, building CPSCN systems that leverage fog computing infrastructure is not straightforward. Significant challenges arise from the large scale distribution of computing resources over a wide area, and the dynamic nature of multiple, possibly mobile, hosts. In this paper, we extend our previous work on a Distributed Dataflow programming model and propose an application platform for realising CPSCN systems. A key aspect of our work is the development of an exogenous coordination model, which exhibits a separation of concern between computation and communication activities, and helps resolve some of the challenges brought about by the dynamic and large scale nature of CPSCN systems.
... A premier example in the Reo literature is the context-sensitive channel LossySync, which prefers locally maximal dataflow. Clarke et al. first studied context-sensitivity through a special context-sensitive semantic model for Reo[11]; later, Jongmans et al. showed how to encode context-sensitivity in non-context-sensitive models[12]. ...
Article
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. A formal relation between exogenous coordination languages comprises the basis for a solid comparison and consolidation of their fundamental concepts. 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. We use these transformations to define data-sensitive BIP architectures and their composition.
... In the literature, several possibilities to represent context-sensitive behavior without an explicit model of pending i/o-operations exist. One option is to encode information about pending i/o-operations by introducing a number of "fictitious ports" [20]. Another option is to stipulate maximal progress [21,22]. ...
Article
Full-text available
A promising new application domain for coordination languages is expressing interaction protocols among threads/processes in multicore programs: coordination languages typically provide high-level constructs and abstractions that more easily compose into correct (with respect to a programmer's intentions) protocol specifications than do low-level synchronization constructs (e.g., locks, semaphores, etc.) provided by conventional languages. However, a crucial step toward adoption of coordination languages for multicore programming is the development of compiler technology: programmers must have tools to automatically generate efficient code for high-level protocol specifications.In ongoing work, we are developing compilers for a coordination language, Reo, based on that language's automata semantics. As part of the compilation process, our tool computes the product of a number of automata, each of which models a constituent of the protocol to generate code for. This approach ensures that implementations of those automata at run-time reach a consensus about their global behavior in every step. However, this approach has two problems: state space explosion at compile-time and oversequentialization at run-time. In this paper, we provide a solution by defining a new, local product operator on those automata that avoids these problems. We then identify a sufficiently large class of automata for which using our new product instead of the existing one is semantics-preserving.
... Although this is the semantics that must be obtained, the product of simple constraint automata in Fig. 17 does not yield this automaton. This automaton can be obtained using more sophisticated variants of constraint automata [29,34], or an encoding technique [52] which can handle context sensitivity. Figure 18(e) shows the constraint automaton representing the semantics of the ShiftLossyFIFO1 connector of Fig. 12(b), which is obtained as the product of the constraint automata of its constituents. ...
... Other more expressive semantic models, including more sophisticated automata models, have been devised for this purpose[29,34]. A recent work shows that, although constraint automata cannot directly represent context sensitivity, it is possible to encode context sensitivity using constraint automata as well[52,61]. ...
Article
Full-text available
Traditional models of concurrency resort to peculiarly indirect means to express interaction and study its properties. Formalisms such as process algebras/calculi, concurrent objects, actors, shared memory, message passing, etc., all are primarily action-based models that provide constructs for the direct specification of things that interact, rather than a direct specification of interaction (protocols). Consequently, interaction in these formalisms becomes a derived or secondary concept whose properties can be studied only indirectly, as the side-effects of the (intended or coincidental) couplings or clashes of the actions whose compositions comprise a model. Treating interaction as an explicit first-class concept, complete with its own composition operators, allows to specify more complex interaction protocols by combining simpler, and eventually primitive, protocols. Reo [4, 7, 8, 15] serves as a premier example of such an interaction-based model of concurrency. In this paper, we describe Reo and its compiler. We show how exogenous coordination in Reo reflects an interaction-centric model of concurrency where an interaction (protocol) consists of nothing but a relational constraint on communication actions. In this setting, interaction protocols become explicit, concrete, tangible (software) constructs that can be specified, verified, composed, and reused, independently of the actors that they may engage in disparate applications. This paper complements the first author’s lecture at the \(15^{th}\) International School on Formal Methods for the Design of Computer, Communication and Software Systems in Bertinoro, Italy, June 2015, and collects previously published material (notably [9]).
... The approach we used in [13] for the Boolean encoding of connectors is close to that used for computing flows in Reo connectors in [26], where it is further extended to data flow. In [27], the authors discuss the extension of the colouring semantics of Reo [28] from the 2-colouring to the 3-colouring model. This extension is necessary to account for contextdependencies. ...
Article
Based on a concise but comprehensive overview of some fundamental properties required from component-based frameworks, namely compositionality, incrementality, flattening, modularity and expressiveness, we review three modifications of the semantics of glue operators in the Behaviour–Interaction–Priority (BIP) framework. We provide theoretical results and examples illustrating the degree to which the three semantics meet these requirements. In particular, we show that the most recent semantics, based on the offer predicate is the only one that satisfies all of them. The classical and offer semantics are not comparable: there are systems that can be assembled in the classical semantics, but not in the offer one. We present a strict characterisation of the behaviour hierarchy determining the conditions, under which systems in the classical semantics can be transposed into the offer semantics: directly, with minor modifications, by introducing a new type of synchronisation or cannot be transposed at all. The offer semantics allows us to extend the algebras, which are used to model glue operators in BIP, to encompass priorities. This extension uses the Algebra of Causal Interaction Trees, T(P), as a pivot: existing transformations automatically provide the extensions for the Algebra of Connectors. We then extend the axiomatisation of T(P), since the equivalence induced by the new operational semantics is weaker than that induced by the interaction semantics. This extension leads to canonical normal forms for all structures and to a simplification of the algorithm for the synthesis of connectors from Boolean coordination constraints.
... At the time of the first publications on cms, two colors seemed insufficient for this, while three appeared adequate. In [42], however, its authors present an informationpreserving mapping from 3cms to 2cms, which demonstrates that 2cms actually can describe the behavior of context-sensitive connectors. This works as follows. ...
... Thus, to encode a 3cm as a 2cm, one should double the number of concrete nodes in the 3cm and consistently map every color in the 3cm to a pair of colors in the 2cm. Interestingly, such an encoding of three colors using two concrete nodes and two colors also has an intuitive meaning [42]. More generally, one can attribute 2 k behavior alternatives to a conceptual node represented by k concrete nodes and using two colors. ...
... One can now use Vereofy to analyze this ca. Another example appears in [42]. In this application, the compositionality of L in Lemma 2 plays an important role (as already outlined in Section 5.2): it facilitates the onetime-application of L to encoded 3ccms, as 2ccms, of Reo's primitives. ...
Article
Full-text available
Over the past decades, coordination languages have emerged for the specification and implementation of interaction protocols for communicating software components. This class of languages includes Reo, a platform for compositional construction of connectors. In recent years, many formalisms for describing the behavior of Reo connectors have emerged. In this paper, we give an overview of all these classes of semantic models. Furthermore, we investigate the expressiveness of two more prominent classes, constraint automata and coloring models, in detail.
Article
Full-text available
The paradigm of service-oriented computing revolutionized the field of software engineering. According to this paradigm, new systems are composed of existing stand-alone services to support complex cross-organizational business processes. Correct communication of these services is not possible without a proper coordination mechanism. The Reo coordination language is a channel-based modeling language that introduces various types of channels and their composition rules. By composing Reo channels, one can specify Reo connectors that realize arbitrary complex behavioral protocols. Several formalisms have been introduced to give semantics to Reo. In their most basic form, they reflect service synchronization and dataflow constraints imposed by connectors. To ensure that the composed system behaves as intended, we need a wide range of automated verification tools to assist service composition designers. In this paper, we present our framework for the verification of Reo using the toolset. We unify our previous work on mapping various semantic models for Reo, namely, constraint automata, timed constraint automata, coloring semantics and the newly developed action constraint automata, to the process algebraic specification language of , address the correctness of this mapping, discuss tool support, and present a detailed example that illustrates the use of Reo empowered with for the analysis of dataflow in service-based process models.