def addTriggerCount(self, value=None, validFor=None, result_request=None):
     if result_request is None:
         if self.checkApplicability("TriggerCount"):
             super().addTriggerCount(value, validFor)
         else:
             raise ValueError(
                 'ERROR: TriggerCount can be assigned only to startEvent element'
             )
     else:
         utility.checkResultRequest(result_request)
         if result_request not in REQUEST['triggerCount']:
             raise ValueError(
                 "ERROR: for TriggerCount result_request must be " +
                 str(REQUEST['triggerCount']))
         attributes = {'value': value, 'validFor': validFor}
         utility.filterNoneAttributes(attributes)
         if len(attributes) == 0 and self.checkResultRequestApplicability(
                 'triggerCount'):
             super().addInterTriggerCountResultRequest(result_request)
         elif len(attributes) > 0:
             raise ValueError(
                 "ERROR: for ResultRequest insert only result_request parameter"
             )
         else:
             raise ValueError(
                 "ERROR: result_request can be insert only to " +
                 str(REQUEST_APPLICABILITY['triggerCount']) + " element")
 def addElapsedTime(self, result_request):
     utility.checkResultRequest(result_request)
     if result_request in REQUEST[
             "Time"] and self.checkResultRequestApplicability("Time"):
         super().addElapsedTime(result_request)
     else:
         raise ValueError("ERROR: ElapsedTime requires ", REQUEST["Time"])
 def addQueueLength(self, result_request):
     utility.checkResultRequest(result_request)
     if result_request in REQUEST[
             "QueueLength"] and self.checkApplicability("Property"):
         super().addQueueLength(result_request)
     else:
         raise ValueError("ERROR: QueueLength requires ",
                          REQUEST["QueueLength"])
 def addValidationTime(self,
                       value=None,
                       timeUnit=None,
                       validFor=None,
                       nameDistribution=None,
                       shape=None,
                       scale=None,
                       probability=None,
                       trials=None,
                       mean=None,
                       k=None,
                       standardDeviation=None,
                       mode=None,
                       min=None,
                       max=None,
                       discrete=None,
                       points=None,
                       enum_list=None,
                       expression=None,
                       result_request=None):
     if result_request is None:
         if self.checkApplicability("Time"):
             super().addValidationTime(value, timeUnit, validFor,
                                       nameDistribution, shape, scale,
                                       probability, trials, mean, k,
                                       standardDeviation, mode, min, max,
                                       discrete, points, enum_list,
                                       expression)
         else:
             raise ValueError(
                 'ERROR: Validation time can be assigned only to task element'
             )
     else:
         utility.checkResultRequest(result_request)
         if result_request not in REQUEST['Time']:
             raise ValueError(
                 "ERROR: for ValidationTime result_request must be " +
                 str(REQUEST["Time"]))
         attributes = {
             'value': value,
             'timeUnit': timeUnit,
             'validFor': validFor,
             'enum_list': enum_list
         }
         utility.filterNoneAttributes(attributes)
         if len(attributes) == 0 and self.checkResultRequestApplicability(
                 'Time'):
             super().addValidationTimeResultRequest(result_request)
         elif len(attributes) > 0:
             raise ValueError(
                 "ERROR: for ResultRequest insert only result_request parameter"
             )
         else:
             raise ValueError(
                 "ERROR: result_request can be insert only to " +
                 str(REQUEST_APPLICABILITY['Time']) + " element")
Beispiel #5
0
	def addQueueLength(self, resultRequest): 
		self.checkPropertyParametersTag()
		if self.queueLengthPointer is None:
			self.queueLengthPointer=etree.SubElement(self.propertyPointer, utility.BPSIM + "QueueLength")
		result = etree.SubElement(self.queueLengthPointer, utility.BPSIM + "ResultRequest")
		utility.checkResultRequest(resultRequest)
		result.text=resultRequest
		utility.write_on_file(self.write, self.tree)
		if self.verbosity==0:
			print("INFO: QueueLength added ResultRequest: ", resultRequest)
