Skip to main content

Model-Checking Helena Ensembles with Spin

  • Chapter
  • First Online:
Book cover Logic, Rewriting, and Concurrency

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

Abstract

The Helena approach allows to specify dynamically evolving ensembles of collaborating components. It is centered around the notion of roles which components can adopt in ensembles. In this paper, we focus on the early verification of Helena models. We propose to translate Helena specifications into Promela and check satisfaction of LTL properties with Spin [11]. To prove the correctness of the translation, we consider an SOS semantics of (simplified variants of) Helena and Promela and establish stutter trace equivalence between them. Thus, we can guarantee that a Helena specification and its Promela translation satisfy the same LTL formulae (without next). Our correctness proof relies on a new, general criterion for stutter trace equivalence.

This work has been partially sponsored by the European Union under the FP7-project ASCENS, 257414.

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.

    \({LTL_{{\setminus }\mathbf{X }}} \) is the fragment of LTL that does not contain the next operator \(\mathbf{X } \).

  2. 2.

    In the following, we often write \( rt \) synonymously for the role type name \( rtnm \).

  3. 3.

    We must distinguish here between the role type \( rt' \), whose behavior is going to be defined, and the role type \( rt'' \) used for the parameter.

  4. 4.

    Note that in the above definition we use \( rt {}\) also as a process name for the role behavior of the role type \( rt {}\).

  5. 5.

    Here and in the following, we assume that the range of a finite function is implicitly extended by the undefined value \(\bot \).

  6. 6.

    Provider@stateReqFile and Requester@stateSndFile are shorthand notations without identifier which can only be used if there exists at most one instance of the role type.

  7. 7.

    In PromelaLight, we only consider asynchronous communication (\(\kappa > 0\)).

  8. 8.

    For technical reasons, explained in the discussion of initial states below, we deviate from [20] and do not use 0 as an identifier for channels and processes.

  9. 9.

    In [20], \({\texttt {ch}} \) is denoted by \(\mathcal {C}\), \(\texttt {proc} \) by act, and \({\beta } \) by \(\mathcal {L}\).

References

  1. Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  2. Boronat, A., Knapp, A., Meseguer, J., Wirsing, M.: What is a multi-modeling language? In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 71–87. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  3. Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: The Invariant Refinement Method. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 405–428. Springer, Switzerland (2015)

    Google Scholar 

  4. Combaz, J., Bensalem, S., Kofron, J.: Correctness of service components and service component ensembles. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 107–159. Springer, Switzerland (2015)

    Google Scholar 

  5. De Nicola, R., Lluch Lafuente, A., Loreti, M., Morichetta, A., Pugliese, R., Senni, V., Tiezzi, F.: Programming and Verifying Component Ensembles. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) From Programs to Systems. LNCS, vol. 8415, pp. 69–83. Springer, Heidelberg (2014)

    Google Scholar 

  6. Eckhardt, J., Mühlbauer, T., AlTurki, M., Meseguer, J., Wirsing, M.: Stable availability under denial of service attacks through formal patterns. In: Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering. LNCS, vol. 7212, pp. 78–93. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  7. Eckhardt, J., Mühlbauer, T., Meseguer, J., Wirsing, M.: Semantics, distributed implementation, and formal analysis of KLAIM models in Maude. Sci. Comput. Program. 99, 24–74 (2015)

    Article  Google Scholar 

  8. Goguen, J.A., Meseguer, J.: Universal realization, persistent interconnection and implementation of abstract modules. In: Nielsen, M., Schmidt, E.M. (eds.) Automata, Languages and Programming. LNCS, vol. 140, pp. 265–281. Springer, Heidelberg (1982)

    Chapter  Google Scholar 

  9. Havelund, K., Larsen, K.G.: The fork calculus. In: Lingas, K., Karlsson, R., Carlsson, S. (eds.) Automata, Languages and Programming. LNCS, vol. 700, pp. 544–557. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  11. Holzmann, G.: The Spin Model Checker. Addison-Wesley, Reading (2003)

    Google Scholar 

  12. Klarl, A.: From helena ensemble specifications to Promela verification models. Technical report, LMU Munich (2015). http://goo.gl/G0sU6U

  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, Heidelberg (2015)

    Google Scholar 

  14. Klarl, A., Hennicker, R.: Design and implementation of dynamically evolving ensembles with the helena framework. In: Proceedings of the Australasian Software Engineering Conference, pp. 15–24. IEEE (2014)

    Google Scholar 

  15. Klarl, A., Mayer, P., Hennicker, R.: Helena@Work: Modeling the science cloud platform. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 99–116. Springer, Heidelberg (2014)

    Google Scholar 

  16. Lamport, L.: What good is temporal logic? In: IFIP 9th World Congress, pp. 657–668 (1983)

    Google Scholar 

  17. van Lamsweerde, A.: Requirements Engineering: from System Goals to UML Models to Software Specifications. Wiley, New York (2009)

    Google Scholar 

  18. Magee, J., Kramer, J.: Concurrency-State Models and Java Programs. Wiley, New York (2006)

    MATH  Google Scholar 

  19. Meseguer, J., Palomino, M., Martí-Oliet, N.: Algebraic Simulations. J. Logic Algebraic Program. 79(2), 103–143 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  20. Weise, C.: An incremental formal semantics for PROMELA. In: Third SPIN Workshop (1997)

    Google Scholar 

  21. Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.): Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998. Springer, Switzerland (2015)

    Google Scholar 

  22. Wirsing, M., Knapp, A.: A formal approach to object-oriented software engineering. Electr. Notes Theoret. Comput. Sci. 4, 322–360 (1996)

    Article  MATH  Google Scholar 

Download references

Acknowledgment

The authors would like to thank Alberto Lluch Lafuente and Roberto Bruni for useful suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Annabelle Klarl .

Editor information

Editors and Affiliations

Additional information

Dedicated to José Meseguer

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Hennicker, R., Klarl, A., Wirsing, M. (2015). Model-Checking Helena Ensembles with Spin . In: Martí-Oliet, N., Ölveczky, P., Talcott, C. (eds) Logic, Rewriting, and Concurrency. Lecture Notes in Computer Science(), vol 9200. Springer, Cham. https://doi.org/10.1007/978-3-319-23165-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-23165-5_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-23164-8

  • Online ISBN: 978-3-319-23165-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics