Home | About | Partners | Contact Us
SourceForge Logo

Quick Links

Home
News
Thoughts and Rants
License
SourceForge Info
Download
Browse CVS
Mailing Lists

More about concepts

Concepts and Objects
Concepts in Lisp
Concepts and Intentions
Concepts and Patterns
Concepts and Aspects
Concepts and .NET
Concepts and UML
Terminology

Understanding...

Concept programming
Moka
XL
Thin Tools
Active Libraries
Refactoring
Optimizations
Coda
Notes

More Info

Contributors
Related Ideas
Some history
Applications
Other links
The GNU Project

Concept Programming vs. Aspects

Aspects are a way to deal with crosscutting concerns in programs, such as debugging, security, and other "policies". Contrary to more traditional programming tools, aspects are often non local in nature, applying to multiple locations in the code at once.

Aspects as Concepts

Despite their non-local nature, aspects often represent genuine concepts of the application domain. Therefore, aspects are really compatible with the concept programming philosophy. Additionally, aspects capture concepts that are not well represented by most other programming concepts. By increasing our "vocabulary", aspects are a valuable addition to the concept programming toolbox.

Implementing Aspects using Concept Programming Tools

Several of the Mozart thin tools deal with aspect-style cross-cutting concerns, by implementing "non-local concepts" such as invariants or conditional code removal. With little effort, specific features of Java language extensions such as AspectJ could also be implemented using Moka.


Copyright Christophe de Dinechin
First published Feb 17, 2000
Version 1.4 (updated 2002/12/07 16:32:57)