Skip to main content

Exploring an Interface Model for CKA

  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 2015)

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

Included in the following conference series:

Abstract

Concurrent Kleene Algebras (CKAs) serve to describe general concurrent systems in a unified way at an abstract algebraic level. Recently, a graph-based model for CKA has been defined in which the incoming and outgoing edges of a graph define its input/output interface. The present paper provides a simplification and a significant extension of the original model to cover notions of states, predicates and assertions in the vein of algebraic treatments using modal semirings. Moreover, it uses the extension to set up a variant of the temporal logic \(\mathsf {CTL}^*\) for the interface model.

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.

    Also called monotone or isotone.

References

  1. Back, R., von Wright, J.: Refinement Calculus - A Systematic Introduction. Graduate Texts in Computer Science. Springer, New York (1998)

    Book  MATH  Google Scholar 

  2. de Bakker, J., Meertens, L.: On the completeness of the inductive assertion method. J. Comput. Syst. Sci. 11(3), 323–357 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  3. Blikle, A.: A comparative review of some program verification methods. In: Gruska, J. (ed.) Mathematical Foundations of Computer Science 1977. LNCS, vol. 53, pp. 17–33. Springer, Heidelberg (1977)

    Chapter  Google Scholar 

  4. Brink, C., Rewitzky, I.: A Paradigm for Program Semantics: Power Structures and Duality. CSLI Publications, Stanford (2001)

    Google Scholar 

  5. Conway, J.: Regular Algebra and Finite Machines. Chapman and Hall, London (1971)

    MATH  Google Scholar 

  6. Dang, H.H., Möller, B.: Concurrency and local reasoning under reverse exchange. Sci. Comput. Prog. 85(Part B), 204–223 (2013)

    Google Scholar 

  7. Dang, H., Glück, R., Möller, B., Roocks, P., Zelend, A.: Exploring modal worlds. J. Log. Algebr. Meth. Program. 83(2), 135–153 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  8. Desharnais, J., Möller, B., Struth, G.: Modal Kleene algebra and applications - a survey. J. Relational Methods Comput. Sci. 1, 93–131 (2004)

    MATH  Google Scholar 

  9. Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Trans. Comput. Log. 7(4), 798–833 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  10. Desharnais, J., Möller, B.: Characterizing determinacy in Kleene algebras. Inf. Sci. 139(3–4), 253–273 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  11. Dijkstra, R.M.: Computation calculus bridging a formalization gap. Sci. Comput. Program. 37, 3–36 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  12. Emerson, E.A.: Temporal and modal logic. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science. Formal Models and Semantics (B), vol. B, pp. 995–1072. Elsevier, Amsterdam (1990)

    Google Scholar 

  13. Frias, M.F., Pombo, C.L.: Interpretability of first-order linear temporal logics in fork algebras. J. Log. Algebr. Program. 66(2), 161–184 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  14. Gischer, J.L.: The equational theory of pomsets. Theoret. Comput. Sci. 61(2–3), 199–224 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  15. Hoare, T., Möller, B., Struth, G., Wehrman, I.: Concurrent Kleene algebra and its foundations. J. Log. Algebr. Program. 80(6), 266–296 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  16. Hoare, T., van Staden, S.: The laws of programming unify process calculi. Sci. Comput. Program. 85, 102–114 (2014)

    Article  MATH  Google Scholar 

  17. Hoare, T., van Staden, S., Möller, B., Struth, G., Villard, J., Zhu, H., O’Hearn, P.: Developments in concurrent Kleene algebra. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds.) RAMiCS 2014. LNCS, vol. 8428, pp. 1–18. Springer, Heidelberg (2014)

    Chapter  MATH  Google Scholar 

  18. Hoare, T., van Staden, S., Möller, B., Struth, G., Villard, J., Zhu, H., O’Hearn, P.: Developments in concurrent Kleene algebra. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds.) RAMiCS 2014. LNCS, vol. 8428, pp. 1–18. Springer, Heidelberg (2014)

    Chapter  MATH  Google Scholar 

  19. Jipsen, P.: Concurrent Kleene algebra with tests. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds.) RAMiCS 2014. LNCS, vol. 8428, pp. 37–48. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  20. von Karger, B.: Temporal algebra. Math. Struct. Comput. Sci. 8(3), 277–320 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  21. von Karger, B., Berghammer, R.: A relational model for temporal logic. Logic J. IGPL 6(2), 157–173 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  22. Main, M.: A powerdomain primer – a tutorial for the Bulletin of the EATCS 33. Technical report, CU-CS-375-87 (1987). Paper 360, University Colorado at Boulder, Department of Computer Science (1987). http://scholar.colorado.edu/csci_techreports/360

  23. Möller, B., Höfner, P., Struth, G.: Quantales and temporal logics. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 263–277. Springer, Heidelberg (2006)

    Chapter  MATH  Google Scholar 

  24. O’Hearn, P.W., Reynolds, J.C., Yang, H.: Separation and information hiding. ACM Trans. Program. Lang. Syst. 31(3), 1–50 (2009)

    Article  MATH  Google Scholar 

  25. Rosenthal, K.: Quantales and Their Applications, Pitman Research Notes in Mathematics Series, vol. 234. Longman Scientific and Technical, Harlow (1990)

    Google Scholar 

  26. Schmidt, G.: Programme als partielle Graphen. TU Munich, FB Mathematik. Habilitation Thesis (1977)

    Google Scholar 

  27. Schmidt, G., Ströhlein, T.: Relations and Graphs: Discrete Mathematics for Computer Scientists. Springer, Heidelberg (1993)

    Book  MATH  Google Scholar 

  28. Solin, K., von Wright, J.: Enabledness and termination in refinement algebra. Sci. Comput. Program. 74(8), 654–668 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  29. Tarlecki, A.: A language of specified programs. Sci. Comput. Program. 5(1), 59–81 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  30. Wehrman, I., Hoare, C.A.R., O’Hearn, P.W.: Graphical models of separation logic. Inf. Process. Lett. 109(17), 1001–1004 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  31. Winskel, G.: On powerdomains and modality. Theor. Comput. Sci. 36, 127–137 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  32. Zhou, C., Hoare, C.A.R., Ravn, A.P.: A calculus of durations. Inf. Process. Lett. 40(5), 269–276 (1991)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

