three levels of abstraction in system modeling. Computation Independent Model (CIM) corresponds to the system's domain model and is similar to the domain ontology. It does not show details of the system structure. Platform Independent Model (PIM) is computationally dependent, but not aware of specific computer platform details. In other words, PIM shows how a technology-neutral virtual machine runs the system. Platform Specific Model (PSM) introduces platform-specific issues and implementation details. The goal of MDA modeling is to shift the designer's focus from PSM towards PIM and CIM and use automated tools to transform PIM to PSM.