Reconciling environment integration and software evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
Mediators: easing the design and evolution of integrated systems
Mediators: easing the design and evolution of integrated systems
Evaluating The Mediator Method: Prism as a Case Study
IEEE Transactions on Software Engineering
Principles of programming languages (3rd ed.): design, evaluation, and implementation
Principles of programming languages (3rd ed.): design, evaluation, and implementation
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Non-modularity in aspect-oriented languages: integration as a crosscutting concern for AspectJ
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Formalizing Design Spaces: Implicit Invocation Mechanisms
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume I: Conference Contributions - Volume I
Eos: instance-level aspects for integrated system design
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 3rd international conference on Aspect-oriented software development
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Using aspect oriented methods to add behaviour to X3D documents
Proceedings of the eleventh international conference on 3D web technology
Modeling aspect mechanisms: a top-down approach
Proceedings of the 28th international conference on Software engineering
Reflections on architectural connection: seven issues on aspects and ADLs
Proceedings of the 2006 international workshop on Early aspects at ICSE
Semantics of static pointcuts in aspectJ
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 6th international conference on Aspect-oriented software development
Nu: preserving design modularity in object code
ACM SIGSOFT Software Engineering Notes
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Bridging Java and AspectJ through explicit join points
Proceedings of the 5th international symposium on Principles and practice of programming in Java
An aspect-oriented weaving mechanism based on component and connector architecture
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Proceedings of the 7th international conference on Aspect-oriented software development
AspectC2C: a symmetric aspect extension to the C language
ACM SIGPLAN Notices
Towards reusable components with aspects: an empirical study on modularity and obliviousness
Proceedings of the 30th international conference on Software engineering
Towards an aspect-oriented architecture for self-adaptive frameworks
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
A decision tree-based approach to dynamic pointcut evaluation
Proceedings of the 2nd Workshop on Virtual Machines and Intermediate Languages for emerging modularization mechanisms
Cooperative aspect-oriented programming
Science of Computer Programming
Unifying aspect- and object-oriented design
ACM Transactions on Software Engineering and Methodology (TOSEM)
Transactions on Aspect-Oriented Software Development V
Detection and Resolution of Weaving Interactions
Transactions on Aspect-Oriented Software Development V
Journal of Systems and Software
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Types and modularity for implicit invocation with implicit announcement
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design pattern implementations in Eos
Proceedings of the 14th Conference on Pattern Languages of Programs
Proceedings of the 2010 ACM Symposium on Applied Computing
Modular aspect-oriented design with XPIs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Building scalable software systems in the multicore era
Proceedings of the FSE/SDP workshop on Future of software engineering research
Proceedings of the tenth international conference on Aspect-oriented software development
EScala: modular event-driven object interactions in scala
Proceedings of the tenth international conference on Aspect-oriented software development
Modularizing crosscutting concerns with Ptolemy
Proceedings of the tenth international conference on Aspect-oriented software development companion
Reuse vs. maintainability: revealing the impact of composition code properties
Proceedings of the 33rd International Conference on Software Engineering
rbFeatures: Feature-oriented programming with Ruby
Science of Computer Programming
FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Design by contract for aspects, by aspects
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
PHANtom: an aspect language for pharo smalltalk
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
Program transformation with reflection and aspect-oriented programming
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
PHANtom: a modern aspect language for Pharo Smalltalk
Proceedings of the International Workshop on Smalltalk Technologies
Assessing aspect modularizations using design structure matrix and net option value
Transactions on Aspect-Oriented Software Development I
Transactions on Aspect-Oriented Software Development I
On the role of composition code properties on evolving programs
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
A compilation model for aspect-oriented polymorphically typed functional languages
SAS'07 Proceedings of the 14th international conference on Static Analysis
Transactions on Aspect-Oriented Software Development IX
Enhancing design models with composition properties: a software maintenance study
Proceedings of the 12th annual international conference on Aspect-oriented software development
Trading obliviousness for modularity with cooperative aspect-oriented programming
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
Language features for software evolution and aspect-oriented interfaces: an exploratory study
Transactions on Aspect-Oriented Software Development X
Science of Computer Programming
Hi-index | 0.00 |
The contribution of this work is the design, implementation, and early evaluation of a programming language that unifies classes and aspects. We call our new module construct the classpect. We make three basic claims. First, we can realize a unified design without significantly compromising the expressiveness of current aspect languages. Second, such a design improves the conceptual integrity of the programming model. Third, it significantly improves the compositionality of aspect modules, expanding the program design space from the two-layered model of AspectJ-like languages to include hierarchical structures. To support these claims, we present the design and implementation of Eos-U, an AspectJ-like language based on C# that supports classpects as the basic unit of modularity. We show that Eos-U supports layered designs in which classpects separate integration concerns flexibly at multiple levels of composition. The underpinnings of our design include support for aspect instantiation under program control, instance-level advising, advising as a general alternative to object-oriented method invocation and overriding, and the provision of a separate join-point-method binding construct.