ACM SIGDOC
SIGDOC 2005

The 23rd International Conference on Design of Communication

Documenting & Designing for Pervasive Information

Sept. 21-23, 2005; Coventry, UK
www.sigdoc.org/2005


News:

Workshop on Aspect-Oriented Documentation

John Stamey
Department of Computer Science
Coastal Carolina University
jwstamey@coastal.edu

Bryan Saunders
Department of Computer Science
Coastal Carolina University
btsaunde@coastal.edu

This workshop will demonstrate and explain the creation of documentation for Aspect-Oriented programs written in Java and PHP. Fundamentals of Aspect-Oriented Programming, separation of concerns, motivation for Aspect-Oriented Programming, and principles of documenting Aspect-Oriented Programming will be presented.

Keywords: Documentation, Aspect-Oriented Programming, Aspect-Oriented Documentation, aoPHPunit, AJdoc, SubText, Java, PHP

Motivation

Aspect-Oriented Programming (AOP) has become a widely publicized part of the Object-Oriented paradigm over the past ten years. Similar to the familiar concept of modularization for core concerns, AOP recognizes separation of concerns for crosscutting concerns such as logging, synchronization, validation, and persistence.

The code to implement aspects is called advice, and is contained in a file separate from the regular source code of the application. At runtime, advice code is woven into the source code. When weaving is done at the byte-code level, such as the case with the AspectJ plugin for Eclipse Java development environment, the virtual code that is executed at runtime is not available for the programmer to view. When weaving is done at the source code level , such as the case of Aspect-Oriented PHP (aoPHP), a copy of the source code including advice is actually created. In both of these cases, documenting Aspect-Oriented code is not altogether a straightforward process.

Structure

Two programming aids are currently available to document Aspect-Oriented code in Java: AJdoc and SubText. Both of these are available as plugins for the Eclipse Development Environment, found at http://www.eclipse.org/. This workshop will present examples of AOP in Java, along with instruction and real-time examples of documentation created with AJdoc and SubText. One programming aid is currently available for documenting Aspect-oriented code in PHP, aoPHPunit. This testing and documentation tool is found at http://www.aophp.net/.

This workshop presentation will include the following topics:

  • Early Aspects – a brief history of AOP and Separation of Concerns
  • Introduction to AOP in Java
  • Introduction to AOP in PHP
  • Documenting AOP developed at the byte-code level (Java)
  • Documenting AOP developed at the source code level (PHP)
  • The workshop will include both code examples and

Material from the workshop will include example code, and resources to begin documenting Aspect-Oriented programs in Java and PHP. The workshop archive site will be www.aspectorientedprogramming.org/SIGDOC/.

Participants

All participants of SIGDOC 2005 conference are welcome to participate in the workshop. Familiarity with Java and/or PHP is helpful but not required. Knowledge of Aspect-Oriented Programming is not required, as a portion of the workshop will be devoted to that topic.

Note: Please remember that you must register for the main conference to attend the workshop sessions.

Organizers

John W. Stamey, Jr. is the project lead for Aspect-Oriented PHP (AOPHP). He has a number of publications in the field of Aspect-Oriented Programming, and has eight years experience developing enterprise web applications. Stamey currently teaches Computer Science at Coastal Carolina University in Conway, SC and is a member of SIGDOC. Stamey and Bryan Saunders were the recipients of an Academic Excellence Grant from Sun Microsystems (Spring 2005) for their work on AOPHP (www.aophp.net).

Bryan T. Saunders is the lead developer for Aspect-Oriented PHP (AOPHP). He is a student at Coastal Carolina University, and has a number of publications with John Stamey in the field of Aspect-Oriented Programming. Saunders and John Stamey were the recipients of an Academic Excellence Grant from Sun Microsystems (Spring 2005) for their work on AOPHP (www.aophp.net).