Eiffel: a language and environment for software engineering
Journal of Systems and Software
Eiffel: the language
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Extreme programming explained: embrace change
Extreme programming explained: embrace change
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Aspect-oriented programming: Introduction
Communications of the ACM
Communications of the ACM
The structure and value of modularity in software design
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
Mastering AspectJ: Aspect-Oriented Programming in Java
Mastering AspectJ: Aspect-Oriented Programming in Java
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Coping with Crosscutting Software Changes Using Information Transparency
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
HyperCast: A Protocol for Maintaining Multicast Group Members in a Logical Hypercube Topology
NGC '99 Proceedings of the First International COST264 Workshop on Networked Group Communication
Aspect-Oriented Programming with AspectJ
Aspect-Oriented Programming with AspectJ
Aspect-Oriented Database Systems
Aspect-Oriented Database Systems
Aspects: from promise to reality
Proceedings of the 3rd international conference on Aspect-oriented software development
What are the key issues for commercial AOP use: how does AspectWerkz address them?
Proceedings of the 3rd international conference on Aspect-oriented software development
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
Composition, reuse and interaction analysis of stateful aspects
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
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
An analysis of modularity in aspect oriented design
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)
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Classpects: unifying aspect- and object-oriented language design
Proceedings of the 27th international conference on Software engineering
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
Foundations of AOP for J2EE Development (Foundation)
Foundations of AOP for J2EE Development (Foundation)
Common Lisp: The Language
Modular Software Design with Crosscutting Interfaces
IEEE Software
IEEE Software
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding open modules to AspectJ
Proceedings of the 5th international conference on Aspect-oriented software development
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A static aspect language for checking design rules
Proceedings of the 6th international conference on Aspect-oriented software development
Test-based pointcuts: a robust pointcut mechanism based on unit test cases for software evolution
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Bridging Java and AspectJ through explicit join points
Proceedings of the 5th international symposium on Principles and practice of programming in Java
The Larch Family of Specification Languages
IEEE Software
Reasoning about aspects with common sense
Proceedings of the 7th international conference on Aspect-oriented software development
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Managing the evolution of aspect-oriented software with model-based pointcuts
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Application-layer multicasting with Delaunay triangulation overlays
IEEE Journal on Selected Areas in Communications
MAO: ownership and effects for more effective reasoning about aspects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Enabling expressive aspect oriented modular reasoning by translucid contracts
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Translucid contracts for modular reasoning about aspect-oriented programs
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Proceedings of the tenth international conference on Aspect-oriented software development
A design perspective on modularity
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
Applying translucid contracts for modular reasoning about aspect and object oriented events
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Managing crosscutting concerns in component based systems using a model driven development approach
Journal of Systems and Software
Analyzing software updates: should you build a dynamic updating infrastructure?
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Modular reasoning about region composition
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
An exploratory study of the design impact of language features for aspect-oriented interfaces
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
On exceptions, events and observer chains
Proceedings of the 12th annual international conference on Aspect-oriented software development
Modular aspect-oriented design rule enforcement with XPIDRs
Proceedings of the 12th workshop on Foundations of aspect-oriented languages
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
A design rule language for aspect-oriented programming
Journal of Systems and Software
Language features for software evolution and aspect-oriented interfaces: an exploratory study
Transactions on Aspect-Oriented Software Development X
Join point interfaces for safe and flexible decoupling of aspects
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
The emergence of aspect-oriented programming (AOP) languages has provided software designers with new mechanisms and strategies for decomposing programs into modules and composing modules into systems. What we do not yet fully understand is how best to use such mechanisms consistent with common modularization objectives such as the comprehensibility of programming code, its parallel development, dependability, and ease of change. The main contribution of this work is a new form of information-hiding interface for AOP that we call the crosscut programming interface, or XPI. XPIs abstract crosscutting behaviors and make these abstractions explicit. XPIs can be used, albeit with limited enforcement of interface rules, with existing AOP languages, such as AspectJ. To evaluate our notion of XPIs, we have applied our XPI-based design methodology to a medium-sized network overlay application called Hypercast. A qualitative and quantitative analysis of existing AO design methods and XPI-based design method shows that our approach produces improvements in program comprehensibility, in opportunities for parallel development, and in the ease when code can be developed and changed.