%
%
%wnt simplified architecture
-language(spifcp).
public(beta(0.01)).
public(wnt(1.0)).
public(phos(0.2)).
public(dephos(0.1)).
public(asyn(0.012)).
public(adeg(0.00167)).
public(bsyn(0.423)).
public(bdeg(0.001)).
System(N1, N2, N3) ::= <<
CREATE_A(N1) | CREATE_B(N2) | CREATE_R(N3) | Syn | Clock .
CREATE_A(N) ::= {N=<0}, 0 ; {N>0}, {N--} | Axin | self .
CREATE_B(N) ::= {N=<0}, 0 ; {N>0}, {N--} | Beta | self .
CREATE_R(N) ::= {N=<0}, 0 ; {N>0}, {N--} | Rec | self >> .
Rec ::= << wrel(0.008), internal(0.008) .
wnt ! {wrel, internal}, RecBound .
RecBound ::= wrel ? [], Rec ; internal ? [], Rec >> .
Axin ::= << wrel(0.008), internal(0.008), rel(0.1), deg(5.0), rem(infinite), remB(infinite) .
phos ! [], AxinP ;
adeg ! [], true .
AxinP ::= beta ? {rel, deg, rem, remB}, AxinP_BBound ;
wnt ? {wrel, internal}, AxinP_Wnt ;
dephos ! [], Axin ;
adeg ! [], true .
AxinP_BBound ::= rel ! [], AxinP ;
deg ! [], AxinP ;
remB ? [], AxinP ;
adeg ! [], rem ! [], true .
AxinP_Wnt ::= internal ! [], true ;
wrel ! [], AxinP >> .
Beta ::= << rel(0.1), deg(5.0), rem(infinite), remB(infinite).
beta ! {rel, deg, rem, remB}, BetaA ;
asyn ! [], (Beta | Axin) ;
bdeg ! [], true .
BetaA ::= rel ? [], Beta ;
rem ? [], Beta ;
deg ? [], true ;
bdeg ! [], true >> .
Syn ::= bsyn ! [], (Syn | Beta) .
Clock ::= phos ? [], Clock ;
dephos ? [], Clock ;
asyn ? [], Clock ;
adeg ? [], Clock ;
bsyn ? [], Clock ;
bdeg ? [], Clock .
%
%