Skip to main content

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

Included in the following conference series:

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.

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.

    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. 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. 3.

    A more expressive syntax dealing with data and guards can be found in [12].

  4. 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

  1. 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

    Chapter  Google Scholar 

  2. 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)

    Google Scholar 

  3. Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On global types and multi-party sessions. Log. Methods Comput. Sci. 8(1), 1–45 (2012)

    Article  MathSciNet  Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. Harel, D., Kozen, D., Tiuryn, J. (eds.): Dynamic Logic. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Klarl, A.: Helena: Handling massively distributed systems with ELaborate ENsemble Architectures. Ph.D. thesis, LMU Munich, Germany (2016)

    Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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

    Book  Google Scholar 

  15. 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

    Chapter  Google Scholar 

Download references

Acknowledgement

We are grateful to the reviewers of this paper for their useful hints and remarks.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rolf Hennicker .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics