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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
\({LTL_{{\setminus }\mathbf{X }}} \) is the fragment of LTL that does not contain the next operator \(\mathbf{X } \).
- 2.
In the following, we often write \( rt \) synonymously for the role type name \( rtnm \).
- 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.
Note that in the above definition we use \( rt {}\) also as a process name for the role behavior of the role type \( rt {}\).
- 5.
Here and in the following, we assume that the range of a finite function is implicitly extended by the undefined value \(\bot \).
- 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.
In PromelaLight, we only consider asynchronous communication (\(\kappa > 0\)).
- 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.
In [20], \({\texttt {ch}} \) is denoted by \(\mathcal {C}\), \(\texttt {proc} \) by act, and \({\beta } \) by \(\mathcal {L}\).
References
Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Holzmann, G.: The Spin Model Checker. Addison-Wesley, Reading (2003)
Klarl, A.: From helena ensemble specifications to Promela verification models. Technical report, LMU Munich (2015). http://goo.gl/G0sU6U
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)
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)
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)
Lamport, L.: What good is temporal logic? In: IFIP 9th World Congress, pp. 657–668 (1983)
van Lamsweerde, A.: Requirements Engineering: from System Goals to UML Models to Software Specifications. Wiley, New York (2009)
Magee, J., Kramer, J.: Concurrency-State Models and Java Programs. Wiley, New York (2006)
Meseguer, J., Palomino, M., Martí-Oliet, N.: Algebraic Simulations. J. Logic Algebraic Program. 79(2), 103–143 (2010)
Weise, C.: An incremental formal semantics for PROMELA. In: Third SPIN Workshop (1997)
Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.): Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998. Springer, Switzerland (2015)
Wirsing, M., Knapp, A.: A formal approach to object-oriented software engineering. Electr. Notes Theoret. Comput. Sci. 4, 322–360 (1996)
Acknowledgment
The authors would like to thank Alberto Lluch Lafuente and Roberto Bruni for useful suggestions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Additional information
Dedicated to José Meseguer
Rights 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)