#include <ses.h>
class simparc_ses: public ses
public:
simparc_ses():ses("simparc"){
ent * efa = make_ent("efa");
set_root(efa);
asp * efa_dec = make_asp("efa_dec");
add_asp_to_ent(efa_dec,efa);
ent * ef = make_ent("ef");
asp * ef_dec = make_asp("ef_dec");
add_asp_to_ent(ef_dec,ef);
ent * gener = make_ent("gener");
spec * genr_spec = make_spec("genr_spec");
add_spec_to_ent(genr_spec,gener);
ent * genr = make_ent("genr");
ent * adgenr = make_ent("adgenr");
add_ent_to_spec(genr,genr_spec);
add_ent_to_spec(adgenr,genr_spec);
ent * transd = make_ent("transd");
add_ent_to_asp(gener,ef_dec);
add_ent_to_asp(transd,ef_dec);
add_coupling(ef_dec,ef, "in", transd, "solved");
add_coupling(ef_dec,ef, "start", gener, "start");
add_coupling(ef_dec,transd,"out",gener,"stop");
add_coupling(ef_dec,transd, "out", ef, "result");
add_coupling(ef_dec,gener, "out",ef, "out");
add_coupling(ef_dec,gener, "out", transd, "ariv");
ent * arch = make_ent("arch");
add_ent_to_asp(ef,efa_dec);
add_ent_to_asp(arch,efa_dec);
add_coupling(efa_dec,efa,"start",ef,"start");
add_coupling(efa_dec,ef,"out",arch,"in");
add_coupling(efa_dec,ef,"result",efa,"out");
add_coupling(efa_dec,arch,"out",ef,"in");
spec * arch_spec = make_spec("arch_spec");
ent * proc = make_ent("proc");
add_ent_to_spec(proc,arch_spec);
add_spec_to_ent(arch_spec,arch);
ent * dc = make_ent("dc");
add_ent_to_spec(dc,arch_spec);
ent * mul = make_ent("mul");
add_ent_to_spec(mul,arch_spec);
multent * pcells = make_multent("pcells",3,0);
pipeline block model
ent * pcell = make_ent("pcell");
set_ent(pcells,pcell);
add_coupling(pcells,"out","in");
add_ent_to_spec(pcells,arch_spec);
add_coupling(pcells,"finalout", ef, "in");
}
};