Skip to main content

Formalizing Propagation of Priorities in Reo, Using Eight Colors

  • Chapter
  • First Online:
It's All About Coordination

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10865))

  • 420 Accesses

Abstract

Reo is a language for programming of coordination protocols among concurrent processes. Central to Reo are connectors: programmable synchronization/communication mediums used by processes to exchange data. Every connector runs at a clock; at every tick, it enacts an enabled synchronization/communication among processes.

Connectors may prioritize certain synchronizations/communications over others. “Passive” connectors use their priorities only at clock ticks, to decide which enabled synchronization/communication to enact. “Active” connectors, in contrast, use their priorities also between clock ticks, to influence which synchronizations/communications become enabled; they are said to “propagate their priorities”.

This paper addresses the problem of formalizing propagation of priorities in Reo. Specifically, this paper presents a new instantiation of the connector coloring framework, using eight colors. The resulting formalization of propagation of priorities is evaluated by proving several desirable behavioral equalities.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Binary edges are usually called channels; maximal sets of adjacent ternary edges are usually called nodes [Arb04, Arb11].

  2. 2.

    For simplicity, and because it is a concern orthogonal to formalizing priorities, I consider only stateless connectors in this paper.

  3. 3.

    The composition operator can be extended with the flip-rule [CCA07, Cos10], to reduce sets of colorings. I do not pursue this in this paper.

  4. 4.

    All propositions in this paper should be interpreted modulo application of an hide operator, to remove internal vertices from the domains of colorings. This is straightforward to explicitly formalize.

References

  1. Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(3), 329–366 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  2. Arbab, F.: Puff, the magic protocol. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Formal Modeling: Actors, Open Systems, Biological Systems. LNCS, vol. 7000, pp. 169–206. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24933-4_9

    Chapter  Google Scholar 

  3. Clarke, D., Costa, D., Arbab, F.: Connector colouring I: synchronisation and context dependency. Sci. Comput. Program. 66(3), 205–225 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  4. Costa, D.: Formal models for component connectors. Ph.D. thesis, Vrije Universiteit (2010)

    Google Scholar 

  5. Clarke, D., Proença, J.: Partial connector colouring. In: Sirjani, M. (ed.) COORDINATION 2012. LNCS, vol. 7274, pp. 59–73. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30829-1_5

    Chapter  Google Scholar 

  6. Jongmans, S.-S.T.Q., Krause, C., Arbab, F.: Encoding context-sensitivity in Reo into non-context-sensitive semantic models. In: De Meuter, W., Roman, G.-C. (eds.) COORDINATION 2011. LNCS, vol. 6721, pp. 31–48. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21464-6_3

    Chapter  Google Scholar 

  7. Jongmans, S.-S.: Formalizing propagation of priorities in Reo, using eight colors (technical report). Technical report (2018). www.arxiv.org

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sung-Shik Jongmans .

Editor information

Editors and Affiliations

A Definitions

A Definitions

Definition 1

(Structure). \(\mathbb {V}\) is the set of all vertices. \(\mathbb {T}\) is the set of all types. The structure of a connector is a tuple \(g = (V, E)\), where \(V \subseteq \mathbb {V}\) and \(E \subseteq (2^{V} \times \mathbb {T}\times 2^{V}) \setminus \{(\emptyset , t, \emptyset )\mid t \in \mathbb {T}\}\). \(\mathbb {G}\) is the set of all structures.

Definition 2

(Structural composition). \(\mathsf {S}, \mathsf {T}: 2^{(2^{\mathbb {V}} \times \mathbb {T}\times 2^{\mathbb {V}})} \rightarrow 2^{\mathbb {V}}\) are the functions defined by the following equations:

$$\begin{aligned} \mathsf {S}(E) = \textstyle \bigcup \{V\mid (V, t, V') \in E\} \setminus \bigcup \{V'\mid (V, t, V') \in E\} \\ \mathsf {T}(E) = \textstyle \bigcup \{V'\mid (V, t, V') \in E\} \setminus \bigcup \{V\mid (V, t, V') \in E\} \end{aligned}$$

\({\bowtie }: \mathbb {G}\times \mathbb {G}\rightarrow \mathbb {G}\) is the partial operation defined by the following equation:

$$\begin{aligned}&(V_1, E_1) \mathbin {{\bowtie }}(V_2, E_2) = {\left\{ \begin{array}{ll} (V_1 \cup V_2, E_1 \cup E_2) &{} \mathrm{if}\!\!:\; \mathsf {S}(E_1) \cap \mathsf {T}(E_2) = \mathsf {S}(E_2) \cap \mathsf {T}(E_1) \\ \bot &{} \mathrm{otherwise} \end{array}\right. } \end{aligned}$$

Definition 3

(Behavior). \(\mathbb {C}\) is the set of all colors. A coloring \(\gamma \) over V is a function from V to \(\mathbb {C}\). \(\mathbb {C}\textsc {ol}(V) = V \rightarrow \mathbb {C}\) is the set of all colorings over V. The behavior of a connector \((V, E)\) is a set \(\varGamma \subseteq \mathbb {C}\textsc {ol}(V)\) of colorings.

Definition 4

(Behavioral composition).

\({\bowtie }: (\mathbb {C}\textsc {ol}(V_1) \times \mathbb {C}\textsc {ol}(V_2) \rightharpoonup \mathbb {C}\textsc {ol}(V_1 \cup V_2)) \cup (2^{\mathbb {C}\textsc {ol}(V_1)} \times 2^{\mathbb {C}\textsc {ol}(V_2)} \rightharpoonup 2^{\mathbb {C}\textsc {ol}(V_1 \cup V_2)})\) is the partial function defined by the following equations:

$$\begin{aligned} \gamma _1 \mathbin {{\bowtie }}\gamma _2&= {\left\{ \begin{array}{ll} \gamma _1 \cup \gamma _2 &{} \mathrm{if}\!\!:\; \gamma _1(p) = \gamma _2(p) \,\,\mathrm{for}\text {-}\mathrm{all} \,\,p \in dom (\gamma _1) \cap dom (\gamma _2) \\ \bot &{} \mathrm{otherwise} \end{array}\right. } \\ \varGamma _1 \mathbin {{\bowtie }}\varGamma _2&= \{\gamma _1 \mathbin {{\bowtie }}\gamma _2\mid \gamma _1 \in \varGamma _1 \,\,\mathrm{and } \,\, \gamma _2 \in \varGamma _2 \,\,\mathrm{and } \,\, \gamma _1 \mathbin {{\bowtie }}\gamma _2 \in dom (\mathbin {{\bowtie }})\} \end{aligned}$$

Definition 5

(Denotation). With \(\mathcal {T}: \mathbb {T}\rightarrow (2^{\mathbb {V}} \times 2^{\mathbb {V}}) \rightarrow \bigcup \{2^{\mathbb {C}\textsc {ol}(V)}\mid V \subseteq \mathbb {V}\}\), is the function defined by the following equation:

Theorem 1

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Jongmans, SS. (2018). Formalizing Propagation of Priorities in Reo, Using Eight Colors. In: de Boer, F., Bonsangue, M., Rutten, J. (eds) It's All About Coordination. Lecture Notes in Computer Science(), vol 10865. Springer, Cham. https://doi.org/10.1007/978-3-319-90089-6_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-90089-6_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-90088-9

  • Online ISBN: 978-3-319-90089-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics