03mar02

rewrite in TEST1-ETHER : eecf sjcf cjcf ljcf .
rewrites: 328 in 30ms cpu (25ms real) (10933 rewrites/second)
result OConf: 
< eee : Transmitter | inQ(none),outQ(none) > 
< JL : JVM | oCtr(0),
 {
< JL . lup : LOOKUP | svctable(("GBPquote" := proxyD(CSP1, svc(JS . o(0)))),
    "USquote" := proxyD(CSP1, svc(JS . o(1)))) >},ether(eee) > 
< JS : JVM | oCtr(2),
 {
< JS . GBPsvc : SVC | state(update(update(GBPdata, mycall, "sam"), badcall,
    "sam")) > 
< JS . USsvc : SVC | state(USdata) > 
< JS . ssptk : SSPTK1 | idle,lookup(JL . lup) > 
< JS . o(0) : SSP1 | idle,svc(JS . GBPsvc),sname("GBPquote") > 
< JS . o(1) : SSP1 | idle,svc(JS . USsvc),sname("USquote") > 
msg(JS . fred, JS . ssptk, registerReply) 
msg(JS . fred, JS . ssptk, registerReply)},ether(eee) > 
< JC : JVM | oCtr(1),
 {
< JC . csptk : CSPTK0 | idle,clientId("sam"),lookup(JL . lup) > 
< JC . app : APP | idle,svcFound(b("GBPquote", JC . o(0))),mytk(JC . csptk),
    todo(none),done(result("GBPquote", mycall, reply(GBPdata, mycall, "sam"))
    result("GBPquote", badcall, reply(update(GBPdata, mycall, "sam"), badcall,
    "sam"))) > 
< JC . o(0) : CSP1 | idle,svc(JS . o(0)),clientId("sam") >},ether(eee) >

rewrite in TEST1-ETHER : eacf sjcf cjcf ljcf .
rewrites: 294 in 30ms cpu (24ms real) (9800 rewrites/second)
result OConf: 
< eee : Attacker | inQ(none),outQ(none),clientIds(none),clientDs(none),pxDs(
    proxyD(CSP1, svc(JS . o(0))) proxyD(CSP1, svc(JS . o(1)))) > 
< JL : JVM | oCtr(0),
 {
< JL . lup : LOOKUP | svctable(none) >},ether(eee) > 
< JS : JVM | oCtr(2),
 {
< JS . GBPsvc : SVC | state(update(update(GBPdata, mycall, "sam"), badcall,
    "sam")) > 
< JS . USsvc : SVC | state(USdata) > 
< JS . ssptk : SSPTK1 | idle,lookup(JL . lup) > 
< JS . o(0) : SSP1 | idle,svc(JS . GBPsvc),sname("GBPquote") > 
< JS . o(1) : SSP1 | idle,svc(JS . USsvc),sname("USquote") > 
msg(JS . fred, JS . ssptk, registerReply) 
msg(JS . fred, JS . ssptk, registerReply)},ether(eee) > 
< JC : JVM | oCtr(1),
 {
< JC . csptk : CSPTK0 | idle,clientId("sam"),lookup(JL . lup) > 
< JC . app : APP | idle,svcFound(b("GBPquote", JC . o(0))),mytk(JC . csptk),
    todo(none),done(result("GBPquote", mycall, reply(GBPdata, mycall, "sam"))
    result("GBPquote", badcall, reply(update(GBPdata, mycall, "sam"), badcall,
    "sam"))) > 
< JC . o(0) : CSP1 | idle,svc(JS . o(0)),clientId("sam") >},ether(eee) >

rewrite in TEST1-ETHER : eecf sjcf ljcf ajcf cjcf .
rewrites: 620 in 50ms cpu (50ms real) (12400 rewrites/second)
result OConf: 
< eee : Transmitter | inQ(none),outQ(none) > 
< JL : JVM | oCtr(0),
 {
< JL . lup : LOOKUP | svctable(("GBPquote" := proxyD(CSP1, svc(JS . o(0)))),
    "USquote" := proxyD(CSP1, svc(JS . o(1)))) >},ether(eee) > 
