{
* Module: System
* ---------------------------------------------------------
* This file has been extracted from a ConceptBase database.
* Copyright is with the respective authors!

* Time extracted: 2019-07-15T12:24:59,705Z (UTC) 
* Active user: jeusfeld@myon
* CBserver version: 8.1.03 (2019-07-11) 
*
}

{$set module=System}

{ 1970-01-01 00:00:00.000 }

Proposition in Proposition with 
   attribute
    single : Proposition;
    necessary : Proposition;
    attribute : Proposition
end 

Class in Class  end 

Individual  end 

Token  end 

SimpleClass  end 

MetaClass  end 

MetametaClass  end 

Module  end 

System in Module  end 

Proposition isA Proposition  end 

{---} { 2018-10-30 12:53:54.186 }

BuiltinClass in Class  end 

Integer in Class,BuiltinClass  end 

Real in Class,BuiltinClass  end 

String in Class,BuiltinClass  end 

{---} { 2018-10-30 12:53:54.269 }

Proposition with 
   attribute
    comment : String
end 

{---} { 2018-10-30 12:53:54.349 }

AssertionEvaluators in Class  end 

Assertions in Class,MetametaClass  end 

MSFOLassertion in Class,Assertions  end 

MAssertion in Class,Assertions isA MSFOLassertion  end 

MRule in Class,Assertions isA MAssertion  end 

Magic in Class  end 

{---} { 2018-10-30 12:53:54.429 }

MSFOLrule in Class,Assertions isA MSFOLassertion  end 

metaMSFOLrule isA MSFOLrule  end 

{---} { 2018-10-30 12:53:54.511 }

MSFOLconstraint in Class,Assertions isA MSFOLassertion  end 

metaMSFOLconstraint isA MSFOLconstraint  end 

{---} { 2018-10-30 12:53:54.589 }

Class with 
   attribute
    constraint : MSFOLconstraint;
    rule : MSFOLrule;
    mrule : MRule
end 

{---} { 2018-10-30 12:53:54.670 }

MSFOLquery in Class,Assertions isA MSFOLconstraint  end 

QueryClass in Class isA Class with 
   attribute
    retrieved_attribute : Proposition;
    computed_attribute : Proposition;
    constraint : MSFOLquery
end 

QueryClass!constraint isA Class!constraint  end 

GenericQueryClass in Class isA QueryClass with 
   attribute
    parameter : Proposition;
    required : Proposition
end 

BuiltinQueryClass in Class isA GenericQueryClass  end 

View in Class isA GenericQueryClass with 
   attribute
    partof : Proposition;
    inherited_attribute : Proposition
end 

SubView isA View  end 

DatalogQueryClass in Class isA GenericQueryClass with 
   attribute
    code : String
end 

DatalogRule in Class with 
   attribute
    concernedClass : Proposition;
    code : String
end 

DatalogInRule in Class isA DatalogRule  end 

DatalogAttrRule in Class isA DatalogRule  end 

GeneratedObject  end 

DeriveExpression isA GeneratedObject  end 

QueryCall  end 

HiddenObject  end 

Function in Class isA GenericQueryClass  end 

{---} { 2018-10-30 12:53:54.770 }

Version in Class  end 

T_0 in Version  end 

TransactionTime in Class  end 

Label in Class  end 

Boolean in Class  end 

FALSE in Boolean  end 

TRUE in Boolean  end 

ViewMaintenanceStrategy in Class  end 

BottomUpVM in Class isA ViewMaintenanceStrategy  end 

TopDownVM in Class isA ViewMaintenanceStrategy  end 

NaiveVM in Class isA ViewMaintenanceStrategy  end 

Proposition with 
   attribute
    cardinality : Proposition
end 

Proposition!cardinality with 
   attribute
    min : Integer
end 

Proposition!cardinality with 
   attribute
    max : Integer
end 

Order in Class  end 

ascending in Order  end 

descending in Order  end 

AnswerFormat in Class with 
   attribute
    forQuery : QueryClass;
    order : Order;
    orderBy : String;
    head : String;
    tail : String;
    pattern : String;
    split : Boolean
end 

COUNT in Function isA Integer with 
   parameter
    class : Proposition
  comment
    c : "counts the instances of class"
end 

COUNT_Attribute in Function isA Integer with 
   parameter
    objname : Proposition;
    attrcat : Proposition
  comment
    c : "counts the attributes in category <attrcat> of object <objname>"
