Sciweavers

OOPSLA
2009
Springer

Typestate-oriented programming

14 years 7 months ago
Typestate-oriented programming
Objects model the world, and state is fundamental to a faithful modeling. Engineers use state machines to understand and reason about state transitions, but programming languages provide little support for reasoning about or implementing these state machines, causing software defects and lost productivity when objects are misused. We propose Typestate-Oriented Programming as a natural extension to the object paradigm, where objects are modeled not just in terms of classes, but in terms of changing states. Each state may have its own representation and methods which may transition the object into a new state. A flow-sensitive, permission-based type system helps developers track which state objects are in. First-class typestates are ul abstraction that will help developers model and reuse objects more efficiently and correctly. Categories and Subject Descriptors D.3.1 [Programming Techniques]: Miscellaneous—Typestate-oriented programming; D.3.2 [Programming Languages]: Language Clas...
Jonathan Aldrich, Joshua Sunshine, Darpan Saini, Z
Added 27 May 2010
Updated 27 May 2010
Type Conference
Year 2009
Where OOPSLA
Authors Jonathan Aldrich, Joshua Sunshine, Darpan Saini, Zachary Sparks
Comments (0)