Our assignment for the next class is to read over the Model Driven Architecture paper provided to us by Dr. Liddle. I admit I had no clue what this was referring to at first, but as he began to give us an introduction to it on Wednesday it made more sense. About two years ago I took a couple of Systems Analysis and Design classes where we did something very similar to MDA. Some of the acronym's this paper is using include:
- CIM- Computation Independent Model (Domain Model)
- UML-Unified Modeling Language
- PIM- Platform Independent Model
- PSM- Platform Specific Model
The CIM or Domain Model is the first step in MDA. It is a model that is created independent of any computation your system will do. This is important to help you better understand the way in which you desire your system to perform without having to worry about any of the complicated computations that will need to be done. This model is usually drawn up using UML, which is a standard modeling language.
Once this is done a Platform independent model is created, a little more specific describing the system, but not specific enough to determine how it will interact with the platform it will be designed for. It might consist of "enterprise, information and computational ODP viewpoint specifications."
The PIM is then "transformed" into the PSM. It "specifies how that system makes use of the chosen platform." The PSM could easily be an implementation, unless you decide that it needs further revising, in which case it is more like a PIM, in that it is only a model. This step could very will begin to include the program code, deployment descriptors, and other forms of configurations specifications.
That is pretty much it. The paper goes into further detail on methods of transformation, how to actually use the MDA Pattern, and some MDA standards.