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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(3), 329–366 (2014)
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
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)
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
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)
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)
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)
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)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Software Eng. 26(1), 70–93 (2000)
Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly, Newton (2016)
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
Reisig, W.: Understanding Petri Nets - Modeling Techniques, Analysis Methods, Case Studies. Springer, Heidelberg (2013)
Reisig, W.: Associative composition of components with double-sided interfaces. submitted to Acta Informatica (2018)
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)
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)
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)
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
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)