AOSD 2002
Program
spacerIntroduction
spacerOverview
spacerKeynotes
spacerInvited Sessions
spacerPanel
spacerPaper Sessions
spacerTutorials
spacerWorkshops
spacerDemonstrations
spacerInformal Meetings
Registration
Accommodation
Transportation
About Enschede
Student Volunteers
Organization
Sponsors
Contact
AOSD 2002
Keynotes Invited Sessions Panel Paper Sessions Tutorials Workshops Demonstrations
Composition Filters Hyper/J Introduction to AspectJ Advanced AspectJ Aspect Sand Box Demeter
Tutorial title
T5: AOP Language Exploration Using the Aspect Sand Box
Presenters
Day
Tuesday April 23 - half day (9:00 - 12:30)
Room
(to be determined)
Level
OOSD: advanced
AOSD: intermediate

The audience should have a basic knowledge of AOP and one of the main AOP proposals. Additionally the audience should be able to understand the structure of simple programming language interpreters. Programming language researchers or experienced commercial developers should have no problem following and participating in the tutorial.

Abstract

The Aspect Sand Box (ASB) is a tool for understanding and comparing a wide range of AOP language features. In this tutorial you will learn how to use the ASB to explore existing and new AOP languages.

The tutorial is intended to be of value to practitioners, general AO researchers and programming language researchers.

The ASB makes it easy and fun to explore questions like: What is the correspondence among AspectJ, HyperJ and Demeter? What is the difference between compiling and interpreting an AOP program? What kinds of variations in join point model are possible? What is the difference between adding a new kind of join point and adding a new kind of advice?

The ASB provides a framework for building simple interpreters for AOP languages, together with implementations for a number of existing languages. Each interpreter models the semantics and implementation of one kind of AOP language. The framework is designed so that it is easy to understand the semantics of one AOP language in terms of what it adds to the underlying OOP language; to compare two AOP languages to each other; and to model the runtime costs of an AOP language construct.

In the tutorial we will present ASB and use it to explore several different languages, including AspectJ, HyperJ, Demeter and Composition Filters. Interactive work with the audience will explore variations on these.

Biographies

Gregor Kiczales is Professor of Computer Science and Xerox/Sierra Systems/NSERC Chair of Software Design at the University of British Columbia. He is also a Principal Scientist at the Xerox Palo Alto Research Center, where he leads the group that has developed AspectJ.

The focus of his research is enabling programmers to write programs that, as much as possible, look like their design. Prior to developing aspect-oriented programming he worked on open implementation, metaobject protocols and the CLOS object-oriented programming language. He is co-author of "The Art of the Metaobject Protocol", a key work in compuational reflection. He has given numerous invited talks, lectures and tutorials at conferences, universities and in industry.

Chris Dutchyn is a PhD. student at the University of British Columbia. As a member of the Software Practices Lab, he focuses on programming language design and implementation, including AOP, reflection, formal semantics, type theory, and efficient implementation.

Hidehiko Masuhara is Assistant Professor in the Graduate School of Arts and Sciences at the University of Tokyo and is currently a visiting Professor at the University of British Columbia. He focuses on programming language mechanisms that provide programmers greater flexibility and efficiency, such as reflection, aspect-orientation and partial evaluation.

Keynotes Invited Sessions Panel Paper Sessions Tutorials Workshops Demonstrations
Composition Filters Hyper/J Introduction to AspectJ Advanced AspectJ Aspect Sand Box Demeter