LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
lqn_serial.m
1clear P T E A solver AvgTable
2
3fprintf(1,'This example illustrates the execution on a layered queueing network model.\n')
4fprintf(1,'Performance indexes now refer to processors, tasks, entries, and activities.\n')
5fprintf(1,'Indexes refer to the submodel (layer) where the processor or task acts as a server.\n')
6fprintf(1,'NaN indexes indicate that the metric is not supported by the node type.\n')
7
8%cwd = fileparts(which(mfilename));
9%model = LayeredNetwork.parseXML([cwd,filesep,'lqn_serial.xml']);
10%%
11model = LayeredNetwork('myLayeredModel');
12
13P{1} = Processor(model, 'P1', 1, SchedStrategy.PS);
14P{2} = Processor(model, 'P2', 1, SchedStrategy.PS);
15
16T{1} = Task(model, 'T1', 10, SchedStrategy.REF).on(P{1}).setThinkTime(Exp.fitMean(100));
17T{2} = Task(model, 'T2', 1, SchedStrategy.FCFS).on(P{2}).setThinkTime(Immediate());
18
19E{1} = Entry(model, 'E1').on(T{1});
20E{2} = Entry(model, 'E2').on(T{2});
21
22A{1} = Activity(model, 'AS1', Exp.fitMean(1.6)).on(T{1}).boundTo(E{1});
23A{2} = Activity(model, 'AS2', Immediate()).on(T{1}).synchCall(E{2},1);
24A{3} = Activity(model, 'AS3', Exp.fitMean(5)).on(T{2}).boundTo(E{2});
25A{4} = Activity(model, 'AS4', Exp.fitMean(1)).on(T{2}).repliesTo(E{2});
26
27T{1}.addPrecedence(ActivityPrecedence.Serial(A{1}, A{2}));
28T{2}.addPrecedence(ActivityPrecedence.Serial(A{3}, A{4}));
29options = LQNS.defaultOptions;
30options.keep = true; % uncomment to keep the intermediate XML files generates while translating the model to LQNS
31
32solver{1} = LQNS(model);
33AvgTable{1} = solver{1}.getAvgTable();
34AvgTable{1}
35
36CallAvgTable = {};
37[AvgTable{2}, CallAvgTable{2}] = solver{1}.getRawAvgTables();
38AvgTable{2}
39CallAvgTable{2}
40
41AvgTable{3} = LN(model).getAvgTable