Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Research directions in object-oriented programming
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Typechecking and modules for multimethods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference of SELF: analysis of objects with dynamic and multiple inheritance
Software—Practice & Experience
A lambda calculus of objects with self-inflicted extension
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Is the Java type system sound?
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
A Theory of Objects
Extending Typestate Checking Using Conditional Liveness Analysis
IEEE Transactions on Software Engineering
A lambda calculus of objects and method specialization
Nordic Journal of Computing
From Classes to Objects via Subtyping
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Should Superclasses be Abstract?
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Objects with Multiple Most Specific Classes
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Fickle: Dynamic Object Re-classification
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
An Effective Translation of Fickle into Java
ICTCS '01 Proceedings of the 7th Italian Conference on Theoretical Computer Science
A Delegation-based Object Calculus with Subtying
FCT '95 Proceedings of the 10th International Symposium on Fundamentals of Computation Theory
A Subtyping for Extensible, Incomplete Objects
Fundamenta Informaticae
Re-classification and multi-threading: FickleMT
Proceedings of the 2004 ACM symposium on Applied computing
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interaction among objects via roles: sessions and affordances in Java
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
A provenly correct translation of Fickle into Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
A flexible model for dynamic linking in Java and C#
Theoretical Computer Science
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Proceedings of the 2007 ACM symposium on Applied computing
An adaptive casteship mechanism for developing multi-agent systems
International Journal of Computer Applications in Technology
Calculi, types and applications
Theoretical Computer Science
UpgradeJ: Incremental Typechecking for Class Upgrades
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Temporal Constraints in Non-temporal Data Modelling Languages
ER '08 Proceedings of the 27th International Conference on Conceptual Modeling
A mechanism for flexible dynamic trait replacement
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Three approaches to object evolution
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Coalgebraic Semantics and Observational Equivalences of an Imperative Class-based OO-Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Polynomial constraints for sets with cardinality bounds
FOSSACS'07 Proceedings of the 10th international conference on Foundations of software science and computational structures
Big-step Operational Semantics Revisited
Fundamenta Informaticae - From Mathematical Beauty to the Truth of Nature: to Jerzy Tiuryn on his 60th Birthday
Role models—implementation-based approaches to using roles
Software—Practice & Experience
A fully abstract semantics for UML components
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Modelling the interaction between objects: roles as affordances
KSEM'06 Proceedings of the First international conference on Knowledge Science, Engineering and Management
A dynamic class construct for asynchronous concurrent objects
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Prototypes with multiple dispatch: an expressive and dynamic object model
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
CAMLE: a caste-centric agent-oriented modelling language and environment
Software Engineering for Multi-Agent Systems III
Type-Safe runtime class upgrades in creol
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Partially Evaluating Finite-State Runtime Monitors Ahead of Time
ACM Transactions on Programming Languages and Systems (TOPLAS)
Piecewise modelling with state subtypes
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
On flexible dynamic trait replacement for Java-like languages
Science of Computer Programming
Hi-index | 0.00 |
Reclassification changes the class membership of an object at run-time while retaining its identity. We suggest language features for object reclassification, which extend an imperative, typed, class-based, object-oriented language.We present our proposal through the language Fickle⋄⋄. The imperative features, combined with the requirement for a static and safe type system, provided the main challenges. We develop a type and effect system for Fickle⋄⋄ and prove its soundness with respect to the operational semantics. In particular, even though objects may be reclassified across classes with different members, there will never be an attempt to access nonexisting members.