TinyC2: Towards a Dynamic Weaving Aspect Language Based for C

Charles Zhang and Hans-Arno Jacobsen.

In Foundation of Aspect LanguagesWorkshop (FOAL) at AOSD, pages 1-8, Boston, March 2003.


The runtime behaviors of software systems are often subject to alteration or intervention after their development cycles for various reasons such as performance profiling, debugging, code specialization, and more. There are two separate domains related to the instrumentation of software systems, one being various performance measurement and instrumentation tools, the other the new aspect oriented programming (AOP) paradigm. This paper describes TinyC2 language, a language approach which experiments with the idea of implementing an aspect oriented language based upon existing system instrumentation techniques. Like other aspect oriented languages, TinyC2 uses new language constructs to allow programmers to intentionally compose systems in the dimensions of both components and aspects. In this paper, we discuss both the grammatical features and the compiler architecture of the TinyC2 language. Through the TinyC2 implementation, we demonstrate that a language approach can well bridge the gap between the AOP paradigm and the existing system instrumentation technologies. It greatly simplifies code instrumentation effort and provides runtime optimization at the application level.


Related Projects

Tags: aspect-oriented middleware, aspect-oriented programming

Readers who enjoyed the above work, may also like the following:

  • Mining Crosscutting Concerns Through Random Walks.
    Charles Zhang and Hans-Arno Jacobsen.
    IEEE Transactions on Sofware Engineering, 2011.
    Accepted July 2011.
    Tags: aspect mining, aspect-oriented programming, aspect-oriented middleware
  • Externalizing Java Server Concurrency with CAL.
    Charles Zhang and Hans-Arno Jacobsen.
    In European Conference on Object-oriented Processing 2008 (ECOOP), pages 362-386, July 2008.
    Acceptance rate: 19%.
    Tags: aspect-oriented middleware, aspect-oriented programming, concurrency
  • Efficiently Mining Crosscutting Concerns Through Random Walks.
    Charles Zhang and Hans-Arno Jacobsen.
    In AOSD 2007: 6th International Conference on Aspect Oriented Systems and Design, pages 226-238, Vancouver, BC, Canada, March 2007.
    Acceptance rate: 18%.
    Tags: aspect mining, aspect-oriented middleware, aspect-oriented programming