Software & Systems Modeling

, Volume 15, Issue 2, pp 453–471 | Cite as

Formalizing and verifying stochastic system architectures using Monterey Phoenix

  • Songzheng Song
  • Jiexin Zhang
  • Yang Liu
  • Mikhail Auguston
  • Jun Sun
  • Jin Song Dong
  • Tieming Chen
Regular Paper


The analysis of software architecture plays an important role in understanding the system structures and facilitate proper implementation of user requirements. Despite its importance in the software engineering practice, the lack of formal description and verification support in this domain hinders the development of quality architectural models. To tackle this problem, in this work, we develop an approach for modeling and verifying software architectures specified using Monterey Phoenix (MP) architecture description language. MP is capable of modeling system and environment behaviors based on event traces, as well as supporting different architecture composition operations and views. First, we formalize the syntax and operational semantics for MP; therefore, formal verification of MP models is feasible. Second, we extend MP to support shared variables and stochastic characteristics, which not only increases the expressiveness of MP, but also widens the properties MP can check, such as quantitative requirements. Third, a dedicated model checker for MP has been implemented, so that automatic verification of MP models is supported. Finally, several experiments are conducted to evaluate the applicability and efficiency of our approach


Model checking Stochastic system architecture Monterey Phoenix 



This work is supported by “Formal Verification on Cloud” project under Grant No: M4081155.020 and “Verification of Security Protocol Implementations” project under Grant No: M4080996.020.


  1. 1.
    Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed) Fundamental Approaches to Software Engineering (FASE), vol. 1382, pp. 21–37. Springer, BerlinGoogle Scholar
  2. 2.
    Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)CrossRefGoogle Scholar
  3. 3.
    Auguston, M.: Monterey phoenix, or how to make software architecture executable. In: Arora, S., Leavens, G.T. (eds.) OOPSLA Companion, pp. 1031–1040. ACM, NY, USA (2009)Google Scholar
  4. 4.
    Auguston, M.: Software architecture built from behavior models. ACM SIGSOFT Softw. Eng. Notes 34(5), 1–15 (2009)CrossRefGoogle Scholar
  5. 5.
    Auguston, M., Whitcomb, C.: System architecture specification based on behavior models. In: Proceedings of the 15th ICCRTS Conference (International Command and Control Research and Technology Symposium), Santa Monica, CA, June 22–24 (2010)Google Scholar
  6. 6.
    Baier, C., Katoen, J.: Principles of Model Checking. The MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  7. 7.
    Chaki, S., Clarke, E.M., Ouaknine, J., Sharygina, N., Sinha, N.: State/event-based software model checking. In: Leuschel, M., Wehrheim, H. (eds.) IFM, vol. 2999 of LNCS, pp. 128–147. Springer, Berlin (2004)Google Scholar
  8. 8.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  9. 9.
    Corradini, F., Inverardi, P., Wolf, A.L.: On relating functional specifications to architectural specifications: a case study. Sci. Comput. Program. 59(3), 171–208 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: an architecture description interchange language. In: Johnson, J.H. (ed.) CASCON, p. 7, IBM, Toronto (1997)Google Scholar
  11. 11.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21, 666–677 (1978)CrossRefzbMATHGoogle Scholar
  12. 12.
    Inverardi, P., Wolf, A.L.: Formal specification and analysis of software architectures using the chemical abstract machine model. IEEE Trans. Softw. Eng. 21(4), 373–386 (1995)CrossRefGoogle Scholar
  13. 13.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  14. 14.
    Kim, J.S., Garlan, D.: Analyzing architectural styles with alloy. In : Proceedings of the ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis, ROSATEA ’06, pp. 70–80. ACM, New York (2006)Google Scholar
  15. 15.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV, Snowbird, vol. 6806, pp. 585–591, Springer, Heidelberg (2011)Google Scholar
  16. 16.
    Liu, Y., Sun, J., Dong, J.S.: An analyzer for extended compositional process algebras. In: Schäfer, W., Dwyer, M.B., Gruhn, V. (eds.) ICSE Companion, pp. 919–920. ACM, Leipzig, Germany (2008) Google Scholar
  17. 17.
    Liu, Y., Sun, J., Dong, J.S.: Pat 3:aAn extensible architecture for building multi-domain model checkers. In: Dohi, T., Cukic, B. (eds.) ISSRE, pp. 190–199. IEEE, Hiroshima, Japan (2011)Google Scholar
  18. 18.
    Mahony, B.P., Dong, J.S.: Blending object-Z and timed CSP: an introduction to TCOZ. In: Proceedings of the 20th International Conference on Software Engineering (ICSE 1998), pp. 95–104 (1998)Google Scholar
  19. 19.
    Pnueli. A.: The temporal logic of programs. In: Gruska, J. (ed.) FOCS, pp. 46–57. IEEE, Rhode Island, USA (1977)Google Scholar
  20. 20.
    Roscoe., A.W.: The Theory and Practice of Concurrency. Prentice Hall PTR, Englewood Cliffs (1997)Google Scholar
  21. 21.
    Schrijver, A.: Combinatorial Optimization: Polyhedra and Efficiency. Springer, Berlin (2003)zbMATHGoogle Scholar
  22. 22.
    Selvin, S.: On the monty hall problem (letter to the editor). Am. Stat. 29(3), 134 (1975)CrossRefGoogle Scholar
  23. 23.
    Selvin, S.: A problem in probability (letter to the editor). Am. Stat. 29(1), 67–71 (1975)CrossRefGoogle Scholar
  24. 24.
    Smith, G.: The Object-Z Specification Language. Kluwer Academic Publisher, Dordrecht (2000)CrossRefzbMATHGoogle Scholar
  25. 25.
    Spivey, J.M.: The Z Notation: A Reference Manual. Prentice-Hall Inc., Upper Saddle River (1989)zbMATHGoogle Scholar
  26. 26.
    Stoelinga, M.: An introduction to probabilistic automata. Bull. EATCS 78, 176–198 (2002)MathSciNetzbMATHGoogle Scholar
  27. 27.
    Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: towards flexible verification under fairness. In: Bouajjani, A., Maler, O. (eds.) CAV, vol. 5643 of LNCS, pp. 709–714. Springer, Berlin (2009)Google Scholar
  28. 28.
    Sun, J., Song, S.Z., Liu. Y.: Model checking hierarchical probabilistic systems. In: Dong, J.S., Zhu, H. (eds.) Formal Methods and Software Engineering, ICFEM, vol. 6447, pp. 388–403. Springer, Berlin (2010).Google Scholar
  29. 29.
    Tan, L., Krings, A.: An adaptive N-variant software architecture for multi-core platforms: models and performance analysis. In: Proceedings of the International Conference on Computational Science and Its Applications, Part II (ICCSA’11), pp. 490–505 (2011)Google Scholar
  30. 30.
    Zhang, J., Liu, Y., Auguston, M., Sun, J., Dong, J.S.: Using monterey phoenix to formalize and verify system architectures. In: Leung, K.R.P.H., Muenchaisri, P. (eds.) APSEC, pp. 644–653. IEEE, Hong Kong, China (2012)Google Scholar
  31. 31.
    Zhang, P., Muccini, H., Li, B.: A classification and comparison of model checking software architecture techniques. J. Syst. Softw. 83(5), 723–744 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Songzheng Song
    • 1
  • Jiexin Zhang
    • 2
  • Yang Liu
    • 1
  • Mikhail Auguston
    • 4
  • Jun Sun
    • 3
  • Jin Song Dong
    • 2
  • Tieming Chen
    • 5
  1. 1.Nanyang Technological UniversitySingaporeSingapore
  2. 2.National University of SingaporeSingaporeSingapore
  3. 3.Singapore University of Technology and DesignSingaporeSingapore
  4. 4.Naval Postgraduate SchoolMontereyUSA
  5. 5.Zhejiang University of TechnologyHangzhouChina

Personalised recommendations