Let us examine an example ARM model than can be defined by the relatively simple rules below.
·
ABC Company
operates in three provinces (BC,
·
BC and
· Each store has Sporting Goods (S), Ladies Wear (L) and Houseware (H) departments.
· Each store keeps track of Sales and Costs on a monthly basis by department. Income is computed from Sales – Costs.
This model seems very simple at first, but after looking more closely, we can see that if we want to keep track of information at the Store level, the Province level and the Company level for each of the departments, we need quite a number of objects and relationships. This is the classic “matrix” organization with both a geographical and a departmental hierarchy to manage. One way to map these objects and relationships is shown below.

Figure 2 – Object Relationship in ABC Company
Notes:
· Three times as many departments exist than locations.
· The three departments for each object are linked to each of the associated locations.
· In the Locations hierarchy, the corporation, provinces and stores are linked appropriately to each other.
· In the Departments hierarchy, the corporation departments, provincial departments and store departments are linked in much the same way.
Each Location and Department node above needs a place to keep track of Sales and Costs on a monthly basis as well as a place to hold the Income amount. Now that you see the whole model, imagine developing a model in Excel that caused Sales numbers entered for any department of any store for a certain month to automatically update the appropriate Sales and Income numbers for all related cells. We submit it would be very difficult to do, especially if you may wish to add other measures later. In ARM, it is quite easy to model this relatively simple situation, and ARM provides the ability to model ‘real world’ situations as well.
You may be wondering how these relationships are defined. They are done by configuring ARM.
Configuration is an activity carried out by a person, knowledgeable in the problem domain with training in ARM, to define or change the ARM model to match the requirements of the client. The process is done separately from the ARM program and does not require the expertise of a computer programmer.
Many parts of ARM are configured, and are therefore changeable by the client. The details of how to configure is beyond the scope of this article, but essentially, the configurator defines the model using a multi-paged Excel spreadsheet within a supplied configuration environment and ‘imports’ the resulting files into ARM.