Umple as a Template Language (Umple-TL)

Mahmoud Orabi, Ahmed Orabi, Timothy Lethbridge

2019

Abstract

We extend Umple, a model-oriented programming language, to incorporate text emission from templates as an integral feature. Umple as a template language (Umple-TL) is the term we use to describe the template sublanguage of Umple. Using Umple-TL, developers can benefit from synergies among UML modelling, templating and programming in several target languages (Java, C++), all in one textual language – Umple. Umple itself is written in Umple; using Umple-TL, we eliminated Umple's dependency on third-party libraries for text emission. We also support any other application developed in JET to be converted to use Umple-TL and attain benefits such as smaller and faster executables, target-language independence and IDE independence. The word ‘template’ in this paper refers to patterns for the generation of output, and not to generic types, another common use of the term.

Download


Paper Citation


in Harvard Style

Orabi M., Orabi A. and Lethbridge T. (2019). Umple as a Template Language (Umple-TL).In Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-358-2, pages 98-106. DOI: 10.5220/0007382000980106


in Bibtex Style

@conference{modelsward19,
author={Mahmoud Orabi and Ahmed Orabi and Timothy Lethbridge},
title={Umple as a Template Language (Umple-TL)},
booktitle={Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2019},
pages={98-106},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0007382000980106},
isbn={978-989-758-358-2},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Umple as a Template Language (Umple-TL)
SN - 978-989-758-358-2
AU - Orabi M.
AU - Orabi A.
AU - Lethbridge T.
PY - 2019
SP - 98
EP - 106
DO - 10.5220/0007382000980106