We are grateful to Jules Desharnais, Peter Höfner, Martin E. Müller, Patrick Roocks, Stephan van Staden and the anonymous referees for thorough proofreading and valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bernhard Möller .

Editor information

Editors and Affiliations

Appendix: Deferred Proofs

Appendix: Deferred Proofs

Proof of Lemma 3.5.

We only show Part 1, since Part 2 is analogous. First,

figure h

We simplify the first two summands; the other two are analogous. For summand number one we have

figure i

For summand number two we have

figure j

Altogether, the claim is shown.    \(\square \)

Proof of Theorem 3.6.

First we observe that \((\mathsf {G},|)\) is an aggregation algebra in the sense of [15] and \(\mathrm{CS}\) and \(\mathrm{CC}(G,G') {\,=_{ df}\, }\mathsf{TRUE}\) can be viewed as independence relations with \(\mathrm{CS}\subseteq \mathrm{CC}\). With this, the claim follows from Lemmas 3.4 and 3.5 and Proposition 3.6 of [15] if we can show that the restricting predicates \(\mathrm{CS}\) and \(\mathrm{CC}\) are bilinear, i.e., satisfy.

$$\begin{aligned} \mathrm{CS}(G\,|\,G', G'')&\,\Longleftrightarrow \, \mathrm{CS}(G,G'') \ \,\wedge \, \mathrm{CS}(G',G''),\nonumber \\ \mathrm{CS}(G, G'\,|\,G'')&\,\Longleftrightarrow \, \mathrm{CS}(G,G') \ \ \,\wedge \, \mathrm{CS}(G,G'') \end{aligned}$$
(11)

and the analogous property for \(\mathrm{CC}\), and \(\mathrm{CC}\) is symmetric. For \(\mathrm{CC}\) both claims are trivial. To show (11), we exploit that the definition of \(\mathrm{CS}\) is symmetric in both arguments, so that it suffices to consider the first argument.

figure k

Proof of Lemma 3.18.

By the definitions of; and their result, and its interfaces, coincides with that of parallel composition whenever it is defined.

We start by showing the first equation. By the above remark and Lemma 3.5,

For the second summand we calculate

figure l

Concerning the first summand we have

figure m

Therefore the first summand reduces to \({ in}(G)\), as required.

The equation \({ in}(G) = { in}(G \!\downharpoonright \!{ in}(G'))\) is immediate, since the definition of \(\downharpoonright \) and \({ in}(G') = { out}(G)\) entail \(G \!\downharpoonright \!{ in}(G') = G\).

The equations for \({ out}\) are proved completely symmetrically.

Now we can show associativity of  . Assume graphlets \(G,G,G''\). If any of them is \(\Box \) then the associativity equation is immediate from the definition of  . Otherwise we only need to check the case where \({ in}(G') = { out}(G)\) and \({ in}(G'') = { out}(G')\) so that both and are defined. By the just proved equations for \({ in}\) and \({ out}\) then also and , so that also and are defined; by definition of and associativity of ; they coincide.

Next, by the definition of the restriction operators, \(G \!\downharpoonright \!C\) and \(C \!\downharpoonleft \!G'\) are defined iff \({ out}(G) \subseteq C\) and \({ in}(G') \subseteq C\). In that case \(G \!\downharpoonright \!C = G\) and \(C \!\downharpoonleft \!G' = G'\) and therefore

Finally, the last two claims are immediate from the definition of restriction and the first two claims.    \(\square \)

Proof of Lemma 3.24.

We only show the first equation, since the second is analogous. By the definition of \(\mathbin {|||}\) and Lemma 3.5 we have

$$\begin{aligned} { in}(G\,|\,G') \,=\, ({ in}(G) \cap \overline{E'} \mathbin {\!\times \!}E) \,\cup \, ({ in}(G') \cap \overline{E} \mathbin {\!\times \!}E'). \end{aligned}$$

The first summand reduces to \({ in}(G)\) if we can show \({ in}(G) \subseteq \overline{E'} \mathbin {\!\times \!}E\), equivalently, \({ in}(G) \cap \overline{\overline{E'} \mathbin {\!\times \!}E} = \emptyset \). We calculate,

figure n

Symmetrically, the second summand reduces to \({ in}(G')\).    \(\square \)

Proof of Theorem 4.6.

  1. 1.
    figure o
  2. 2.

    We show by induction on \(i\) that \( \bigcap \limits _{j \le i} \mathsf {X}^j \cdot {[\![\psi ]\!]} = (S \!\downharpoonleft \!\mathsf {X})^i \cdot {[\![\psi ]\!]}\). The base case \(i=0\) is trivial. The induction step proceeds as follows:

    figure p

    By this,

    An easy induction shows \((S \!\downharpoonleft \!\mathsf {X})^\omega \subseteq (S \!\downharpoonleft \!\mathsf {X})^i \cdot {[\![\psi ]\!]}\) for all \(i\) and hence \((S \!\downharpoonleft \!\mathsf {X})^\omega \subseteq {[\![\mathsf {G}\psi ]\!]}\). For the reverse inclusion it suffices to show that \({[\![\mathsf {G}\psi ]\!]} \,=\, (S \!\downharpoonleft \!\mathsf {X}) \cdot {[\![\mathsf {G}\psi ]\!]}\). Indeed,

    figure q

       \(\square \)

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Möller, B., Hoare, T. (2015). Exploring an Interface Model for CKA. In: Hinze, R., Voigtländer, J. (eds) Mathematics of Program Construction. MPC 2015. Lecture Notes in Computer Science(), vol 9129. Springer, Cham. https://doi.org/10.1007/978-3-319-19797-5_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-19797-5_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-19796-8

  • Online ISBN: 978-3-319-19797-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics