Concepts and experiments in computational reflection
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Computational reflection in class based object-oriented languages
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
A reflective model for first class dependencies
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN 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
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Object-Oriented Software Construction
Object-Oriented Software Construction
Concurrent Programming in Java: Design Principles and Patterns
Concurrent Programming in Java: Design Principles and Patterns
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Activities: Abstractions for Collective Behavior
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Evaluation of Object-Oriented Reflective Models
ECOOP '98 Workshop ion on Object-Oriented Technology
ECOOP '98 Workshop ion on Object-Oriented Technology
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
Implementing Real-Time Actors with MetaJava
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Using HYTECH to Verify an Automative Control System
HART '97 Proceedings of the International Workshop on Hybrid and Real-Time Systems
Adaptive operating system design using reflection
HOTOS '95 Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V)
Coordinated Atomic Actions in Modelling Objects Cooperation
ISORC '98 Proceedings of the The 1st IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Exception Handling in a Cooperative Object-Oriented Approach
ISORC '99 Proceedings of the 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
A Multi-agent Reflective Architecture for User Assistance and Its Application to E-commerce
CIA '02 Proceedings of the 6th International Workshop on Cooperative Information Agents VI
Hi-index | 0.02 |
The separation of concerns is important to attain object oriented systems which can be easily evolved. This paper presents a reflective architecture which enforces the separation of concerns by allocating functional, interaction and synchronization code to different levels. A variant of collaborations (CO actions) is used to capture interactions between objects and avoids spreading the description of interactions among the participating objects. Functional and interaction code are also separated from synchronization code by means of metalevel components. Introducing changes into the reflective architecture to consider evolution needs is facilitated by the loose coupling of different concerns. Hence, changing a concern often consists of modifying only one component of the reflective architecture. The paper describes the reflective architecture in terms of a case study. The evolution of the reflective implementation of the case study is compared with the evolution of an alternative implementation and the benefits of the proposed architecture are shown by using an evolution metric.