SUREGEN-II
SUREGEN-II
in a nutshell

2. Ontology (cont'd)

The means to define concepts (=classes) in SUREGEN-2 is SuregenConcept, it takes as arguments the concept name, the direct superclass, concept attributes (=slots, if any) and – optionally – semantic markers (see below).
Examples:

(SuregenConcept Thing :is-a SuregenObject
  :has(colour height))

This defines, simply enough, Thing as a SuregenObject (the top class) with colour and height as attributes.

Attributes defined with :has are “visible” externally and can be modified at runtime via GUI/API. When defined using the :has-intern keyword attributes can be hidden and used/modified by SUREGEN-II procedures only:

(SuregenConcept P_PrepareMeal :is-a SuregenProcess
  :has-intern ((SP :are (P1_buyFood P2_cook P3_setTable))))

P_PrepareMeal is – somewhat outside the range of intended applications -defined as a SuregenProcess with an internal attribute named SP (= subprocesses). The :are keyword ensures that instances of the respective classes P1_buyFood, P2_cook and P3_setTable are generated for every new instance of P_PrepareMeal (provided that the classes exist at instantiation time).



previous: ontology (cont'd)   up (home)   next: text generation "knowledge"