Cognitive systems engineering
Roles: conceptual abstraction theory and practical language issues
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the representation of roles in object-oriented and conceptual modelling
Data & Knowledge Engineering
Organizational abstractions for the analysis and design of multi-agent system
First international workshop, AOSE 2000 on Agent-oriented software engineering
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
ROADMAP: extending the gaia methodology for complex open systems
Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 1
Object Design: Roles, Responsibilities, and Collaborations
Object Design: Roles, Responsibilities, and Collaborations
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
The Belief-Desire-Intention Model of Agency
ATAL '98 Proceedings of the 5th International Workshop on Intelligent Agents V, Agent Theories, Architectures, and Languages
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
An enhanced role model for alleviating the role-binding anomaly
Software—Practice & Experience
Role Modeling for Agent System Analysis, Design, and Implementation
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
A Meta-Model for the Analysis and Design of Organizations in Multi-Agent Systems
ICMAS '98 Proceedings of the 3rd International Conference on Multi Agent Systems
Role-assignment in open agent societies
AAMAS '03 Proceedings of the second international joint conference on Autonomous agents and multiagent systems
Developing multiagent systems: The Gaia methodology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Operational Management Contracts for Adaptive Software Organisation
ASWEC '05 Proceedings of the 2005 Australian conference on Software Engineering
Using role-based coordination to achieve software adaptability
Science of Computer Programming
Roles as a Coordination Construct: Introducing powerJava
Electronic Notes in Theoretical Computer Science (ENTCS)
Using Association Aspects to Implement Organisational Contracts
Electronic Notes in Theoretical Computer Science (ENTCS)
A metamodel for agents, roles, and groups
AOSE'04 Proceedings of the 5th international conference on Agent-Oriented Software Engineering
Enacting and deacting roles in agent programming
AOSE'04 Proceedings of the 5th international conference on Agent-Oriented Software Engineering
Coordination systems in role-based adaptive software
COORDINATION'05 Proceedings of the 7th international conference on Coordination Models and Languages
Bridging agent theory and object orientation: importing social roles in object oriented languages
ProMAS'05 Proceedings of the Third international conference on Programming Multi-Agent Systems
Hi-index | 0.00 |
Role is a commonly used concept in software development, but a concept with divergent definitions. This paper discusses the characteristics of roles in software organizations, and contrasts such organization roles with other player-centric conceptions. Roles in organizations have their own identity and do not depend on role players for their existence. In software terms, such roles are first-class runtime entities rather than just design concepts. We define characteristic properties of both roles and players in organizational contexts, and show how the boundary between a role and its player varies depending on the level of autonomy the player is allowed. We show how roles can facilitate the separation of structure from process facilitating greater adaptivity in software. The problem of preservation of state in role-based organizations is also discussed. Possible implementation strategies for both roles and players are discussed and illustrated with various role-oriented approaches to building software organizations.