end 

SUM in Function isA Real with 
   parameter
    class : Proposition
  comment
    c : "computes the sum of the instances of class (must be reals or integers)"
end 

AVG in Function isA Real with 
   parameter
    class : Proposition
  comment
    c : "computes the average of the instances of class (must be reals or integers)"
end 

MAX in Function isA Real with 
   parameter
    class : Proposition
  comment
    c : "gives the maximum of the instances of class (must be reals or integers)"
end 

MIN in Function isA Real with 
   parameter
    class : Proposition
  comment
    c : "gives the minimum of the instances of class (must be reals or integers)"
end 

SUM_Attribute in Function isA Real with 
   parameter
    objname : Proposition;
    attrcat : Proposition
  comment
    c : "computes the sum of the attributes in category <attrcat> of object <objname> (must be reals or integers)"
end 

AVG_Attribute in Function isA Real with 
   parameter
    objname : Proposition;
    attrcat : Proposition
  comment
    c : "computes the average of the attributes in category <attrcat> of object <objname> (must be reals or integers)"
end 

MAX_Attribute in Function isA Real with 
   parameter
    objname : Proposition;
    attrcat : Proposition
  comment
    c : "gives the maximum of the attributes in category <attrcat> of object <objname> (must be reals or integers)"
end 

MIN_Attribute in Function isA Real with 
   parameter
    objname : Proposition;
    attrcat : Proposition
  comment
    c : "gives the minimum of the attributes in category <attrcat> of object <objname> (must be reals or integers)"
end 

PLUS in Function isA Real with 
   parameter
    r1 : Real;
    r2 : Real
  comment
    c : "computes r1 + r2"
end 

IPLUS in Function isA Integer with 
   parameter
    i1 : Integer;
    i2 : Integer
  comment
    c : "computes i1 + i2"
end 

MINUS in Function isA Real with 
   parameter
    r1 : Real;
    r2 : Real
  comment
    c : "computes r1 - r2"
end 

IMINUS in Function isA Integer with 
   parameter
    i1 : Integer;
    i2 : Integer
  comment
    c : "computes i1 - i2"
end 

MULT in Function isA Real with 
   parameter
    r1 : Real;
    r2 : Real
  comment
    c : "computes r1 * r2"
end 

IMULT in Function isA Integer with 
   parameter
    i1 : Integer;
    i2 : Integer
  comment
    c : "computes i1 * i2"
end 

DIV in Function isA Real with 
   parameter
    r1 : Real;
    r2 : Real
  comment
    c : "computes r1 / r2"
end 

IDIV in Function isA Integer with 
   parameter
    i1 : Integer;
    i2 : Integer
  comment
    c : "computes truncate(i1/i2)"
end 

ConcatenateStrings in Function isA String with 
   parameter
    s1 : String;
    s2 : String
  comment
    c : "Appends string s2 to the end of string s1"
end 

ConcatenateStrings3 in Function isA String with 
   parameter
    s1 : String;
    s2 : String;
    s3 : String
  comment
    c : "Append strings s1 + s2 + s3"
end 

ConcatenateStrings4 in Function isA String with 
   parameter
    s1 : String;
    s2 : String;
    s3 : String;
    s4 : String
  comment
    c : "Append strings s1 + s2 + s3 + s4"
end 

StringToLabel in Function isA Label with 
   parameter
    s : String
  comment
    c : "returns s as a label (without quotes)"
end 

{---} { 2018-10-30 12:53:55.022 }

BDMConstraintCheck in Class,AssertionEvaluators  end 

BDMRuleCheck in Class,AssertionEvaluators with 
   attribute
    applyFurtherRuleIfInsert : BDMRuleCheck;
    applyFurtherRuleIfDelete : BDMRuleCheck;
    applyNowConstraintIfInsert : BDMConstraintCheck;
    applyNowConstraintIfDelete : BDMConstraintCheck
end 

MSFOLrule with 
   attribute
    originalRule : BDMRuleCheck;
    specialRule : BDMRuleCheck
end 

MSFOLconstraint with 
   attribute
    originalConstraint : BDMConstraintCheck;
    specialConstraint : BDMConstraintCheck
end 

