| SUREGEN-II |
|
SUREGEN-II in a nutshell |
SuregenConcept, it takes as arguments the concept name, the direct
superclass, concept attributes (=slots, if any) and – optionally – semantic
markers (see below).(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).