Abstract
An ensemble consists of collaborating entities that are able to adapt at runtime. In this work we consider a particular class of ensembles: an ensemble is formed by a dynamically changing set of entities which interact through message exchange. The members of an ensemble are instances of certain process types. They can be dynamically created to join an ensemble on demand. We propose a dynamic logic to describe the evolution of ensembles from a global perspective. Using the power of dynamic logic with diamond and box modalities over regular expressions of actions (involving message exchange and process creation) we can specify desired and forbidden interaction scenarios. Thus our approach is suitable to write formal requirements specifications for ensemble behaviours. An ensemble realisation takes a local view by giving a constructive specification for each single process type in terms of a process algebraic expression. Correctness of an ensemble realisation is defined semantically: its generated ensemble transition system must be a model of the requirements specification. We consider bisimulation of ensemble transition systems and show that our approach enjoys the Hennessy-Milner property. Moreover, we show that local bisimulation equivalence of process type expressions implies global bisimulation equivalence of the generated ensembles.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In this paper we do not model the peer components on which the processes run and we do not include parameters for transmitting data, like files. For that purpose we would need the general approach of the Helena framework first introduced in [8].
- 2.
This means that in any state there are at most finitely many outgoing transitions labelled with the same action. In particular, this means for any create action (see Definition 1(a)), the instance j should be chosen from a finite set of new instances.
- 3.
A more expressive syntax dealing with data and guards can be found in [12].
- 4.
A formal proof that the realisation is correct must be done by semantic reasoning. Other verification techniques are an objective of future research.
References
Abd Alrahman, Y., De Nicola, R., Loreti, M.: On the power of attribute-based communication. In: Albert, E., Lanese, I. (eds.) FORTE 2016. LNCS, vol. 9688, pp. 1–18. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39570-8_1
Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: DEECO: an ensemble-based component system. In: Proceedings of the 16th ACM SIGSOFT Symposium on Component Based Software Engineering (CBSE 2013), pp. 81–90. ACM (2013)
Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On global types and multi-party sessions. Log. Methods Comput. Sci. 8(1), 1–45 (2012)
De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. ACM Trans. Auton. Adapt. Syst. (TAAS) 9(2), 1–29 (2014)
Harel, D., Kozen, D., Tiuryn, J. (eds.): Dynamic Logic. MIT Press, Cambridge (2000)
Havelund, K., Larsen, K.G.: The fork calculus. In: Lingas, A., Karlsson, R., Carlsson, S. (eds.) ICALP 1993. LNCS, vol. 700, pp. 544–557. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-56939-1_101
Hennicker, R.: A calculus for open ensembles and their composition. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 570–588. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47166-2_40
Hennicker, R., Klarl, A.: Foundations for ensemble modeling – the Helena approach. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 359–381. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54624-2_18
Hennicker, R., Klarl, A., Wirsing, M.: Model-checking Helena ensembles with Spin. In: Martí-Oliet, N., Ölveczky, P.C., Talcott, C. (eds.) Logic, Rewriting, and Concurrency. LNCS, vol. 9200, pp. 331–360. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23165-5_16
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2008), pp. 273–284. ACM (2008)
Klarl, A.: Engineering self-adaptive systems with the role-based architecture of Helena. In: Proceedings of the 24th IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, WETICE 2015, pp. 3–8. IEEE Computer Society (2015)
Klarl, A.: Helena: Handling massively distributed systems with ELaborate ENsemble Architectures. Ph.D. thesis, LMU Munich, Germany (2016)
Klarl, A., Cichella, L., Hennicker, R.: From Helena ensemble specifications to executable code. In: Lanese, I., Madelaine, E. (eds.) FACS 2014. LNCS, vol. 8997, pp. 183–190. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-15317-9_11
Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.): Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-16310-9
Wirsing, M., Hölzl, M., Tribastone, M., Zambonelli, F.: ASCENS: engineering autonomic service-component ensembles. In: Beckert, B., Damiani, F., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2011. LNCS, vol. 7542, pp. 1–24. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35887-6_1
Acknowledgement
We are grateful to the reviewers of this paper for their useful hints and remarks.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Hennicker, R., Wirsing, M. (2018). Dynamic Logic for Ensembles. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems. ISoLA 2018. Lecture Notes in Computer Science(), vol 11246. Springer, Cham. https://doi.org/10.1007/978-3-030-03424-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-03424-5_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03423-8
Online ISBN: 978-3-030-03424-5
eBook Packages: Computer ScienceComputer Science (R0)