From 85e5492545d97f960a926e2607bf947395f4165b Mon Sep 17 00:00:00 2001
From: tkuehn <thomas.kuehn3@tu-dresden.de>
Date: Wed, 13 Jun 2018 20:24:20 +0200
Subject: [PATCH] added missing ecl files

---
 .../AttributeAndOperation.ecl                 | 11 ++++++++++
 .../core/fulfillment/Fulfillment.ecl          | 22 +++++++++++++++++++
 .../core/inheritance/Inheritance.ecl          |  8 +++++++
 .../ContainsCompartments.ecl                  |  3 +++
 .../inheritance/CompartmentInheritance.ecl    |  5 +++++
 .../playing_own_roles/PlayingOwnRoles.ecl     |  5 +++++
 .../inheritance/DataTypeInheritance.ecl       |  5 +++++
 .../modules/relationship/Relationship.ecl     |  7 ++++++
 .../InterRelationship.ecl                     | 10 +++++++++
 .../IntraRelationship.ecl                     | 20 +++++++++++++++++
 .../roletype/group_constraints/RoleGroup.ecl  |  4 ++++
 .../group_constraints/RoleGroup.editpolicy    |  4 ++++
 .../roletype/inheritance/RoleInheritance.ecl  |  5 +++++
 .../role_constraints/RoleConstraints.ecl      | 15 +++++++++++++
 14 files changed, 124 insertions(+)
 create mode 100644 org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl
 create mode 100644 org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl
 create mode 100644 org.framed.iorm.ui/core/inheritance/Inheritance.ecl
 create mode 100644 org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.ecl
 create mode 100644 org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl
 create mode 100644 org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl
 create mode 100644 org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl
 create mode 100644 org.framed.iorm.ui/modules/relationship/Relationship.ecl
 create mode 100644 org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl
 create mode 100644 org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl
 create mode 100644 org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl
 create mode 100644 org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl
 create mode 100644 org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl

