Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The Common Lisp object system: an overview
European conference on object-oriented programming on ECOOP '87
Concepts and experiments in computational reflection
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Metaclasses are first class: The ObjVlisp Model
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
Reflection in an object-oriented concurrent language
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
When objects collide experiences with reusing multiple class hierarchies
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
The art of metaobject protocol
The art of metaobject protocol
CLOS in context: the shape of the design space
Object-oriented programming
Metaobject protocols: why we want them and what else they can do
Object-oriented programming
Reflections on metaclass programming in SOM
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Concepts and paradigms of object-oriented programming
ACM SIGPLAN OOPS Messenger
An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
System Design by Composing Structures of Interacting Objects
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Designing an Extensible Distributed Language with a Meta-Level Architecture
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Meta-level Programming with CodA
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Definition of a Reflective Kernel for a Prototype-Based Language
Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A reflective model for first class dependencies
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Separation and composition of concerns in the object-oriented model
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Reflective languages and metalevel architectures
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
An open implementation analysis and design for lightweight threads
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MetaJava - A Platform for Adaptable Operating-System Mechanisms
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
From Dalang to Kava - The Evolution of a Reflective Java Extension
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Reflex - Towards an Open Reflective Extension of Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Shifting Up Reflection from the Implementation to the Analysis Level
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
A security framework for reflective Java applications
Software—Practice & Experience
Partial behavioral reflection: spatial and temporal selection of reification
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Remote method invocation as a first-class citizen
Distributed Computing
The design and implementation of Guaraná
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Mirages: behavioral intercession in a mirror-based architecture
Proceedings of the 2007 symposium on Dynamic languages
Uniform and safe metaclass composition
Computer Languages, Systems and Structures
MAO: ownership and effects for more effective reasoning about aspects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
Reflective programming languages are those where users' programs are allowed to customize in an organized way the behavior of the language to their own needs. For ten years now, most of the work on reflection revolved around the definition and the implementation of metaobject protocols which express this organization. No methodologies have been proposed for reflective programming per se. This paper proposes a first one aiming at the design of composable metaobjects. Given two independently developed reflective customizations, this methodology proposes principles to be observed in their design such that they can be composed using standard base-level aggregation or specialization. While this paper focuses on a simple MOP and illustrates the methodology on specific examples, this methodology can be generalized to other languages with different MOPs. For instance, we discuss how to adapt it to CLOS.