Modeling Meets Programming: A Comparative Study in Model Driven Engineering Action Languages

  • Maged Elaasar
  • Omar Badreddin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9953)


Modeling and programming have often been considered two different activities. While this may be true when modeling is primarily meant for human communication and early design explorations, it is not the case when modeling is meant for execution. Some approaches have been specifically developed to address this latter case with variable successes. In this paper, we discuss two such approaches, namely ALF and Umple. ALF has evolved from the modeling community to provide a textual syntax for an executable subset of UML called Foundation UML (fUML). Umple has evolved from the academic community to introduce the abstractions of modeling into programing languages. We compare both approaches, highlight their critical differences, and discuss their contribution to the evolution of model oriented programming languages.


Modeling Programming UML ALF Umple Model Driven Engineering Action language 


  1. 1.
    France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: 2007 Future of Software Engineering. IEEE Computer Society (2007)Google Scholar
  2. 2.
    Seidewitz, E.: UML with meaning: executable modeling in foundational UML and the Alf action language. ACM SIGAda Ada Lett. 34(3), 61–68 (2014)CrossRefGoogle Scholar
  3. 3.
    Zaytsev, V.: BNF was here: what have we done about the unnecessary diversity of notation for syntactic definitions. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing. ACM (2012)Google Scholar
  4. 4.
    Badreddin, O., Forward, A., Lethbridge, T.C.: Model oriented programming: an empirical study of comprehension. In: Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research. IBM Corp. (2012)Google Scholar
  5. 5.
    Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schindler, M., Völkel, S.: Design guidelines for domain specific languages (2014). arXiv preprint: arXiv:1409.2378
  6. 6.
    Bichler, L., Radermacher, A., Schuerr, A.: Evaluating UML extensions for modeling real-time systems. In: Proceedings of the Seventh International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS 2002). IEEE (2002)Google Scholar
  7. 7.
    Badreddin, O., Lethbridge, T.C.: Model oriented programming: bridging the code-model divide. In: Proceedings of the 5th International Workshop on Modeling in Software Engineering. IEEE Press (2013)Google Scholar
  8. 8.
    Lanusse, A., Tanguy, Y., Espinoza, H., Mraidha, C., Gerard, S., Tessier, P., Terrier, F.: Papyrus UML: an open source toolset for MDA. In: Proceedings of the Fifth European Conference on Model-Driven Architecture Foundations and Applications (ECMDA-FA 2009), pp. 1–4 (2009)Google Scholar
  9. 9.
    Neuendorf, D.: Review of MagicDraw UML® 11.5 professional edition. J. Object Technol. 5(7), 115–118 (2006)CrossRefGoogle Scholar
  10. 10.
    Tilley, S., Murphy, S., Huang, S.: 5th international workshop on graphical documentation: determining the barriers to adoption of UML diagrams. In: Proceedings of the 23rd Annual International Conference on Design of Communication: Documenting & Designing For Pervasive Information. ACM (2005)Google Scholar
  11. 11.
    Badreddin, O., Lethbridge, T.C., Elassar, M.: Modeling practices in open source software. In: Petrinja, E., Succi, G., El Ioini, N., Sillitti, A. (eds.) OSS 2013. IFIP AICT, vol. 404, pp. 127–139. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  12. 12.
    CanforaHarman, G., Di Penta, M.: New frontiers of reverse engineering. In: 2007 Future of Software Engineering. IEEE Computer Society (2007)Google Scholar
  13. 13.
    Oliveira, H., Murta, L., Werner, C. Odyssey-VCS: a flexible version control system for UML model elements. In: Proceedings of the 12th International Workshop on Software Configuration Management. ACM (2005)Google Scholar
  14. 14.
    Badreddin, O., Lethbridge, T.C., Forward, A.: A novel approach to versioning and merging model and code uniformly. In: 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD). IEEE (2014)Google Scholar
  15. 15.
    Laforcade, P., Choquet, C.: Next step for educational modeling languages: the model driven engineering and reengineering approach. null. IEEE (2006)Google Scholar
  16. 16.
    Badreddin, O., Lethbridge, T.C.: Combining experiments and grounded theory to evaluate a research prototype: Lessons from the umple model-oriented programming technology. In: Proceedings of the First International Workshop on User Evaluation for Software Engineering Researchers. IEEE Press (2012)Google Scholar
  17. 17.
    Badreddin, O., Lethbridge, T.C., Forward, A.: Investigation and evaluation of UML action languages. In: 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD). IEEE (2014)Google Scholar
  18. 18.
  19. 19.
    Fayad, M.E., Hawn, L.J., Roberts, M.A., Klatt, J.R.: Using the Shlaer-Mellor object-oriented analysis method. IEEE Softw. 10(2), 43–52 (1993)CrossRefGoogle Scholar
  20. 20.
    Jouault, F., Delatour, J.: Towards fixing sketchy UML models by leveraging textual notations: application to real-time embedded systems. In: OCL@ MoDELS (2014)Google Scholar
  21. 21.
    PlantUML modeling tool.
  22. 22.
    Sun, Y., Demirezen, Z., Mernik, M., Gray, J., Bryant, B.: Is my DSL a modeling or programming language? In: Proceedings of 2nd International Workshop on Domain-Specific Program Development, Nashville, US, p. 4 (2008)Google Scholar
  23. 23.
    Lazăr, C.-L., Lazăr, I., Pârv, B., Motogna, S., Czibula, I.-G.: Tool support for fUML models. Int. J. Comput. Commun. Control 5(5), 775–782 (2010)CrossRefzbMATHGoogle Scholar
  24. 24.
    Mellor, S., Balcer, M.: Executable UML: A Foundation for Model-Driven Architecture, 1st edn. Addison-Wesley, Reading (2002)Google Scholar
  25. 25.
    OMG, Precise Semantics of UML State Machine RFP, ad/15-03-02Google Scholar
  26. 26.
    OMG, Precise Semantics of UML Composite Structures v1.0, formal/2015-10-02Google Scholar
  27. 27.
    Badreddin, O.B., Sturm, A., Hamou-Lhadj, A., Lethbridge, T., Dixon, W., Simmons, R.: The effects of education on students’ perception of modeling in software engineering. In: First International Workshop on Human Factors in Modeling (HuFaMo 2015). CEUR-WS, pp. 39–46 (2015)Google Scholar
  28. 28.
    Eysholdt, M., Behrens, H.: Xtext: implement your language faster than the quick and dirty way. In: Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion. ACM (2010)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Modelware SolutionsLa Canada FlintridgeUSA
  2. 2.Electrical Engineering and Computer Science DepartmentUniversity of Texas at El PasoEl PasoUSA

Personalised recommendations