Appendix
3. TROEPS in TROEPS textual format
Here
is the description of
TROEPS
itself in its textual format. This is not the description of the actual
implementation. From that description, the instances part have been withdrawn
since the instances, being other entities, are implicitly described in the text.
/* The knowledge base corresponding to the Troeps kernel */
<base Troeps
required-bases = {} ;
types = {"trtdum"};
viewpoints = {};
concepts = {
<concept
key = {
<name
type = chaine; nature = propriete; constructor = un;>};
fields = {
<conceptslots
type = conceptslot; nature = propriete; constructor = ensemble;>,
<key
type = conceptslot; nature = propriete; constructor = ensemble;>,
<viewpoints
type = conceptview; nature = propriete; constructor = ensemble;>,
<bridges
type = bridge; nature = propriete; constructor = ensemble;> };
viewpoints = {};
bridges = {};
>,
<conceptview
key = {
<name
type = string; nature = propriete; constructor = un;>,
<concept
type = concept; nature = propriete; constructor = un;>};
fields = {
<root
type = class; nature = propriete; constructor = un;> ,
<exhaustive
type = boolean; nature = propriete; constructor = un;> ,
<exclusive
type = boolean; nature = propriete; constructor = un;> ,
<definitional
type = boolean; nature = propriete; constructor = un;> };
viewpoints = {};
bridges = {};
>,
<class
key = {
<name
type = chaine; nature = propriete; constructor = un;>,
<viewpoint
type = point-de-vue; nature = propriete; constructor = un;>};
fields = {
<slots
type = classslots; nature = propriete; constructor = ensemble;>,
<super-class
type = class; nature = propriete; constructor = un;>,
<sub-classes
type = class; nature = propriete; constructor = ensemble;>,
<attached
type = object; nature = propriete; constructor = ensemble;>,
<constraints
type = object; nature = propriete; constructor = ensemble;>,
<bridge-in
type = bridge; nature = propriete; constructor = ensemble;>,
<bridge-out
type = bridge; nature = propriete; constructor = ensemble;> };
viewpoints = {};
bridges = {};
>,
<conceptslot
key = {
<name
type = chaine; nature = propriete; constructor = un;>,
<concept
type = concept; nature = propriete; constructor = un;>};
fields= {
<viewpoints
type = viewpoint; nature = propriete; constructor = ensemble;>,
<type
type = concept; nature = propriete; constructor = un;>,
<nature
type = string; nature = propriete; constructor = un;>,
<constructor
type = string; nature = propriete; constructor = un;> <method
type = string; nature = propriete; constructor = ensemble;> };
viewpoints = {
<conceptslot-view
root-class =
<conceptslot
fields = {
<nature
domain = {"propriete", "composant", "lien"}; >,
<constructor
domain = {"un", "liste", "ensemble"}; >,
}>;
classes = {};
}};
bridges = {};
>,
<classslot
key = {
<name
type = chaine; nature = propriete; constructor = un;>,
<class
type = class; nature = propriete; constructor = un;>};
fields = {
<type
type = class; nature = propriete; const = ensemble;>,
<domain
type = value; nature = propriete; const = ensemble;>,
<intervals
type = interval; nature = propriete; const = ensemble;>,
<except
type = value; nature = propriete; const = ensemble;>,
<card
type = interval; nature = propriete; const = un;>,
<default
type = value; nature = propriete; const = un;>,
<assign
type = path; nature = propriete; const = liste;>,
<filters
type = filter; nature = propriete; const = liste;>,
<methods
type = method; nature = propriete; const = liste;>,
<conditions
type = constraint; nature = propriete; const = liste;>};
viewpoints = {};
bridges = {};
>,
<bridge
key = {
<concept
type = concept; nature = propriete; constructor = un;>,
<name
type = chaine; nature = propriete; constructor = un;>};
fields = {
<source
type = class; nature = propriete; constructor = ensemble;>,
<destination
type = class; nature = propriete; constructor = un;>};
viewpoints = {};
bridges = {};
>};
methods = {} ;
instance-files = {} ;
lexicons = {} ;
talk-modules = {} ;
>