Figure 8 - uploaded by Farhad Arbab
Content may be subject to copyright.

Semantics of the Component Specification Language
Source publication
Coordination and composition of components is an essential concern in component-based software engineering. In this paper, we present an operational semantics for a component composition language called Reo. Reo connectors exogenously compose and coordinate the interactions among individual components, that unawarely comprise a complex system, into...
Similar publications
The Orc calculus is a simple, yet powerful theory of concurrent computations with great versatility and practical applicability to a very wide range of applications, as it has been amply demonstrated by the Orc language, which extends the Orc calculus with powerful programming constructs that can be desugared into the underlying formal calculus. Th...
Petri nets and their numerous extensions (or subclasses) are one of the popular traditional formalisms for the specification and verification of concurrent systems. Furthermore, due to the expressivity of rewriting logic, Maude and its associated analysis tools have been adopted in many recent works for executing and analyzing Petri nets. In this p...
This paper investigates the use of group goals and plans as programming abstractions that provide explicit constructs for goals and plans involving coordinated action by groups of agents, with a focus on the BDI agent model. We define a group goal construct, which specifies subgoals that the group members must satisfy for the group goal to succeed,...
A Software Product Line is a set of software products that share a number of core properties but also differ in others. Differences and commonalities between products are typically described in terms of features. A Feature Diagram is a hierarchically structured model that defines the features and their dependencies, while a Featured Transition Syst...
Citations
... In contrast with these formal techniques which are used in verifying the composition correctness, Reo satisfies specification and simulation needs besides the verification. In [7] Arbab et al. introduced the specification, simulation and verification of Reo connectors' behaviour. Also recent work on comparing Reo and Petri nets shows that one can relatively easy transform existing Petri net to Reo circuits, while the opposite proves to be difficult [20]. ...
Web services are emerging technology for distributed computing and E-business interactions. A Web service represents a unit of business logic that an organization exposes on the World Wide Web. The next idea in Web service technology is the composition of Web services into complex ones and it has received much interest to support business-to-business applications. The current Web service composition approaches have been introduced by business process modelling communities and often lack a theoretical and formal basis. This fundamental drawback sometimes results in difficulties in long running real world Web service composition. In this paper we are going to propose two models for Web service composition based on Reo coordination language. Reo is a channel-based exogenous coordination language which has a formal basis and supports loose coupling, distribution, dynamic reconfiguration and mobility. We first introduce Reo and then propose two models based on Reo. The first model focuses on Web service orchestration and the second model introduces a novel service oriented Reo middleware. We also discuss pros and cons of the proposed models.
... Despite the bulk of knowledge in the area of SOS meta-theory, little has been done in implementing them. In [21], we report our initial experiment with implementing an instance of SOS specification in the Maude rewriting logic [1] which was used as a prototype simulation and model checking environment for the particular target language. This initial prototype helped us check and remove a few " bugs " in our initial semantics. ...
We present a prototype implementation of SOS meta-theory in the Maude term rewriting language. The prototype defines the basic concepts of SOS meta-theory (e.g., transition formulae, deduction rules and transition system specifications) in Maude. Besides the basic definitions, we implement methods for checking the premises of some SOS meta-theorems (e.g., GSOS congruence meta-theorem) in this framework. Furthermore, we define a generic strategy for animating programs and models for semantic specifications in our meta-language. The general goal of this line of research is to develop a general-purpose tool that assists language designers by checking useful properties about the language under definition and by providing a rapid prototyping environment for scrutinizing the actual behavior of programs according to the defined semantics.
... Due to space limitation, we do not present the details of our implementation here. A more detailed version of this paper can be found in [14]. The implementation code in Maude and its accompanying documentation with several examples are available at the following URL: http://www.win.tue.nl/ ...
... In the remainder, we first assume that the output values of components are available as initial data sequences that are used as the input to Reo connectors. This assumption can be easily relaxed in our semantics as we illustrate in the extended version of this paper [14]. There, we also present initial ideas on how to systematically define new channel types and use them within our framework. ...
... In this section, we restrict ourselves to a fixed set of the basic connector types which is expressive enough to specify most practical systems (in fact, this subset is Turing complete [2]). In [14], we show how to generalize this subset. ...
We present an operational semantics for a component composition language called Reo. Reo connectors exogenously compose and coordinate the interactions among individual components that comprise a complex system, into a coherent collabora- tion. The formal semantics we present here paves the way for a rigorous study of the behavior of component composition mechanisms. To demonstrate the feasibility of such a rigorous approach, we give a faithful translation of Reo semantics into the Maude term rewriting language. This translation allows us to exploit the rewriting engine and the model-checking module in the Maude tool-set to symbolically run and model-check the behavior of Reo connectors.
... However, the formal verification techniques that we advocate are also appropriate for analyzing control-driven models. In fact, this is already being done [MSA04]. ...
Coordination languages emerged for programming interaction protocols among components in component-based systems, in terms of connectors. One such language is Reo. Reo facilitates compositional construction of complex composite connectors out of simple primitive ones. Unlike the behavior of connectors in other coordination languages, the behavior of a connector in Reo may depend on whether its coordinated components are ready for Open image in new window. Such behavior is called “context-sensitivity”, and its formalization—a nontrivial problem—has received considerable attention from the community. In this paper, I study three common and historically significant primitives in Reo—context-sensitive LossySync, FIFOn, and LossyFIFOn—and prove that they have inconsistent informal semantics. Moreover, four major formal semantics of Reo do not correspond with its foremost alternative informal semantics.
A company doing e-business needs capabilities to negotiate electronically the parameters of its deals in order to fully utilize the potential of the Information and Communication technology (ICT). This paper focuses on construction of negotiation protocols for e-commerce with the following properties: (a) formal semantics, (b) compositionally constructed, and (c) dynamically reconfigurable. We apply the Reo coordination language to demonstrate that one can specify and implement negotiation protocols possessing the desired properties.
A company doing e-business needs capabilities to negotiate electronically the parameters of its deals in order to fully utilize the potential of the information and communication technology (ICT). Businesses continuously engage in interactions of competitive or cooperative nature. This paper focuses on the specification and the composition of negotiation protocols. In particular, we specify and implement a cooperative alliance protocol and we compose it with an auction protocol. We require a specification and implementation language that allows the following two properties of negotiation protocols: (a) compositional construction and (b) dynamic reconfiguration. We apply the Reo coordination language to demonstrate that one can implement and compose together negotiation protocols possessing the desired properties.