Abstract
The architecture of a system describes the system’s overall organization into components and connections between those components. With the emergence of mobile computing, dynamic architectures became increasingly important. In such architectures, components may appear or disappear, and connections may change over time.
Despite the growing importance of dynamic architectures, the specification of properties for those architectures remains a challenge. To address this problem, we introduce the notion of configuration traces to model properties of dynamic architectures. Then, we investigate these properties to identify different types thereof. We show completeness and consistency of these types, i.e., we show that (almost) every property can be separated into these types and that a property of one type does not impact properties of other types.
Configuration traces can be used to specify general properties of dynamic architectures and the separation into different types provides a systematic way for their specification. To evaluate our approach we apply it to the specification and verification of the Blackboard pattern in Isabelle/HOL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We use \(\Vert c \Vert \) to denote that component c is active at the corresponding time.
- 2.
The script can be downloaded at http://www.marmsoler.com/pattern/Blackboard.thy
References
Abowd, G.D., Allen, R., Garlan, D.: Formalizing style to understand descriptions of software architecture. ACM TOSEM 4, 319–364 (1995)
Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed.) FASE 1998. LNCS, vol. 1382, pp. 21–37. Springer, Heidelberg (1998). doi:10.1007/BFb0053581
Allen, R.J.: A formal approach to software architecture. Technical report, DTIC Document (1997)
Bernardo, M., Ciancarini, P., Donatiello, L.: On the formalization of architectural types with process algebras. ACM SIGSOFT SEN 25, 140–148 (2000)
Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications. In: WOSS (2004)
Broy, M.: A logical basis for component-oriented software and systems engineering. Comput. J. 53(10), 1758–1782 (2010)
Broy, M.: A model of dynamic systems. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) ETAPS 2014. LNCS, vol. 8415, pp. 39–53. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54848-2_3
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: A system of patterns: Pattern-oriented software architecture (1996)
Castro, P.F., Aguirre, N.M., López Pombo, C.G., Maibaum, T.S.E.: Towards managing dynamic reconfiguration of software systems in a categorical setting. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, pp. 306–321. Springer, Heidelberg (2010). doi:10.1007/978-3-642-14808-8_21
Clements, P.C.: A survey of architecture description languages. In: IWSSD (1996)
Dashofy, E.M., Van der Hoek, A., Taylor, R.N.: A highly-extensible, xml-based architecture description language. In: WICSA, IEEE (2001)
Fiadeiro, J.L., Lopes, A.: A model for dynamic reconfiguration in service-oriented architectures. Softw. Syst. Model. 12(2), 349–367 (2013)
Garlan, D.: Formal modeling and analysis of software architecture: components, connectors, and events. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 1–24. Springer, Heidelberg (2003). doi:10.1007/978-3-540-39800-4_1
Hirsch, D., Montanari, U.: Two graph-based techniques for software architecture reconfiguration. Electron. Notes Theor. Comput. Sci. 51, 177–190 (2002)
Inverardi, P., Wolf, A.L.: Formal specification and analysis of software architectures using the chemical abstract machine model. IEEE TSE 21, 373–386 (1995)
Le Métayer, D.: Describing software architecture styles using graph grammars. IEEE TSE 24, 521–533 (1998)
Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using Rapide. IEEE TSE 21, 336–355 (1995)
Magee, J., Kramer, J.: Dynamic structure in software architectures. ACM SIGSOFT SEN 21, 3–14 (1996)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New york (2012)
Medvidovic, N.: ADLs and dynamic architecture changes. In: ISAW (1996)
Moriconi, M., Qian, X., Riemenschneider, R.A.: Correct architecture refinement. IEEE TSE 21, 356–372 (1995)
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. Springer Science & Business Media, Heidelberg (2002)
Oquendo, F.: \(\pi \)-ADL: an architecture description language based on the higher-order typed \(\pi \)-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT SEN 29, 1–14 (2004)
Penix, J., Alexander, P., Havelund, K.: Declarative specification of software architectures. In: ASE (1997)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, vol. 1. Prentice Hall Englewood Cliffs, Upper Saddle River (1996)
Spivey, J.M., Abrial, J.: The Z notation (1992)
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley Publishing, Hoboken (2009)
Wenzel, M.: Isabelle/Isar: a generic framework for human-readable proof documents. From Insight to Proof: Festschrift in Honour of Andrzej Trybulec 10, 277–298 (2007)
Wermelinger, M., Lopes, A., Fiadeiro, J.L.: A graph based architectural (re) configuration language. ACM SIGSOFT SEN 26(5), 21–32 (2001)
Wirsing, M.: Algebraic Specification. MIT Press, Cambridge (1991)
Acknowledgments
We would like to thank Jonas Eckhardt, Vasileios Koutsoumpas, and the reviewers of ICTAC 2016 for their comments and helpful suggestions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Marmsoler, D., Gleirscher, M. (2016). Specifying Properties of Dynamic Architectures Using Configuration Traces. In: Sampaio, A., Wang, F. (eds) Theoretical Aspects of Computing – ICTAC 2016. ICTAC 2016. Lecture Notes in Computer Science(), vol 9965. Springer, Cham. https://doi.org/10.1007/978-3-319-46750-4_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-46750-4_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-46749-8
Online ISBN: 978-3-319-46750-4
eBook Packages: Computer ScienceComputer Science (R0)