UML2ADA for Early Verification of Concurrency Inside the UML2.0 Atomic Components

  • Taoufik Sakka Rouis
  • Mohamed Tahar Bhiri
  • Mourad Kmimech
  • Layth Sliman
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 736)


In recent years, the Unified Modeling Language (UML) has emerged as a de facto industrial standard for modeling Component-Based Software (CBS). However, in order to ensure the safety and vivacity of UML CBS, many approaches have been proposed to verify the concurrency between interconnected components. But, rare are the works that tackle concurrency verification inside atomic components. In this paper, our purpose was the verification of the concurrency inside UML2.0 atomic components endowed with behavioral specifications described by protocol state machines (PSM). To achieve this, we propose to translate the UML2.0/PSM source component to an Ada concurrent program. Using an Ada formal analysis tool such as FLAVERS or INCA tools, we could detect the potential behavioral concurrency properties such as the deadlock of an Ada concurrent program.


UML2.0 Component Protocol state machine Concurrency verification Ada concurrent program 


  1. 1.
    Han, J.: A comprehensive interface definition framework for software components. In: Asia Pacific Software Engineering Conference, pp. 110–117. IEEE Computer Society (1998)Google Scholar
  2. 2.
    Naumovich, G., Avrunin, G.S., Clarke, L.A., Osterweil, L.J.: Applying static analysis to software architectures. In: ACM SIGSOFT 1997 Softw. Eng. Notes 22(6), pp. 77–93 (1997)Google Scholar
  3. 3.
    Ruiz, J.F., Comar, C., Moy, Y.: Source code as the key artifact in requirement-based development: the case of ada 2012. In: Ada-Europe 2012, pp. 49–59 (2012)Google Scholar
  4. 4.
    Pedro, A.M., Pereira D., Pinho, L.M., Pinto, J.S.: Towards a runtime verification framework for the ada programming language. In: Ada-Europe, pp. 58–73 (2014)Google Scholar
  5. 5.
    Sakka Rouis, T., Bhiri, M.T., Kmimech, M., Moussa, F.: A contractual approach for the verification of UML2.0 software architectures. Appareats Int. J. Comput. Appl. Technol. 57(1) (2018)Google Scholar
  6. 6.
    Meyer, B.: Applying design by contract. IEEE Comput. 25, 40–51 (1992)CrossRefGoogle Scholar
  7. 7.
    Luong, H.V., Courbis, A.L., Lambolais, T., Phan, T.: IDCM: un outil d’analyse de composants et d’architectures dédié à la construction incrémentale. 11èmes Journées Francophones sur les Approches Formelles dans l’Assistance au Développement de Logiciels, Grenoble, France, pp. 50–53, January 2012Google Scholar
  8. 8.
    Lambolais, T., Courbis, A.L., Luong, H.V.: Raffinement de modèles comportementaux UML, vérification des relations d’implantation et d’extension sur les machines d’états, AFADL 2009, France, 14 p. (2009)Google Scholar
  9. 9.
    Sakka Rouis T., Bhiri M.T., Kmimech, M.: Behavioral verification of UML2.0/PoSM components. In: Proceeding in 15th International SoMeT, Larnaca, Cyprus, pp. 246–257, 12–14 September 2016Google Scholar
  10. 10.
    Sakka Rouis, T., Bhiri, M.T., Kmimech, M., Moussa, F.: Wr2Fdr tool maintenance for models checking. In: Proceeding in 16th International SoMeT Conference. Kitakyushu, Japan, pp. 425–440 (2017)Google Scholar
  11. 11.
    Hammal, Y.: Towards checking protocol conformance of active components. Int. J. Softw. Eng. Appl. 5(2) (2011)Google Scholar
  12. 12.
    Thuan, T.N., Anh, T.V.V., Ha, N.V.: Consistency between UCM and PSMs in component models. In: IEEE International Conference on Research, Innovation and Vision for the Future in Computing and Communication Technologies, Ho Chi Minh City (2008)Google Scholar
  13. 13.
    Ng, M.Y., Butler, M.: Towards formalizing UML state diagrams in CSP. In: SEFM, pp. 138–147. IEEE (2003)Google Scholar
  14. 14.
    Jacobs, J., Simpson, A.C.: On a process algebraic representation of sequence diagrams. In: SaFoMe 2014. LNCS, vol. 8938, pp. 71–85 (2014)Google Scholar
  15. 15.
    Dong, X., Philbert, N., Zongtian, L., Wei, L.: Towards formalizing UML activity diagrams in CSP. In: ISCSCT, pp. 450–453. IEEE (2008)Google Scholar
  16. 16.
    Taft, S.T., Duff, R.A., Brukardt, R.L., Ploedereder, E., Leroy, P.: Ada 2005 Reference Manual. Language and Standard Libraries: International Standard ISO/IEC 8652/1995(E) with Technical Corrigendum 1 and Amendment 1. Springer, New York (2007)Google Scholar
  17. 17.
    Bernardo, M., Ciancarini, P., Donatiello, L.: Architecting families of software systems with process algebras. ACM Trans. Softw. Eng. Methodol. 11(4), 386–426 (2002)CrossRefGoogle Scholar
  18. 18.
    Bhiri, M.T., Sakka Rouis, T., Kmimech, M.: Checking non-functional properties of UML2.0 components assembly. In: IEEE WETICE Conference, Tunisia, pp. 278–283 (2013)Google Scholar
  19. 19.
    Dwyer, M.B., Pasarean, S.C., Corbett J.C.: Translating ADA programs for Model checking: A tutorial. Technical Report 1998–12, Kansas State UniversityGoogle Scholar
  20. 20.
    Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: FLAVERS: a finite state verification technique for software systems. IBM Syst. J. 41(1), 140–165 (2002)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Taoufik Sakka Rouis
    • 1
  • Mohamed Tahar Bhiri
    • 2
  • Mourad Kmimech
    • 3
  • Layth Sliman
    • 4
  1. 1.Cristal Laboratory, National School of Computer SciencesUniversity of ManoubaManoubaTunisia
  2. 2.Miracl LaboratoryISIMS, Technological Pole of SfaxSakiet Ezzit, SfaxTunisia
  3. 3.UR-OASIS Laboratory, ENITUniversity of Tunis El ManarTunisTunisia
  4. 4.Efrei - École d’Ingénieur Généraliste en InformatiqueVillejuifFrance

Personalised recommendations