Communications of the ACM
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
On behavioral descriptions in object-oriented modeling
Journal of Systems and Software
Split objects: a disciplined use of delegation within objects
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Specifying subject-oriented composition
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Software architecture in practice
Software architecture in practice
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
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
Separation of scattered concerns: a graph based approach for aspect mining
ACM SIGSOFT Software Engineering Notes
Concept analysis as a framework for mining functional features from legacy code
ICFCA'10 Proceedings of the 8th international conference on Formal Concept Analysis
Hi-index | 0.00 |
The separation of concerns, as a conceptual tool, enables us to manage the complexity of the software systems that we develop. There have been a number of approaches aimed at modularizing software around the natural boundaries of the various concerns, including subject-oriented programming, composition filters, aspect-oriented programming, and our own view-oriented programming. The growing body of experiences in using these approaches has identified a number of fundamental issues such as what is a concern, what is an aspect, which concerns are inherently separable, and which aspects are composable. To address these issues, we need to focus on the semantics of separation of concerns, as opposed to the mechanics (and semantics) of aspect-oriented software development methods. We propose a conceptual framework based on a transformational view of software development. Our framework affords us a unified view of the different aspect-oriented development techniques which enables us a simple expression for the separability issue.