In 1974, I was awarded one of the first bachelors degrees in Computer Science from the University of Essex. Previously, computing was considered a part of electronics engineering or of mathematics. I became a summer student and then full-time employee at the Conseil de la Recherche Nucleaire (CERN) in Geneva, Switzerland. I wrote several code generators for BCPL, a predecessor to C. Because CERN is an international organization, computers were purchased from several countries, which led to a need to link them. Once code generators were in place, networking software was placed in each node. After I left, techniques were devised to address the several nodes---the beginnings of the world-wide web. I also built a linker to allow FORTRAN programs to be loaded into the interpretive environment that controlled the Super-Proton-Supercollider (SPS). This enabled physicists to perform analysis.
In 1997, I joined the Real-Time Systems Group at Lawrence Berkeley Laboratory run by the University of California. I provided system support software for several projects, including a accelerators at both the Stanford Linear Accelerator Center and LBL, and a Tokomak Fusion Test Reactor.
By 1979, I was the leader of this group, younger than every person in it. Two members of the group went on to found Wind River Systems (NASDAQ: WIND). Several people were assigned to a new project to replace the software for the Bay Area Rapid Transit System (BART), and I collaborated there with the leader of their systems group, Sally Shlaer.
In the early eighties, I consulted for Yourdon, Inc., a New York City-based company founded by Edward Yourdon. My role was to teach the courses to real-time customers who needed someone to speak “their language”.
In 1982, I joined Yourdon full time to redevelop the IT-based courses for real-time, collaborating with Paul Ward on these courses. The Ward-Mellor method was published in the seminal trilogy Structured Development for Real Time Systems in 1985. Using the techniques developed there, we also completely restructured the IT curriculum, and consulted at more companies that I can count.
In 1985, I founded Project Technology, Inc with Sally Shlaer. We aimed to provide consulting services, but by 1987 were also teaching courses to convey the techniques to our customers faster. It is during this period that we developed the techniques behind the Shlaer-Mellor method, and the first book on the subject was published in 1988, Object-Oriented Analysis: Modeling the World in Data, followed in 1992 by Object Lifecycles: Modeling the World in States. By this time the company had grown to over thirty people, and I had become its president.
However, while the method described a method for automating executable models, there were no tools to support it, other than drawing tools. In 1995, we purchased a tool that did just that: BridgePoint. We also created the first model compiler in this period. And hired a new CEO.
In 1997, the Unified Modeling Language became a standard of the Object Management Group. This effort started earlier as the Unified Method, which we thought overambitious, and, in my biggest professional error, we decided not to participate. By 1998, the impossible task of running a combined service and product company and the growing power of the UML nearly brought the company to its knees.
We retrenched, employed UML notation, and I took on the task of adding a semantics for actions to the UML. This is necessary for the UML to be executable, not just a sketch of the software. This work culminated in 2002 with the adoption of the standard and the publication of Executable UML: A Foundation for Model-Driven Architecture, with Marc Balcer.
In 1997, IEEE Software published Recursive Design of an Application-Independent Architecture, which laid out many of the principles of Model-Driven Architecture (MDA). Later that year, I guest-edited, with Ralph Johnson, a special issue on Object Methods, Patterns, and Architectures. Meanwhile, I was appointed to the magazine‚’s Advisory Board, which sets the direction by proposing special topics and championing them. I became chair of the Advisory Board in 2004, the same year we published a special issue on Model-Driven Development (with Tony Clark and Takao Futagami).
I published, with Kendall Scott, Axel Uhl, and Dirk Weise, MDA Distilled: Principles of Model-Driven Architecture, also in 2004. Due to my continuing work at the Object Management Group, I was elected to the Architecture Board. This body is the final technical gateway for all specifications. I also became an Adjunct Professor at the Australian National University (ANU).
Also in 2004, my company was acquired by Mentor Graphics, Corp. (NASDAQ: MENT), and we joined the Embedded Systems Division, where I became Chief Scientist. We began the work of defining executable UML as a standard. Such a standard will allow UML models to be interchanged across different tools, just like programs.
Throughout the years, I have spoken at conferences, some commercial (such as CMP’s Embedded Systems Conference, seventeen years now and still going), and some academic (OOPSLA, <<UML>>, SEKE, MUSE). And I have acted as reviewer and Program Chair for several <<UML 2004>> and SEKE for example. I have also published many articles, letters, and opinion pieces. An incomplete list can be found at: http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/m/Mellor:Stephen_J=.html.
In 2006, Mentor Graphics Corporation changed its strategy with respect to my company’s products. Rather than a horizontal strategy that sold UML tools for execution and translation, it repositioned the product for specific vertical markets (automotive, telecom, etc.) Accordingly, I became a free agent, consulting for them and others, speaking at conferences, and developing courses.