Proposition with 
   attribute
    applyConstraintIfInsert : BDMConstraintCheck;
    applyConstraintIfDelete : BDMConstraintCheck;
    applyRuleIfInsert : BDMRuleCheck;
    applyRuleIfDelete : BDMRuleCheck;
    deducedBy : BDMRuleCheck
end 

{---} { 2018-10-30 12:53:55.202 }

AF_find_referring_objects_obi in AnswerFormat with 
   forQuery
    fq : find_referring_objects
  head
    hd : ""
  pattern
    p : "{ASKquery(get_object[{this}/objname],FRAME)}"
  tail
    tl : ""
end 

{---} { 2018-10-30 12:53:55.679 }

GraphicalType in Class  end 

Proposition with 
   attribute
    graphtype : GraphicalType
end 

GraphicalPalette in Class with 
   attribute
    contains : GraphicalType;
    default : GraphicalType
end 

{---} { 2018-10-30 12:53:55.775 }

JavaGraphicalType in Class isA GraphicalType with 
   attribute
    implementedBy : String;
    property : String;
    priority : Integer
  rule
    rPriority : $ forall jgt/JavaGraphicalType (not (exists i/Integer A_e(jgt,priority,i))) ==> A(jgt,priority,0) $
end 

JavaGraphicalPalette in Class isA GraphicalPalette with 
   attribute
    defaultIndividual : JavaGraphicalType;
    defaultLink : JavaGraphicalType;
    implicitIsA : JavaGraphicalType;
    implicitInstanceOf : JavaGraphicalType;
    implicitAttribute : JavaGraphicalType;
    palproperty : String
end 

CBGraphEditorResult in AnswerFormat with 
   comment
    c : "This answer format has four parameters: 'obj' is the object
   which is related to the result objects, 'cat' is the category of the link
   between 'obj' and 'this', 'pal' is the graphical palette, and 'objtype'
   specifies whether 'obj' should be considered as source (src) or destination (dst)
   in the set of edges to be included in answer."
  head
    hd : "<result>"
  tail
    tl : "</result>"
  pattern
    p : "
{buildCBEditorResult({this},{obj},{cat},{pal},{objtype})}
"
end 

CBGraphEditorResultWithoutEdges in AnswerFormat with 
   comment
    c : "This answer format is like CBGraphEditorResult but it
   will not output any edges. Therefore, it has only the parameter
   'pal' to indicate the graphical palette."
  head
    hd : "<result>"
  tail
    tl : "</result>"
  pattern
    p : "
{buildCBEditorResultWithoutEdges({this},{pal})}
"
end 

XML_JavaGraphicalPalette in AnswerFormat with 
   forQuery
    fq : GetJavaGraphicalPalette
  head
    h : "<palette>"
  tail
    t : "</palette>"
  pattern
    p : "
<contains>
{Foreach(({this.contains}),(gt),
{ASKquery(GetJavaGraphicalType[{gt}/gt],XML_JavaGraphicalType)})}
</contains>
  <defaultIndividual>{this.defaultIndividual}</defaultIndividual>
  <defaultLink>{this.defaultLink}</defaultLink>
  <implicitIsA>{this.implicitIsA}</implicitIsA>
  <implicitInstanceOf>{this.implicitInstanceOf}</implicitInstanceOf>
  <implicitAttribute>{this.implicitAttribute}</implicitAttribute>
{Foreach(({this.palproperty},{this|palproperty}),(v,l),
  <palproperty>
    <name>{l}</name>
    <value>{v}</value>
  </palproperty>)}
"
end 

XML_JavaGraphicalType in AnswerFormat with 
   forQuery
    fq : GetJavaGraphicalType
  head
    h : "<graphtype>"
  tail
    t : "</graphtype>"
  pattern
    p : "
  <name>{this}</name>{Foreach(({this.property},{this|property}),(v,l),
  <property>
    <name>{l}</name>
    <value>{v}</value>
  </property>)}
  <implementedBy>{this.implementedBy}</implementedBy>
"
end 

{---} { 2018-10-30 12:53:55.934 }

DefaultJavaPalette in Class,JavaGraphicalPalette with 
   contains,defaultIndividual
    c1 : DefaultIndividualGT
end 

DefaultIndividualGT  end 

DefaultLinkGT  end 

DefaultJavaPalette with 
   contains,defaultLink
    c2 : DefaultLinkGT
  implicitIsA,contains
    c3 : ImplicitIsAGT
