Advertisement

Quantitative and qualitative analysis of SysML activity diagrams

  • Yosr JarrayaEmail author
  • Mourad Debbabi
TASE 12

Abstract

Model-driven engineering refers to a range of approaches that uses models throughout systems and software development life cycle. Towards sustaining such a successful approach in practice, we present a model-based verification framework that supports the quantitative and qualitative analysis of SysML activity diagrams. To this end, we propose an algorithm that maps SysML activity diagrams into Markov decision processes expressed using the language of the probabilistic symbolic model checker PRISM. Furthermore, we elaborate on the correctness of our translation algorithm by proving its soundness with respect to a SysML activity diagrams operational semantics that we also present in this work. The generated models can be verified against a set of properties expressed in the probabilistic computation tree logic. To automate our approach, we developed a prototype tool that interfaces a modeling environment and the probabilistic model checker. We also show how to leverage adversary generation to provide the developer with a useful counterexample/witness as a feedback on the verified properties. Finally, the established theoretical foundations are complemented with an illustrative case study that demonstrates the usability and benefit of such a framework.

Keywords

Probabilistic verification SysML activity diagrams  Markov decision process Model-driven engineering Activity calculus 

References

  1. 1.
    OMG: OMG Unified Modeling Language Superstructure Version 2.4.1. Object Management Group (2011)Google Scholar
  2. 2.
    OMG: OMG Systems Modeling Language (OMG SysML) Version 1.3. Object Management Group (2012)Google Scholar
  3. 3.
    Bock, C.: Systems engineering in the product lifecycle. Int. J. Prod. Dev. 2, 123–137 (2005)CrossRefGoogle Scholar
  4. 4.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986)CrossRefzbMATHGoogle Scholar
  5. 5.
    Glabbeek, R.J.V., Smolka, S.A., Steffen, B.: Reactive, generative and stratified models of probabilistic processes. Inf. Comput. 121, 130–141 (1990)Google Scholar
  6. 6.
    Larsen, K.G., Skou, A.: Bisimulation through probabilistic testing. In: Symposium on Principles of Programming Languages, pp. 344–352 (1989). doi: 10.1145/75277.75307
  7. 7.
    Jarraya, Y., Debbabi, M., Bentahar, J.: On the meaning of SysML activity diagrams. In: The Proceedings of the 16th Annual IEEE International Conference on the Engineering of Computer Based Systems (ECBS), vol 0, pp. 95–105. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  8. 8.
    Debbabi, M., Hassaine, F., Jarraya, Y., Soeanu, A., Alawneh, L.: Verification and Validation in Systems Engineering: Assessing UML/SysML Design Models. Springer, Berlin (2010)CrossRefGoogle Scholar
  9. 9.
    Jarraya, Y., Debbabi, M.: Formal specification and probabilistic verification of SysML activity diagrams. In: Margaria, T, Qiu, Z., Yang, H. (eds.) TASE, pp. 17–24. IEEE (2012)Google Scholar
  10. 10.
    Beato, M.E., Barrio-Solórzano, M., Cuesta, C.E.: UML automatic verification tool (TABU). In: Proceedings of the 12th ACM SIGSOFT Symposium on the Foundations of Software Engineering, Specification and Verification of Component-Based Systems, Newport Beach, California, USA (SAVCBS’04), Department of Computer Science, Iowa State University, Ames, Iowa, United States (2004)Google Scholar
  11. 11.
    Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)CrossRefGoogle Scholar
  12. 12.
    Canevet,C., Gilmore, S., Hillston, J., Kloul, L., Stevens, P.: Analysing UML 2.0 activity diagrams in the software performance engineering process. In: The Proceedings of the Fourth International Workshop on Software and Performance. ACM Press, Redwood Shores, California, USA, pp 74–78 (2004)Google Scholar
  13. 13.
    Gallotti, S., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Quality prediction of service compositions through probabilistic model checking. In: The Proceedings of the 4th International Conference on Quality of Software-Architectures (QoSA’08), pp. 119–134. Springer, Berlin (2008)Google Scholar
  14. 14.
    Lindemann, C., Thümmler, A., Klemm, A., Lohmann, M., Waldhorst, O.P.: Performance analysis of time-enhanced UML diagrams based on stochastic processes. In: The Proceedings of the 3rd International Workshop on Software and Performance (WOSP), pp. 25–34. ACM Press, New York (2002)Google Scholar
  15. 15.
    Tabuchi, N., Sato, N., Nakamura, H.: Model-driven performance analysis of UML design models based on stochastic process algebra. In: The Proceedings of the First European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA). LNCS, vol. 3748, pp. 41–58. Springer, Berlin (2005)Google Scholar
  16. 16.
    Tribastone, M., Gilmore, S.: Automatic extraction of PEPA performance models from UML activity diagrams annotated with the MARTE profile. In: The Proceedings of the 7th International Workshop on Software and Performance (WOSP), pp. 67–78. ACM, New York (2008)Google Scholar
  17. 17.
    Tribastone, M., Gilmore, S.: Automatic translation of UML sequence diagrams into PEPA models. In: Proceedings of the Fifth International Conference on Quantitative Evaluation of Systems September 2008 (QEST), pp 205–214. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  18. 18.
    Jarraya, Y., Soeanu, A., Debbabi, M., Hassaïne, F.: Automatic verification and performance analysis of time-constrained SysML activity diagrams. In: The Proceedings of the 14th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS), pp. 515–522. IEEE Computer Society, Los Alamitos, CA, USA (2007)Google Scholar
  19. 19.
    OMG: UML Profile for Schedulability, Performance and Time. Object Management Group (2005)Google Scholar
  20. 20.
    OMG: A UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, Beta 2. Object Management Group, OMG Adopted Specification (2008)Google Scholar
  21. 21.
    Leitner-Fischer F., Leue, S.: Quantitative analysis of UML models. In: Giese, H., Huhn, M., Phillips, J., Schätz, B. (eds.) MBEES, Fortiss GmbH, München, pp. 91–100 (2011)Google Scholar
  22. 22.
    Kamandi, A., Azgomi, M.A., Movaghar, A.: Transformation of UML models into analyzable OSAN models. Electron. Notes Theor. Comput. Sci. 159, 3–22 (2006)CrossRefGoogle Scholar
  23. 23.
    Störrle, H.: Semantics of control-flow in UML 2.0 activities. In: IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp 235–242. IEEE Computer Society (2004)Google Scholar
  24. 24.
    Störrle, H.: Semantics of exceptions in UML 2.0 Activities. Technical Report 0403, Ludwig-Maximilians-Universität München, Institut für Informatik (2004)Google Scholar
  25. 25.
    Störrle, H.: Semantics and verification of data flow in UML 2.0 activities. Electron. Notes Theor. Comput. Sci. 127(4), 35–52 (2005)CrossRefGoogle Scholar
  26. 26.
    Yang, N., Yu, H., Sun, H., Qian, Z.: Mapping UML activity diagrams to analyzable Petri net models. In: International Conference on Quality Software, pp. 369–372. IEEE Computer Society, Los Alamitos (2010)Google Scholar
  27. 27.
    Störrle, H., Hausmann, J.H.: Towards a formal semantics of UML 2.0 activities. In: Software Engineering, Gesellschaf fuer Informatik, GI, LNI, vol. 64, pp. 117–128 (2005)Google Scholar
  28. 28.
    Pedroza, G., Apvrille, L., Knorreck, D.: AVATAR: a SysML environment for the formal verification of safety and security properties. In: The Proceedings of the 11th Annual International Conference on New Technologies of Distributed Systems (NOTERE), pp. 1–10 (2011)Google Scholar
  29. 29.
    Knorreck, D., Apvrille, L., de Saqui-Sannes, P.: TEPE: a SysML language for time-constrained property modeling and formal verification. ACM SIGSOFT Softw. Eng. Notes 36(1), 1–8 (2011)CrossRefGoogle Scholar
  30. 30.
    Kerzhner, A.A, Paredis, C.J.: Combining SysML and model transformations to support systems engineering analysis. In: Proceedings of the 4th International Workshop on Multi-Paradigm Modeling (MPM’10)-Electronic Communications of the EASST, vol. 42 (2011)Google Scholar
  31. 31.
    Kawahara, R., Nakamura, H., Dotan, D., Kirshin, A., Sakairi, T., Hirose, S., Ono, K., Ishikawa, H.: Verification of embedded system’s specification using collaborative simulation of SysML and simulink models. In: International Conference on Model-Based, Systems Engineering, (MBSE’09), pp. 21–28 (2009)Google Scholar
  32. 32.
    Huang, X., Sun, Q., Li, J., Zhang, T.: MDE-based verification of SysML state machine diagram by UPPAAL. In: Trustworthy Computing and Services, pp. 490–497. Springer, Berlin (2013)Google Scholar
  33. 33.
    Dubois, H., Peraldi-Frati, M., Lakhal, F.: A model for requirements traceability in a heterogeneous model-based design process: application to automotive embedded systems. In: 15th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 233–242 (2010)Google Scholar
  34. 34.
    Chouali, S., Hammad, A.: Formal verification of components assembly based on SysML and interface automata. Innov. Syst. Softw. Eng. 7(4), 265–274 (2011)CrossRefGoogle Scholar
  35. 35.
    Kwiatkowska, M., Norman, G., Parker, D.: Quantitative analysis with the probabilistic model checker PRISM. Electron. Notes Theor. Comput. Sci. 153(2), 5–31 (2005)Google Scholar
  36. 36.
    Kwiatkowska, M., Norman, G., Parker, D.: Probabilistic model checking in practice: case studies with PRISM. ACM SIGMETRICS Perform. Eval. Rev. 32(4), 16–21 (2005)CrossRefGoogle Scholar
  37. 37.
    Kwiatkowska, M., Norman, G., Parker, D., Kattenbelt, M.: PRISM—Probabilistic Symbolic Model Checker (2008). http://www.prismmodelchecker.org/manual/. Last Visited March 2013
  38. 38.
    Alur, R., Henzinger, T.A.: Reactive modules. Form. Methods Syst. Des. 15(1), 7–48 (1999)CrossRefMathSciNetGoogle Scholar
  39. 39.
    PRISM Team: The PRISM Language-Semantics (2008). http://www.prismmodelchecker.org/doc/semantics.pdf. Last Visited March 2013
  40. 40.
    Parker, D.: Implementation of Symbolic Model Checking for Probabilistic Systems. PhD thesis, University of Birmingham (2002)Google Scholar
  41. 41.
    Vardi, M.Y.: Branching vs. linear time: final showdown. In: The Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pp. 1–22. Springer, London (2001)Google Scholar
  42. 42.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic . In: 25 Years of Model Checking. LNCS, vol. 5000, pp 196–215. Springer, Berlin (2008)Google Scholar
  43. 43.
    Milner, R.: Communicating and Mobile Systems: the \(\pi \)-Calculus. Cambridge University Press, UK (1999)Google Scholar
  44. 44.
    OMG: OMG Systems Modeling Language (OMG SysML) Specification. Object Management Group, OMG Available Specification (2007)Google Scholar
  45. 45.
    Rutten, J., Kwiatkowska, M., Norman, G., Parker, D.: Mathematical techniques for analyzing concurrent and probabilistic systems. In: Panangaden, P., van Breugel, F. (eds.) CRM Monograph Series, vol. 23. American Mathematical Society, Providence (2004)Google Scholar
  46. 46.
    Harper, R.: Programming in Standard ML. Online working draft (2009). http://www.cs.cmu.edu/~rwh/smlbook/online.pdf
  47. 47.
    Cattani, S., Segala, R.: Decision algorithms for probabilistic bisimulation. In: Brim, L., Kretínský, M., Jancar, P. (eds.) Concurrency Theory (CONCUR’02). LNCS, vol. 2421, pp. 371–386. Springer, Berlin (2002)Google Scholar
  48. 48.
    Stoelinga, M.: Verification of Probabilistic, Real-Time and Parametric Systems. PhD thesis, University of Nijmegen, The Netherlands (2002)Google Scholar
  49. 49.
    Segala, R., Lynch, N.A.: Probabilistic simulations for probabilistic processes. In: The Proceedings of the Concurrency Theory (CONCUR’94), pp. 481–496. Springer, London (1994)Google Scholar
  50. 50.
    Baier, C.: On algorithmic verification methods for probabilistic systems. Habilitation thesis, Fakultät für Mathematik & Informatik, Universität Mannheim (1998). http://wwwneu.inf.tu-dresden.de/content/institutes/thi/algi/publikationen/texte/15_98.pdf
  51. 51.
    PRISM: PRISM-Probabilistic Symbolic Model Checker (2007). http://www.prismmodelchecker.org/index.php. Last visited March 2013
  52. 52.
    Pietriga, E.: A toolkit for addressing HCI issues in visual language environments. In: IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), vol. 00, pp. 145–152 (2005). http://doi.ieeecomputersociety.org/10.1109/VLHCC.2005.11

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Concordia Institute for Information Systems Engineering (CIISE)Concordia UniversityMontrealCanada

Personalised recommendations