140 likes | 227 Views
Using SuperVISE for process modelling. Peter Henderson (peter@ecs.soton.ac.uk) and Bob Walters (rjw1@ecs.soton.ac.uk). What we have done so far. Examined SuperVISE and some aspects of the Pathway project Selected a small part of Pathway to model
E N D
Using SuperVISE for process modelling Peter Henderson (peter@ecs.soton.ac.uk) and Bob Walters (rjw1@ecs.soton.ac.uk)
What we have done so far • Examined SuperVISE and some aspects of the Pathway project • Selected a small part of Pathway to model • Created a description of that part using pi-calculus and e-pi • Devised a model of that behavior using SV
“RAD” of simple model Office Centre Initial Initial Greet Customer Known at this Office? No Yes Send "Unknown NINO" Send payment data Pay Customer Initial Initial
Simple model in pi-calculus office( pm, d, r) = (b people) if b dom(pm) then d!b . office( (pm ds{b}), d,r) else s!(b,r) . r?x . d!x . office(pm,d,r) centre( pm, po, s) = s?(b,r) . r!pm[b] . centre( (pm ds {b}), po, s)
Simple model in e-pi centre(pm,po):= in(s, (b,r)::out(r,pm.at(b), centre(pm.ds(set().add(b)), po))). office(pm,d,r):= people.alt(b::pm.dom().member(b) then out(d,b,office(pm.ds(set().add(b)), d,r)) else out(s, (b,r), in(r,x::office(pm,d,r)))). p:= par(centre(pm,po), par( par(office(pm1,91,11), sink(91)), par(office(pm2,92,12), sink(92)))).
The working model OFFICE1 receive_port Office 1 send_port POCL1 OFFICE1 CENTRE_PORT Centre ALLOFFICE OFFICE2 iport OFFICE2 receive_port Office 2 send_port
Messages in my model UNKNOWN_NINO( enq: OP) ALLOFFICE to CENTRE_PORT ACK_UNKNOWN_NINO( off_id: int) CENTRE_PORT to ALLOFFICE PAYMENT_AMOUNT_1( Amount : int) CENTRE_PORT to OFFICE1 PAYMENT_AMOUNT_2( Amount : int) CENTRE_PORT to OFFICE2 ( OP type defined to be an “Office, Person” pair )
The next stage Office 1 Benefit Centre Agency Office 2
Use of SuperVISE • SuperVISE has already been used in a number of projects • It must be true that some aspects of these projects have been better suited to SuperVISE than others
SY Pathway Useful No help ALU logic design Modelling message passing Cabinet design Backplane construction Database description