I was driving to work the other day and I came to a shocking conclusion, I had accidentally patented Aspect Oriented Programming (AOP)! Actually the kind of interception based dynamic AOP. Yes, the kind of AOP that JBoss Group LLC is so actively promoting. Intrigued? Well read on, here’s my story.
I started working for IBM as a consultant in the mid 90′s, I was hired by IBM because I had a special skill, I had actually developed programs using a class library from an obscure company called StarDivision. Years later StarDivision is purchased by Sun, and that libary becomes the basis of what we know now as OpenOffice or StarOffice.
Well one day BusinessWeek publishes an article about IBM’s main excursion in e-Commerce. There’s a screenshot of an IBM project with a caption that’s identical to what we were buiding at the time, unfortunately that wasn’t a screenshot of our project! A few days later, mass reorganization! I was moved now to developing a class library for a “subsumption and constraint based” engine.
We were essentially tasked with redesigning an existing Lisp based implementation and porting it to C++. We spent several months in design sessions and struggling to make Rational Rose do round-tripping correctly. One design problem was that we needed to dynamically change the way the knowledge engine checked the semantic correctness of each operation. That’s when I came up with my idea, every client talks to a proxy which delegates to chain of command objects that can be dynamically configured. A simple idea, a play with design patterns, a decent solution.
Years later after I had left the project for another IBM project. One day I’m told that my name is part of patent that’s being filed. See in a big company like IBM, it’s imperative that a patent be filed for any product that gets commercialized. So what they do is dig up anything “innovative” about a software design, phrase the design in terms of hardware and file a patent. It turns out, my design was worthy of such “recognition”.
The patent application goes through the process and is eventually awarded. For my efforts, I get rewarded with a “night-out-in-town”. My wife and I spend that on theater and dining at the “Windows of the World” restaurant at the WTC. The Broadway show has been shutdown, the restaurant obliterated, but the patent lives on.
That’s my story, a story played thousands of times every year at IBM.