1classdef ModelAdapter < Copyable
2 % Static
class to transform and adapt models, providing functionality for:
3 % - Creating tagged job models for response time analysis
4 % - Fork-join network transformations (formerly from api/fj/)
5 % - Model preprocessing and adaptation operations
7 % Copyright (c) 2012-2026, Imperial College London
12 model = JMT2LINE(filename,modelName);
13 model = JMVA2LINE(filename,modelName);
14 model = JSIM2LINE(filename,modelName);
15 java_model = LINE2JLINE(line_model);
16 model = PMIF2LINE(filename,modelName);
17 sn = PMIF2QN(filename,verbose);
18 model = QN2LINE(sn, modelName);
19 lqnmodel=QN2LQN(model);
21 % ========== Model I/O ==========
22 LINE2MATLAB(model, filename);
23 LINE2JAVA(model, filename);
24 QN2MATLAB(model, modelName, fid);
25 QN2JAVA(model, modelName, fid, headers);
26 LQN2MATLAB(lqnmodel, modelName, fid);
27 LQN2JAVA(lqnmodel, modelName, fid);
29 % ========== Model adaptation ==========
30 [taggedModel, taggedJob] = tagChain(model, chain, jobclass, suffix);
31 newmodel = removeClass(model, jobclass);
32 [chainModel, alpha, deaggInfo] = aggregateChains(model, suffix);
33 [fesModel, fesStation, deaggInfo] = aggregateFES(model, stationSubset, options);
35 % ========== Fork-Join Methods (formerly from api/fj/) ==========
36 ri = findPaths(sn, P, start, endNode, r, toMerge, QN, TN, currentTime, fjclassmap, fjforkmap, nonfjmodel);
37 ri = findPathsCS(sn, P, curNode, endNode, curClass, toMerge, QN, TN, currentTime, fjclassmap, fjforkmap, nonfjmodel);
38 ri = paths(sn, P, start, endNode, toMerge, QN, TN, currentTime);
39 [ri, stat, RN] = pathsCS(sn, orignodes, P, f, joinIdx, r, RN, currentTime, toMerge);
40 [forks, parents] = sortForks(sn, nonfjstruct, fjforkmap, fjclassmap, nonfjmodel);
41 [nonfjmodel, fjclassmap, fjforkmap, fanout] = mmt(model, forkLambda);
42 [nonfjmodel, fjclassmap, fjforkmap, fj_auxiliary_delays] = ht(model);