Aspects
- encapsulate non-modularized concerns in systems;
- often include security policies, transaction
support, synchronization concerns, etc.;
- are present in middleware systems
[ZJ04],
[ZJ03],
[ZJ03]
and
databases
[GJ05];
- enable model-driven development
[ZJ05a];
- have been used for developing embedded software system
product lines
[ZJ05b].
|
AspectC offers
- an aspect-oriented extension to C and aspect-oriented software development for C;
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through
source-to-source transformations;
- an open source license and compiler.
|
AspectC enables
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
|
|
January 03, 2007
|
AspectC Version 0.4 is released. [release note]
|
|
January 03, 2007
|
A bugzilla is created for AspectC project.
|
|
December 24th, 2006
|
Both demo and tutorial submissions from AspectC team are accepted by AOSD 2007.
demo :"AspectC for Aspect-oriented Systems Development with C".
tutorial : "Principles of Aspect-oriented Systems Development and Refactoring with AspectC".
|
|
October 17th, 2006
|
AspectC Version 0.3 is released.
|
|
October 16th, 2006
|
AspectC slides on CASCON 2006.
|
|
September 25th, 2006
|
Lecture notes for AOP and AspectC.
|
|
September 8th, 2006
|
AspectC Version 0.2 is released.
|
|
September 2nd, 2006
|
A mailing list becomes available to disseminate AspectC
news. To subscribe, click.
|
|
July 31st, 2006
|
The Friends-and-Family release for the patient developer goes live.
First public release of AspectC Version 0.1.
|
AspectC is a research project conducted by the Middleware Systems Research
Group at the University of
Toronto. AspectC enables aspect-oriented software development
with the C programming language. AspectC consists of a compiler
that translates code written in AspectC into ANSI-C
code. This code can be compiled by any ANSI-C compliant compiler,
like for example gcc.
The short-term objective of the AspectC project is to build a robust
compiler to support aspect-oriented programming with C. AspectC
achieves this by building on proven aspect-oriented language designs
for other languages, most notably the
AspectJ language for
aspect-oriented programming with Java.
Long-term research objectives of the AspectC project include
the investigation of
- concern separation support and aspect-oriented language
features tailored to the C language and the imperative style of
programming;
- aspect-orientation in the context of software written in C,
especially systems software and middleware systems targeting
embedded platforms (e.g., cell phones, PDAs, chip
cards, sensor boards, telecommunications equipment, etc.);
- techniques and tools for the development of highly customizable
and easily configurable systems and middleware systems software
product lines catering to the extensive world of C-based legacy
systems.
Please browse the current and planned
AspectC language features,
AspectC code snippets,
language specification and other documentation, and
project status.
As well we encourage you to download the code, and
contact us about any questions you may have.
A first version of the AspectC compiler has been built and is available for download. The compilation
process is illustrated in the following figure.