diff --git a/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl b/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl index d2dfac9ad3698335912bef306dbb8ec88b4dbabb..120acdaa0cb9e09910c241872fc196470b0628a5 100644 --- a/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl +++ b/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl @@ -2,7 +2,7 @@ Create_Attribute NaturalType (true) when true; Create_Operation NaturalType (true) when true; Create_Property NaturalType (true) when true; -Add_Property NaturalType (true) when true; +Add_Property NaturalType (true) when true; //NaturalType Create_Attribute DataType (true) when true; diff --git a/org.framed.iorm.ui/core/baseRules.ecl b/org.framed.iorm.ui/core/baseRules.ecl deleted file mode 100644 index 80f11499d55dddca51254e115af1d90e154ad4d5..0000000000000000000000000000000000000000 --- a/org.framed.iorm.ui/core/baseRules.ecl +++ /dev/null @@ -1,18 +0,0 @@ -//https://github.com/leondart/FRaMED/wiki/EditPolicy-Rules -//base rules -Add RoleType (true) when InType(CompartmentType); -Create RoleType (true) when InType(CompartmentType); - -Add NaturalType (true) when true; -Add Group (true) when true; -Create NaturalType (true) when true; -Create Group (true) when true; - -Create Inheritance (true) when true; -Create Relationship (true) when true; - -//enable all context menues -//Execute CompartmentType (true) when true; -Execute Relationship (true) when true; -//Execute Fulfillment (true) when true; -//Execute Inheritance (true) when true; diff --git a/org.framed.iorm.ui/core/baseRules.editpolicy b/org.framed.iorm.ui/core/baseRules.editpolicy deleted file mode 100644 index 44a65f53f4e28b3b3821bb01740cc3aa81390e78..0000000000000000000000000000000000000000 --- a/org.framed.iorm.ui/core/baseRules.editpolicy +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> -<editpolicymodel:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editpolicymodel="http://framed/editpolicymodel"> - <policies action="Add" actionType="RoleType"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:InType" type="CompartmentType"/> - </policies> - <policies actionType="RoleType"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:InType" type="CompartmentType"/> - </policies> - <policies action="Add" actionType="NaturalType"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies action="Add" actionType="Group"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies actionType="NaturalType"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies actionType="Group"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies actionType="Inheritance"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies actionType="Relationship"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies action="Execute" actionType="CompartmentType"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> - <policies action="Execute" actionType="Relationship"> - <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> - <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> - </policies> -</editpolicymodel:Model> diff --git a/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl b/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl index 16067a7eb7eef7ecef96937010578212cf570719..83c3a99114aa964e9b6cad181bd8dfdc0f2ee136 100644 --- a/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl +++ b/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl @@ -1,4 +1,4 @@ -//Fullfillment or Players?? +//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); @@ -17,4 +17,6 @@ Reconnect Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTa Start Fulfillment (Dates) when IsSourceType(DataType); Add Fulfillment (Dates) when IsSourceType(DataType); Create Fulfillment (Dates) when IsSourceType(DataType); -Reconnect Fulfillment (Dates) when IsSourceType(DataType); \ No newline at end of file +Reconnect Fulfillment (Dates) when IsSourceType(DataType); + +Execute Fulfillment (true) when true; diff --git a/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy b/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy index 51b84d2dffb8e1f701020d7e63fa4a73f01f83d9..4e3a7a47bf22d45c896c723c3bed1fcc0bab12ee 100644 --- a/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy +++ b/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy @@ -106,4 +106,8 @@ <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Dates"/> <constraintRule xsi:type="editpolicymodel:IsSourceType" type="DataType"/> </policies> + <policies action="Execute" actionType="Fulfillment"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> </editpolicymodel:Model> diff --git a/org.framed.iorm.ui/core/group/Group.ecl b/org.framed.iorm.ui/core/group/Group.ecl new file mode 100644 index 0000000000000000000000000000000000000000..553d6f17fe9b1f7d33625ca6ff0cafe2af771397 --- /dev/null +++ b/org.framed.iorm.ui/core/group/Group.ecl @@ -0,0 +1,3 @@ +Add Group (true) when true; +Create Group (true) when true; + diff --git a/org.framed.iorm.ui/core/group/Group.editpolicy b/org.framed.iorm.ui/core/group/Group.editpolicy new file mode 100644 index 0000000000000000000000000000000000000000..974841fad9d4bdf5255cebc71c6d76a7511c16bf --- /dev/null +++ b/org.framed.iorm.ui/core/group/Group.editpolicy @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="ASCII"?> +<editpolicymodel:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editpolicymodel="http://framed/editpolicymodel"> + <policies action="Add" actionType="Group"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> + <policies actionType="Group"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> +</editpolicymodel:Model> diff --git a/org.framed.iorm.ui/core/inheritance/Inheritance.ecl b/org.framed.iorm.ui/core/inheritance/Inheritance.ecl index aa787a7f5fb5e629a88c8891dfb29a97b4a4ab3e..521980d343c0e7fc325dd450130bd5da09dbebf3 100644 --- a/org.framed.iorm.ui/core/inheritance/Inheritance.ecl +++ b/org.framed.iorm.ui/core/inheritance/Inheritance.ecl @@ -1,4 +1,8 @@ -//Inheritance +//Inheritance Start Inheritance (Naturals) when IsSourceType(NaturalType); Add Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType(); -Reconnect Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType(); \ No newline at end of file +Reconnect Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType(); + +Execute Inheritance (true) when true; +Create Inheritance (true) when true; + diff --git a/org.framed.iorm.ui/core/inheritance/Inheritance.editpolicy b/org.framed.iorm.ui/core/inheritance/Inheritance.editpolicy index 10d72b9ceff4e457edd929a9505d5ed9a86d0091..14ecccc399e4007764efa9121a9230ac245ed47f 100644 --- a/org.framed.iorm.ui/core/inheritance/Inheritance.editpolicy +++ b/org.framed.iorm.ui/core/inheritance/Inheritance.editpolicy @@ -18,4 +18,12 @@ <rules xsi:type="editpolicymodel:SourceEqualsTargetType"/> </constraintRule> </policies> + <policies action="Execute" actionType="Inheritance"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> + <policies actionType="Inheritance"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> </editpolicymodel:Model> diff --git a/org.framed.iorm.ui/core/naturaltype/NaturalType.ecl b/org.framed.iorm.ui/core/naturaltype/NaturalType.ecl new file mode 100644 index 0000000000000000000000000000000000000000..93bf1c3093d9f2106a78407c44ffd7e1af5b7dc2 --- /dev/null +++ b/org.framed.iorm.ui/core/naturaltype/NaturalType.ecl @@ -0,0 +1,3 @@ +Add NaturalType (true) when true; +Create NaturalType (true) when true; + diff --git a/org.framed.iorm.ui/core/naturaltype/NaturalType.editpolicy b/org.framed.iorm.ui/core/naturaltype/NaturalType.editpolicy new file mode 100644 index 0000000000000000000000000000000000000000..788d66ed106f92e300bb0b749c097d1e27e0d8b6 --- /dev/null +++ b/org.framed.iorm.ui/core/naturaltype/NaturalType.editpolicy @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="ASCII"?> +<editpolicymodel:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editpolicymodel="http://framed/editpolicymodel"> + <policies action="Add" actionType="NaturalType"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> + <policies actionType="NaturalType"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> +</editpolicymodel:Model> diff --git a/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl b/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl index da2dbcd21ccd6334bd18c4be8b6b851f4fac9f78..5d6365d9321d544cd7ca7c92916220103ca6a104 100644 --- a/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl +++ b/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl @@ -5,4 +5,4 @@ Add CompartmentType (!Compartment_Types) when !InType(CompartmentType) and !Cont Create CompartmentType (!Compartment_Types) when !InType(CompartmentType) and !ContainsCompartment(); Add CompartmentType (Compartment_Types) when !InType(CompartmentType); Create CompartmentType (Compartment_Types) when !InType(CompartmentType); - \ No newline at end of file + \ No newline at end of file diff --git a/org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.ecl b/org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.ecl similarity index 100% rename from org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.ecl rename to org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.ecl diff --git a/org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.editpolicy b/org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.editpolicy similarity index 100% rename from org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.editpolicy rename to org.framed.iorm.ui/modules/compartment/contains_compartments/ContainsCompartments.editpolicy diff --git a/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl b/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl index b51053058ae768ce2ed353f08f4de10e95a91e1b..9ef3378cc94dd1d7ba8ad70bddfe3bd911e71e1d 100644 --- a/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl +++ b/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl @@ -1,4 +1,4 @@ //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 - \ No newline at end of file + \ 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 index ba0ff5fb9237861c145642a141c6c9d5decdd2ea..1bb16c02a50039fb0d676601859958d7bf81e87e 100644 --- a/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl +++ b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl @@ -1,4 +1,4 @@ -//Playing_own_roles +//Playing_own_roles Start Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType); Add Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTargetType(); Create Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTargetType(); diff --git a/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.editpolicy b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.editpolicy index 0cd9d7753709c8021e627c6409c78d712e198a26..6a2bcf268169bd2b9987519245733bf3a75287c0 100644 --- a/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.editpolicy +++ b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.editpolicy @@ -11,6 +11,13 @@ <rules xsi:type="editpolicymodel:SourceEqualsTargetType"/> </constraintRule> </policies> + <policies actionType="Fulfillment"> + <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Playable_by_Defining_Compartment"/> + <constraintRule xsi:type="editpolicymodel:AndConstraintRule"> + <rules xsi:type="editpolicymodel:IsSourceType" type="CompartmentType"/> + <rules xsi:type="editpolicymodel:SourceEqualsTargetType"/> + </constraintRule> + </policies> <policies action="Reconnect" actionType="Fulfillment"> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Playable_by_Defining_Compartment"/> <constraintRule xsi:type="editpolicymodel:AndConstraintRule"> diff --git a/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl b/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl index 8e1fb921ba078e59c2819fdf5f49810b48785b06..c5e094b65798c5255f0283a43d6c33129434d171 100644 --- a/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl +++ b/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl @@ -3,4 +3,4 @@ Create_Property CompartmentType (Compartment_Properties) when true; Create_Attribute CompartmentType (Compartment_Properties) when true; Create_Operation CompartmentType (Compartment_Behavior) when true; Add_Property CompartmentType (true) when true; - \ No newline at end of file + \ No newline at end of file diff --git a/org.framed.iorm.ui/modules/datatype/DataTypes.ecl b/org.framed.iorm.ui/modules/datatype/DataTypes.ecl index 1230f976047329517fa8b530f2bff648311a2122..10a82f094d3f4d90f2a9d74b52f6a0df78304623 100644 --- a/org.framed.iorm.ui/modules/datatype/DataTypes.ecl +++ b/org.framed.iorm.ui/modules/datatype/DataTypes.ecl @@ -1,3 +1,3 @@ //DataTypes Add DataType (Data_Types) when true; -Create DataType (Data_Types) when true; \ No newline at end of file +Create DataType (Data_Types) when true; \ 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 index 972f81df12e1c6fe15ccc1457a8e454d61f1a3e2..5f16ed67c04874634ba3fe3ed37a8ebbef3d031e 100644 --- a/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl +++ b/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl @@ -1,4 +1,4 @@ //Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance -Start Inheritance (Data_Type_Inheritance) when IsSourceType(DataType); +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(); // 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 index e05da9fec013ed141da183208b8b99921793a0ec..8d14b52c68ef11a68c9df09b38cffe08f50120b4 100644 --- a/org.framed.iorm.ui/modules/relationship/Relationship.ecl +++ b/org.framed.iorm.ui/modules/relationship/Relationship.ecl @@ -1,8 +1,11 @@ -//Relationships +//Relationships Start Relationship (Relationships) when true; Add Relationship (Relationships) when true; Reconnect Relationship (Relationships) when true; Start Relationship (true) when IsSourceType(RoleType);//For Relationship-Relation Source and Target must be Role-Type Add Relationship (true) when IsTargetType(RoleType) and IsSourceType(RoleType); -Reconnect Relationship (true) when IsTargetType(RoleType) and IsSourceType(RoleType); \ No newline at end of file +Reconnect Relationship (true) when IsTargetType(RoleType) and IsSourceType(RoleType); + +Execute Relationship (true) when true; +Create Relationship (true) when true; diff --git a/org.framed.iorm.ui/modules/relationship/Relationship.editpolicy b/org.framed.iorm.ui/modules/relationship/Relationship.editpolicy index 01a89e9e51e54acdad2e9b4d77d758c45d295e5b..3ab826e93bfa767832f13513bb44a1c4a3107e2b 100644 --- a/org.framed.iorm.ui/modules/relationship/Relationship.editpolicy +++ b/org.framed.iorm.ui/modules/relationship/Relationship.editpolicy @@ -30,4 +30,12 @@ <rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/> </constraintRule> </policies> + <policies action="Execute" actionType="Relationship"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> + <policies actionType="Relationship"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> </editpolicymodel:Model> 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 index c656680d974e646f94d4e74509be9b8d448bd40b..6d084323a0c2d0cd48351c92be4e1e413339cf3a 100644 --- a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl +++ b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl @@ -1,4 +1,4 @@ -//InterRelationship +//InterRelationship Start RelationshipExclusion (Inter_Relationship_Constraints) when true; Add RelationshipExclusion (Inter_Relationship_Constraints) when true; Reconnect RelationshipExclusion (Inter_Relationship_Constraints) when true; diff --git a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.editpolicy b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.editpolicy index 7eff6c62212144743b3c1a193c1e51982ca71253..2a11004ba01824cb8cab755fd7ecb5aea47490f7 100644 --- a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.editpolicy +++ b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.editpolicy @@ -12,6 +12,10 @@ <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Inter_Relationship_Constraints"/> <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> </policies> + <policies actionType="RelationshipExclusion"> + <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Inter_Relationship_Constraints"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> <policies action="Start" actionType="RelationshipImplication"> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Inter_Relationship_Constraints"/> <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> @@ -24,4 +28,8 @@ <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Inter_Relationship_Constraints"/> <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> </policies> + <policies actionType="RelationshipImplication"> + <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Inter_Relationship_Constraints"/> + <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> + </policies> </editpolicymodel:Model> 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 index d75f2d7903f210e24b772c1d5c8c5ccaae16d3dd..0de8445a0cb35194ede106183bffbdcae848eeac 100644 --- a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl +++ b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl @@ -1,4 +1,4 @@ -//IntraRelationshipConstraint +//IntraRelationshipConstraint Add Irreflexive (Intra_Relationship_Constraints) when true; Start Irreflexive (Intra_Relationship_Constraints) when true; Create Irreflexive (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 index 19d581b0055b457ecabcfad0f9ae1da9c08dfa66..71e55777e552759ae387285d5e225bf21994e347 100644 --- a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl +++ b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl @@ -1,3 +1,3 @@ -//groupConstraints/RoleGroup +//groupConstraints/RoleGroup Add RoleGroup (Group_Constraints) when InType(CompartmentType); Create RoleGroup (Group_Constraints) when InType(CompartmentType); \ No newline at end of file diff --git a/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl b/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl index 726b2ffa56365575cfab88b5197416e8cc2adea6..9616538dc51b53077c8d57f1d80f04013f506347 100644 --- a/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl +++ b/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl @@ -1,4 +1,4 @@ //Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance -Start Inheritance (Role_Inheritance) when IsSourceType(RoleType); +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(); //TODO, check acyclic \ No newline at end of file diff --git a/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl b/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl index 991964dfae8c5b796817ebd4fb9e4fe494591177..98cd3fac14586e3c054073cbd326b1ecc77555b4 100644 --- a/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl +++ b/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl @@ -2,4 +2,7 @@ Create_Property RoleType (Role_Properties) when true; Create_Attribute RoleType (Role_Properties) when true; Create_Operation RoleType (Role_Behavior) when true; -Add_Property RoleType (true) when true; \ No newline at end of file +Add_Property RoleType (true) when true; + +Add RoleType (true) when InType(CompartmentType); +Create RoleType (true) when InType(CompartmentType); diff --git a/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.editpolicy b/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.editpolicy index d38c44c46e061bf1c5c538eeff7499125cf62b61..d6dff761a93a979cae6033a763c0c6ceafb51043 100644 --- a/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.editpolicy +++ b/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.editpolicy @@ -16,4 +16,12 @@ <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> </policies> + <policies action="Add" actionType="RoleType"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:InType" type="CompartmentType"/> + </policies> + <policies actionType="RoleType"> + <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> + <constraintRule xsi:type="editpolicymodel:InType" type="CompartmentType"/> + </policies> </editpolicymodel:Model> diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl index 35506819de79117280cfd8ff14a4a7d7196b8d98..2116907788a7c76d881b1c1769f02d67c2bdaf8c 100644 --- a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl +++ b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl @@ -1,4 +1,4 @@ -//RoleConstraints +//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();