Skip to main content

Composition: A Fresh Look at an Old Topic

  • Chapter
  • First Online:
Book cover Models, Mindsets, Meta: The What, the How, and the Why Not?

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11200))

Abstract

Composing separate components is a fundamental design principle for concurrent systems. Composition \(A_1\cdot A_2\) of two components \(A_1\) and \(A_2\) is mostly modeled by “gluing” according elements of the interfaces of \(A_1\) and \(A_2\). Composition of many components is usually assumed to be associative (i.e. \((A_1 \cdot A_2) \cdot A_3 = A_1 \cdot (A_2 \cdot A_3)\)). In this paper we suggest such a composition operator for any kind of graph based structures. The central and new idea exploits the observation that in a composed system \(A_1 \cdot ... \cdot A_n\), every component \(A_i\) \((2 \le i \le n-1)\) has a left partner \(A_{i-1}\) and a right partner \(A_{i+1}\). The interface of \(A_i\) hence canonically partitions into the left and the right port of \(A_i\). To gain \(A_1 \cdot A_2\), elements of the right port of \(A_1\) are glued with corresponding elements of the left port of \(A_2\). We present two instantiations of this framework, modeling synchronous and asynchronous composition, respectively, of components with local states.

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

References

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

    Article  MathSciNet  Google Scholar 

  2. Best, E., Devillers, R.R., Koutny, M.: Petri Net Algebra. Monographs in Theoretical Computer Science. Springer, Heidelberg (2001). https://doi.org/10.1007/978-3-662-04457-5

    Book  MATH  Google Scholar 

  3. Broy, M.: A logical approach to systems engineering artifacts: semantic relationships and dependencies beyond traceability - from requirements to functional and architectural views. Softw. Syst. Model. 17(2), 365–393 (2018)

    Article  MathSciNet  Google Scholar 

  4. Broy, M., Stølen, K.: Specification and Development of Interactive Systems - Focus on Streams, Interfaces, and Refinement. Monographs in Computer Science. Springer, New York (2001). https://doi.org/10.1007/978-1-4613-0091-5

    Book  MATH  Google Scholar 

  5. Dastani, M., Arbab, F., de Boer, F.S. Coordination and composition in multi-agent systems. In 4th International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2005), pp. 439–446, Utrecht, The Netherlands, 25–29 July 2005 (2005)

    Google Scholar 

  6. de Alfaro, L., Henzinger, T.A. Interface automata. In: Tjoa, A.M., Gruhn, V. (Eds.) Proceedings of the 8th European Software Engineering Conference held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering 2001, Vienna, Austria, 10–14 September 2001. ACM, pp. 109–120 (2001)

    Google Scholar 

  7. Garavel, H., Sighireanu, M.: A graphical parallel composition operator for process algebras. In: Formal Methods for Protocol Engineering and Distributed Systems, FORTE XII / PSTV XIX 1999, IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XII) and Protocol Specification, Testing and Verification (PSTV XIX), pp. 185–202, 5–8 October 1999, Beijing, China (1999)

    Google Scholar 

  8. Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 137–151, Vancouver, British Columbia, Canada, 10–12 August 1987 (1987)

    Google Scholar 

  9. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Software Eng. 26(1), 70–93 (2000)

    Article  Google Scholar 

  10. Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly, Newton (2016)

    Google Scholar 

  11. Nierstrasz, Oscar, Achermann, Franz: A calculus for modeling software components. In: de Boer, Frank S., Bonsangue, Marcello M., Graf, Susanne, de Roever, Willem-Paul (eds.) FMCO 2002. LNCS, vol. 2852, pp. 339–360. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39656-7_14

    Chapter  MATH  Google Scholar 

  12. Reisig, W.: Understanding Petri Nets - Modeling Techniques, Analysis Methods, Case Studies. Springer, Heidelberg (2013)

    Book  Google Scholar 

  13. Reisig, W.: Associative composition of components with double-sided interfaces. submitted to Acta Informatica (2018)

    Google Scholar 

  14. Rostami, N.H., Kheirkhah, E., Jalali, M.: An optimized semantic web service composition method based on clustering and an colony algorithm. CoRR abs/1402.2271 (2014)

    Google Scholar 

  15. van der Aalst, W.M.P., van Hee, K.M., ter Hofstede, A.H.M., Sidorova, N., Verbeek, H.M.W., Voorhoeve, M., Wynn, M.T.: Soundness of workflow nets: classification, decidability, and analysis. Formal Asp. Comput. 23(3), 333–363 (2011)

    Article  MathSciNet  Google Scholar 

  16. van Glabbeek, R.J., Goltz, U., Schicke-Uffmann, J.: On distributability of petri nets - (extended abstract). In: Foundations of Software Science and Computational Structures - 15th International Conference, FOSSACS 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2012, 24 March - 1 April 2012, Tallinn, Estonia, Proceedings, pp. 331–345 (2012)

    Google Scholar 

  17. Vieira, Hugo T., Caires, Luís, Seco, João C.: The conversation calculus: a model of service-oriented computation. In: Drossopoulou, Sophia (ed.) ESOP 2008. LNCS, vol. 4960, pp. 269–283. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78739-6_21

    Chapter  Google Scholar 

Download references

Acknowledgements

Holger Hermann’s remarks and questions on a previous version of this paper significantly improved its contents. I am also grateful for the referee’s comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wolfgang Reisig .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Reisig, W. (2019). Composition: A Fresh Look at an Old Topic. In: Margaria, T., Graf, S., Larsen, K. (eds) Models, Mindsets, Meta: The What, the How, and the Why Not?. Lecture Notes in Computer Science(), vol 11200. Springer, Cham. https://doi.org/10.1007/978-3-030-22348-9_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-22348-9_22

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-22347-2

  • Online ISBN: 978-3-030-22348-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics