Modeling Practices in Open Source Software

  • Omar Badreddin
  • Timothy C. Lethbridge
  • Maged Elassar
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 404)

Abstract

It is widely accepted that modeling in software engineering increases productivity and results in better code quality. Yet, modeling adoption remains low. The open source community, in particular, remains almost entirely code centric. In this paper, we explore the reasons behind such limited adoption of modeling practices among open source developers. We highlight characteristics of modeling tools that would encourage their adoption. We propose Umple as a solution where both modeling and coding elements are treated uniformly. In this approach, models can be manipulated textually and code can be edited visually. We also report on the Umple compiler itself as a case study of an open source project where contributors, using the above approach, have and continue to routinely commit code and model over a number of years.

Keywords

Open source UML Modeling Coding Version Control Model Merging Model versioning Umple Model Driven Architecture 

References

  1. 1.
    Ye, Y., Kishida, K.: Toward an Understanding of the Motivation of Open Source Software Developers. In: Proceedings of the 25th International Conference on Software Engineering, pp. 419–429 (2003)Google Scholar
  2. 2.
    Selic, B.: Models, Software Models and UML. UML for Real, 1–16 (2004)Google Scholar
  3. 3.
    Forward, A., Badreddin, O., Lethbridge, T.C.: Perceptions of Software Modeling: A Survey of Software Practitioners. In: 5th Workshop from Code Centric to Model Centric: Evaluating the Effectiveness of MDD (C2M:EEMDD) (2010), http://www.esi.es/modelplex/c2m/papers.php
  4. 4.
    Ohlo: The Open Source Network, http://www.ohloh.net/ (accessed 2013)
  5. 5.
    Google Inc.: Chromium, http://www.chromium.org/Home (accessed 2013)
  6. 6.
    Robbins, J.: Adopting Open Source Software Engineering (OSSE) Practices by Adopting OSSE Tools. Perspectives on Free and Open Source Software, pp. 245–264. MIT Press (2005)Google Scholar
  7. 7.
    Hertel, G., Niedner, S., Herrmann, S.: Motivation of Software Developers in Open Source Projects: An Internet-Based Survey of Contributors to the Linux Kernel. Research Policy 32, 1159–1177 (2003)CrossRefGoogle Scholar
  8. 8.
    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, pp. 73–86 (2012)Google Scholar
  9. 9.
    Lethbridge T.C., Forward, A., Badreddin, O.: Umple Language Online, http://try.umple.org (accessed 2012)
  10. 10.
  11. 11.
    Lethbridge, T.C., Forward, A., Badreddin, O.: Umple Google Code Project (2012) code.umple.org
  12. 12.
    Badreddin, O.: An Empirical Experiment of Comprehension on Textual and Visual Modeling Approaches. University of Ottawa (2012), http://www.site.uottawa.ca/~tcl/gradtheses/obadreldin/
  13. 13.
    Badreddin, O.: A Manifestation of Model-Code Duality: Facilitating the Representation of State Machines in the Umple Model-Oriented Programming Language (2012)Google Scholar
  14. 14.
    Badreddin, O., Lethbridge, T.C.: A Study of Applying a Research Prototype Tool in Industrial Practice. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 353–356 (2010)Google Scholar
  15. 15.
    Badreddin, O., Lethbridge, T.C.: Combining Experiments and Grounded Theory to Evaluate a Research Prototype: Lessons from the Umple Model-Oriented Programming TechnologyGoogle Scholar
  16. 16.
    Verschuren, P., Hartog, R.: Evaluation in Design-Oriented Research. Quality & Quantity 39, 733–762 (2005)CrossRefGoogle Scholar
  17. 17.
    Atlassian: FishEye, http://www.atlassian.com/software/fisheye/overview (accessed 2013)
  18. 18.
    Iivari, J.: Why are CASE Tools Not used? Communications of the ACM 39, 94–103 (1996)CrossRefGoogle Scholar
  19. 19.
    Lethbridge, T.C., Forward, A., Badreddin, O.: Umplification: Refactoring to Incrementally Add Abstraction to a Program. In: Working Conference on Reverse Engineering, pp. 220–224 (2010)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Omar Badreddin
    • 1
  • Timothy C. Lethbridge
    • 1
  • Maged Elassar
    • 2
  1. 1.University of OttawaOttawaCanada
  2. 2.IBM Ottawa LaboratoriesOttawaCanada

Personalised recommendations