UML4UI: UML as a foundation for model-based and model-driven user interface engineering
摘要
Model-Based and Model-Driven Engineering provide systematic means to manage the complexity of modern User Interface (UI) development by elevating models to first-class artifacts. Both approaches express multiple abstraction levels of the UI, while the latter uses model transformations to move between them. Both ensure consistency, improve reusability, reduce coding effort, and strengthen traceability across levels. However, several challenges remain. This paper examines the role of the Unified Modeling Language (UML) as a foundational modeling framework for both approaches. We show how UML can be used to (meta-)model presentational, behavioral, and interaction aspects across various abstraction levels, from task and domain models, through abstract and concrete UI specifications, and down to final UIs. Forward engineering produces UIs from models, reverse engineering recovers models from existing UIs, and lateral engineering adapts them to the context of use. Using a running example, we compare Model-Based and Model-Driven Engineering and derive some insights into the practical use of UML to address recurring challenges in UI development. We further provide a comparative discussion of UML-based approaches by reviewing existing work, namely UI Description Languages (UIDLs) as domain-specific modeling notations for UI development. We identify open research challenges that must be addressed to fully leverage UML as a comprehensive and standardized modeling and transformation framework for UI development.