diff --git a/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl b/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl
new file mode 100644
index 00000000..120acdaa
--- /dev/null
+++ b/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl
@@ -0,0 +1,11 @@
+//NaturalType 
+Create_Attribute NaturalType (true) when true;  
+Create_Operation NaturalType (true) when true;  
+Create_Property NaturalType (true) when true;  
+Add_Property NaturalType (true) when true;   
+
+//NaturalType
+Create_Attribute DataType (true) when true;  
+Create_Operation DataType (true) when true;  
+Create_Property DataType (true) when true;  
+Add_Property DataType (true) when true;  
diff --git a/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl b/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl
new file mode 100644
index 00000000..83c3a991
--- /dev/null
+++ b/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl
@@ -0,0 +1,22 @@
+//Fullfillment or Players??  
+Start Fulfillment (Naturals) when IsSourceType(NaturalType);  
+Add Fulfillment (Naturals) when IsSourceType(NaturalType) and IsTargetType(CompartmentType);
+Create Fulfillment (Naturals) when IsSourceType(NaturalType) and IsTargetType(CompartmentType);
+Reconnect Fulfillment (Naturals) when IsSourceType(NaturalType) and IsTargetType(CompartmentType);
+
+Start Fulfillment (Roles) when IsSourceType(RoleType);
+Add Fulfillment (Roles) when IsSourceType(RoleType) and IsTargetType(CompartmentType);
+Create Fulfillment (Roles) when IsSourceType(RoleType) and IsTargetType(CompartmentType);
+Reconnect Fulfillment (Roles) when IsSourceType(RoleType) and IsTargetType(CompartmentType);
+
+Start Fulfillment (Compartments) when IsSourceType(CompartmentType);
+Add Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTargetType(CompartmentType) and !SourceEqualsTarget();
+Create Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTargetType(CompartmentType) and !SourceEqualsTarget();
+Reconnect Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTargetType(CompartmentType) and !SourceEqualsTarget();
+
+Start Fulfillment (Dates) when IsSourceType(DataType);
+Add Fulfillment (Dates) when IsSourceType(DataType);
+Create Fulfillment (Dates) when IsSourceType(DataType);
+Reconnect Fulfillment (Dates) when IsSourceType(DataType);
+
+Execute Fulfillment (true) when true;
diff --git a/org.framed.iorm.ui/core/inheritance/Inheritance.ecl b/org.framed.iorm.ui/core/inheritance/Inheritance.ecl
new file mode 100644
index 00000000..69b2cfae
--- /dev/null
+++ b/org.framed.iorm.ui/core/inheritance/Inheritance.ecl
@@ -0,0 +1,8 @@
+//Inheritance  
+Start Inheritance (Naturals) when IsSourceType(NaturalType); 
+Add Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType() and !SourceEqualsTarget();
+Reconnect Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType() and !SourceEqualsTarget();
+Create Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType() and !SourceEqualsTarget();
+
+Execute Inheritance (true) when true;
+ 
diff --git a/org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.ecl b/org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.ecl
new file mode 100644
index 00000000..9aed47a5
--- /dev/null
+++ b/org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.ecl
@@ -0,0 +1,3 @@
+//ContainsCompartments
+Add CompartmentType (Contains_Compartments) when InType(CompartmentType);
+Create CompartmentType (Contains_Compartments) when InType(CompartmentType); 
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl b/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl
new file mode 100644
index 00000000..aab00a25
--- /dev/null
+++ b/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl
@@ -0,0 +1,5 @@
+//Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance     
+Start Inheritance (Compartment_Inheritance) when IsSourceType(CompartmentType); 
+Add Inheritance (Compartment_Inheritance) when IsSourceType(CompartmentType) and !SourceEqualsTarget() and SourceEqualsTargetType(); //acyclic
+Create Inheritance (Compartment_Inheritance) when IsSourceType(CompartmentType) and !SourceEqualsTarget() and SourceEqualsTargetType(); //acyclic
+   
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl
new file mode 100644
index 00000000..16418840
--- /dev/null
+++ b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl
@@ -0,0 +1,5 @@
+//Playing_own_roles 
+Start Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType); 
+Add Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTarget();
+Create Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTarget();
+Reconnect Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTarget();
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl b/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl
new file mode 100644
index 00000000..735b2261
--- /dev/null
+++ b/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl
@@ -0,0 +1,5 @@
+//Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance
+Start Inheritance (Data_Type_Inheritance) when IsSourceType(DataType);  
+Add Inheritance (Data_Type_Inheritance) when IsSourceType(DataType) and !SourceEqualsTarget() and SourceEqualsTargetType(); // check acyclic
+Reconnect Inheritance (Data_Type_Inheritance) when IsSourceType(DataType) and !SourceEqualsTarget() and SourceEqualsTargetType();
+Create Inheritance (Data_Type_Inheritance) when IsSourceType(DataType) and !SourceEqualsTarget() and SourceEqualsTargetType(); // check acyclic // check acyclic
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/relationship/Relationship.ecl b/org.framed.iorm.ui/modules/relationship/Relationship.ecl
new file mode 100644
index 00000000..8711b96d
--- /dev/null
+++ b/org.framed.iorm.ui/modules/relationship/Relationship.ecl
@@ -0,0 +1,7 @@
+//Relationships  
+Start Relationship (Relationships) when IsSourceType(RoleType);
+Add Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
+Reconnect Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
+Create Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
+ 
+Execute Relationship (Relationships) when true;
diff --git a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl
new file mode 100644
index 00000000..6d084323
--- /dev/null
+++ b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl
@@ -0,0 +1,10 @@
+//InterRelationship  
+Start RelationshipExclusion (Inter_Relationship_Constraints) when true;
+Add RelationshipExclusion (Inter_Relationship_Constraints) when true; 
+Reconnect RelationshipExclusion (Inter_Relationship_Constraints) when true;
+Create RelationshipExclusion (Inter_Relationship_Constraints) when true;
+
+Start RelationshipImplication (Inter_Relationship_Constraints) when true;
+Add RelationshipImplication (Inter_Relationship_Constraints) when true;
+Reconnect RelationshipImplication (Inter_Relationship_Constraints) when true;
+Create RelationshipImplication (Inter_Relationship_Constraints) when true;
diff --git a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl
new file mode 100644
index 00000000..0de8445a
--- /dev/null
+++ b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl
@@ -0,0 +1,20 @@
+//IntraRelationshipConstraint 
+Add Irreflexive (Intra_Relationship_Constraints) when true; 
+Start Irreflexive (Intra_Relationship_Constraints) when true;
+Create Irreflexive (Intra_Relationship_Constraints) when true;
+
+Add Acyclic (Intra_Relationship_Constraints) when true;
+Start Acyclic (Intra_Relationship_Constraints) when true;
+Create Acyclic (Intra_Relationship_Constraints) when true;
+
+Add Cyclic (Intra_Relationship_Constraints) when true;
+Start Cyclic (Intra_Relationship_Constraints) when true;
+Create Cyclic (Intra_Relationship_Constraints) when true;
+
+Add Reflexive (Intra_Relationship_Constraints) when true;
+Start Reflexive (Intra_Relationship_Constraints) when true;
+Create Reflexive (Intra_Relationship_Constraints) when true;
+
+Add Total (Intra_Relationship_Constraints) when true;
+Start Total (Intra_Relationship_Constraints) when true;
+Create Total (Intra_Relationship_Constraints) when true;
diff --git a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl
new file mode 100644
index 00000000..99aa2d0a
--- /dev/null
+++ b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl
@@ -0,0 +1,4 @@
+//groupConstraints/RoleGroup  
+Add RoleGroup (Group_Constraints) when InType(CompartmentType);  
+Create RoleGroup (Group_Constraints) when InType(CompartmentType);
+Direct_Edit RoleGroup (true) when true;
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.editpolicy b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.editpolicy
index 3aee4ef5..370690e6 100644
--- a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.editpolicy
+++ b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.editpolicy
@@ -8,4 +8,8 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Group_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:InType" type="CompartmentType"/>
   </policies>
