The object-oriented classification paradigm
Research directions in object-oriented programming
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
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
Reuse contracts: managing the evolution of reusable assets
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
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
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
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Atlas: a case study in building a web-based learning environment using aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Program development by stepwise refinement
Communications of the ACM
Aspects in Distributed Environments
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Specifying Reusable Components Using Contracts
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Implementing Layered Designs with Mixin Layers
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Aspect-Oriented Programming Using Composition-Filters
ECOOP '98 Workshop ion on Object-Oriented Technology
An AOP Case with Static and Dynamic Aspects
ECOOP '98 Workshop ion on Object-Oriented Technology
Building Product-Lines with Mixin-Layers
Proceedings of the Workshop on Object-Oriented Technology
Using C++ Templates to Implement Role-Based Designs
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Implementing Reusable Object-Oriented Components
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A Hybrid Approach to Separation of Concerns: The Story of SADES
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Black-Box Evaluation of COTS Components Using Aspects and Metadata
PROFES '02 Proceedings of the 4th International Conference on Product Focused Software Process Improvement
Towards Software Product-Lines — A Refinement-Oriented Generation Language
BT Technology Journal
Efficient exploration of service-oriented architectures using aspects
Proceedings of the 28th international conference on Software engineering
When to use features and aspects?: a case study
Proceedings of the 5th international conference on Generative programming and component engineering
Aspectizing multi-agent systems: from architecture to implementation
Software Engineering for Multi-Agent Systems III
Hi-index | 0.00 |
The collaboration-based approach is a powerful means to develop modularized systems by stepwise refinement. In this paper, we introduce a new approach to realize a collaboration-based design. Our approach is based on the well-known observation that the knowledge about inter-object collaborations cannot be localized within objects but crosscuts many objects. Such crosscutting concerns are effectively addressed by applying the separation of concern principle. We have, therefore, employed Aspect-Oriented Programming (AOP) to build collaboration-based designs. In the paper we illustrate and discuss our aspect-oriented approach both for the horizontal (i.e. the collaborations) and vertical (i.e. the refinements) dimensions. Although the example implementations are based on AspectJ0.4beta7 from Xerox PARC, the approach is generic enough to be implemented using other AOP techniques.