Wrap Your Objects Safely
Olaf Owe Gerardo Schneider
{olaf, gerardo}@ifi.uio.no Department of Informatics University of Oslo, Norway
FESCA, 28 March 2009 – York, UK
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 1 / 12
Wrap Your Objects Safely Olaf Owe Gerardo Schneider {olaf, - - PowerPoint PPT Presentation
Wrap Your Objects Safely Olaf Owe Gerardo Schneider {olaf, gerardo}@ifi.uio.no Department of Informatics University of Oslo, Norway FESCA, 28 March 2009 York, UK Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 1 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 1 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 2 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 2 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 3 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 4 / 12
I1,1 I2,1 I2,2 I3,1 I3,2 I3,3 I5,1 I4,1 I5,2 I6,2 I6,1 I6,3 q4 q6 q5 q3 q1 q2 I7,1 q7
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 5 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 6 / 12
(New): <C : Cl | Mtd: M, Att: A >
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 7 / 12
(New): <C : Cl | Mtd: M, Att: A >
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 7 / 12
I1,1 I2,1 I2,2 I3,1 I3,2 I3,3 I5,1 I4,1 I5,2 I6,2 I6,1 I6,3 q4 q6 q5 q3 q1 q2 I7,1 q7
W
W ′
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 8 / 12
(safeNew): CL +<O: C’ |Pr: v:=safeNew C(FA); S, Ocnt: N >
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 9 / 12
(safeNew): CL +<O: C’ |Pr: v:=safeNew C(FA); S, Ocnt: N >
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 9 / 12
(safeNew): CL +<O: C’ |Pr: v:=safeNew C(FA); S, Ocnt: N >
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 9 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 10 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 10 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 11 / 12
i : exp(comp (·) to user) / o : exp(comp (·) to user) / c := c − 1 i : imp(invoc read(user, t, k) to db) /
c := c + 1 c := 0 i : exp(comp (·) to u) / c := c − 1 / o : exp(comp (·) to u) i : imp(invoc ow(u) to db) / c == 0
i : imp(invoc cw(user, t) to db) / / user := u / tag := t
/ u = user / o : exp(comp (·) to u) i : exp(comp (·) to u) / c := c − 1 c > 0 c := c + 1 s0 s1 s3 s2
/ c == 0 / o : imp(invoc read(·) to db) / c := c + 1 i : imp(invoc read(·) to db)
i : imp(invoc write(user, t, k, x) to db) / Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 11 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 12 / 12
Owe, Schneider () Wrap Your Objects Safely FESCA, 28 March 2009 12 / 12