Class Operation

java.lang.Object
desmoj.core.simulator.NamedObject
desmoj.core.simulator.ModelComponent
desmoj.core.simulator.Schedulable
desmoj.core.simulator.Entity
cambio.simulator.entities.NamedEntity
cambio.simulator.entities.microservice.Operation

public class Operation extends NamedEntity
An Operation represents an endpoint of a service. It has a specific computational demand and may have dependencies.
  • Field Summary

    Fields inherited from class desmoj.core.simulator.Schedulable

    _schedule
  • Constructor Summary

    Constructors
    Constructor
    Description
    Operation(desmoj.core.simulator.Model model, String name, boolean showInTrace, Microservice ownerMS, int demand)
    Constructs a new endpoint for a microservice.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    applyExtraDelay(desmoj.core.dist.NumericalDist<Double> dist)
    Add extra delay to every dependency of this operation.
    void
    applyExtraDelay(desmoj.core.dist.NumericalDist<Double> dist, Operation operationTrg)
    Add additional delay to this operation.
    int
     
     
     
     
     
     
    Gets a quoted version of the name of this object.
     

    Methods inherited from class cambio.simulator.entities.NamedEntity

    getPlainName, getQuotedPlainName, rename

    Methods inherited from class desmoj.core.simulator.Entity

    clone, generateTraceForScheduling, getIdentNumber, getQueueingPriority, getQueues, getScheduledEvents, isEqual, isLarger, isLargerOrEqual, isNotEqual, isQueued, isSimProcess, isSmaller, isSmallerOrEqual, schedule, schedule, schedule, schedule, schedule, schedule, schedule, schedule, schedule, scheduleAfter, scheduleAfter, scheduleAfter, scheduleBefore, scheduleBefore, scheduleBefore, schedulePreempt, schedulePreempt, schedulePreempt, setQueueingPriority

    Methods inherited from class desmoj.core.simulator.Schedulable

    assignReporter, cancel, getCorrespondingReportable, isCurrent, isScheduled, reSchedule, reSchedule, reSchedulePreempt, scheduledNext, setCorrespondingReportable

    Methods inherited from class desmoj.core.simulator.ModelComponent

    current, currentEntity, currentEntityAll, currentEvent, currentlySendDebugNotes, currentlySendTraceNotes, currentModel, currentSimProcess, debugIsOn, debugOff, debugOn, getModel, isExperimentCompatible, isModelCompatible, presentTime, sendDebugNote, sendMessage, sendTraceNote, sendWarning, skipTraceNote, skipTraceNote, traceIsOn, traceOff, traceOn

    Methods inherited from class desmoj.core.simulator.NamedObject

    getName

    Methods inherited from class java.lang.Object

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

    • Operation

      public Operation(desmoj.core.simulator.Model model, String name, boolean showInTrace, Microservice ownerMS, int demand)
      Constructs a new endpoint for a microservice.
      Parameters:
      ownerMS - Microservice that owns this operation.
      demand - CPU demand of this operation.
  • Method Details

    • getDependencyDescriptions

      public DependencyDescription[] getDependencyDescriptions()
    • getDemand

      public int getDemand()
    • getOwnerMS

      public Microservice getOwnerMS()
    • getQuotedName

      public String getQuotedName()
      Description copied from class: NamedEntity
      Gets a quoted version of the name of this object. The name will include the object number assigned by DESMO-J.
      Overrides:
      getQuotedName in class NamedEntity
      Returns:
      the name of this entity surrounded with ' quotes.
    • toString

      public String toString()
      Overrides:
      toString in class desmoj.core.simulator.NamedObject
    • getFullyQualifiedName

      public String getFullyQualifiedName()
    • getFullyQualifiedPlainName

      public String getFullyQualifiedPlainName()
    • getQuotedFullyQualifiedName

      public String getQuotedFullyQualifiedName()
    • applyExtraDelay

      public void applyExtraDelay(desmoj.core.dist.NumericalDist<Double> dist)
      Add extra delay to every dependency of this operation.
      Parameters:
      dist - NumericalDist of the delay.
    • applyExtraDelay

      public void applyExtraDelay(desmoj.core.dist.NumericalDist<Double> dist, Operation operationTrg)
      Add additional delay to this operation.
      Parameters:
      dist - NumericalDist of the delay.
      operationTrg - target Operation of this that should be affected, can be set to null to affect all outgoing ServiceDependencyInstances