A component type is a blueprint for a component that describes the type of entity the component refers to. In Akamas, a component needs to be associated with a component type, from which the component inherits its metrics and parameters.
Component types are platform entities (i.e.: shared among all the users) usually provided off the shelf and shipped within the Optimization Packs. Typically, different component types within the same optimization pack are used to model different versions/releases of the same technology.
A component type is described by the following mandatory properties (other properties can be defined but are not mandatory):
- a name that uniquely identifies the component type within the system
- a description that clarifies what the component type refers to
- a parameter definitions array (more on Parameters later)
- a metrics array (more on Metrics later)
When visualizing system components the component type is displayed.
The following figure shows the out-of-the-box JVM component types related to the JVM optimization pack.