MartinLoeper / KAMP-DSL

Domain Specific Language for the KAMP Framework
Apache License 2.0
0 stars 0 forks source link

Types of Propagations/Lookups #74

Open MartinLoeper opened 7 years ago

MartinLoeper commented 7 years ago

What are the types of Lookups we should support? Is there something the Kamp Rule Language (KARL) is missing?

MartinLoeper commented 7 years ago

The following method looks interesting. I do not know if it could be expressed as a BackwardRule.

lookUpAllUserActions in class BPArchitectureModelLookup

Edit: Yes, I could express the same functionality using a BackwardLookup.

MartinLoeper commented 7 years ago

What about BPArchitectureModelLookup#lookUpUserActionsUpToReleaseDeviceResource?

MartinLoeper commented 7 years ago

Example for RuleReference:

rule test: pcm::OperationSignature => RULE[lookUpEntryLevelSystemCallsWithSignatures];
    insert edu.kit.ipd.sdq.kamp4bp.model.modificationmarks.BPModificationmarksFactory#createBPModifyEntryLevelSystemCall
    into edu.kit.ipd.sdq.kamp4bp.model.modificationmarks.BPInterBusinessProcessPropagation#getAbstractUserActionModifications;
MartinLoeper commented 7 years ago

The method BPChangePropagationAnalysis#createAndAddInterfaceModifications creates the items ISModifySignature which have a special method getSignatureModifications(). We do not have any language feature to address this.

MartinLoeper commented 7 years ago

Adding sub modification marks imposes much complexity. I would suggest to implement an API rather than a language feature. Some sort of observer pattern... In order to accomplish that we could subclass a predefined Rule implementation (e.g. SubModificationMarkRule) using a langage feature such as:

rule[SubModificationMarkRule] RULE_NAME: