aspect-oriented programming

(redirected from Aspect Oriented Programming)
Also found in: Acronyms.

aspect-oriented programming

(programming)
(AOP) A style of programming that attempts to abstract out features common to many parts of the code beyond simple functional modules and thereby improve the quality of software.

Mechanisms for defining and composing abstractions are essential elements of programming languages. The design style supported by the abstraction mechanisms of most current languages is one of breaking a system down into parameterised components that can be called upon to perform a function.

But many systems have properties that don't necessarily align with the system's functional components, such as failure handling, persistence, communication, replication, coordination, memory management, or real-time constraints, and tend to cut across groups of functional components.

While they can be thought about and analysed relatively separately from the basic functionality, programming them using current component-oriented languages tends to result in these aspects being spread throughout the code. The source code becomes a tangled mess of instructions for different purposes.

This "tangling" phenomenon is at the heart of much needless complexity in existing software systems. A number of researchers have begun working on approaches to this problem that allow programmers to express each of a system's aspects of concern in a separate and natural form, and then automatically combine those separate descriptions into a final executable form. These approaches have been called aspect-oriented programming.

Xerox AOP homepage.

AspectJ.

ECOOPP'99 AOP workshop.
Mentioned in ?
References in periodicals archive ?
The dynamic measurement specified in the AOP-HiddenMetrics framework [16] and empirical assessment of the impact of aspect oriented programming on software stated in [17] have been analyzed and derived the metric to represent the efficiency of the system adaptability.
Many researches [13,19,21,23] consider Aspect Oriented Programming (AOP) [16] as an answer for these limitations.
Aspect Oriented Programming Framework - AOP complements Object-Oriented Programming by centralizing common behavior that cuts across inheritance hierarchies and the ability to apply that behavior in a targeted and declarative manner.
Building on the success of the widely used Eclipse Java IDE, the Eclipse community is delivering on the vision of providing a platform for integrating software development tools, including support for testing, performance monitoring, business intelligence and reporting, Java, C/C++ and Web application development and aspect oriented programming.
NET facilitates development of service oriented architectures (SOAs) and supports aspect oriented programming, a cutting-edge approach to delivering crucial functionality without altering applications' core architecture.
The moderated forum will also offer insight from authorities in the mobile market, such as Allen Lau, who is considered a pioneer in code instrumentation and aspect oriented programming techniques related to mobile Java.
They complement the J2EE stack with high-level, production ready components addressing business integration, service-oriented architectures, enterprise portals, business processes, workflow and advanced software engineering tools for aspect oriented programming, grid computing, transaction management, interoperability, XML processing and mobility based on open standards.
0's extensions to Enterprise Library will provide a platform for service oriented architecture (SOA) and aspect oriented programming (AOP) development.
This is evident in our commitment to J2EE simplification and aspect oriented programming, plus 24x7 support and indemnification," said Marc Fleury, CEO, JBoss.