In our books and courses, we describe various goodies that you can have for free. Some of these goodies are code. There are no warranties or guarantees for any of this code - it is not production code, and it is shared with you for experimentation purposes only. All this code is released under the GNU General Public License.

Secrets Tat Shop

Suffering from existential angst? Feeling that it might all somehow be more worthwhile if only you had more tat? Don’t despair! Visit the Secrets of Analysis Tat Shop on Cafe Press. 

A few of our readers really like some of the figures in Secrets, so we are making them available inscribed on precious tat such as mugs and T shirts. We’re starting with our Dissonant Duck, because we all know someone like that, don’t we...

Semantic Highlighter

This is a very simple (but quite useful) tool that I describe in detail in “Secrets of Analysis”.

I have recently simplified all the code, and moved it from Python 2.7/wxPython to Python 3/TkInter. It is now much easier to use and to modify, if you need to. 

You can get it from GitHub:


The SemanticHighlighterREADME.pdf will tell you how to set it up, and how it works.

I have now created a more advanced version that has integration (via the Natural Language Tool Kit) with Princeton WordNet:


Idea: How about making this a plug-in for Microsoft Word????

Ruby Workspaces

An implementation of Smalltalk workspaces for Ruby. What does this mean? A workspace is a simple text editor in which you can write text and embed and execute Ruby code. This allows you to create "booklets" of executable Ruby snippets. The workspace idea is in some ways superior to IRB, because whilst you have the same level of interactivity as IRB, you can see everything you have typed and executed on one page. You can also save the pages to refer to later.

Informit article on Generative Analysis

Generative Analysis is a new approach to OOAD that we describe in our book "Secrets of Analysis".

Original Literate Modelling paper

This is the original paper on Literate Modelling.

Literate Modelling chapter from Enterprise Patterns and MDA

A sample chapter from Enterprise Patterns and MDA on Literate Modelling.

A link to Literate Process Modelling research

Research into Literate Modelling as applied to BPMN process models at the University of Innsbruck.

Rules engine

A simple Python implementation of the Rule Archetype Pattern from "Enterprise Patterns and MDA". Note: this is written in as general way as possible (Python almost as pseudo-code) so that it can be easily ported to other languages - it is definitely NOT idiomatic Python. Our friend, Greg Swindle, has a very nice PHP implementation here.

Worked example for UML and the Unified Process

This worked example is getting a bit old now, although it is still very useful. It has been superseded by the incredibly detailed worked example in "Secrets of Analysis".

© Clear View Training 2012