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 0000000000000000000000000000000000000000..120acdaa0cb9e09910c241872fc196470b0628a5 --- /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 0000000000000000000000000000000000000000..83c3a99114aa964e9b6cad181bd8dfdc0f2ee136 --- /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 0000000000000000000000000000000000000000..69b2cfaecc417dbf3df2efad504aab9c49133f15 --- /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 0000000000000000000000000000000000000000..9aed47a53c0d4bab31ce69fc84a875c3d0dc6a4e --- /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 0000000000000000000000000000000000000000..aab00a25e7a5d9871bfd140105ed6d55182b90cc --- /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 0000000000000000000000000000000000000000..16418840a3c6c9cc26c71afd36aefb737d788f2b --- /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 0000000000000000000000000000000000000000..735b2261dfd84eebcea1ca42d852265a89c7557f --- /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 0000000000000000000000000000000000000000..8711b96d272e12db36bd2d792ff2202106734a53 --- /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 0000000000000000000000000000000000000000..6d084323a0c2d0cd48351c92be4e1e413339cf3a --- /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 0000000000000000000000000000000000000000..0de8445a0cb35194ede106183bffbdcae848eeac --- /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 0000000000000000000000000000000000000000..99aa2d0ae74bacbf5e34625fd8e5063166b86cb9 --- /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 3aee4ef5a523c3558990ce45d6e4b708077ba298..370690e6940fb302b41ae3db55b64cf47b2896d5 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 0000000000000000000000000000000000000000..a4ef4808bb9df9807aa1fd97b38fa3afdf3f0660 --- /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 0000000000000000000000000000000000000000..2116907788a7c76d881b1c1769f02d67c2bdaf8c --- /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