A language with distributed scope
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming distributed systems with the delegation-based object-oriented language dSelf
Proceedings of the 2002 ACM symposium on Applied computing
A Theory of Objects
The Java Language Specification
The Java Language Specification
A Marriage of Class- and Object-Based inheritance Without Unwanted Children
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Security and Communication in Mobile Object Systems
MOS '96 Selected Presentations and Invited Papers Second International Workshop on Mobile Object Systems - Towards the Programmable Internet
Mirrors: design principles for meta-level facilities of object-oriented programming languages
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Hi-index | 0.00 |
In the emerging field of Ambient Intelligence (AmI), software is deployed in wireless open networks of mobile devices. Such open networks require stringent security measures as unknown and untrusted hosts may join the network. In an object-oriented language, where objects are distributed and moved across the network, it thus becomes important to be able to enforce object encapsulation. In contemporary object-oriented programming languages, powerful operations such as object extension (inheritance), cloning and reflection, are typically provided via omnipotent language operators that fail to uphold object encapsulation, because they can be applied without the explicit consent of the concerned object. This paper formulates a language design principle --extreme encapsulation-- that precludes the use of such harmful operators, and proposes a corresponding language feature --method attributes-- that makes it possible to provide the flexibility of object extension, cloning and reflection without compromising on object encapsulation. Although some existing object-based languages can be said to support extreme encapsulation, our contribution is to support it in a delegation-based, prototype-based language named ChitChat.