Relations as semantic constructs in an object-oriented language
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Controlling propagation of operations using attributes on relations
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
DSM: an object-relationship modeling language
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented modeling and design
Object-oriented modeling and design
Designing object-oriented software
Designing object-oriented software
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Pattern languages of program design
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concepts and paradigms of object-oriented programming
ACM SIGPLAN OOPS Messenger
The architecture of a UML virtual machine
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using Uml: Software Engineering with Objects and Components
Using Uml: Software Engineering with Objects and Components
Taming C Plus Plus: Pattern Classes and Persistence for Large Projects
Taming C Plus Plus: Pattern Classes and Persistence for Large Projects
Integrating independent components with on-demand remodularization
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Proceedings of the 3rd international conference on Aspect-oriented software development
Controlling the Complexity of Software Designs
Proceedings of the 26th International Conference on Software Engineering
Aspect-Oriented Analysis and Design
Aspect-Oriented Analysis and Design
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Separation of concerns with procedures, annotations, advice and pointcuts
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
First-class relationships in an object-oriented language
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Postmodern prospects for conceptual modelling
APCCM '06 Proceedings of the 3rd Asia-Pacific conference on Conceptual modelling - Volume 53
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Framework specialization aspects
Proceedings of the 6th international conference on Aspect-oriented software development
cJ: enhancing java with safe type conditions
Proceedings of the 6th international conference on Aspect-oriented software development
Using Aspect-orientation Techniques to Improve Reuse of Metamodels
Electronic Notes in Theoretical Computer Science (ENTCS)
Beyond refactoring: a framework for modular maintenance of crosscutting design idioms
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Relational aspects as tracematches
Proceedings of the 7th international conference on Aspect-oriented software development
Design of a class library for association relationships
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Implementing relationships using Affinity
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
Implementing relationships among classes of analysis pattern languages using aspects
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
Implementing UML associations in Java: a slim code pattern for a complex modeling concept
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
Nested and specialized associations
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Silhouette: visual language for meaningful shape
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Modular reasoning about invariants over shared state with interposed data members
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Proceedings of the 15th Conference on Pattern Languages of Programs
Requirements for reusable aspect deployment
SC'07 Proceedings of the 6th international conference on Software composition
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Verifying multi-object invariants with relationships
Proceedings of the 25th European conference on Object-oriented programming
Computational logic in an object-oriented world
Reasoning, Action and Interaction in AI Theories and Systems
The interplay between relationships, roles and objects
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Efficient object querying for java
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
A relational model of object collaborations and its use in reasoning about relationships
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Reactive behavior in object-oriented applications: an analysis and a research roadmap
Proceedings of the 12th annual international conference on Aspect-oriented software development
Content over container: object-oriented programming with multiplicities
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Hi-index | 0.00 |
The relationships between objects in object-oriented programs are as important as the objects themselves. Unfortunately, most object-oriented programming languages provide little support for such relationships, leaving the task of implementing them entirely to the programmer. Relationships are typically hard-coded into the participating classes, resulting in tangled code that unnecessarily couples these classes together. The classes become harder to understand and cannot be reused independently. Aspect-oriented programs can model relationships explicitly, treating them as separate concerns that cross-cut their participants. We show how relationships can be implemented as a library of aspects in Aspect/J. Aspects keep relationships independent of their participants, making the resulting programs easier to read, write and reuse, and as efficient as hand-written code.