Attended the Canberra Java Users Group (CJUG) monthly meeting last night.
The speaker was Stephen Mellor, Chief Scientist, Mentor Graphics and author.
Currently he is doing work in the area of Model-Driven Architecture (MDA). His latest title is ‘MDA Distilled: Principles of Model-Driven Architecture’ and was published in 2004. His recent titles generally relate to executable UML. I have two of his earlier titles, ‘Object-Oriented Systems Analysis: Modeling the World in Data’ (1988) & ‘Object Lifecycles: Modeling the World in State’ (1992). Both these titles are co-authored with Sally Shlaer. I got Stephen to sign them, a real blast from the past.
Whenever I talk to other professionals about where we as a profession want to end up, I always come back to two points. The first is the problems caused by the divergence, over time, between the code base and the stakeholders desired system (as embedded in the specification/documentation plus outstanding change backlog). The second is the dichotomy between the specification as view by the stakeholders and the code base as the thing that gets compiled and executed.
To happily resolve these issues you need two things, the first is compilable specifications, the second is domain-specific languages (that become part of a compilable specification).
For me, MDA represents the next best hope of getting to compilable specifications!
As outlined by Stephen, MDA has two school of approach.
These are ‘model as blueprint’ and ‘model as executable’.
Stephen went into detail (for a 2hr talk) about the components needed to build a generalized MDA system. He then talked about the differences between the processing and components needed to do ‘model as blueprint’ and ‘model as executable’.
Stephen’s company specializes in real-time embedded systems. Some of the systems they have built sound very interesting!
The presentation slides are on this page