Samples of My Work

All of the examples below were either written independently of work or presented here with permission of the company for whom the work was done.

Formal Assertions

Formal Assertions are specifications with 'teeth'. They implement the Design by Contract principle put forth by Bertrand Meyer in his classic work Object Oriented Software Construction, first published in 1988. Meyer added Formal assertions to his Eiffel language. It is by far the most important contribution Eiffel makes to programming. Unfortunately, it has not been emulated anywhere. I was greatly influenced by that book, and implemented Formal Assertions as language features (portable "extensions", if you will) in C and C++. I have been using this construct in all my work--with great success--since 1989. I documented my use of this construct here.

Enhancing Java

Once I started working with Java, I immediately missed some key features: Eiffel had Formal Assertions, (which I had already adapted to use with C and C++). C and C++ had header files, which--used properly--are excellent for distributing pure API information. Java was missing both of these, so I added these features to the language. See how I adapted Java to provide pure APIs in pure Java here.

Sample module design

Prior to moving back to the East Coast, I was able to secure permission from Live Picture to show some work samples. Among them is this example taken from a technical specification, which shows my design approach to reducing surface area between modules. These diagrams precede my UML work. Nevertheless, they communicate certain critical design parameters in a uniquely effective way.

Source Code Management -- Best Practices

I have been a force for the improvement of software development methods for multiple companies (Live Picture, Pantone, Tempest Software), including the proper archiving of source code. This paper presents the most effective way to use one source code management system (in this case, Source Safe).