+  <policies action="Direct_Edit" actionType="RoleGroup">
+    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
+    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
+  </policies>
 </editpolicymodel:Model>
diff --git a/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl b/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl
new file mode 100644
index 00000000..a4ef4808
--- /dev/null
+++ b/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl
@@ -0,0 +1,5 @@
+//Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance 
+Start Inheritance (Role_Inheritance) when IsSourceType(RoleType);   
+Add Inheritance (Role_Inheritance) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType();  //TODO, check acyclic 
+Reconnect Inheritance (Role_Inheritance) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create Inheritance (Role_Inheritance) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType();  //TODO, check acyclic  //TODO, check acyclic 
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl
new file mode 100644
index 00000000..21169077
--- /dev/null
+++ b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl
@@ -0,0 +1,15 @@
+//RoleConstraints  
+Start RoleImplication (Role_Implication) when IsSourceType(RoleType); 
+Add RoleImplication (Role_Implication) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Reconnect RoleImplication (Role_Implication) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create RoleProhibition (true) when true;
+ 
+Start RoleEquivalence (Role_Equivalence) when IsSourceType(RoleType); 
+Add RoleEquivalence (Role_Equivalence) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Reconnect RoleEquivalence (Role_Equivalence) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create RoleProhibition (true) when true;
+
+Start RoleProhibition (Role_Prohibition) when IsSourceType(RoleType); 
+Add RoleProhibition (Role_Prohibition) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Reconnect RoleProhibition (Role_Prohibition) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create RoleProhibition (true) when true;
\ No newline at end of file
-- 
GitLab