#================================= Extract the required data from the data files ==========================================#
filename=("ProcTimesData.csv")
csv=Import_CSV()#call the Import_CSV module and using its method Input_data import the data set from the CSV file to the tool
Data=csv.Input_data(filename)
Activity2_Proc=Data.get('Activity 2',[])#get from the returned Python dictionary the two data sets
Activity3_Proc=Data.get('Activity 3',[])
#Read from the given directory the Excel document with the data
workbook=xlrd.open_workbook('DataSet.xlsx')
worksheets=workbook.sheet_names()
worksheet_Inter=worksheets[0]#Define the worksheet with the Inter-arrivals time data
data=Import_Excel()
interTimes=data.Input_data(worksheet_Inter,workbook)#Create the Inter-arrival times dictionary with key the Source and values the inter-arrival time data
S1=interTimes.get('Source',[])
#Read from the given directory the Excel document with the data
workbook=xlrd.open_workbook('DataSet.xlsx')
worksheets=workbook.sheet_names()
worksheet_Fail=worksheets[1]#Define the worksheet with the failures data (MTTF,MTTR)
data=Import_Excel()
failures=data.Input_data(worksheet_Fail,workbook)#Create the failures dictionary with key the MTTF and MTTR data points
MTTF=failures.get('MTTF',[])
MTTR=failures.get('MTTR',[])
#======================= Fit data to probability distributions ================================#
#The Distributions and DistFittest objects are called to fit statistical distributions to the in scope data
dist=Distributions()
act2Proc=dist.Weibull_distrfit(Activity2_Proc)
act3Proc=dist.Weibull_distrfit(Activity3_Proc)
s1Times=dist.Exponential_distrfit(S1)
distFit=DistFittest()
act1MTTF=distFit.ks_test(MTTF)
act1MTTR=distFit.ks_test(MTTR)
#======================= Output preparation: output the updated values in the XML file of this example ================================#
datafile=('Topology1.xml')#define the input xml file
tree=et.parse(datafile)
simul8=Simul8Output()#Call the Simul8Output object
#Assign the statistical distribution calculated above in the XML file using methods of the Simul8Output object
worksheet_Inter=worksheets[0]#Define the worksheet with the Inter-arrivals time data
data=Import_Excel()
interTimes=data.Input_data(worksheet_Inter,workbook)#Create the Inter-arrival times dictionary with key the Source and values the inter-arrival time data
S1=interTimes.get('Source',[])
#Read from the given directory the Excel document with the data
worksheets=workbook.sheet_names()
worksheet_Fail=worksheets[1]#Define the worksheet with the failures data (MTTF,MTTR)
data=Import_Excel()
failures=data.Input_data(worksheet_Fail,workbook)#Create the failures dictionary with key the MTTF and MTTR data points
MTTF=failures.get('MTTF',[])
MTTR=failures.get('MTTR',[])
#======================= Fit data to probability distributions ================================#
#The Distributions and DistFittest objects are called to fit statistical distributions to the in scope data
dist=Distributions()
act2Proc=dist.Weibull_distrfit(Activity2_Proc)
act3Proc=dist.Weibull_distrfit(Activity3_Proc)
s1Times=dist.Exponential_distrfit(S1)
distFit=DistFittest()
act1MTTF=distFit.ks_test(MTTF)
act1MTTR=distFit.ks_test(MTTR)
#======================= Output preparation: output the updated values in the XML file of this example ================================#
ifnotsimul8XMLFile:
datafile=(os.path.join(os.path.dirname(os.path.realpath(__file__)),simul8XMLFileName))#It defines the name or the directory of the XML file
tree=et.parse(datafile)
else:
datafile=simul8XMLFile
tree=et.parse(datafile)
simul8=Simul8Output()#Call the Simul8Output object
#Assign the statistical distribution calculated above in the XML file using methods of the Simul8Output object