AROM Knowledge Representation in AROM AROM Documentation Download AROM Contacts Partners
 
 
Classes   

Classes

A class is a set of objects having the same structure, behavior, and meaning. Each class is characterized by a set of properties called variables. You won't find any method in AROM. This is due to the fact that computations are performed using other mechanisms (procedural attachment, for instance).

Variables of a class only take their value from the AROM set of types; they should not reference any class object. Each variable is characterized by a set of facets, which can be divided into three subsets:

  • Domain restriction facets.
    • The type: facet which indicates the type of the variable. The set of predefined types is boolean, integer, float and string. The set of types is programmatically extensible . The type may be modified by a constructor (set-of or list-of) for multiple-valued variables.
    • The domain: facet which restricts the set of admissible values for the variable. It can be given in the form of a list of values {x1, x2, …, xn} or in the form of an interval [xmin .. xmax], for ordered types.
    • The cardinality : min: and max: facets restrict the minimum and maximum number of values for multi-valued variables.
  • Inference facets. In the present version of AROM, the only inference facet is the default: facet which represents the default value of the variable
  • Documentation facets. This includes the documentation: facet, a string in HTML format used for browsing the structure of a knowledge-base on the Web and the unit: facet, a string used for indicating the unit in which numerical variables are expressed.
Classes are structured in a hierarchical way by the specialization relation. Specialization of a class is performed by the following operations: adding variable constraints and adding new variables. Each class has at most one super-class (simple inheritance). Sub-classes of a class are by default neither exclusive nor exhaustive.

Graphical Notation