colored graph transformation rules for model-driven engineering of multi-target systems
Multi-target systems are interactive systems that are aimed at covering multiple contexts of use: by enabling users to carry out their tasks thanks to different input and output interaction modalities, these systems should support multiple computing platforms, multiple users, and multiple environments. This paper introduces a model-driven engineering method for developing user interfaces for such multi-target systems. It relies on a transformational approach that applies graph transformation rules on a graph representation of the models in order to support model-to-model transformation. In order to factor out parts that are common in transformation rules used for similar contexts of use, the notion of colored graph transformation is introduced. Each model element is assigned to a specific color depending on the desired target, here the interaction modality involved. Colored transformation rules based on these colored model elements can be therefore specified and applied in order to produce various user interfaces with different modalities of interaction, depending on the context of use. For this purpose, operations over colored transformation rules are defined: a monocolored transformation rule produces a monomodal user interface for a single context of use (single-target system) while multicolored rules embed capabilities for producing a multimodal user interface for multiple contexts of use (multi-target system). The benefits of using multicolored transformation rules over monocolored ones are obtained in terms of number of rules to specify and to apply, in terms of performance of applying these rules and degree of scalability when a new rule corresponding to a new interaction modality should be introduced.
graph transformation rules model-driven engineering multi-target systems colored transformation rules monocolored transformation rule multimodal user interfaces multicolored transformation rule user interface description language