Skip to main content

Statistical Model Checking of Dynamic Software Architectures

  • Conference paper
  • First Online:
Software Architecture (ECSA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9839))

Included in the following conference series:

Abstract

The critical nature of many complex software-intensive systems calls for formal, rigorous architecture descriptions as means of supporting automated verification and enforcement of architectural properties and constraints. Model checking has been one of the most used techniques to automatically verify software architectures with respect to the satisfaction of architectural properties. However, such a technique leads to an exhaustive exploration of all possible states of the system, a problem that becomes more severe when verifying dynamic software systems due to their typical non-deterministic runtime behavior and unpredictable operation conditions. To tackle these issues, we propose using statistical model checking (SMC) to support the verification of dynamic software architectures while aiming at reducing computational resources and time required for this task. In this paper, we introduce a novel notation to formally express architectural properties as well as an SMC-based toolchain for verifying dynamic software architectures described in \(\pi \)-ADL, a formal architecture description language. We use a flood monitoring system to show how to express relevant properties to be verified. We also report the results of some computational experiments performed to assess the efficiency of our approach.

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

Similar content being viewed by others

References

  1. The Go programming language. https://golang.org/

  2. PLASMA-Lab. https://project.inria.fr/plasma-lab/

  3. Arnold, A., Boyer, B., Legay, A.: Contracts and behavioral patterns for SoS: the EU IP DANSE approach. In: Larsen, K.G., Legay, A., Nyman, U. (eds.) Proceedings of the 1st Workshop on Advances in Systems of Systems, EPTCS, vol. 133, pp. 47–60 (2013)

    Google Scholar 

  4. Boyer, B., Corre, K., Legay, A., Sedwards, S.: PLASMA-lab: a flexible, distributable statistical model checking library. In: Joshi, K., Siegle, M., Stoelinga, M., D’Argenio, P.R. (eds.) QEST 2013. LNCS, vol. 8054, pp. 160–164. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40196-1_12

    Chapter  Google Scholar 

  5. Cavalcante, E., Batista, T., Oquendo, F.: Supporting dynamic software architectures: from architectural description to implementation. In: Proceedings of the 12th Working IEEE/IFIP Conference on Software Architecture, pp. 31–40. IEEE Computer Society, USA (2015)

    Google Scholar 

  6. Cavalcante, E., Oquendo, F., Batista, T.: Architecture-based code generation: from \(\pi \)-ADL descriptions to implementations in the Go language. In: Avgeriou, P., Zdun, U. (eds.) ECSA 2014. LNCS, vol. 8627, pp. 130–145. Springer, Switzerland (2014). doi:10.1007/978-3-319-09970-5_13

    Google Scholar 

  7. Cho, S.M., Kim, H.H., Cha, S.D., Bae, D.H.: Specification and validation of dynamic systems using temporal logic. IEE Proc. Softw. 148(4), 135–140 (2001)

    Article  Google Scholar 

  8. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)

    Google Scholar 

  9. Hérault, T., Lassaigne, R., Magniette, F., Peyronnet, S.: Approximate probabilistic model checking. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 73–84. Springer, Heidelberg (2004). doi:10.1007/978-3-540-24622-0_8

    Chapter  Google Scholar 

  10. Holzmann, G.J.: The logic of bugs. In: 10th ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 81–87. ACM, New York (2002)

    Google Scholar 

  11. Jegourel, C., Legay, A., Sedwards, S.: A platform for high performance statistical model checking - PLASMA. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 498–503. Springer, Heidelberg (2012). doi:10.1007/978-3-642-28756-5_37

    Chapter  Google Scholar 

  12. Kim, Y., Choi, O., Kim, M., Baik, J., Kim, T.H.: Validating software reliability early through statistical model checking. IEEE Softw. 30(3), 35–41 (2013)

    Article  Google Scholar 

  13. Legay, A., Delahaye, B., Bensalem, S.: Statistical model checking: an overview. In: Barringer, H., et al. (eds.) RV 2010. LNCS, vol. 6418, pp. 122–135. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16612-9_11

    Chapter  Google Scholar 

  14. Legay, A., Sedwards, S.: On statistical model checking with PLASMA. In: Proceedings of the 2014 Theoretical Aspects of Software Engineering Conference, pp. 139–145. IEEE Computer Society, Washington, DC (2014)

    Google Scholar 

  15. Mateescu, R., Oquendo, F.: \(\pi \)-AAL: an architecture analysis language for formally specifying and verifying structural and behavioural properties of software architectures. ACM SIGSOFT Softw. Eng. Notes 31(2), 1–19 (2006)

    Article  Google Scholar 

  16. Oquendo, F.: \(\pi \)-ADL: an architecture description language based on the higher-order typed \(\pi \)-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Softw. Eng. Notes 29(3), 1–14 (2004)

    Article  Google Scholar 

  17. Pnueli, A.: The temporal logics of programs. In: Proceedings of the 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE Computer Society, Washington, DC (1977)

    Google Scholar 

  18. Quilbeuf, J., Cavalcante, E., Traonouez, L.M., Oquendo, F., Batista, T., Legay, A.: A logic for statistical model checking of dynamic software architectures. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 806–820. Springer, Heidelberg (2016). doi:10.1007/978-3-319-47166-2_56

    Chapter  Google Scholar 

  19. Zhang, P., Muccini, H., Li, B.: A classification and comparison of model checking software architecture techniques. J. Syst. Softw. 83(5), 723–744 (2010)

    Article  Google Scholar 

Download references

Acknowledgments

This work was partially supported by the Brazilian National Agency of Petroleum, Natural Gas and Biofuels through the PRH-22/ANP/MCTI Program (for Everton Cavalcante) and by CNPq under grant 308725/2013-1 (for Thais Batista).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Everton Cavalcante .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Cavalcante, E., Quilbeuf, J., Traonouez, LM., Oquendo, F., Batista, T., Legay, A. (2016). Statistical Model Checking of Dynamic Software Architectures. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds) Software Architecture. ECSA 2016. Lecture Notes in Computer Science(), vol 9839. Springer, Cham. https://doi.org/10.1007/978-3-319-48992-6_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-48992-6_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-48991-9

  • Online ISBN: 978-3-319-48992-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics