MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reflective facilities in Smalltalk-80
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Towards a methodology for explicit composition of metaobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reflection and metalevel architectures in object-oriented programming (workshop session)
OOPSLA/ECOOP '90 Proceedings of the European conference on Object-oriented programming addendum : systems, languages, and applications: systems, languages, and applications
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Hyper/J: multi-dimensional separation of concerns for Java
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Aspect-oriented programming: Introduction
Communications of the ACM
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Meta-Level Architectures and Reflection
Meta-Level Architectures and Reflection
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Just-in-time aspects: efficient dynamic weaving for Java
Proceedings of the 2nd international conference on Aspect-oriented software development
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Proceedings of the 15th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
A Framework for the Detection and Resolution of Aspect Interactions
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Altering Java Semantics via Bytecode Manipulation
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Building Composable Aspect-Specific Languages with Logic Metaprogramming
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
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
Reflections on MOPs, Components, and Java Security
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Supporting Unanticipated Dynamic Adaptation of Application Behaviour
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
The Active Database Management System Manifesto: A Rulebase of ADBMS Features
RIDS '95 Proceedings of the Second International Workshop on Rules in Database Systems
An Infrastructure for Adaptable Middleware
On the Move to Meaningful Internet Systems, 2002 - DOA/CoopIS/ODBASE 2002 Confederated International Conferences DOA, CoopIS and ODBASE 2002
Reflective Middleware Solutions for Context-Aware Applications
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
JAC: A Flexible Solution for Aspect-Oriented Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
A Formal Definition of Crosscuts
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Reflex - Towards an Open Reflective Extension of Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Principled Approach to Supporting Adaptation in Distributed Mobile Environments
PDSE '00 Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems
Implementing Fault-Tolerant Applications Using Reflective Object-Oriented Programming
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
The design and implementation of Guaraná
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Transparent proxies for java futures
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A concrete solution for web services adaptability using policies and aspects
Proceedings of the 2nd international conference on Service oriented computing
An approach to implementing dynamic adaptation in C++
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Proceedings of the 5th international conference on Generative programming and component engineering
On dynamically-scoped crosscutting mechanisms
ACM SIGPLAN Notices
ReLAx: implementing KALA over the reflex AOP kernel
Proceedings of the 2nd workshop on Domain specific aspect languages
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Mirages: behavioral intercession in a mirror-based architecture
Proceedings of the 2007 symposium on Dynamic languages
Unanticipated partial behavioral reflection: Adapting applications at runtime
Computer Languages, Systems and Structures
Decentralized web service orchestration: a reflective approach
Proceedings of the 2008 ACM symposium on Applied computing
KALA: Kernel aspect language for advanced transactions
Science of Computer Programming
Flexible metaprogramming and AOP in Java
Science of Computer Programming
Application of Reflection in Model Transformation Languages
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Zero-a blend of static typing and dynamic metaprogramming
Computer Languages, Systems and Structures
An implementation substrate for languages composing modularized crosscutting concerns
Proceedings of the 2009 ACM symposium on Applied Computing
Efficient virtual machine support of runtime structural reflection
Science of Computer Programming
Model-Centric, Context-Aware Software Adaptation
Software Engineering for Self-Adaptive Systems
Runtime bytecode transformation for Smalltalk
Computer Languages, Systems and Structures
Unanticipated partial behavioral reflection
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
Pinocchio: bringing reflection to life with first-class interpreters
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proxies: design principles for robust object-oriented intercession APIs
Proceedings of the 6th symposium on Dynamic languages
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
POSIX trace based behavioural reflection
Ada-Europe'06 Proceedings of the 11th Ada-Europe international conference on Reliable Software Technologies
From (meta) objects to aspects: a java and AspectJ point of view
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
A versatile kernel for distributed AOP
DAIS'06 Proceedings of the 6th IFIP WG 6.1 international conference on Distributed Applications and Interoperable Systems
Architectural aspects of architectural aspects
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
Towards generative programming
UPP'04 Proceedings of the 2004 international conference on Unconventional Programming Paradigms
A versatile kernel for multi-language AOP
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
On the revival of dynamic languages
SC'05 Proceedings of the 4th international conference on Software Composition
Aspects of composition in the reflex AOP kernel
SC'06 Proceedings of the 5th international conference on Software Composition
SC'06 Proceedings of the 5th international conference on Software Composition
Understanding design patterns density with aspects
SC'06 Proceedings of the 5th international conference on Software Composition
Self-Aware software – will it become a reality?
Self-star Properties in Complex Information Systems
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Hi-index | 0.00 |
Behavioral reflection is a powerful approach for adapting the behavior of running applications. In this paper we present and motivate partial behavioral reflection, an approach to more efficient and flexible behavioral reflection. We expose the spatial and temporal dimensions of such reflection, and propose a model of partial behavioral reflection based on the notion of hooksets. In the context of Java, we describe a reflective architecture offering appropriate interfaces for static and dynamic configuration of partial behavioral reflection at various levels, as well as Reflex, an open reflective extension for Java implementing this architecture. Reflex is the first extension that fully supports partial behavioral reflection in a portable manner, and that seamlessly integrates load-time and runtime behavioral reflection. The paper shows preliminary benchmarks and examples supporting the approach. The examples, dealing with the observer pattern and asynchronous communication via transparent futures, also show the interest of partial behavioral reflection as a tool for open dynamic Aspect-Oriented Programming.