Skip to main content
Log in

Quantitative and qualitative analysis of SysML activity diagrams

  • TASE 12
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. The PARAMOUNT, which stands for public safety and commercial info-mobility applications and services in the mountains, is a project funded by the European commission within the Information Society Technologies program and has as the main objective to develop a prototype for location-based service for mountaineers. Refer to http://www.paramount-tours.com/ for more details.

  2. We use \(\bigwedge \) to denote an expression with multiple & symbols in PRISM syntax.

  3. http://www.topcased.org/.

  4. http://zvtm.sourceforge.net/zgrviewer.html.

  5. The needed command and its arguments are documented in http://www.prismmodelchecker.org/manual/RunningPRISM/DebuggingModelsWithTheSimulator. We mainly use the simpath option to invoke the PRISM simulator and disable detecting loops in generated paths. We also specify a maximum number of 2000 process repetition until a deadlock is found.

References

  1. OMG: OMG Unified Modeling Language Superstructure Version 2.4.1. Object Management Group (2011)

  2. OMG: OMG Systems Modeling Language (OMG SysML) Version 1.3. Object Management Group (2012)

  3. Bock, C.: Systems engineering in the product lifecycle. Int. J. Prod. Dev. 2, 123–137 (2005)

    Article  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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. 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. 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)

  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)

    Book  Google Scholar 

  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)

  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)

  11. Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  19. OMG: UML Profile for Schedulability, Performance and Time. Object Management Group (2005)

  20. OMG: A UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, Beta 2. Object Management Group, OMG Adopted Specification (2008)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  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. Alur, R., Henzinger, T.A.: Reactive modules. Form. Methods Syst. Des. 15(1), 7–48 (1999)

    Article  MathSciNet  Google Scholar 

  39. PRISM Team: The PRISM Language-Semantics (2008). http://www.prismmodelchecker.org/doc/semantics.pdf. Last Visited March 2013

  40. Parker, D.: Implementation of Symbolic Model Checking for Probabilistic Systems. PhD thesis, University of Birmingham (2002)

  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)

  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)

  43. Milner, R.: Communicating and Mobile Systems: the \(\pi \)-Calculus. Cambridge University Press, UK (1999)

    Google Scholar 

  44. OMG: OMG Systems Modeling Language (OMG SysML) Specification. Object Management Group, OMG Available Specification (2007)

  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)

  46. Harper, R.: Programming in Standard ML. Online working draft (2009). http://www.cs.cmu.edu/~rwh/smlbook/online.pdf

  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)

  48. Stoelinga, M.: Verification of Probabilistic, Real-Time and Parametric Systems. PhD thesis, University of Nijmegen, The Netherlands (2002)

  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)

  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. PRISM: PRISM-Probabilistic Symbolic Model Checker (2007). http://www.prismmodelchecker.org/index.php. Last visited March 2013

  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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yosr Jarraya.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jarraya, Y., Debbabi, M. Quantitative and qualitative analysis of SysML activity diagrams. Int J Softw Tools Technol Transfer 16, 399–419 (2014). https://doi.org/10.1007/s10009-014-0305-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-014-0305-6

Keywords

Navigation