Table of contents
- MACS 05
- Mylar website
- Concern Graphs paper
- Sextant website
- ispace website
- Aspect Mining Tool website
- FINT website
- CWI's work with ASML website
- Prism paper
- Dynamic website
Aspect-Oriented Software Architectures
Specification of Software Architectures
- AO-ADL Tool Suite website
Please add more topics...
Long, Approximately Alphabetical List
AO-ADL Tool Suite is an Eclipse plug-in that provides support to define, manipulate and reuse the specifications of AO software architectures with the AO-ADL language. AO-ADL is an aspect-oriented Architecture Description Language (partially defined in the AOSD-Europe NoE), that: (1) follows a symmetric model with components and connectors; (2) extends the connector element with aspectual bindings; (3) allows to define parameterizable architectural templates. The main contributions of this tool suite are: (1) textual and graphical specification of AO software architectures; (2) specification and instantiation of AO architectural patterns, and (3) integration of AO architectural metrics.
AopDotNetAddIn is a visual studio AddIn that provides the aspect oriented capabilities to the .Net languages (C#,VB.Net,J#)
Aspect-Oriented Statechart Framework (AOSF) is a framework of classes that supports the design and development of state-based systems with crosscutting concerns.
Apostle is an AspectJ-like aspect-oriented extension to Smalltalk.
Arachne is a dynamic weaver for C applications built to pragmatically explore the advantages and drawbacks of aspect-oriented solutions to software extensibility, software adaptability and software evolution issues on legacy applications.
ArchJava extends Java with explicit software architecture constructs, separating out structural concerns that would otherwise crosscut the system.
ARJ unifies aspect-oriented programming and stepwise software development. It extends AspectJ with language constructs for aspect refinement and mixin-based aspect inheritance and composition.
Aspect Browser is a graphical tool that uses the map metaphor to assist finding, exploring, and manipulating crosscutting concerns in software.
Aspect Mining Tool (AMT) is a tool for identification and exploring latent concerns in software systems.
AspectC# explores adding AspectJ-style aspect support to C#.
AspectJ* is an implementation of stratified aspects, which are aspects that have a meta-level annotation, eliminating the possibility for infinite recursion through self-advising aspects. The implementation is an extension to the AspectJ programming language and based on the AspectBench Compiler (abc).
AspeCt-oriented C (ACC) is an AOP extension for C language. It also provides a set of weave adapters to easily integrate aspects into existing building process of large C projects. (See the Aspects in C topic.)
AspectML is a polymorphic aspect-oriented functional programming language.
Aspectos shows the results of several AOP research projects, including implementation and design issues.
Aspect.pm is a set of Perl libraries for aspect-oriented programming.
AspectPHP is an aspect implementation for a PHP interpretor.
Aspicere is an aspect language for C. Its aspects are plain C modules enriched with an advice construct. The pointcut language is based on Prolog and allows to bind logic variables for use as template parameters within the advice body. Aspicere has support for delimited continuation join points, annotations and temporal pointcuts. We implemented a source-to-source and a link-time aspect weaver, which have been applied in various case studies.
C-mol is a method oriented programming language that is compatible to and can be used together with any C++ code.
Using C-mol, programs can be developed and implemented the method oriented way. It supports concepts similar to the aspect oriented concepts, resulting in smaller, non-redundant and well-separated, comprehensive program code—but without breaking the encapsulation that is provided by object oriented programming.
C-mol and the method oriented development concepts are very easy to learn since they are along the lines of object oriented concepts and do not introduce tons of new terminology and syntax.
Cobble is an aspect language for Cobol, featuring a logic-based pointcut language, template mechanism and source-to-source weaver.
ComposeJ is an extension of the java language that adds composition filters to Java classes through inlining.
Concern Graphs are a manipulable representation of concerns that can be extracted from an existing code base.
ConcernJ integrates the concepts of aspects, classes and Composition Filters into 'concerns'; this prototype demonstrates the transformation of (language-independent) concern specifications and java classes into executable composition filters and java files.
DynamicAspects is an open source framework supporting dynamic aspect oriented programming relying on pure java and jdk 5.0 features only.
EAOP is an approach to AOP for Java with expressive crosscuts, explicit aspect composition, aspects of aspects, and dynamic aspect management.
FEAT is an Eclipse plug-in allowing developers to find, document, and analyze the implementation of aspects in Java source code.
FeatureC++ supports feature-oriented and aspect-oriented programming in C++. The highlight of FeatureC++ is the combination of FOP and AOP concepts.
FuseJ provides a unified component architecture that eliminates the distinction between aspects and components by introducing a rich aspectual connector language.
ISL is an aspect-oriented service which allows to dynamically express non-functional properties in terms of "interactions".
JADE is an extension to Java that allows for noninvasive composition.
J-LO, the Java Logical Observer, is a linear temporal time(LTL)-based Runtime Verification tool for Java. It generates AspectJ code using the abc framework to check temporal interdependencies at runtime. The special feature about J-LO is that it can bind objects and match on them during evaluation of a formula over time.
Join Point Designation Diagrams (JPDDs) are a visual means to render join point selections (aka pointcuts) with the help of UML symbols.
JQuery is a query-based code browser for Java, written as an Eclipse plugin.
Lasagne/J is an extension of the Java programming language that makes dynamic evolution of collaborating objects possible.
MAKAO is a re(verse)-engineering framework for build systems, making use of AOP techniques to allow consistent modifications of makefiles.
MetaclassTalk is a reflective extension of Smalltalk that provides a MOP which can be used for AOP.
Pythius is an open-source project to support aspect-oriented programming techniques in Python.
QSOUL/Aop is an Aspect Oriented Logic Meta Programming tool in Squeak/Smalltalk.
RtJAC is a dynamic aspect oriented framework for Java based on JAC 0.11. It is a rewrite of the JAC core, performing aspect weaving through dynamic translation and hotswapping classes.
SCoPE is an AspectJ compatible compiler that can statically evaluate if-pointcuts.
Steamloom is a Java VM with dedicated support for aspect-orientation at VM level.
Tracematches are an efficient implementation of history-based pointcuts for AspectJ. Advice can be executed based on regular expressions over the execution history and can access values bound during the matching process. Tracematches are built on top of the AspectBench Compiler (abc)
Weave.NET aims to provide a language independent mechanism for supporting the AspectJ notion of AOP that is also consistent with the component model of the .NET Framework.
DotSpect (.SPECT) is a .NET, Compile-time (Static-injection), Language-Independent Aspect Weaver. It provides a language similar to AspectJ with some additional syntactic elements. Advice code can be written in any language. By default, there is support for C# and VB.NET. It also provides an IDE for writing and testing aspects.
Wicca supports Dynamic Aspect-Oriented Programming to allow you to make automated changes to a C# program, and Edit-and-Continue to allow you to make manual modifications, by editing the source code directly, to a program written in C#, VB.NET, or JScript.NET. Wicca automatically weaves, compiles, and updates the running program on-the-fly.
XAJ is an extension of the AspectJ language which allows an easy extension of its own concrete syntax. XAJ can be used to create domain-specific aspect-oriented languages embedded into AspectJ and to test new extensions for the language.