Advertisement

Integrated Model-Checking for the Design of Safe and Efficient Distributed Software Commissioning

  • Helene CoullonEmail author
  • Claude Jard
  • Didier Lime
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11918)

Abstract

We present MADA, a deployment approach to facilitate the design of efficient and safe distributed software commissioning. MADA is built on top of the Madeus formal model that focuses on the efficient execution of installation procedures. Madeus puts forward more parallelism than other commissioning models, which implies a greater complexity and a greater propensity for errors. MADA provides a new specific language on top of Madeus that allows the developer to easily define the properties that should be ensured during the commissioning process. Then, MADA automatically translates the description to a time Petri net and a set of TCTL formulae. MADA is evaluated on the OpenStack commissioning.

Keywords

Distributed software commissioning Deployment Model checking Safety Liveness Efficiency Component models Petri nets 

References

  1. 1.
    Alur, R., Courcoubetis, C., Dill, D.: Model-checking in dense real-time. Inf. Comput. 104(1), 2–34 (1993)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Barros, T., Cansado, A., Madelaine, E., Rivera, M.: Model-checking distributed components: the vercors platform. Electron. Notes Theor. Comput. Sci. 182, 3–16 (2007). Proceedings of the Third International Workshop on Formal Aspects of Component Software (FACS 2006)CrossRefGoogle Scholar
  3. 3.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. In: Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods, SEFM 2006, pp. 3–12. IEEE Computer Society, Washington, DC (2006)Google Scholar
  4. 4.
    Beer, I., Ben-David, S., Chockler, H., Orni, A., Trefler, R.: Explaining counterexamples using causality. Form. Methods Syst. Des. 40(1), 20–40 (2012)CrossRefGoogle Scholar
  5. 5.
    Berthomieu, B., Diaz, M.: Modeling and verification of time dependent systems using time Petri nets. IEEE Trans. Soft. Eng. 17(3), 259–273 (1991)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Boucheneb, H., Lime, D., Parquier, B., Roux, O.H., Seidner, C.: Optimal reachability in cost time Petri nets. In: Abate, A., Geeraerts, G. (eds.) FORMATS 2017. LNCS, vol. 10419, pp. 58–73. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-65765-3_4CrossRefGoogle Scholar
  7. 7.
    Brockmeyer, U., Wittich, G.: Tamagotchis need not die—verification of statemate designs. In: Steffen, Bernhard (ed.) TACAS 1998. LNCS, vol. 1384, pp. 217–231. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0054174CrossRefGoogle Scholar
  8. 8.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C–35(8), 677–691 (1986)CrossRefGoogle Scholar
  9. 9.
    Chardet, M., Coullon, H., Pertin, D., Pérez, C.: Madeus: a formal deployment model. In: 4PAD 2018 - 5th International Symposium on Formal Approaches to Parallel and Distributed Systems (Hosted at HPCS 2018) (2018)Google Scholar
  10. 10.
    Cimatti, A., Griggio, A.: Software model checking via IC3. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 277–293. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-31424-7_23CrossRefGoogle Scholar
  11. 11.
    Di Cosmo, R., Eiche, A., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic deployment of services in the cloud with aeolus blender. In: Barros, A., Grigori, D., Narendra, N.C., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 397–411. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-48616-0_28CrossRefGoogle Scholar
  12. 12.
    Di Cosmo, R., Mauro, J., Zacchiroli, S., Zavattaro, G.: Aeolus: a component model for the cloud. Inf. Comput. 239, 100–121 (2014)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Dijkman, R.M., Dumas, M., Ouyang, C.: Formal semantics and analysis of BPMN process models using Petri nets. Technical report, Queensland University of Technology (2007)Google Scholar
  14. 14.
    Henrio, L., Kulankhina, O., Li, S., Madelaine, E.: Integrated environment for verifying and running distributed components. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 66–83. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49665-7_5CrossRefGoogle Scholar
  15. 15.
    Hinz, S., Schmidt, K., Stahl, C.: Transforming BPEL to Petri nets. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 220–235. Springer, Heidelberg (2005).  https://doi.org/10.1007/11538394_15CrossRefGoogle Scholar
  16. 16.
    Holzmann, G.J., Peled, D.: An improvement in formal verification. Formal Description Techniques VII. IAICT, pp. 197–211. Springer, Boston, MA (1995).  https://doi.org/10.1007/978-0-387-34878-0_13CrossRefGoogle Scholar
  17. 17.
    Jezequel, L., Lime, D.: Lazy reachability analysis in distributed systems. In: Desharnais, J., Jagadeesan, R. (eds.) CONCUR 2016. LIPIcs. Dagstuhl Publishing, Québec City (2016)Google Scholar
  18. 18.
    Killian, C.E., Anderson, J.W., Braud, R., Jhala, R., Vahdat, A.M.: Mace: language support for building distributed systems. In: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2007. ACM (2007)Google Scholar
  19. 19.
    Kobeissi, S., Utayim, A., Jaber, M., Falcone, Y.: Facilitating the implementation of distributed systems with heterogeneous interactions. In: Furia, C.A., Winter, K. (eds.) IFM 2018. LNCS, vol. 11023, pp. 255–274. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-98938-9_15CrossRefGoogle Scholar
  20. 20.
    Lime, D., Roux, O.H., Seidner, C., Traonouez, L.-M.: Romeo: a parametric model-checker for petri nets with stopwatches. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 54–57. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-00768-2_6CrossRefGoogle Scholar
  21. 21.
    Merlin, P.M.: A study of the recoverability of computing systems. Ph.D. thesis, Department of Information and Computer Science, University of California, Irvine, CA (1974)Google Scholar
  22. 22.
    Petri, C.A.: Kommunikation mit Automaten. Dissertation, schriften des iim, Rheinisch-Westfälisches Institut für Instrumentelle Mathematik an der Universität Bonn, Bonn (1962)Google Scholar
  23. 23.
    Xu, T., Zhou, Y.: Systems approaches to tackling configuration errors: a survey. ACM Comput. Surv. 47(4), 70:1–70:41 (2015)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.IMT Atlantique, InriaNantesFrance
  2. 2.École Centrale de NantesNantesFrance
  3. 3.Université de NantesNantesFrance
  4. 4.LS2N, CNRSNantesFrance

Personalised recommendations