A laboratory for teaching object oriented thinking
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
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-oriented software engineering
Object-oriented software engineering
Designing object-oriented software
Designing object-oriented software
Reconciling environment integration and software evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Using dynamic classes and role classes to model object migration
Theory and Practice of Object Systems - Special issue on the 1994 European Conference of Object Oriented Programming
Extending object-oriented systems with roles
ACM Transactions on Information Systems (TOIS)
Split objects: a disciplined use of delegation within objects
Proceedings of the 11th ACM SIGPLAN 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
Roles: conceptual abstraction theory and practical language issues
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Role model based framework design and integration
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The unified software development process
The unified software development process
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Programming Ruby: the pragmatic programmer's guide
Programming Ruby: the pragmatic programmer's guide
Using multidimensional separation of concerns to (re)shape evolving software
Communications of the ACM
ACM Transactions on Software Engineering and Methodology (TOSEM)
Non-modularity in aspect-oriented languages: integration as a crosscutting concern for AspectJ
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Programming as an Experience: The Inspiration for Self
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Using C++ Templates to Implement Role-Based Designs
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
Separation of Concerns in Mobile Agent Applications
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Early Aspects: A Model for Aspect-Oriented Requirements Engineerin
RE '02 Proceedings of the 10th Anniversary IEEE Joint International Conference on Requirements Engineering
An Evolutional Cooperative Computation Based on Adaptation to Environment
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Proceedings of the 3rd international conference on Aspect-oriented software development
Variability management with feature-oriented programming and aspects
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Coordination middleware for decentralized applications in dynamic networks
DSM '05 Proceedings of the 2nd international doctoral symposium on Middleware
Middleware for protocol-based coordination in dynamic networks
MPAC '05 Proceedings of the 3rd international workshop on Middleware for pervasive and ad-hoc computing
A precise model for contextual roles: The programming language ObjectTeams/Java
Applied Ontology - Roles, an interdisciplinary perspective
An aspect-oriented software architecture for code mobility
Software—Practice & Experience
Towards safe and flexible object adaptation
International Workshop on Context-Oriented Programming
SDL'09 Proceedings of the 14th international SDL conference on Design for motes and mobiles
Demystifying object schizophrenia
Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Role models—implementation-based approaches to using roles
Software—Practice & Experience
EventCJ: a context-oriented programming language with declarative event-based context transition
Proceedings of the tenth international conference on Aspect-oriented software development
Uniform support for modeling crosscutting structure
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
Design and implementation of an aspect instantiation mechanism
Transactions on Aspect-Oriented Software Development I
A precise model for contextual roles: The programming language ObjectTeams/Java
Applied Ontology - Roles, an interdisciplinary perspective
Runtime support for type-safe and context-based behavior adaptation
Frontiers of Computer Science: Selected Publications from Chinese Universities
Hi-index | 0.00 |
To achieve the goal of realizing object adaptation to environments, a new role-based model Epsilon and a language EpsilonJ is proposed. In Epsilon, an environment is defined as a field of collaboration between roles and an object adapts to the environment assuming one of the roles. Objects can freely enter or leave environments and belong to multiple environments at a time so that dynamic adaptation or evolution of objects is realized. Environments and roles are the first class constructs at runtime as well as at model description time so that separation of concerns is not only materialized as a static structure but also observed as behaviors. Environments encapsulating collaboration are independent reuse components to be deployed separately from objects. In this paper, the Epsilon model and the language are explained with some examples. The effectiveness of the model is illustrated by a case study on the problem of integrated systems. Implementation of the language is also reported.