05 October, 2006

Which model for UI in the MDA?

User Interface (UI) is often an important part of an IT system, and MDA suggests to describe such a system as a set of related models. Finally, in our actual projects we'd like to follow an MDA process and to use MDA tools that could produce the executable code from models. In this scenario the UI is a domain of the whole system that requires to be modelled, with the ultimate goal of integrate it and generate it with all the other necessary application domains. I think that UML could be a good tool in describing some UI characteristics, for instance it might be possible to capture some common properties of the UI components: the displayable and editable class attributes, the navigation, the relation between class of forms, the common attributes of the UI components such as the “OK” action handler, the “Cancel” action handler and so on. But the responsibility of a modeller in the MDA context is to capture every application-significant aspect of a domain and, for the UI, properties like screen position, colours, dimensions, fonts, input masks, are fundamental requirements. At this point my personal idea is that UML alone it is not enough for a convenient modelling. Furthermore, we'd like to model UI in a WYSIWYG fashion. Maybe it turns out that a modelling tool, specifically designed for UI modelling, would be better: a rich application that let us draw a complete UI and produces the underlying UML. Often, formal input controls are also part of a non trivial UI, how can the tool cope with this kind of UI application logic? Are still the underlying UML and its meta model adequate? Or wouldn't be better to use a tool that generates a separate UI code module, that integrates with the other system domains with established interfaces, maybe forsaking this way the possibility of future XMI export and import?

0 comments: