Software & Lego

In order to explain the principles of software composition and composition anomalies, we have been looking for more 'physical' metaphors, which help people to look and play with the concepts in a better known/more comfortable manner. One obvious, and much used metaphor for software components are LEGOTM blocks. We are currently investigating the application of Lego blocks to the education of software composition and Composition Filters.

Here's an example of a Composition Filters object built from LEGO:

watisdit.jpg (245001 bytes)

bulletOn the left-front side, there are four methods, built from 4 colors of statements/code fragments (marine, red, yellow, green
bulletOn the right/front side, there are three composition filters, each based on a black tile, with a blue filter type and three pairs of matching/substitution elements.
bulletIn the middle are four internal objects, some consisting of nested objects

I used the following free-ware tool to draw these pictures quite easily (you need to get used to it a bit to understand how to navigate the 3-D space): It is called BlockCAD, here's the home-page:

blockCADbanner.gif (7098 bytes)

You can download the program from here as well (a self-extracting archive, runs on Windows 9x/NT).

Finally, here's some WordArt:

sact2000 legologo.jpg (150397 bytes)

More to come in the future (?)..