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
T2: Hyper/J™: Multi-Dimensional Separation of Concerns for Java™
Presenters
Day
Monday April 22 - half day (2:00 - 5:30)
Room
(to be determined)
Level
OOSD: Intermediate
AOSD: Introductory

Attendees must have experience with object-oriented software engineering, and some familiarity with Java™. Some experience with AOSD is useful, but not necessary.

Abstract

Multi-dimensional separation of concerns (MDSOC) is an AOSD approach that promotes flexible, powerful separation and integration of software based on all kinds of concerns. MDSOC allows developers to encapsulate overlapping, interacting and crosscutting concerns, including features, aspects, variants, roles, business rules, components, frameworks, etc. MDSOC further supports developers in specifying relationships among concerns to allow concerns to be systematically separated, combined, and traced. MDSOC treats all concerns as first-class and co-equal, including components and aspects, allowing them to be encapsulated and composed at will. This is in contrast to most aspect-oriented approaches, which enable aspects to be composed with components but do not support composition of components (or aspects) with one another. Some other key benefits of MDSOC include the ability to identify and modularize concerns at any stage of the software lifecycle (prospectively and retrospectively); the ability to define, manipulate, and integrate different decompositions of the same software simultaneously; the ability to customize, adapt, reuse, and evolve software non-invasively; and the ability to reconcile different class hierarchies modeling overlapping domains from different perspectives. MDSOC can therefore reduce complexity, improve reusability, and simplify evolution and integration.

This tutorial describes how to accomplish MDSOC with Hyper/J™, a prototype tool available for free download, in the context of standard Java™ development. It will demonstrate how Hyper/J™ addresses some real, pervasive problems in participants' own Java™ development. Example problems include adding a feature; adding instrumentation; creating and evolving product lines; separating concerns in retrospect (i.e., extracting concerns from existing software); supporting team development, including use of different domain models by different teams; separating, integrating, retrofitting and reusing design patterns; and facilitating unplanned integration. Hyper/J™ works on Java™ class files, so it can be used on any off-the-shelf Java™ software, even when source code is not available. It requires no special compilers, development tools, or processes.

Biographies

Peri Tarr is a researcher at the IBM Thomas J. Watson Research Center. She co-invented hyperspaces, leads the Hyper/J™ tool development effort, and has been exploring issues in MDSOC throughout the software lifecycle. She has presented or co-presented a number of tutorials on subject-oriented programming and Hyper/J™, and has co-organized workshops on multi-dimensional separation of concerns at several conferences. She has been on the program and conference committees for ICSE and OOPSLA and is a program committee member for AOSD 2002.

Harold Ossher is a researcher at the IBM Thomas J. Watson Research Center. He co-invented subject-oriented programming and hyperspaces, and manages a group that conducts research and technology transfer in these and related areas. He has presented or co-presented tutorials on subject-oriented programming and Hyper/J™, and has co-organized workshops on subjectivity in object-oriented systems and on MDSOC at several conferences.
He is the General Chair of AOSD 2002.

Stanley Sutton is a researcher at the IBM Thomas J. Watson Research Center. He invented the Cosmos approach to defining and representing multi-dimensional concern spaces, has been performing research on MDSOC in middleware, and is an active Hyper/J™ user. He presented this tutorial at Net.Object Days 2001 (an invited presentation).

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