end 

ImplicitIsAGT  end 

ImplicitInstanceOfGT  end 

DefaultJavaPalette with 
   implicitInstanceOf,contains
    c4 : ImplicitInstanceOfGT
  implicitAttribute,contains
    c5 : ImplicitAttributeGT
end 

ImplicitAttributeGT  end 

DefaultIsAGT  end 

DefaultJavaPalette with 
   contains
    c6 : DefaultIsAGT;
    c7 : DefaultInstanceOfGT
end 

DefaultInstanceOfGT  end 

DefaultAttributeGT  end 

DefaultJavaPalette with 
   contains
    c8 : DefaultAttributeGT;
    c9 : MetametaGT
end 

MetametaGT  end 

SimpleClassGT  end 

DefaultJavaPalette with 
   contains
    c10 : SimpleClassGT;
    c11 : MetaClassGT
end 

MetaClassGT  end 

ClassGT  end 

DefaultJavaPalette with 
   contains
    c12 : ClassGT;
    c13 : QueryClassGT
  rule
    rIsaGT : $ forall p/IsA (p graphtype DefaultIsAGT) $;
    rInstGT : $ forall p/InstanceOf (p graphtype DefaultInstanceOfGT) $;
    rAttrGT : $ forall p/Attribute (p graphtype DefaultAttributeGT) $;
    rIndGT : $ forall p/Individual (p graphtype DefaultIndividualGT) $;
    rMetameta : $ forall c/MetametaClass (c graphtype MetametaGT) $;
    rSimpleCl : $ forall t/SimpleClass  (t graphtype SimpleClassGT) $;
    rMetaClass : $ forall t/MetaClass  (t graphtype MetaClassGT) $;
    rClass : $ forall c/Individual (c in Class) ==> (c graphtype ClassGT) $;
    rQueryClass : $ forall c/QueryClass (c graphtype QueryClassGT) $
end 

QueryClassGT  end 

DefaultIndividualGT in JavaGraphicalType with 
   property
    bgcolor : "210,210,210";
    textcolor : "0,0,0";
    linecolor : "0,0,0";
    shape : "i5.cb.graph.shapes.Rect"
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBIndividual"
end 

DefaultLinkGT in JavaGraphicalType with 
   property
    textcolor : "0,0,0";
    edgecolor : "0,0,0";
    edgewidth : "2"
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
end 

DefaultIsAGT in JavaGraphicalType with 
   property
    bgcolor : "0,205,255";
    textcolor : "0,0,0";
    linecolor : "0,205,255";
    edgecolor : "0,205,255";
    edgewidth : "3";
    label : ""
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
  priority
    p : 1
end 

ImplicitIsAGT in JavaGraphicalType with 
   property
    bgcolor : "0,150,255";
    textcolor : "0,0,0";
    linecolor : "0,205,255";
    edgecolor : "0,205,255";
    edgewidth : "3";
    edgestyle : "dashed";
    label : ""
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
  priority
    p : 1
end 

DefaultInstanceOfGT in JavaGraphicalType with 
   property
    bgcolor : "0,210,0";
    textcolor : "0,0,0";
    linecolor : "0,210,0";
    edgecolor : "0,210,0";
    edgewidth : "2";
    label : ""
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
  priority
    p : 1
end 

ImplicitInstanceOfGT in JavaGraphicalType with 
   property
    bgcolor : "0,180,0";
    textcolor : "0,0,0";
    linecolor : "0,180,0";
    edgecolor : "0,180,0";
    edgewidth : "2";
    edgestyle : "dashed";
    label : ""
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
  priority
    p : 1
end 

DefaultAttributeGT in JavaGraphicalType with 
   property
    textcolor : "0,0,0";
    edgecolor : "0,0,0";
    edgewidth : "2"
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
  priority
    p : 1
end 

ImplicitAttributeGT in JavaGraphicalType with 
   property
    textcolor : "20,20,20";
    edgecolor : "20,20,20";
    edgestyle : "dashed";
    edgewidth : "2"
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBLink"
  priority
    p : 1
end 

MetametaGT in JavaGraphicalType with 
   property
    bgcolor : "127,255,212";
    textcolor : "0,0,0";
    linecolor : "32,178,170";
    shape : "i5.cb.graph.shapes.Ellipse";
    fontstyle : "bold"
  priority
    p : 10
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBIndividual"
end 

