PintArq: A Visualizer of Architectural Execution Flow for Component-Based Software Architectures

  • Jorge Alejandro Rico García
  • Henry Alberto DiosaEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 657)


Formal effort required to specify and analyze architectures using formal languages is high. This has motivated us to build a software tool that allows the interpretation of component-based software architecture described using \(\rho _{\mathrm {arq}}\) calculus. This tool offers the display facility to architects on a graphic way the structure and the architectural execution flow described in the formal expressions under study. For the development of this software tool some different modules were considered, altogether, they interpret expressions in accordance with the syntax and the operational semantics of the \(\rho _{\mathrm {arq}}\) calculus; in addition, the tool maps the formal expressions to UML 2.x notation graphic elements. In this way, the application displays the architectural configuration using a visual modeling language(UML components) while showing the architectural execution flow by highlighting the provision interfaces when a \(\rho _{\mathrm {arq}}\) calculus rewriting rule is executed. The \(\rho _{\mathrm {arq}}\) calculus use is simplified with this. The architectural analysis tasks will be easier and the architect could focus on the architectural behavior and not on the calculus itself.


\(\rho _{\mathrm {arq}}\) calculus Component-based software Architectural execution flow UML 



Thanks to Professor Sergio Rojas. His advices were worthy.


  1. 1.
    Allen, R.J.: A formal approach to software architecture. Ph.D. thesis, Carnegie Mellon, School of computer Science (1997)Google Scholar
  2. 2.
    Bertolino, A., Inverardi, P., Muccini, H.: Formal methods in testing software architectures. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 122–147. Springer, Heidelberg (2003). doi: 10.1007/978-3-540-39800-4_7 CrossRefGoogle Scholar
  3. 3.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An infrastructure for the rapid development of XML-based architecture description languages. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 266–276. ACM, New York (2002).
  4. 4.
    Dean, T.R., Cordy, J.R.: A sintactic theory of software architecture. IEEE Trans. Softw. Eng. 21(4), 302–313 (1995)CrossRefGoogle Scholar
  5. 5.
    Diosa, H.A.: Especificación de un Modelo de Referencia Arquitectural de Software A Nivel de Configuración, Estructura y Comportamiento. Ph.D. thesis, Universidad del Valle- Escuela de Ingeniería de Sistemas y Computación, Febrero 2008Google Scholar
  6. 6.
    Diosa, H.A., Díaz, J.F., Gaona, C.M.: Cálculo para el modelado formal de arquitecturas de software basadas en componentes: cálculo \(\rho _{arq}\). Revista Científica. Universidad Distrital Francisco José de Caldas (12) (2010)Google Scholar
  7. 7.
    Diosa, H.A., Díaz, J.F., Gaona, C.M.: Especificación formal de arquitecturas de software basadas en componentes: Chequeo de corrección con cálculo \(\rho _{arq}\). Revista Científica. Universidad Distrital Francisco José de Caldas (12) (2010)Google Scholar
  8. 8.
    Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language. Addison-Wesley, Boston (2013)Google Scholar
  9. 9.
    Garlan, D., Monroe, R., Wile, D.: ACME: an architecture description interchange language. In: Proceedings of the 1997 Conference of the Centre for Advanced Studies on Collaborative Research (CASCON 1997), p. 7. IBM Press (1997).
  10. 10.
    Garlan, D., Shaw, M.: An introduction to software architecture. Technical report CMU-CS-94-166. Carnegie Mellon University, Enero 1994Google Scholar
  11. 11.
    Gil, S.V.H.: Representación de la arquitectura de software usando UML. Sistemas y Telemática 1, 63–75 (2006)CrossRefGoogle Scholar
  12. 12.
    Goossens, M., Mittelbach, F., Samarin, A.: The LaTeX Companion. Addison-Wesley, Reading (1994)zbMATHGoogle Scholar
  13. 13.
    Gorlick, M., Razouk, R.: Using weaves for software construction and analysis. In: 13th International Conference on Software Engineering, Proceedings, pp. 23–34, May 1991Google Scholar
  14. 14.
    Guerra, E., de Lara, J., Kolovos, D., Paige, R.: A visual specification language for model-to-model transformations. In: IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 119–126 (2010)Google Scholar
  15. 15.
    He, X., Yu, H., Shi, T., Ding, J., Deng, J.: Formally analyzing software architectural specifications using SAM. J. Syst. Softw. 71, 11–29 (2004)CrossRefGoogle Scholar
  16. 16.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21, 666–677 (1978). CrossRefzbMATHGoogle Scholar
  17. 17.
    Inverardi, P., Wolf, A.: Formal specification and analysis of software architectures using the chemical abstract machine model. IEEE Trans. Softw. Eng. 21(4), 373–386 (1995)CrossRefGoogle Scholar
  18. 18.
    Bass, L., Paul Clements, R.K.: Software Architecture in Practice, Chap. 2. SEI Series in Software Engineering. Addison Wesley, Boston (2013)Google Scholar
  19. 19.
    Luckham, D.C.: Rapide: a language and toolset for simulation of distributed systems by partial orderings of events. Technical report, Stanford, CA, USA (1996)Google Scholar
  20. 20.
    Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Schäfer, W., Botella, P. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995). doi: 10.1007/3-540-60406-5_12 Google Scholar
  21. 21.
    Malavolta, I., Muccini, H., Pelliccione, P., Tamburri, D.A.: Providing architectural languages and tools interoperability through model transformation technologies. IEEE Trans. Softw. Eng. 36(1), 119–140 (2010)CrossRefGoogle Scholar
  22. 22.
    Medvidovic, N., Rosenblum, D.S., Redmiles, D.F., Robbins, J.E.: Modeling software architectures in the unified modeling language. ACM Trans. Softw. Eng. Methodol. 11, 2–57 (2002). CrossRefGoogle Scholar
  23. 23.
    Milner, R.: Communicating and Mobile Systems: The \(\pi \)-Calculus. Cambridge University Press, New York (1999)zbMATHGoogle Scholar
  24. 24.
    Morrison, R., Kirby, G., Balasubramaniam, D., Mickan, K., Oquendo, F., Cimpan, S., Warboys, B., Snowdon, B., Greenwood, R.: Support for evolving software architectures in the ArchWare ADL. In: Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), pp. 69–78 (2004)Google Scholar
  25. 25.
    Naur, P.: Revised report on the algorithmic language ALGOL 60. Commun. ACM 6(1), 1–17 (1963)CrossRefzbMATHGoogle Scholar
  26. 26.
    Niehren, J., Müller, M.: Constraints for free in concurrent computation. In: Kanchanasut, K., Lévy, J.-J. (eds.) ACSC 1995. LNCS, vol. 1023, pp. 171–186. Springer, Heidelberg (1995). doi: 10.1007/3-540-60688-2_43 CrossRefGoogle Scholar
  27. 27.
    Object Management Group: OMG Unified Modeling Language (OMG UML). Version 2.5, September 2013Google Scholar
  28. 28.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)CrossRefGoogle Scholar
  29. 29.
    Oquendo, F.: Dynamic software architectures: formally modelling structure and behaviour with Pi-ADL. In: Software Engineering Advances (ICSEA 2008), pp. 352–359, October 2008Google Scholar
  30. 30.
    Pandey, R.K.: Architecture description languages (ADLs) vs UML: a review. SIGSOFT Softw. Eng. Notes 35, 1–5 (2010). CrossRefGoogle Scholar
  31. 31.
    Parr, T.: The Definitive ANTLR 4 Reference. The Pragmatic Bookshelf, Dallas (2012)Google Scholar
  32. 32.
    Pattis, R.E.: Extended Backus-Naur Form. Disponible en (1980).
  33. 33.
    Robbins, J., Medvidovic, N., Redmiles, D., Rosenblum, D.: Integrating architecture description languages with a standard design method. In: Proceedings of the 1998 International Conference on Software Engineering, pp. 209–218, April 1998Google Scholar
  34. 34.
    Rong, M.: An aspect-oriented software architecture description language based on temporal logic. In: 2010 5th International Conference on Computer Science and Education (ICCSE), pp. 91–96, August 2010Google Scholar
  35. 35.
    Seidman, S.B.: Computer Science Handbook, Chap. 109. Chapman & Hall/CRC (2004)Google Scholar
  36. 36.
    Shaw, M., DeLine, R., Klein, D., Ross, T., Young, D., Zelesnik, G.: Abstractions for software architecture and tools to support them. IEEE Trans. Softw. Eng. 21(4), 314–335 (1995)CrossRefGoogle Scholar
  37. 37.
    Singh, Y., Sood, M.: Models and transformations in MDA. In: International Conference on Computational Intelligence, Communication Systems and Networks, pp. 253–258 (2009)Google Scholar
  38. 38.
    Smolka, G.: A calculus for higher-order concurrent constraint programming with deep guards. Technical report, Bundesminister für Forschung und Technologie (1994)Google Scholar
  39. 39.
    Smolka, G.: A foundation for higher-order concurrent constraint programming. Technical report, Bundesminister für Forschung und Technologie (1994)Google Scholar
  40. 40.
    Spencer, J.: Architecture description markup language (ADML) creating an open market for IT architecture tools. Disponible en, Septiembre 2000.
  41. 41.
    Zuo, W., Feng, J., Zhang, J.: Model transformation from xUML PIMs to AADL PSMs. In: International Conference on Computing, Control and Industrial Engineering (CCIE), pp. 54–57 (2010)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Jorge Alejandro Rico García
    • 1
  • Henry Alberto Diosa
    • 1
    Email author
  1. 1.ARQUISOFT Research Group, Engineering FacultyUniversidad Distrital Francisco José de CaldasBogotáColombia

Personalised recommendations