1function
RD = getCdfRespT(self, R)
4if nargin<2 || isempty(R) %~exist(
'R',
'var')
5 R = self.getAvgRespTHandles;
8config = self.getOptions.config;
9if ~isfield(config,'algorithm')
10 config.algorithm = 'exact';
14[~,D,N,Z,~,S]= sn_get_product_form_params(sn);
15fcfsNodes = find(sn.sched(sn.sched ~= SchedStrategy.INF) == SchedStrategy.FCFS);
16fcfsNodeIds = find(sn.sched == SchedStrategy.FCFS);
17delayNodeIds = find(sn.sched == SchedStrategy.INF);
19 T = max(sum(N) * mean(1./sn.rates(fcfsNodes,:)));
20 tset = logspace(0,2*log10(T),100);
21 rates = sn.rates(sn.sched == SchedStrategy.FCFS,:);
22 switch config.algorithm
24 RDout = pfqn_stdf(D,N,Z,S,fcfsNodes,rates,tset);
26 RDout = pfqn_stdf_heur(D,N,Z,S,fcfsNodes,rates,tset);
30 RD{fcfsNodeIds(i),j} = real(RDout{i,j}); % remove complex number round-offs
33 for i=1:length(delayNodeIds)
35 RD{delayNodeIds(i),j} = [map_cdf(sn.proc{delayNodeIds(i)}{j}, tset(:))
' tset(:)];
39 self.setDistribResults(RD, runtime);
41 line_warning(mfilename, 'getCdfRespT applies only to FCFS
nodes.\n
');