Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
COCS '90 Proceedings of the ACM SIGOIS and IEEE CS TC-OA conference on Office information systems
Organizing programs without classes
Lisp and Symbolic Computation
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
The early history of Smalltalk
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Fickle: Dynamic Object Re-classification
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Modular typestate checking of aliased objects
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Stateful traits and their formalization
Computer Languages, Systems and Structures
Effective typestate verification in the presence of aliasing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Adding State and Visibility Control to Traits Using Lexical Nesting
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Typestate-oriented programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Collaborative Runtime Verification with Tracematches
Journal of Logic and Computation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
First-class state change in plaid
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
At the core of the Plaid typestate-oriented programming language is the ability to change the representation of an object at run-time. As such, the semantics of the state change operation impact how Plaid programs are structured and how objects are composed in Plaid's trait-based composition system. We describe the challenges with respect to designing a modular state change operation and suggest two options. Secondly, we explore the issues both designs create for explicit conflict resolution and sketch a potential solution which eliminates the flattening property to allow conflicts to be resolved only when they come into scope.