SimpleClassGT in JavaGraphicalType with 
   property
    bgcolor : "255,192,203";
    textcolor : "0,0,0";
    linecolor : "255,0,0";
    shape : "i5.cb.graph.shapes.Ellipse";
    fontstyle : "bold"
  priority
    p : 10
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBIndividual"
end 

MetaClassGT in JavaGraphicalType with 
   property
    bgcolor : "135,206,235";
    textcolor : "0,0,0";
    linecolor : "65,105,225";
    shape : "i5.cb.graph.shapes.Ellipse";
    fontstyle : "bold"
  priority
    p : 10
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBIndividual"
end 

ClassGT in JavaGraphicalType with 
   property
    bgcolor : "0,206,209";
    textcolor : "0,0,0";
    linecolor : "0,0,0";
    shape : "i5.cb.graph.shapes.Rect"
  priority
    p : 5
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBIndividual"
end 

QueryClassGT in JavaGraphicalType with 
   property
    bgcolor : "255,0,0";
    textcolor : "255,255,255";
    linecolor : "0,0,255";
    shape : "i5.cb.graph.shapes.Ellipse";
    fontstyle : "italic"
  priority
    p : 7
  implementedBy
    implBy : "i5.cb.graph.cbeditor.CBIndividual"
end 

{---} { 2018-10-30 12:53:56.079 }

ECArule in Class with 
   attribute
    ecarule : ECAassertion;
    priority_after : ECArule;
    priority_before : ECArule
end 

ECAassertion  end 

ECAmode  end 

ECArule with 
   attribute
    mode : ECAmode;
    active : Boolean;
    depth : Integer;
    rejectMsg : String
  constraint
    ecarule_single : $ forall r/ECArule e1,e2/ECAassertion
		(r ecarule e1) and (r ecarule e2) ==> (e1 == e2) $;
    eca_necessary : $ forall r/ECArule exists e/ECAassertion
		(r ecarule e) $;
    mode_single : $ forall r/ECArule m1,m2/ECAmode
		(r mode m1) and (r mode m2) ==> (m1 == m2) $;
    active_single : $ forall r/ECArule a1,a2/Boolean
		(r active a1) and (r active a2) ==> (a1 == a2) $;
    depth_single : $ forall r/ECArule i,j/Integer
		(r depth i) and (r depth j) ==> (i == j) $
end 

ECAassertion in Class,Assertions  end 

ECAmode in Class  end 

Immediate in ECAmode  end 

ImmediateDeferred in ECAmode  end 

Deferred in ECAmode  end 

YesClass  end 

yes in YesClass  end 

{---} { 2018-10-30 12:53:56.166 }

Module in Class with 
   attribute
    imports : Module;
    exports : Proposition;
    contains : Proposition
end 

oHome in Module  end 

CB_User with 
   attribute
    homeModule : Module;
    profileTag : String
end 

AutoHomeModule isA Module with 
   attribute
    exception : CB_User
end 

Resource  end 

Module isA Resource  end 

CB_Operation  end 

CB_ReadOperation isA CB_Operation  end 

CB_WriteOperation isA CB_Operation  end 

TELL in CB_WriteOperation  end 

TELL_MODEL in CB_WriteOperation  end 

UNTELL in CB_WriteOperation  end 

RETELL in CB_WriteOperation  end 

LPI_CALL in CB_WriteOperation  end 

ASK in CB_ReadOperation  end 

HYPO_ASK in CB_ReadOperation  end 

listModule in BuiltinQueryClass with 
   parameter
    module : Module
end 

Module with 
   attribute
    saveView : QueryClass
end 

AnswerFormat with 
   attribute
    fileType : String
end 

toLabel in Function isA Individual with 
   parameter
    s : String
  comment
    c : "returns s as a label without quotes and special character and creates it as individual object"
end 

concat in Function isA String with 
   parameter
    s1 : String;
    s2 : String
  comment
    c : "Appends string s2 to the end of string s1; same as ConcatenateStrings"
end 

Proposition with 
   attribute
    immutable : Proposition
end 

DefaultIsAGT with 
   property
    edgeheadcolor : "255,255,255"
end 

ImplicitIsAGT with 
   property
    edgeheadcolor : "255,255,255"
end 

Proposition with 
   attribute
    gproperty : Proposition
end 

{ -/- }