A theory of typestate-oriented programming

  • Authors:
  • Darpan Saini;Joshua Sunshine;Jonathan Aldrich

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Engineers in many disciplines use state machines to reason about system changes, and many object-oriented libraries require their clients to follow state machine protocols. No existing language, however, has native support for state machines, and programmers often lose productivity and introduce errors when trying to understand and follow interaction protocols. The Plaid language extends the object paradigm with explicit states and state transitions, in order to better model object state transitions. In this paper, we present Plaidcore, a core calculus for Plaid, which uses states and permissions to statically guarantee that clients use object protocols correctly.