Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"C-SAW and GenAWeave: A Two-Level Aspect Weaving Toolsuite [OOPSLA/GPCE]"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps

 : Thursday Demonstrations : All Demonstrations : Thursday

C-SAW and GenAWeave: A Two-Level Aspect Weaving Toolsuite [OOPSLA/GPCE]

Courtyard, Demo room 3
Thursday, 12:30, 45 minutes


This event is also being given Tuesday at 11:30.

Jeff Gray, University of Alabama at Birmingham
Ira Baxter, Semantic Designs
Jing Zhang, University of Alabama at Birmingham
Suman Roychoudhury, University of Alabama at Birmingham

Demonstration number: 15

The C-SAW and GenAWeave tools support evolution of object-oriented legacy software through a two-level approach using aspects. The principle strategy of these tools is to generate low-level transformation rules from higher-level domain languages. The generated transformation rules, along with the initial version of the application source code, serve as input to the Design Maintenance System (DMS) from Semantic Designs. The generated rules drive the transformation process in order to produce a modified version of the source containing new concerns that have been woven across the application code base. The demonstration will show the ability to make rapid adaptations to a large cross-section of an application through simple specification changes at a high-level of abstraction.

As case studies, the demonstration will highlight the transformation of two legacy commercial applications: a large mission-computing avionics framework written in C++, and a client-server enterprise management system implemented in Object Pascal. In the avionics application, transformation rules are generated from domain-specific models created in the Generic Modeling Environment (from Vanderbilt University). Using C-SAW, it will be shown that small changes in a representative model can regulate concurrency and logging policies across many C++ classes. The Object Pascal portion of the demonstration will illustrate the use of DMS as the underlying engine for an aspect weaver. A unique feature of the demonstration is the ability to weave aspects into various legacy languages (not just Java) at the source level using GenAWeave.