“…Otherwise, the internal transition is disabled. Instead, to move to state done, the route has to wait for the processing termination event, associated with the spontaneous transition end ( @Transition(name = "end", source = "wait", target = "done", guard = "!g") 30 public void spontaneousEnd() {} // "!g" in the guard above means "not g" 31 32 @Transition(name = "", source = "wait", target = "done", guard = "g") 33 public void internalEnd() {} 34 35 @Transition(name = "finished", source = "done", target = "off") 36 public void finishedTransition() {} 37 38 @Guard(name = "g") 39 public lines [27][28][29][30] that checks whether the available memory limit of the system, defined through the constructor of the MemoryMonitor class ( Figure 4: lines [12][13][14], is sufficient for adding more running routes.…”