DocumentCode :
2412676
Title :
Using Stealth Mixins to Achieve Modularity
Author :
Strandh, Robert ; Hamer, John ; Baumann, Gilbert
Author_Institution :
Lab. de Bordelais de Recherche en Informatique, Bordeaux I Univ., Talence
fYear :
2007
fDate :
10-13 April 2007
Firstpage :
111
Lastpage :
116
Abstract :
Organising a complex, interactive application into separate modules is a significant challenge. We would like to be able to evolve modules independently, and to add new modules into the system (or remove optional ones) without requiring major revisions to existing code. Solutions that rely on pre-planning when writing core modules are clumsy and error-prone, since programmers may omit to include all the required "hooks," unused hooks incur a runtime overhead, and any unanticipated extensions may still require significant code changes. Unfortunately, most languages do not provide adequate mechanisms for supporting the separation of modules. In this paper, we review partial solutions for typical object-oriented languages such as Java, and then present "stealth mixins", a much more satisfactory solution that can be built on top of Common Lisp. The Common Lisp solution was developed for Gsharp, a sophisticated graphical music score editor, and the technique has been used extensively throughout the program. We use Gsharp as a running example throughout this paper. However, the ideas are applicable to a wide range of applications.
Keywords :
LISP; abstract data types; macros; music; object-oriented languages; text editing; Common Lisp macros; Gsharp; abstract data types; graphical music score editor; object-oriented languages; Application software; Australia; Computer science; Java; Object oriented modeling; Page description languages; Programming profession; Runtime; Sections; Writing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering Conference, 2007. ASWEC 2007. 18th Australian
Conference_Location :
Melbourne, Vic.
ISSN :
1530-0803
Print_ISBN :
0-7695-2778-7
Type :
conf
DOI :
10.1109/ASWEC.2007.52
Filename :
4159664
Link To Document :
بازگشت