java.lang.Object
org.eclipse.emf.ecore.util.Switch<T>
org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
org.palladiosimulator.solver.transformations.pcm2lqn.Rdseff2Lqn

public class Rdseff2Lqn extends org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
Visits one SEFF. An Rdseff2Lqn instance creates a new Rdseff2Lqn instance when visiting an external call, this new one is responsible for the other SEFF. Thus, only information local to this SEFF could be stored as member variables here. Each visitor method (case*) returns the id of the first generated LQN model element, so that it can be used by the handler of the previous model element to connect itself to this successor.
  • Field Summary

    Fields inherited from class org.palladiosimulator.pcm.seff.util.SeffSwitch

    copyright, modelPackage
  • Constructor Summary

    Constructors
    Constructor
    Description
    Rdseff2Lqn(LqnBuilder lqnBuilder, ContextWrapper contextWrapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    caseAcquireAction(org.palladiosimulator.pcm.seff.AcquireAction object)
    Does nothing yet, is ignored and the visitor continues with the successor.
    caseBranchAction(org.palladiosimulator.pcm.seff.BranchAction object)
     
    caseCollectionIteratorAction(org.palladiosimulator.pcm.seff.CollectionIteratorAction object)
     
    caseExternalCallAction(org.palladiosimulator.pcm.seff.ExternalCallAction object)
     
    caseForkAction(org.palladiosimulator.pcm.seff.ForkAction object)
     
    caseForkActionOld(org.palladiosimulator.pcm.seff.ForkAction object)
     
    caseInternalAction(org.palladiosimulator.pcm.seff.InternalAction object)
     
    caseLoopAction(org.palladiosimulator.pcm.seff.LoopAction object)
     
    caseReleaseAction(org.palladiosimulator.pcm.seff.ReleaseAction object)
    Does nothing yet, is ignored and the visitor continues with the successor.
    caseResourceDemandingBehaviour(org.palladiosimulator.pcm.seff.ResourceDemandingBehaviour object)
     
    caseResourceDemandingSEFF(org.palladiosimulator.pcm.seff.ResourceDemandingSEFF object)
     
    caseSetVariableAction(org.palladiosimulator.pcm.seff.SetVariableAction object)
     
    caseStartAction(org.palladiosimulator.pcm.seff.StartAction object)
     
    caseStopAction(org.palladiosimulator.pcm.seff.StopAction object)
     

    Methods inherited from class org.palladiosimulator.pcm.seff.util.SeffSwitch

    caseAbstractAction, caseAbstractBranchTransition, caseAbstractInternalControlFlowAction, caseAbstractLoopAction, caseCallAction, caseCallReturnAction, caseEmitEventAction, caseEntity, caseFailureHandlingEntity, caseForkedBehaviour, caseGuardedBranchTransition, caseIdentifier, caseInternalCallAction, caseNamedElement, casePCMBaseClass, casePCMClass, caseProbabilisticBranchTransition, caseResourceDemandingInternalBehaviour, caseServiceEffectSpecification, caseSynchronisationPoint, defaultCase, doSwitch, isSwitchFor

    Methods inherited from class org.eclipse.emf.ecore.util.Switch

    doSwitch, doSwitch

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • caseAcquireAction

      public String caseAcquireAction(org.palladiosimulator.pcm.seff.AcquireAction object)
      Does nothing yet, is ignored and the visitor continues with the successor. Can be implemented with a Semaphore task in LQN. Excerpt from LQN 4.3 documentation: Semaphore Task: Semaphore tasks are used to model passive resources such as buffers. They always have two entries which are used to signal and wait the semaphore. The wait entry must be called using a synchronous request whereas the signal entry can be called using any type of request. Once a request is accepted by the wait entry, no further requests will be accepted until a request is processed by the signal entry. The signal and wait entries do not have to called from a common task. However, the two entries must share a common call graph, and the call graph must be deterministic. The entries themselves can be defined using phases or activies and can make requests to other tasks. Counting semaphores can be modeled using a multiserver.
      Overrides:
      caseAcquireAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseReleaseAction

      public String caseReleaseAction(org.palladiosimulator.pcm.seff.ReleaseAction object)
      Does nothing yet, is ignored and the visitor continues with the successor.
      Overrides:
      caseReleaseAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseResourceDemandingSEFF

      public String caseResourceDemandingSEFF(org.palladiosimulator.pcm.seff.ResourceDemandingSEFF object)
      Overrides:
      caseResourceDemandingSEFF in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseLoopAction

      public String caseLoopAction(org.palladiosimulator.pcm.seff.LoopAction object)
      Overrides:
      caseLoopAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseCollectionIteratorAction

      public String caseCollectionIteratorAction(org.palladiosimulator.pcm.seff.CollectionIteratorAction object)
      Overrides:
      caseCollectionIteratorAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseResourceDemandingBehaviour

      public String caseResourceDemandingBehaviour(org.palladiosimulator.pcm.seff.ResourceDemandingBehaviour object)
      Overrides:
      caseResourceDemandingBehaviour in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseStartAction

      public String caseStartAction(org.palladiosimulator.pcm.seff.StartAction object)
      Overrides:
      caseStartAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseBranchAction

      public String caseBranchAction(org.palladiosimulator.pcm.seff.BranchAction object)
      Overrides:
      caseBranchAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseSetVariableAction

      public String caseSetVariableAction(org.palladiosimulator.pcm.seff.SetVariableAction object)
      Overrides:
      caseSetVariableAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseExternalCallAction

      public String caseExternalCallAction(org.palladiosimulator.pcm.seff.ExternalCallAction object)
      Overrides:
      caseExternalCallAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseInternalAction

      public String caseInternalAction(org.palladiosimulator.pcm.seff.InternalAction object)
      Overrides:
      caseInternalAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseStopAction

      public String caseStopAction(org.palladiosimulator.pcm.seff.StopAction object)
      Overrides:
      caseStopAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>
    • caseForkActionOld

      public String caseForkActionOld(org.palladiosimulator.pcm.seff.ForkAction object)
    • caseForkAction

      public String caseForkAction(org.palladiosimulator.pcm.seff.ForkAction object)
      Overrides:
      caseForkAction in class org.palladiosimulator.pcm.seff.util.SeffSwitch<String>