AIM Components
An AIM consists of the following components:
A class description is similar to a class in the C++ programming language.
In the sample metamodel shown in Figure 1, AutoCorporation and AutoDivision are examples of class descriptions.
An instance of a class description in the repository is called a class object or object. Big Guy Motors is an AutoCorporation object and American Autos is an AutoDivision object.
The Auto class description might contain properties such as weight, base price, fuel tank, and other options.
In Figure 2, relationship descriptions are defined as “DivisionMakesAutos” and “DivisionMakesSUVs”. These relationship descriptions enable linking AutoDivision objects with specific Auto and SUV objects.
In Figure 2, these relationship descriptions are used to associate the AutoDivision object American Autos with the Auto objects Tortoise and Yearling and to the SUV objects Hawk and Vulture.
Relationship descriptions have the following characteristics:
Figure 2 shows examples of relationships and collections.
Figure 2: Relationship/Collection ExampleAIMs are extensible. Class descriptions and relationship descriptions can be added or deleted from existing AIMs and property descriptions can be added or deleted from existing class descriptions.