Our contributions oin.+ progres?分oct?? P∈{PsF/PDF} New prog. properties for obj. with partial methods Partial starvation-freedom(PSF) Partial deadlock-freedom(PDF) SF and df are specializations of psf and PdF
Our contributions • New prog. properties for obj. with partial methods • Partial starvation-freedom (PSF) • Partial deadlock-freedom (PDF) • SF and DF are specializations of PSF and PDF O lin. + progress P? O ctxt A??P P {PSF/PDF}
Our contributions o lin. progress Pe 0 Cctxt ? P∈{PsF/PDF} New prog. properties for obj. with partial methods Abstractions to establish contextual refinements(CR)
Our contributions • New prog. properties for obj. with partial methods • Abstractions to establish contextual refinements (CR) O lin. + progress P O ctxt AP P {PSF/PDF} ??
Our contributions O lin. progress Pe 0 Cctxt Ap P∈{PF/PD New prog. properties for obj. with partial methods Abstractions to establish contextual refinements (CR) Equivalence result(Abstraction Theorem)
Our contributions • New prog. properties for obj. with partial methods • Abstractions to establish contextual refinements (CR) • Equivalence result (Abstraction Theorem) O lin. + progress P O ctxt AP P {PSF/PDF}
Our contributions O lin. progress Pe 0 Cctxt Ap P∈{PsF/PDF} New prog. properties for obj. with partial methods Abstractions to establish contextual refinements(CR) Equivalence result(Abstraction Theorem) Program logic for Progress Reasoning Linearizability + PSF/PDF
Our contributions • New prog. properties for obj. with partial methods • Abstractions to establish contextual refinements (CR) • Equivalence result (Abstraction Theorem) • Program logic for Progress Reasoning • Linearizability + PSF/PDF O lin. + progress P O ctxt AP P {PSF/PDF}
New progress properties Different impl exhibit different progress properties Example: Test-and-Set(TAS)locks Example: Ticket locks TAS locks acq()( q0 local suc E2K i: getAndlnc( next succ: s false while( i l= serving )(; while(! succ succ: cas(L, 0, 1): rel(lI serving: serving 1; 1 Ticket locks Unfair! Queue management in banks How to distinguish them?
New progress properties Different impl exhibit different progress properties How to distinguish them?