Interface BranchAction

  • All Superinterfaces:
    AbstractAction, AbstractInternalControlFlowAction, org.eclipse.emf.cdo.CDOObject, org.eclipse.emf.cdo.common.id.CDOWithID, Entity, EObject, de.uka.ipd.sdq.identifier.Identifier, NamedElement, Notifier
    All Known Implementing Classes:
    BranchActionImpl

    public interface BranchAction
    extends AbstractInternalControlFlowAction
    A representation of the model object 'Branch Action'. The BranchAction splits the RDSEFF control flow with an XOR-semantic, meaning that the control flow continues on exactly one of its attached AbstractBranchTransitions. The RDSEFF supports two different kinds of branch transitions, GuardedBranchTransitions, and ProbabilisticBranchTransitions. RDSEFFs do not allow to use both kinds of transitions on a single BranchAction. Analysis or simulation tools must select exactly one transition based on the included guard or probability, before continuing at a BranchAction.

    The following features are supported:

    See Also:
    SeffPackage.getBranchAction()
    Generated class or method.
    EMF model class or method.
    • Method Detail

      • EitherGuardedBranchesOrProbabilisiticBranchTransitions

        boolean EitherGuardedBranchesOrProbabilisiticBranchTransitions​(DiagnosticChain diagnostics,
                                                                       Map<Object,​Object> context)
        Parameters:
        diagnostics - The chain of diagnostics to which problems are to be appended.
        context - The cache of context-specific information.
        Generated class or method.
        EMF model class or method.
        annotation= "http://www.eclipse.org/uml2/1.1.0/GenModel body='self.branches_Branch->forAll(bt|bt.oclIsTypeOf(ProbabilisticBranchTransition)) \r\nor self.branches_Branch->forAll(bt|bt.oclIsTypeOf(GuardedBranchTransition))'"
      • AllProbabilisticBranchProbabilitiesMustSumUpTo1

        boolean AllProbabilisticBranchProbabilitiesMustSumUpTo1​(DiagnosticChain diagnostics,
                                                                Map<Object,​Object> context)
        Parameters:
        diagnostics - The chain of diagnostics to which problems are to be appended.
        context - The cache of context-specific information.
        Generated class or method.
        EMF model class or method.
        annotation= "http://www.eclipse.org/uml2/1.1.0/GenModel body='if self.branches_Branch->forAll(oclIsTypeOf(ProbabilisticBranchTransition)) then \r\n\tself.branches_Branch->select(pbt|pbt.oclIsTypeOf(ProbabilisticBranchTransition))->collect(pbt|pbt.oclAsType(ProbabilisticBranchTransition).branchProbability)->sum() > 0.9999 \r\n\tand self.branches_Branch->select(pbt|pbt.oclIsTypeOf(ProbabilisticBranchTransition))->collect(pbt|pbt.oclAsType(ProbabilisticBranchTransition).branchProbability)->sum() < 1.0001 \r\n\telse true \r\nendif'"