// // $Id: papmmodel-nonexp.pepa,v 1.2 1999/02/22 10:24:09 gcla Exp $ // //************************************************************************* // // project: PAPM paper // filename: papmmodel.pepa // Time-stamp: <22 Feb 99 00:47:55 gcla> // version: // author: Graham Clark // language: LaTeX // purpose: this should provide the database model required for the PAPM // paper - all values are hand coded. // //************************************************************************* % t1 = 0.2; % t2 = 0.5; % t3 = 0.0333333333333333; % w1xr11 = 4; % w1xr12 = 2.4; % w1xr13 = 1.6; % w1xrr1 = 7; % w2xr21 = 1.2; % w2xr22 = 1.2; % w2xr23 = 0.6; % w2xrr2 = 9; % w3xr31 = 0.6; % w3xr32 = 0.6; % w3xr33 = 0.8; % w3xrr3 = 7; % rl11 = 8; % rl12 = 8; % rl13 = 8; % rl1r = 8; % rl21 = 8; % rl22 = 8; % rl23 = 8; % rl2r = 8; % rl31 = 8; % rl32 = 8; % rl33 = 8; % rl3r = 8; % e1 = 8; % e1f = 8; % r1 = 8; % e2 = 8; % e2f = 8; % r2 = 8; % e3 = 8; % e3f = 8; % r3 = 8; % a11xq = 10; % a11xonemq = 10; % a12xq = 20; % a12xonemq = 10; % a13xq = 10; % a13xonemq = 10; % a1rxq = 10; % a1rxonemq = 10; % a21xq = 13.3333333333333; % a21xonemq = 6.66666666666667; % a22xq = 13.3333333333333; % a22xonemq = 6.66666666666667; % a23xq = 13.3333333333333; % a23xonemq = 6.66666666666667; % a2rxq = 13.3333333333333; % a2rxonemq = 6.66666666666667; % a31xq = 16.6666666666667; % a31xonemq = 3.33333333333333; % a32xq = 16.6666666666667; % a32xonemq = 3.33333333333333; % a33xq = 16.6666666666667; % a33xonemq = 3.33333333333333; % a3rxq = 16.6666666666667; % a3rxonemq = 3.33333333333333; #txnc1 = (think1,Uni(4;6)).txn1; #txn1 = (fork, w1xr11).(reqlock11,rl11).(writelock11,infty).((finish,a11xq).txn1 + (finish,a11xonemq).txnc1) + (fork, w1xr12).(reqlock12,rl12).(writelock12,infty).((finish,a12xq).txn1 + (finish,a12xonemq).txnc1) + (fork, w1xr13).(reqlock13,rl13).(writelock13,infty).((finish,a13xq).txn1 + (finish,a13xonemq).txnc1) + (fork, w1xrr1).(reqlock1r,rl1r).(readlock,r1).((finish,a1rxq).txn1 + (finish,a1rxonemq).txnc1); #txnc2 = (think2,Uni(1.5;2.5)).txn2; #txn2 = (fork, w2xr21).(reqlock21,rl21).(writelock21,infty).((finish,a21xq).txn2 + (finish,a21xonemq).txnc2) + (fork, w2xr22).(reqlock22,rl22).(writelock22,infty).((finish,a22xq).txn2 + (finish,a22xonemq).txnc2) + (fork, w2xr23).(reqlock23,rl23).(writelock23,infty).((finish,a23xq).txn2 + (finish,a23xonemq).txnc2) + (fork, w2xrr2).(reqlock2r,rl2r).(readlock,r2).((finish,a2rxq).txn2 + (finish,a2rxonemq).txnc2); #txnc3 = (think3,t3).txn3; #txn3 = (fork, w3xr31).(reqlock31,rl31).(writelock31,infty).((finish,a31xq).txn3 + (finish,a31xonemq).txnc3) + (fork, w3xr32).(reqlock32,rl32).(writelock32,infty).((finish,a32xq).txn3 + (finish,a32xonemq).txnc3) + (fork, w3xr33).(reqlock33,rl33).(writelock33,infty).((finish,a33xq).txn3 + (finish,a33xonemq).txnc3) + (fork, w3xrr3).(reqlock3r,rl3r).(readlock,r3).((finish,a3rxq).txn3 + (finish,a3rxonemq).txnc3); #lockmgr1 = (reqlock11, infty).lockmgr1_1 + (reqlock21, infty).lockmgr1_2 + (reqlock31, infty).lockmgr1_3; #lockmgr1_1 = (reqlock21, infty).lockmgr1_21 + (reqlock31, infty).lockmgr1_31 + (writelock11, e1).lockmgr1; #lockmgr1_2 = (reqlock11, infty).lockmgr1_12 + (reqlock31, infty).lockmgr1_32 + (writelock21, e1).lockmgr1; #lockmgr1_3 = (reqlock11, infty).lockmgr1_13 + (reqlock21, infty).lockmgr1_23 + (writelock31, e1).lockmgr1; #lockmgr1_12 = (reqlock31, infty).lockmgr1_312 + (writelock21, e1).lockmgr1_1; #lockmgr1_13 = (reqlock21, infty).lockmgr1_213 + (writelock31, e1).lockmgr1_1; #lockmgr1_21 = (reqlock31, infty).lockmgr1_321 + (writelock11, e1).lockmgr1_2; #lockmgr1_23 = (reqlock11, infty).lockmgr1_123 + (writelock31, e1).lockmgr1_2; #lockmgr1_31 = (reqlock21, infty).lockmgr1_213 + (writelock11, e1).lockmgr1_3; #lockmgr1_32 = (reqlock11, infty).lockmgr1_132 + (writelock21, e1).lockmgr1_3; #lockmgr1_123 = (writelock31, e1f).lockmgr1_12; #lockmgr1_132 = (writelock21, e1f).lockmgr1_13; #lockmgr1_213 = (writelock31, e1f).lockmgr1_21; #lockmgr1_231 = (writelock11, e1f).lockmgr1_23; #lockmgr1_312 = (writelock21, e1f).lockmgr1_31; #lockmgr1_321 = (writelock11, e1f).lockmgr1_32; #lockmgr2 = (reqlock12, infty).lockmgr2_1 + (reqlock22, infty).lockmgr2_2 + (reqlock32, infty).lockmgr2_3; #lockmgr2_1 = (reqlock22, infty).lockmgr2_21 + (reqlock32, infty).lockmgr2_31 + (writelock12, e2).lockmgr2; #lockmgr2_2 = (reqlock12, infty).lockmgr2_12 + (reqlock32, infty).lockmgr2_32 + (writelock22, e2).lockmgr2; #lockmgr2_3 = (reqlock12, infty).lockmgr2_13 + (reqlock22, infty).lockmgr2_23 + (writelock32, e2).lockmgr2; #lockmgr2_12 = (reqlock32, infty).lockmgr2_312 + (writelock22, e2).lockmgr2_1; #lockmgr2_13 = (reqlock22, infty).lockmgr2_213 + (writelock32, e2).lockmgr2_1; #lockmgr2_21 = (reqlock32, infty).lockmgr2_321 + (writelock12, e2).lockmgr2_2; #lockmgr2_23 = (reqlock12, infty).lockmgr2_123 + (writelock32, e2).lockmgr2_2; #lockmgr2_31 = (reqlock22, infty).lockmgr2_213 + (writelock12, e2).lockmgr2_3; #lockmgr2_32 = (reqlock12, infty).lockmgr2_132 + (writelock22, e2).lockmgr2_3; #lockmgr2_123 = (writelock32, e2f).lockmgr2_12; #lockmgr2_132 = (writelock22, e2f).lockmgr2_13; #lockmgr2_213 = (writelock32, e2f).lockmgr2_21; #lockmgr2_231 = (writelock12, e2f).lockmgr2_23; #lockmgr2_312 = (writelock22, e2f).lockmgr2_31; #lockmgr2_321 = (writelock12, e2f).lockmgr2_32; #lockmgr3 = (reqlock13, infty).lockmgr3_1 + (reqlock23, infty).lockmgr3_2 + (reqlock33, infty).lockmgr3_3; #lockmgr3_1 = (reqlock23, infty).lockmgr3_21 + (reqlock33, infty).lockmgr3_31 + (writelock13, e3).lockmgr3; #lockmgr3_2 = (reqlock13, infty).lockmgr3_12 + (reqlock33, infty).lockmgr3_32 + (writelock23, e3).lockmgr3; #lockmgr3_3 = (reqlock13, infty).lockmgr3_13 + (reqlock23, infty).lockmgr3_23 + (writelock33, e3).lockmgr3; #lockmgr3_12 = (reqlock33, infty).lockmgr3_312 + (writelock23, e3).lockmgr3_1; #lockmgr3_13 = (reqlock23, infty).lockmgr3_213 + (writelock33, e3).lockmgr3_1; #lockmgr3_21 = (reqlock33, infty).lockmgr3_321 + (writelock13, e3).lockmgr3_2; #lockmgr3_23 = (reqlock13, infty).lockmgr3_123 + (writelock33, e3).lockmgr3_2; #lockmgr3_31 = (reqlock23, infty).lockmgr3_213 + (writelock13, e3).lockmgr3_3; #lockmgr3_32 = (reqlock13, infty).lockmgr3_132 + (writelock23, e3).lockmgr3_3; #lockmgr3_123 = (writelock33, e3f).lockmgr3_12; #lockmgr3_132 = (writelock23, e3f).lockmgr3_13; #lockmgr3_213 = (writelock33, e3f).lockmgr3_21; #lockmgr3_231 = (writelock13, e3f).lockmgr3_23; #lockmgr3_312 = (writelock23, e3f).lockmgr3_31; #lockmgr3_321 = (writelock13, e3f).lockmgr3_32; (txnc1 <> txnc2 <> txnc3) (lockmgr1 <> lockmgr2 <> lockmgr3)