Beispiel #6
0
	def setQueueLength(self, resultRequest):
		if self.queueLengthPointer is None:
			raise ValueError("ERROR: QueueLength not exist")
		result = self.queueLengthPointer.findall("./"+ utility.BPSIM + 'ResultRequest')
		self.queueLengthPointer.remove(result[-1])
		new_result = etree.SubElement(self.queueLengthPointer, utility.BPSIM + "ResultRequest")
		utility.checkResultRequest(resultRequest)
		new_result.text=resultRequest
		utility.write_on_file(self.write, self.tree)
		if self.verbosity==0:
			print("INFO: ResultRequest updated")
 def setInterTriggerTimer(self,
                          value=None,
                          enum_list=None,
                          timeUnit=None,
                          validFor=None,
                          nameDistribution=None,
                          shape=None,
                          scale=None,
                          probability=None,
                          trials=None,
                          mean=None,
                          k=None,
                          standardDeviation=None,
                          mode=None,
                          min=None,
                          max=None,
                          discrete=None,
                          points=None,
                          result_request=None):
     if self.triggerTimePointer is None:
         raise ValueError("ERROR: TriggerTimer not exist")
     if value is None and nameDistribution is None and enum_list is None and result_request is None:
         raise ValueError(
             'ERROR: To set InterTriggerTimer insert value or nameDistribution or enum_list or result_request'
         )
     if nameDistribution is None and result_request is None:
         if self.typeValueTT == self.nameDistribution:
             self.triggerTimerAttrib = {}
         super().setParameterWithEnumList(self.typeValueTT,
                                          self.triggerTimePointer,
                                          self.triggerTimerAttrib, value,
                                          enum_list, timeUnit, validFor)
     newTriggerTimer = self.triggerTimePointer.findall("./" +
                                                       utility.BPSIM +
                                                       self.typeValueTT)
     if len(newTriggerTimer) > 0:
         self.triggerTimePointer.remove(newTriggerTimer[-1])
     if value is None and nameDistribution is not None and enum_list is None and result_request is None:
         super().checkNameDistribution(nameDistribution)
         newTriggerTimerAttrib = super().filterDistributionAttributes(
             timeUnit, nameDistribution, shape, scale, probability, trials,
             mean, k, standardDeviation, mode, min, max, discrete, points,
             validFor)
         if nameDistribution == 'UserDistribution':
             super().createUserDistributionDataPoint(
                 points, self.triggerTimePointer, discrete, timeUnit)
         else:
             new_parameter = etree.SubElement(self.triggerTimePointer,
                                              utility.BPSIM +
                                              nameDistribution,
                                              attrib=newTriggerTimerAttrib)
     elif result_request is not None:
         utility.checkResultRequest(result_request)
         if result_request == 'count':
             raise ValueError(
                 "ERROR: result_request must be min, max, mean or sum")
         attributes = {
             'value': value,
             'timeUnit': timeUnit,
             'validFor': validFor,
             'nameDistribution': nameDistribution,
             'shape': shape,
             'scale': scale,
             'probability': probability,
             'trials': trials,
             'mean': mean,
             'k': k,
             'standardDeviation': standardDeviation,
             'mode': mode,
             'min': min,
             'max': max,
             'discrete': discrete,
             'points': points,
             'enum_list': enum_list
         }
         utility.filterNoneAttributes(attributes)
         if len(attributes) == 0:
             self.addInterTriggerTimerResultRequest(result_request)
         else:
             raise ValueError("ERROR: insert only result_request parameter")
     else:
         raise ValueError(
             'ERROR: if InterTriggerTimer is NumericParameter, FloatingParameter, DurationParameter add value, add nameDistribution otherwise'
         )
     utility.write_on_file(self.write, self.tree)
     if self.verbosity == 0:
         print("INFO: InterTriggerTimer updated")