This pull request fixes errors and redundancies in StatePerformances.kerml and TransitionPerformances.kerml found when reviewing them for further enhnacements.
Updates successions and constraints to account for HappensBefore being fully asymmetric now. This includes adding StatePerformance::nonDoMiddle derived as middle minus do (these are the modeler-defined steps).
Replaces invariants on features nested under the features (which would be satisfied by features having no values) with dynamic multiplicities on the features.
Removes isTriggerDuring invariant in StatePerformance that was redundant with the one in TransitionPeformance. StatePerformance::isTriggerDuring defaults to true to constrain all the corresponding TransitionPeformances to that, modelers can set it to false to set TransitionPeformances::isTriggerDuring if they want to.
Adds default true to StatePerformances::isTriggerDuring and isAcceptFirst, now that we have defaults.
Changes "::" to dots when they should be, or removing chaining entirely when not actually needed.
StateTransitionPerformance:
Removes multiplicity on transitionLinkSource::accepted, which was requiring every transition to succeed (!).
Adds ::acceptable(subsetting transitionLinkSource's and subset by trigger) for modelers to specialize with sufficient conditions. Doing that with triggeras currently causes contradiction when more than one transition meets its trigger conditions.
Adds succession to ensure StateTransitionPerformances start after modeler-defined steps (nonDoMiddle) are finished.
Replaces binding on trigger that acted like subsetting (optional on one end) with subsets.
Reverses direction of HappensDuring connector and gives it the right name.
Subsets TransitionPerformance::guard,effectfrom enclosedPerformances to ensure they happen during the transition.
Loosens NonStateTransitionPerformance to enable triggers to arrive before transitionLinkSource ends, defaulting to current requirement that they arrive after.
This pull request fixes errors and redundancies in StatePerformances.kerml and TransitionPerformances.kerml found when reviewing them for further enhnacements.
Updates successions and constraints to account for HappensBefore being fully asymmetric now. This includes adding StatePerformance::
nonDoMiddle
derived as middle minus do (these are the modeler-defined steps).Replaces invariants on features nested under the features (which would be satisfied by features having no values) with dynamic multiplicities on the features.
Removes
isTriggerDuring
invariant in StatePerformance that was redundant with the one in TransitionPeformance. StatePerformance::isTriggerDuring
defaults to true to constrain all the corresponding TransitionPeformances to that, modelers can set it to false to set TransitionPeformances::isTriggerDuring
if they want to.Adds default true to StatePerformances::
isTriggerDuring
andisAcceptFirst
, now that we have defaults.Changes "::" to dots when they should be, or removing chaining entirely when not actually needed.
StateTransitionPerformance:
Removes multiplicity on
transitionLinkSource
::accepted
, which was requiring every transition to succeed (!).Adds ::
acceptable
(subsettingtransitionLinkSource
's and subset bytrigger
) for modelers to specialize with sufficient conditions. Doing that withtrigger
as currently causes contradiction when more than one transition meets its trigger conditions.Adds succession to ensure StateTransitionPerformances start after modeler-defined steps (
nonDoMiddle
) are finished.Replaces binding on
trigger
that acted like subsetting (optional on one end) with subsets.Reverses direction of HappensDuring connector and gives it the right name.
Subsets TransitionPerformance::
guard
,effect
fromenclosedPerformances
to ensure they happen during the transition.Loosens NonStateTransitionPerformance to enable triggers to arrive before
transitionLinkSource
ends, defaulting to current requirement that they arrive after.