This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
2007 Australian Software Engineering Conference (ASWEC'07)
Using Stealth Mixins to Achieve Modularity
Melbourne, Australia
April 10-April 13
ISBN: 0-7695-2778-7
Robert Strandh, Universite Bordeaux 1, France
John Hamer, University of Auckland, New Zealand
Gilbert Baumann, base engineering, Germany
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.

Citation:
Robert Strandh, John Hamer, Gilbert Baumann, "Using Stealth Mixins to Achieve Modularity," aswec, pp.111-116, 2007 Australian Software Engineering Conference (ASWEC'07), 2007
Usage of this product signifies your acceptance of the Terms of Use.