< JS : JVM | oCtr(2),
 {
< JS . GBPsvc : SVC | state(update(update(update(GBPdata, mycall, "sam"),
    badcall, "sam"), fakeCall, fakeId)) > 
< JS . USsvc : SVC | state(update(USdata, fakeCall, fakeId)) > 
< JS . ssptk : SSPTK1 | idle,lookup(JL . lup) > 
< JS . o(0) : SSP1 | idle,svc(JS . GBPsvc),sname("GBPquote") > 
< JS . o(1) : SSP1 | idle,svc(JS . USsvc),sname("USquote") > 
msg(JS . fred, JS . ssptk, registerReply) 
msg(JS . fred, JS . ssptk, registerReply)},ether(eee) > 
< JC : JVM | oCtr(1),
 {
< JC . csptk : CSPTK0 | idle,clientId("sam"),lookup(JL . lup) > 
< JC . app : APP | idle,svcFound(b("GBPquote", JC . o(0))),mytk(JC . csptk),
    todo(none),done(result("GBPquote", mycall, reply(GBPdata, mycall, "sam"))
    result("GBPquote", badcall, reply(update(GBPdata, mycall, "sam"), badcall,
    "sam"))) > 
< JC . o(0) : CSP1 | idle,svc(JS . o(0)),clientId("sam") >},ether(eee) > 
< JA : JVM | oCtr(2),
 {
< JA . csptk : CSPTK0 | idle,clientId(fakeId),lookup(JL . lup) > 
< JA . app : APP | idle,svcFound(b("GBPquote", JA . o(0)) b("USquote", JA . o(
    1))),mytk(JA . csptk),todo(none),done(result("GBPquote", fakeCall, reply(
    update(update(GBPdata, mycall, "sam"), badcall, "sam"), fakeCall, fakeId))
    result("USquote", fakeCall, reply(USdata, fakeCall, fakeId))) > 
< JA . o(0) : CSP1 | idle,svc(JS . o(0)),clientId(fakeId) > 
< JA . o(1) : CSP1 | idle,svc(JS . o(1)),clientId(fakeId) >},ether(eee) >

rewrite in TEST1-ETHER : eacf sjcf ljcf ajcf cjcf .
rewrites: 540 in 50ms cpu (48ms real) (10800 rewrites/second)
result OConf: 
< eee : Attacker | inQ(none),outQ(none),clientIds(none),clientDs(none),pxDs(
    proxyD(CSP1, svc(JS . o(0))) proxyD(CSP1, svc(JS . o(1)))) > 
< JL : JVM | oCtr(0),
 {
< JL . lup : LOOKUP | svctable(none) >},ether(eee) > 
< JS : JVM | oCtr(2),
 {
< JS . GBPsvc : SVC | state(update(update(update(update(GBPdata, mycall,
    "sam"), badcall, "sam"), fakeCall, fakeId), fakeCall, fakeId)) > 
< JS . USsvc : SVC | state(USdata) > 
< JS . ssptk : SSPTK1 | idle,lookup(JL . lup) > 
< JS . o(0) : SSP1 | idle,svc(JS . GBPsvc),sname("GBPquote") > 
< JS . o(1) : SSP1 | idle,svc(JS . USsvc),sname("USquote") > 
msg(JS . fred, JS . ssptk, registerReply) 
msg(JS . fred, JS . ssptk, registerReply)},ether(eee) > 
< JC : JVM | oCtr(1),
 {
< JC . csptk : CSPTK0 | idle,clientId("sam"),lookup(JL . lup) > 
< JC . app : APP | idle,svcFound(b("GBPquote", JC . o(0))),mytk(JC . csptk),
    todo(none),done(result("GBPquote", mycall, reply(GBPdata, mycall, "sam"))
    result("GBPquote", badcall, reply(update(GBPdata, mycall, "sam"), badcall,
    "sam"))) > 
< JC . o(0) : CSP1 | idle,svc(JS . o(0)),clientId("sam") >},ether(eee) > 
< JA : JVM | oCtr(2),
 {
< JA . csptk : CSPTK0 | idle,clientId(fakeId),lookup(JL . lup) > 
< JA . app : APP | idle,svcFound(b("GBPquote", JA . o(0)) b("USquote", JA . o(
    1))),mytk(JA . csptk),todo(none),done(result("GBPquote", fakeCall, reply(
    update(update(GBPdata, mycall, "sam"), badcall, "sam"), fakeCall, fakeId))
    result("USquote", fakeCall, reply(update(update(update(GBPdata, mycall,
    "sam"), badcall, "sam"), fakeCall, fakeId), fakeCall, fakeId))) > 
< JA . o(0) : CSP1 | idle,svc(JS . o(0)),clientId(fakeId) > 
< JA . o(1) : CSP1 | idle,svc(JS . o(0)),clientId(fakeId) >},ether(eee) >
