Tuesday, January 11, 2005

What is a PIM?

A PIM is a relatively abstract model of a software system that does not incorporate any implementation choice. The acronym stands for Platform Independent Model. PIMs describe the system independently of the chosen implementation technology. Note however, that it is very likely that the software development process will consist of more than one transformation step. A PIM could be either input or output of a transformation.

For instance, you could take a business model as input to the first transformation, thus producing an abstract software model representing the data relevant to the system. The software model itself could then be transformed into a less abstract software model, one that divides the system into components with their interfaces. Still this model could be platform independent, because no choice needs to be made whether to implement the system using .NET or J2EE. The model with components could be input to a transformation that extends the model with much of the standard CRUD functionality. Finally, the last model could be transformed into a PSM and from that into the source code.

No comments: