Home | Issues | Profile | History | Submission | Review
Vol: 49(63) No: 3 / September 2004

Software Design Trade-Offs in Highly Configurable User Interface Construction
Tihamer Levendovszky
Department of Automation and Applied Informatics, Budapest University of Technology and Economics, Magyar tudosok korutja 2. Room: IB 152, H-1111 Budapest, Hungary, e-mail: tihamer@aut.bme.hu
Laszlo Angyal
Department of Automation and Applied Informatics, Budapest University of Technology and Economics, Magyar tudosok korutja 2. Room: IB 152, H-1111 Budapest, Hungary, e-mail: angyusz@axelero.hu
Hassan Charaf
Department of Automation and Applied Informatics, Budapest University of Technology and Economics, Magyar tudosok korutja 2. Room: IB 152, H-1111 Budapest, Hungary, e-mail: hassan@aut.bme.hu


Keywords: .NET, software design, design patters, generative programming, user interface, CodeDOM, reflection

Abstract
The architectural design of a system is a high-level design aiming at a flexible structure that satisfies all the important requirements and still leaves a large degree of freedom for the implementation. Our goal was to create an illustrative case study, an environment which offers direct visualization for feature models but still generic enough to allow creating a wide variety of models including all diagrams specified by UML. We wanted to achieve adaptability, flexibility and extendibility by using loadable plugins which contain several new features, objects that can be useable immediately after the environment loaded them. This paper summarizes the concepts and experiences related to the implementation of such a system, focusing on the design trade-offs between design patterns and generative programming.

References
[1] Krzysztof Czarnecki and Ulrich W. Eisenecker: Generative Programming - Methods, Tools, and Applications, Addison-Wesley, June 2000
[2] E. Gamma, R. Helm, R. Johnson, and J. Vlissides: Design Patterns – Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
[3] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal: Pattern-Oriented Software Architecture I: A System of Patterns, John Wiley & Sons, 1996
[4] F. Budinsky, M. Finnie, P. Yu, J. Vlissides: Automatic code generation from Design Patterns, 1999
[5] T. Levendovszky, L. Lengyel, H. Charaf: Software composition with a multipurpose modeling and model transformation framework, Budapest 2003
[6] AGSI and screenshots of the introduced user interface also available at: http://avalon.aut.bme.hu/~tihamer/research/agsi/index.html
[7] M. Fowler, K. Scott: UML Distilled 2nd Edition, Addison Wesley, 1999
[8] Microsoft Visual Studio .NET 2003: http://msdn.microsoft.com/vstudio/
[9] Ulrich Breymann, Krzysztof Czarnecki, Ulrich Eisenecker: Generative Components: One Step Beyond Generic Programming, Schloß Dagstuhl, 1998