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:
|
| 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. |
|
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 |
|
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.
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. |
|
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
Tool Support for Managing Crosscutting Concerns in Existing Artifacts
Beyond Design Patterns (mis)Used OOPSLA 2002 Workshop and accompanying Poster
Linking Design to Source using Design Rationale Graphs
Conceptual Module Querying for Software Reengineering.
Conceptual Modules: Expressing Desired Structure for Software Reengineering |
|
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
Managing Crosscutting Concerns During Software Evolution Tasks: An Inquisitive Study
Does Aspect-oriented Programming Work?
Where are Programmers Faced with Concerns? (+ presentation)
Evaluating Emerging Software Development Technologies: Lessons Learned from Evaluating Aspect-oriented Programming.
An Initial Assessment of Aspect-oriented Programming.
|