Abstract
We discuss how Umple merges modeling and programming by adding modeling constructs to programming languages and vice-versa. Umple has what we call model-code duality; we show how it fulfills key attributes of being both a programming language and a modeling technology. Umple also has what we call text-diagram duality in that the model or code can be updated by editing the textual or diagram form. We give an example of Umple, and explain how key benefits of textual programming languages are found in Umple, as are important features of modeling technology.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Umple.org, Model-Oriented Programming. http://www.umple.org
Ludewig, J.: Models in software engineering – an introduction. Softw. Syst. Model 2, 5–14 (2003)
Forward, A.: The convergence of modeling and programming: facilitating the representation of attributes and associations in the Umple model-oriented programming language, Ph.D. thesis, University of Ottawa (2010). http://www.site.uottawa.ca/~tcl/gradtheses/aforwardphd/
Badreddin, O., Forward, A., Lethbridge, T.C.: Improving code generation for associations: enforcing multiplicity constraints and ensuring referential integrity. In: Lee, R. (ed.) SERA 2013. SCI, vol. 496, pp. 129–149. Springer, Heidelberg (2013). http://dx.doi.org/10.1007/978-3-319-00948-3_9
Badreddin, O., Lethbridge, T.C., Forward, A., Elasaar, M. Aljamaan, H., Garzon, M.: Enhanced code generation from UML composite state machines. In: MODELSWARD 2013, Portugal (2014)
Adesina, O.: integrating formal methods with model-driven engineering. In: Models 2015 Doctoral Symposium (2015). http://ceur-ws.org/Vol-1531/paper2.pdf
UmpleOnline. http://try.umple.org
Lethbridge, T.C.: Teaching modeling using umple: principles for the development of an effective tool. In: CSEET 2014, Klagenfurt Austria. IEEE Computer Society (2014)
Lethbridge, T., Mussbacher, G., Forward, A., Badreddin, O.: Teaching UML using umple: applying model-oriented programming in the classroom. In: CSEE&T 2011, pp. 421–428 (2011). doi:10.1109/CSEET.2011.5876118
Github Umple. https://github.com/umple/umple
Aljamaan, H., Lethbridge T.C.: MOTL: a textual language for trace specification of state machines and associations. In: CASCON 2015. ACM (2015)
Badreddin, O., Lethbridge, T.C., Forward, A.: A novel approach to versioning and merging model and code uniformly. In: MODELSWARD 2014, Portugal (2014)
Ducasse, S., Nierstrasz, O., Schärli, N., Wuyts, R., Black, A.P.: Traits: a mechanism for fine-grained reuse. ACM Trans. Program. Lang. Syst. 28(2), 331–388 (2006)
Abdelzad, V., Lethbridge, T.C.: Promoting traits into model-driven development. Softw. Syst. Model. (2015). doi:10.1007/s10270-015-0505-x. Springer
JetToUmpleTL. https://github.com/umple/JETToUmpleTL
Badreddin, O., Forward, A., Lethbridge, T.C.: A test-driven approach for developing software languages. In: MODELSWARD 2014, Portugal (2014)
Badreddin, O., Lethbridge, T.C., Elassar, M.: Modeling practices in open source software. In: Petrinja, E., Succi, G., Ioini, N., Sillitti, A. (eds.) OSS 2013. IFIP AICT, vol. 404, pp. 127–139. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38928-3_9
Badreddin, O., Forward, A., Lethbridge, T.C.: Exploring a model-oriented and executable syntax for UML attributes. In: Lee, R. (ed.) SERA 2013. SCI, vol. 496, pp. 33–53. Springer, Heidelberg (2013). http://dx.doi.org/10.1007/978-3-319-00948-3_3
Husseini Orabi, M., Husseini Orabi, A., Lethbridge, T.C.: Umple as a component-based language for the development of real-time and embedded applications. In: MODELSWARD 2016 (2016)
Github Umple: Open-Source License for the Umple Model-Oriented Software Technology. https://github.com/umple/umple/blob/master/LICENSE.md
Github Umple: Umple Metamodel. http://metamodel.umple.org
Badreddin, O., Forward, A., Lethbridge, T.: Model oriented programming: an empirical study of comprehension. In: CASCON. ACM (2012)
Badreddin, O., Lethbridge, T.: Combining experiments and grounded theory to evaluate a research prototype: lessons from the umple model-oriented programming technology. In: 2012 First International Workshop on User evaluation for Software Engineering Researchers (USER 2012), in conjunction with ICSE 2012, pp. 1–4 (2012). doi:10.1109/USER.2012.6226575
Aljamaan, H.: Model-oriented tracing language: producing execution traces from tracepoints injected into code generated from uml models, Ph.D. thesis, University of Ottawa (2015). https://www.ruor.uottawa.ca/handle/10393/33419
Adesina, O., Lethbridge, T., Somé, S.: A fully automated approach to discovering non-determinism in state machine diagrams. In: 10th International Conference on the Quality of Information and Communications Technology, Portugal (2016)
Acknowledgements
We would like to thank the following for supporting the development of Umple over the years: NSERC through Discovery Grants, the Ontario Research Fund (ORF), and IBM who supported much of the early development of Umple. We would also like to acknowledge the over-60 open-source developers of Umple.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Lethbridge, T.C., Abdelzad, V., Husseini Orabi, M., Husseini Orabi, A., Adesina, O. (2016). Merging Modeling and Programming Using Umple. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016. Lecture Notes in Computer Science(), vol 9953. Springer, Cham. https://doi.org/10.1007/978-3-319-47169-3_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-47169-3_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47168-6
Online ISBN: 978-3-319-47169-3
eBook Packages: Computer ScienceComputer Science (R0)