The Computation Independent Model (CIM)

Model-Driven Development (MDD) advocates the construction of three models of  the system:

CIM = Computation-Independent Model
PIM = Platform-Independent Model
PSM = Platform-Specific Model

The goal of the analysis phase is to produce the CIM. The goal of the design phase is to produce the PIM. The goal of the implementation phase is to produce the PSM.

CIM as a Statechart Diagram

One candidate for the CIM is a statechart diagram that combines the statechart diagrams for all use cases as macro or submachine states. (A macro state is a state that contains micro states and transitions.)

Here's the CIM for the ATM:

CIM as an Activity Diagram

We can also model our CIM using an activity diagram: