Home Research Teaching and Supervision Service Activities
Methods in Design of Software and Buildings

Aspect-Oriented Requirements Analysis

Aspect-Oriented Analysis & Design

Software & Design Understanding

Empirical Studies of Programmers

View my CV as PDF

MetaProperty Aspects

-- >Link to tool

Abstract: Currently, it is possible to use aspect-oriented languages to attach behavior to code based on semantic or syntactic properties of that code. There is no language, however, that allows developers to attach behavior based on static metaproperties of code. Here, we demonstrate a technique for applying AOP methods to metaproperties of source code. We use advice to coherently define runtime behavior for subsets of code that need not share semantic or syntactic properties. To illustrate the approach, we use Java as a base language, and define a family of pointcuts based on the edit time of the source lines, then build a simple debugging application that applies runtime tracing to only the most recently changed code. Using this technique, the tracing code is neatly modularized and need not depend on any semantic properties of the base code. We believe that this approach has powerful applications for debugging as well as for software engineering researchers looking to explore the runtime effects of extra-linguistic features.

Buildings & Software:
Relating Design Methodologies

Together with Kelly Chow from the Architecture Department of CUHK, I am working on how design of software relates to design of buildings. We are looking at the mental processes that designers use, the goals during each of those processes, and the intended outcome from the process. We hope that this work will enrich design processes in both architecture and software.

AORA:
Aspect-Oriented Requirements Analysis

My current focus is on representing requirements in order to identify behavioural tangling, and to reveal aspects. The general concept of this work is called AORA: Aspect-Oriented Requirements Analysis. Work is underway to provide an AORA-graph framework, to allow a flexible approach for AORA. The current offering of the AORA-graph set is Theme/Doc.

The Theme/Doc tool takes in a set of requirements as text, and a list of concerns (or Themes), and depicts their relationships. Concerns are shown in diamond-shaped nodes, and requirements in rounded boxes. They are linked if a requirement mentions a concern's name or synonym. By examining the requirements that mention more than one concern, you can see where behavioural tangling is described in the requirements. Broadly put, if a requirement describes one concern as triggered by another, then the triggered concern is an aspect.

  Isolating and Relating Concerns in Requirements using Latent Semantic Analysis
Lo Kwun Kit, Chan Kwun Man and Elisa Baniassad
To appear in OOPSLA'06

Investigating the Use of Clues for Scaling Document-Level Concern Graphs (+ presentation: Elisa Baniassad)
Elisa L.A. Baniassad and Siobhan Clarke
Position Paper for the Early Aspects Workshop held at OOPSLA 2004, Vancouver, Canada

Finding Aspects In Requirements with Theme/Doc (+ presentation: Elisa Baniassad)
Elisa L. A. Baniassad and Siobhan Clarke.
Position Paper for the Early-Aspects Workshop held as part of AOSD 2004, March 2004

Determining the "Why" of Concerns
Elisa L.A. Baniassad, Gail C. Murphy and Christa Schwanninger.
Position Paper for the Workshop on Advanced Separation of Concerns, held as part of ICSE 2001, May 2001

Understanding Design Patterns with Design Rationale Graphs
Elisa L. A. Baniassad, Gail Murphy, Christa Schwanninger
UBC Technical Report Number: T2-2002-01

AOAD:
Aspect-Oriented Analysis & Design

Aspect-orientation is becoming more widely adopted.  As more developers attempt to apply aspects in their work, the more they have questions such as "what aspects can I apply in my system?".   I am interested in investigating ways to help them answer this question, and I have just co-written a book on how to do just that.

The approach described in the book is called the Theme approach, which is a melding of two other approaches, Theme/Doc which helps developers locate and characterize system features in requirements documentation, and Theme/UML, which is a design language for modeling system features.

  Discovering Early Aspects
Elisa Baniassad, Paul Clements, Joao Araujo, Ana Moreira, Awais Rashid, Bedir Tekinerdogan
IEEE Software special issue on AOSD, To Appear January/February 2006.

Aspect-Oriented Analysis and Design
The Theme Approach

Siobhan Clarke and Elisa Baniassad
to be published by Addison Wesley, Ltd.
2005.
ISBN: 0321246748

Theme: An Approach for Aspect-Oriented Analysis and Design
Elisa L.A. Baniassad and Siobhan Clarke.
ICSE 2004.
My presentation for this paper was honoured with the award for Best Technical Paper Presentation.




Software & Design Understanding

The areas of focus for my MSc and PhD were lightweight assistance of developer understanding of software structure and behaviour, and of design.   For my MSc I developed a technique called Conceptual Modules, which allows developers to designate "what-if" structures out of lines of a code-base, and then view relationships such as control flow  and  variable dependence between them.

For my PhD I developed a technique called Design Pattern Rationale Graphs (DPRG) which provided support for depicting the text of design patterns documentation, and linking that depiction to a representation of a particular implementation.

Both of these techniques are  lightweight, in that a developer can apply them within a short period of time.  Both rely on a source model produced from a third-party tool, and will provide analysis that is dependent on the quality of that information.

  Temporal Aspects
Alan Chu, Jacky Ho Kit Chan and Elisa Baniassad
CUHK Technical Report

Design Pattern Rationale Graphs: Linking Design to Source
Elisa Baniassad, Gail Murphy, Christa Schwanninger
In the Proc of ICSE 2003

Design Pattern Rationale Graphs: Linking Design to Source
Elisa Baniassad, PhD Dissertation, December 2002

Tool Support for Managing Crosscutting Concerns in Existing Artifacts
Elisa Baniassad, Martin Robillard, Albert Lai and Gail Murphy
OOPSLA 2002 Poster

Beyond Design Patterns (mis)Used OOPSLA 2002 Workshop and accompanying Poster
Organized by Christa Schwanninger, Elisa Baniassad, Gail Murphy and Vera Seidel

Linking Design to Source using Design Rationale Graphs
Elisa L. A. Baniassad
PhD Thesis Proposal, May 2001

Conceptual Module Querying for Software Reengineering.
Elisa L.A. Baniassad and Gail C. Murphy.
ICSE '20, April 1998

Conceptual Modules: Expressing Desired Structure for Software Reengineering
Elisa L. A. Baniassad
Master of Science Thesis, December 1997




Empirical Studies of Programmers

I am interested in how developers approach problems they encounter in their work.  In particular, how they deal with crosscutting concerns in their code, and how they make use of separation of concerns approaches.

  The Geography of Programming
Elisa Baniassad and Sebastian Fleissner
To appear in OOPSLA-Onward! 2006

An Evaluation of Aspect-Oriented Programming for Java-based Real-Time Systems Development
Shiu Lun Tsang, Siobhan Clarke, Elisa L. A. Baniassad
ISORC 2004, to appear

Object Metrics for Aspect Systems: Limiting Empirical Inference Based on Modularity
Shiu Lun Tsang, Siobhan Clarke, Elisa L. A. Baniassad
Trinity College Dublin technical report

Managing Crosscutting Concerns During Software Evolution Tasks: An Inquisitive Study
Elisa Baniassad, Gail Murphy, Christa Schwanninger, and Michael Kircher
In Proc. of AOSD April 2002.

Does Aspect-oriented Programming Work?
Gail Murphy, Robert Walker, Elisa Baniassad, Martin Robillard, Albert Lai and Mik Kersten.
Communications of the ACM, 44(10):75-77. October 2001

Where are Programmers Faced with Concerns? (+ presentation)
Elisa L.A. Banissad, Gail C. Murphy, Christa Schwanninger and Michael Kircher.
OOPSLA 2000 Workshop on Advanced Separation of Concerns in Object-oriented Systems, October 2000

Evaluating Emerging Software Development Technologies: Lessons Learned from Evaluating Aspect-oriented Programming.
Gail C. Murphy, Robert J. Walker, and Elisa L.A. Baniassad.
In IEEE Transactions on Software Engineering 25, 4, 1999, p. 435-455

An Initial Assessment of Aspect-oriented Programming.
Robert J. Walker, Elisa L.A. Baniassad , and Gail C. Murphy
In Proc. of ICSE 21, 1999, pp. 120-130