Information in the SOUR software system [19]
is generically recorded in the form of so-called
Abstract Objects (AOs) which are independent
of their physical support
- e.g. text file, POSTSCRIPT file -
or location - e.g. pathname.
Abstract objects (AOs) are catalogued in the system's abstract archive
according to an adopted standard of classification called
conceptualization, which is factored in two layers:
- Coarse level -
hierarchical ``is-a''-like enumerative classification,
enabling conventional inherited attribute-based reasoning;
- Fine level -
a multifaceted classification schema based on fuzzy
concept-network reasoning which extends conventional
keyword-oriented classification.
This conceptualization approach is thus a combination of the
enumerative and faceted classification schemes [12][11],
whereby a physical object (e.g. a piece of C-code)
``becomes'' an AO by attaching to it a profile consisting of
the following basic items:
- Classname - e.g. code:
this item plugs the object into the system's standard ``is-a''
hierarchy;
- Attributes - e.g. author:
these provide values for features or properties relevant about the
objects, under a simple inheritance mechanism prescribed by
the ``is-a'' hierarchy;
- Links - e.g. implements:
these are AO-valued attributes which establish relevant relationships
among AOs;
- Facets - e.g. system=text-formatter:
these are fuzzy tuples of terms which play the rôle of
``vague keywords'' indexing AOs;
- Actions - e.g. compile:
these are ``method-like'' AO-attributes recording pre-defined
procedures upon which AOs are automatically submitted at standard
instants of their life-cycle or triggered by UI-events
(e.g. mouse double-clicking);
- Members - (if an AO container): collection of references to
the sub-objects which the object contains, if any;
- Relations - (if an AO cluster): graph structure of links
inter-relating to the sub-objects which the main object involves,
if any.
Every AO has a unique identity represented by its AOID
(Abstract Object IDentifier).
AOIDs are managed by the system and are transparent to the end-user.