This is LAC -- "Lua Aspectual Components" -- as described in "Combining Composition Styles in the Evolvable Language LAC" (http://swt.cs.tu-berlin.de/~stephan/publications/index.html#ICSE01) Of course you need the Lua executable (version >= 4.0) in your path. (available from http://www.lua.org) Please note, that this is a language experiment, rather than a production language ;-) The tests subdirectory contains a few examples that can be invoked as lua lac.lua tests//test.lac where is one of: CP, PubSub, data, expr. CP: a direct implementation of a Composition Pattern which applies the observer pattern to a simple library application. PubSub: A variant of the observer pattern, which shows the alternatives of using different connector types. data: applying two different collaborations (access counting and locking) to the same base class (a stack). expr: separate modules for general traversal of composite structures, binding thereof to a expression type hierarchie, and refinement for pretty printing and evaluation. mnm: "miles and more" example: abstract bonus-earning collaboration with application to flight-booking (two levels: normal and VIP). Also an abstract collaboration for automatic activation of a context that may be associated with a specific base object. See also the READMEs in the tests subdirectories. A sophisticated script for transparent program start is not included, so beware of paths to source files. If you want to observe the weaving process, enable the weavelog function in util.lua. Last updated: 09.02.2002 by Stephan Herrmann