EVALUATION OF UML IN PRACTICE - Experiences in a Traffic Management Systems Company

Michel dos Santos Soares, Jos Vrancken


This article is about research performed by the authors into improving the Software Engineering process at an company that develops software-intensive systems. The company develops road traffic management systems using the object-oriented paradigm, and UML as the visual modeling language. Our hypothesis is that UML has some difficulties/drawbacks in certain system development phases and activities. Many of these problems were reported in the literature normally after applying UML to one project and/or studying the language’s formal specifications and comparing with other languages. Unfortunately, few publications are based on surveys and interviews with practitioners, i.e., the developers and project managers that are using UML in real projects and are frequently facing these problems. As a matter of fact, some relevant questions were not fully addressed in past research, mainly related to UML problems in practice. The purpose of this text is to report the main findings and the proposed improvements based on other methods/languages, or even considering UML diagrams that are not often used. The research methodology involved surveys, interviews and action research with a system developed in order to implement the recommendations and evaluate the proposed improvements. The recommendations were considered feasible, as they are not proposing to radically change the current situation, which would involve higher costs and risks.


  1. Agarwal, R. and Sinha, A. P. (2003). Object-oriented Modeling with UML: a Study of Developers' Perceptions. Communications of the ACM, 46(9):248-256.
  2. Anda, B., Hansen, K., Gullesen, I., and Thorsen, H. K. (2006). Experiences from Introducing UML-based Development in a Large Safety-Critical Project. Empirical Software Engineering., 11(4):555-581.
  3. André, C., Mallet, F., and de Simone, R. (2007). Modeling Time(s). In ACM-IEEE, editor, 10th International Conference on Model Driven Engineering Languages and Systems (MODELS 7807), pages 559-573, Nashville, TN, USA. Springer Verlag.
  4. Avison, D. E., Lau, F., Myers, M. D., and Nielsen, P. A. (1999). Action research. Communinations of the ACM, 42(1):94-97.
  5. Bannerman, P. L. (2008). Capturing business benefits from process improvement: four fallacies and what to do about them. In BiPi 7808: Proceedings of the 1st international workshop on Business impact of process improvements, pages 1-8, New York, NY, USA. ACM.
  6. Beneken, G., Hammerschall, U., Broy, M., Cengarle, M. V., Jürjens, J., Rumpe, B., and Schoenmakers, M. (2003). Componentware - State of the Art 2003. In Proceedings of the CUE Workshop Venedig.
  7. Blankenhorn, K. and Jeckle, M. (2004). A UML Profile for GUI Layout. In Weske, M. and Liggesmeyer, P., editors, Net.ObjectDays, volume 3263 of Lecture Notes in Computer Science, pages 110-121. Springer.
  8. Booch, G., Rumbaugh, J., and Jacobson, I. (2005). Unified Modeling Language User Guide, The (2nd Edition) (The Addison-Wesley Object Technology Series). Addison-Wesley Professional.
  9. Bowen, J. P. and Hinchey, M. G. (2005). Ten commandments revisited: a ten-year perspective on the industrial application of formal methods. In FMICS 7805: Proceedings of the 10th international workshop on Formal methods for industrial critical systems, pages 8-16, New York, NY, USA. ACM.
  10. Collins, W. D., Rasch, P. J., Eaton, B. E., Fillmore, D. W., Kiehl, J. T., Beck, C. T., and Zender, C. S. (1996). Message Sequence Charts (MSC. In ITU-TS Recommendation Z.120, page 2002.
  11. Davis, J. F. (2005). The affordable application of formal methods to software engineering. Ada Lett., XXV(4):57-62.
  12. Dobing, B. and Parsons, J. (2006). How UML is used. Communications of the ACM, 49(5):109-113.
  13. Eichner, C., Fleischhack, H., Meyer, R., Schrimpf, U., and Stehno, C. (2005). Compositional Semantics for UML 2.0 Sequence Diagrams Using Petri Nets. In SDL Forum, pages 133-148.
  14. Fiege, L., Cilia, M., Muhl, G., and Buchmann, A. (2006). Publish-Subscribe Grows Up: Support for Management, Visibility Control, and Heterogeneity. IEEE Internet Computing, 10(1):48-55.
  15. Hardgrave, B. C. and Armstrong, D. J. (2005). Software process improvement: it's a journey, not a destination. Communications of the ACM, 48(11):93-96.
  16. Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231-274.
  17. Henderson-Sellers, B. (2005). UML - the Good, the Bad or the Ugly? Perspectives from a panel of experts. Software and System Modeling, 4(1):4-13.
  18. Herbsleb, J. D. and Goldenson, D. R. (1996). A systematic survey of CMM experience and results. In ICSE 7896: Proceedings of the 18th International Conference on Software Engineering, pages 323-330, Washington, DC, USA. IEEE Computer Society.
  19. Jacobson, I. (2004). Use cases - Yesterday, today, and tomorrow. Software and System Modeling., 3(3):210- 220.
  20. Kruchten, P. (1995). Architectural Blueprints-The “4+1” View Model of Software Architecture. IEEE Software, 12(6):42-50.
  21. L ópez-Grao, J. P., Merseguer, J., and Campos, J. (2004). From UML Activity diagrams to Stochastic Petri nets: application to software performance engineering. In WOSP 7804: Proceedings of the 4th international workshop on Software and performance, pages 25-36, New York, NY, USA. ACM.
  22. Murata, T. (1989). Petri Nets: Properties, Analysis and Applications. Proceedings of the IEEE, 77(4):541-580.
  23. OMG (2006). Meta-Object Facility (MOF) Core Specification Version 2.0.
  24. OMG (2007). Unified Modeling Language (UML), Superstructure version 2.1.1.
  25. OMG (2008a). Systems Modeling Language (SysML) Version 1.1.
  26. OMG (2008b). UML Profile for MARTE, Beta 2.
  27. Rainer, A. and Hall, T. (2003). A quantitative and qualitative analysis of factors affecting software processes. Journal of Systems and Software, 66(1):7-21.
  28. Robinson, W. N., Pawlowski, S. D., and Volkov, V. (2003). Requirements Interaction Management. ACM Computing Surveys, 35(2):132-190.
  29. Simons, A. J. H. (1999). Use Cases Considered Harmful. In In 29th Conference on Technology of Object-Oriented Languages and Systems, pages 194-203. IEEE Computer Society.
  30. Soares, M. S., Julia, S., and Vrancken, J. (2008). Realtime Scheduling of Batch Systems using Petri Nets and Linear Logic. Journal of Systems and Software, 81(11):1983-1996.
  31. Soares, M. S. and Vrancken, J. (2008a). A Metamodeling Approach to Transform UML 2.0 Sequence Diagrams to Petri Nets, volume 1, pages 159-164. ACTA Press.
  32. Soares, M. S. and Vrancken, J. (2008b). Model-Driven User Requirements Specification using SysML. Journal of Software, 3(6):57-68.

Paper Citation

in Harvard Style

dos Santos Soares M. and Vrancken J. (2009). EVALUATION OF UML IN PRACTICE - Experiences in a Traffic Management Systems Company . In Proceedings of the 11th International Conference on Enterprise Information Systems - Volume 3: ICEIS, ISBN 978-989-8111-86-9, pages 313-319. DOI: 10.5220/0001850903130319

in Bibtex Style

author={Michel dos Santos Soares and Jos Vrancken},
title={EVALUATION OF UML IN PRACTICE - Experiences in a Traffic Management Systems Company},
booktitle={Proceedings of the 11th International Conference on Enterprise Information Systems - Volume 3: ICEIS,},

in EndNote Style

JO - Proceedings of the 11th International Conference on Enterprise Information Systems - Volume 3: ICEIS,
TI - EVALUATION OF UML IN PRACTICE - Experiences in a Traffic Management Systems Company
SN - 978-989-8111-86-9
AU - dos Santos Soares M.
AU - Vrancken J.
PY - 2009
SP - 313
EP - 319
DO - 10.5220/0001850903130319