6 MULTIPATH TRANSFORMATIONAL DEVELOPMENT OF USER INTERFACES WITH GRAPH TRANSFORMATIONS Quentin Limbourg* and Jean Vanderdonckt** *SmalS-MvM Av. Prince Royal, 102 – B-1050 Brussels, Belgium. **Belgian Laboratory of Computer-Human Interaction (BCHI), Louvain School of Management (LSM), Universit´e catholique de Louvain Place des Doyens, 1 – B-1348 Louvain-la-Neuve, Belgium. Abstract. In software engineering, transformational development is aimed at devel- oping computer systems by transforming a coarse-grained specification of a system to its final code through a series of transformation steps. Transformational development is known to bring benefits such as: correctness by construction, explicit mappings be- tween development steps, and reversibility of transformations. No comparable piece exists in the literature that provides a formal system applying transformational devel- opment in the area of user interface engineering. This chapter defines such a system. For this purpose, a mathematical system for expressing specifications and transforma- tion rules is introduced. This system is based on graph transformations. The problem of managing the transformation rules is detailed, e.g., how to enable a developer to access, define, extend, restrict or relax, test, verify, and apply appropriate transforma- tions. A tool supporting this development paradigm is also described and exemplified. Transformational development, applied to the development of user interfaces of inter- 107