3model = LayeredNetwork(
'myLayeredModel');
5% definition of processors, tasks and entries
6P1 = Processor(model,
'P1', 1, SchedStrategy.PS);
7T1 = Task(model,
'T1', 100, SchedStrategy.REF).on(P1);
8E1 = Entry(model,
'E1').on(T1);
10P2 = Processor(model,
'P2', 1, SchedStrategy.PS);
11T2 = Task(model,
'T2', 1, SchedStrategy.INF).on(P2);
12E2 = Entry(model,
'E2').on(T2);
14E3 = Entry(model,
'E3').on(T2);
16% definition of activities
17T1.setThinkTime(Erlang.fitMeanAndOrder(10,1));
19A1 = Activity(model,
'A1', Exp(1)).on(T1).boundTo(E1).synchCall(E2).synchCall(E3,1);
21A20 = Activity(model,
'A20', Exp(1)).on(T2).boundTo(E2);
22A21 = Activity(model,
'A21', Exp(1)).on(T2);
23A22 = Activity(model,
'A22', Exp(1)).on(T2).repliesTo(E2);
24T2.addPrecedence(ActivityPrecedence.Serial(A20, A21, A22));
26A3 = Activity(model,
'A3', Exp(1)).on(T2).boundTo(E3).repliesTo(E3);
29options = LQNS.defaultOptions;
32%options.method =
'exact';
33%options.method =
'lqsim';
34%options.samples = 1e4;
35solver{1} = LQNS(model, options);
36AvgTable{1} = solver{1}.getAvgTable; AvgTable{1}
38lnoptions = LN.defaultOptions;
40solveroptions = Solver.defaultOptions;
41%options.method =
'comom';
42solveroptions.verbose = 0;
43solver{2} = LN(model, @(l)NC(l,solveroptions), lnoptions);
44AvgTable{2} = solver{2}.getAvgTable; AvgTable{2}