COCS '90 Proceedings of the ACM SIGOIS and IEEE CS TC-OA conference on Office information systems
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
Object-oriented modeling and design
Object-oriented modeling and design
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Subject-oriented composition rules
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
Extending object-oriented systems with roles
ACM Transactions on Information Systems (TOIS)
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
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Software architecture: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Smalltalk-80: The Language
Implementing Layered Designs with Mixin Layers
ECCOP '98 Proceedings of the 12th 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
Towards Coping with Role-Binding Anomaly
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Implementing large-scale object-oriented components
Implementing large-scale object-oriented components
Using role-based coordination to achieve software adaptability
Science of Computer Programming
Role-based Architectural Modelling of Socio-Technical Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Roles, players and adaptable organizations
Applied Ontology - Roles, an interdisciplinary perspective
Role models—implementation-based approaches to using roles
Software—Practice & Experience
Coordination systems in role-based adaptive software
COORDINATION'05 Proceedings of the 7th international conference on Coordination Models and Languages
A role model for description of agent behavior and coordination
ESAW'05 Proceedings of the 6th international conference on Engineering Societies in the Agents World
Roles, players and adaptable organizations
Applied Ontology - Roles, an interdisciplinary perspective
Hi-index | 0.00 |
Roles and role models have received much attention as useful concepts for developing highly reusable and dynamically evolvable systems. Role models belong to the category of collaboration-based development techniques, but most of the existing approaches to role models do not explicitly incorporate the core principle of collaboration-based developments as an essential property of their primary design goals. Consequently, the existing approaches still suffer from a problematic phenomenon that the structural and behavioral constraints defined in a role system can be violated during the role-binding stage. We call such a problematic phenomenon the role-binding anomaly. In order to alleviate the role-binding anomaly, we propose an enhanced role model, in which all role instances and core objects can exist by themselves, namely, they can be developed, executed, and tested independently. Roles and core classes can be bound to each other at the instance level. In addition, the role system describes and encapsulates the behavior for dynamic reconfigurations among role instances. The enhanced role model is designed so as to be meaningful with respect to software engineering principles, rather than dynamic evolution. It also facilitates role model implementation using general programming languages (i.e. not supporting dynamic specialization) such as Java. To illustrate how the proposed role model makes such benefits, we develop a set of Java classes necessary for implementing the enhanced role model in the form of a Java package role, and present a simplified automatic teller machine system as an example application.