3.3 Other Semantic Models for Reo
3.3.5 Process Algebraic and Structural Operational Semantics
In addition to the above mentioned models, there are some other attempts to present formal semantics for component connectors. In the work of Barbosa et al. [32] the semantics of components are defined by the expressions of a process algebra. These expressions carry out both positive (presence) and negative (absence) information about data in ports. Complex connectors are built from basic ones using some composition operators such as join, parallel composition, and interleaving. This work needs more investigation to before it can be used for the purpose of deductive verification and is not suitable for model checking. The model needs more enhancements to express some important fairness constraints.
In the joint works of Kokash, Krause et al., reported in [91, 92, 93, 94], and [95], they map some semantic models for Reo, namely, constraint automata, timed constraint automata, and coloring semantics to the process algebraic specification language of mCRL2 [61] and show the correctness of their mappings. Also, they have build a tool for these mappings that is now a part of the tool-setExtensible (Eclipse) Coordination Tools(ECT) [2].
In another work, Mousavi et al. [116] express the formal semantics of Reo connectors by a set of structural operational semantic rules. In general, this semantics is not a context dependent semantics, it carries only positive information. However, to express some con- text dependencies, specially for the lossy synchronous channel, the authors used extra more rules to remove undesired behavior. To be able to express more fairness or context dependent behavior the set of rules needs to be expanded.
3.4
Tool Support for Reo
In addition to a mostly updated homepage for Reo [5] that helps its user to have access to the research and tools supporting Reo, there is a tool-set, calledExtensible (Eclipse) Coordina- tion Tools(ECT), for Reo [2]. It is a set of integrated plug-ins for theEclipse platform, which offer a graphical development environment for the specification, analysis and execution of component-based software systems using the coordination language Reo [95]. It contains a set of tools implemented by a variety of researchers and programmers. Based on the last report of the tool-set ECT, presented in [95], it now contains the following tools:
• Graphical Reo editorby which the user can graphically construct Reo networks out of the basic channel types.
• Animator toolthat generates animations for the flow of data in Reo nets.
• mCRL2 conversion toolwhich encodes Reo specifications generated by the graphical Reo editor to the mCRL2 specification language. This conversion is based on the works reported in detail in [91, 92, 93, 94], and [95].
• Extensible automata editor. Because there are several automata based models for Reo, ECT contains a tool for deriving automata based models from Reo in general. The framework contains a graphical automata editor and can also be used outside of the context of Reo [95].
• Tools forstochastic modeling and analysis. There are two tools for stochastic modeling and analysis in ECT: one that generates a sort of intentional automata augmented by stochastic information, called quantitative intensional automata, from the graphical Reo models [113, 114, 22, 23, 26], and the other which simulates the behavior of Reo nets [150, 87] using their coloring semantics as described in [47].
• Execution enginesthat execute Reo connectors. Currently there exist two implemented execution engines: one that generates the codes based on constraint automata models and the other that executes Reo connectors in a distributed platform (for more see [125, 95]).
• Conversion tools that convert some other modeling languages such as UML2 and BPMN to Reo.
• Vereofy. As we mentioned before,Vereofyis a model checker implemented based on the work of Baier et al. reported in [99, 98]. Briefly, it does symbolic model checking of a CTL-like temporal logic (calledBTSLtemporal logic) by using ordered binary deci- sion diagrams (OBDD) as the data structures representing constraint automata models. TheVereofytool is available through its own web-page [7] and now is also accessible through the ECT tool-set [2].
In this chapter, we introduce B¨uchi automata of records and unconditional fair constraint automata as alternative models for the operational semantics of Reo. We compare the ex- pressiveness of these models with that of the original model of constraint automata discussed in the previous chapter. In the first section, we review some shortcomings of constraint au- tomata and of their TDS based semantics in modeling component connectors and motivate the use of records and B¨uchi automata of records as operational semantics for Reo. In the sec- ond section, we introduce the notions of records, streams and languages of records. We also give a bidirectional translation of TDS-languages and record-based languages. The notion of B¨uchi automaton of records (BAR) is introduced in the third section and we show that every constraint automaton can be translated into a B¨uchi automaton of records. In the fourth sec- tion, we show that BAR’s can be used to model Reo connectors especially connectors with some fairness conditions on their behavior using some examples. Therefore, BARs are se- mantically more powerful than constraint automata. In the fifth section, a set of composition operators for BARs is introduced. We compare the join operator of BARs with its counterpart for constraint automata and show that the join operation can be obtained using two more basic operations, namely, product and alphabet extension. In the subsequent section, we introduce the notion of unconditional fair constraint automata and compare their expressiveness with that of constraint automata and B¨uchi automata of records. In the last section, we introduce a version of constraint automaton, calledfair constraint automaton, whose syntax is the same as constraint automaton except that now it has final (accepting) states, but its semantics is based on the languages of streams of records.