Relationships and roles are important concepts used in many areas of computer science (e.g., conceptual modelling, database systems, ontology) but are not "first-class" constructs in modern programming languages. In current object-oriented languages, programmers are forced to implement relationships or roles "by hand" (using pointers and collections), leading to a disconnect between models and implementations. This disconnect causes numerous problems across the software engineering life cycle: most importantly, implementations become cumbersome because relationships are represented by several code fragments, scattered throughout the application code, resulting in code fragility. Since current mainstream languages lack appropriate support for heap querying, programmers are further burdened with crafting code to query relationships and check their consistency. As software systems grow and become increasingly complex this disconnect causes problems not only for implementers but also for code maintainers.

In response, a growing number of researchers in the software community are investigating adding first-class support for relationships and heap queries to current programming languages. Interest in first-class support for such constructs is not limited to programming language research. Program analysis, for instance, could benefit from the decreased use of pointers and transparent persistence could benefit from explicit queries.

In this workshop, we plan to gather researchers in the programming language community who are working on relationship-based systems to share their research and to discuss the future of relationship-based constructs in programming languages. We are interested in input from members of the programming language community but also in input from members of related areas (e.g. databases, model-driven development) and domains (e.g., program analysis, orthogonal persistence, type systems) who are using relationships. Some particular areas of interest are:

This workshop is a successor to the workshop on Relationships and Associations in Object-Oriented Languages (RAOOL) held at OOPSLA 2008.


9:00 - 9:05 Welcome
9:05 - 10:05 Keynote: Arbitrary Decisions, Taken as Truth
Nick Mitchell (IBM T.J. Watson Research Center)
10:05 - 10:30 Retrieving Relationships from Declarative Files (short paper)
Ciera Jaspan and Jonathan Aldrich (Carnegie Mellon University)
10:30 - 11:00 Coffee Break
11:00 - 11:35 Roles in Building Web Applications Using Java (long paper)
Guido Boella, Roberto Grenna, and Andrea Cerisara (University of Torino)
11:35 - 12:10 Implementing Relationships among Classes of Analysis Pattern Languages Using Aspects (long paper)
Rosana T. Vaccare Braga and Rodrigo Henrique Roldao Marchesini (Universidade de São Paulo)
12:10 - 12:35 Implementing Relationships using Affinity (short paper)
Stephen Nelson, David Pearce, and James Noble (Victoria University of Wellington)
12:35 - 14:15 Lunch Break
14:15 - 14:50 Nested and Specialized Associations (long paper)
Tormod Vaksvik Håvaldsrud (SINTEF) and Birger Møller-Pedersen (University of Oslo)
14:50 - 15:25 Implementing UML Associations in Java - A Slim Code Pattern for a Complex Modeling Concept (long paper)
Dominik Gessenharter (Ulm University)
15:25 - 16:00 Set Up for Poster Session and Coffee Break
16:00 - 17:30 Poster Session and Conclusions

In allow for further discussion and to promote the sense of community, a joint workshop dinner is planned for the day of the workshop.


Prospective participants are invited to submit a paper that should fall into one of two categories:

Submissions should be formatted using the ACM SIG Proceedings format. Short papers that will lead to interesting discussions are particularly welcomed.

Alternatively, prospective participants are invited to submit a poster describing raw ideas and/or work-in-progress. Posters should be submitted to the workshop chair (balzers at inf.ethz.ch) by June 15, 2009.


The workshop proceedings are published by ACM and appear in the ACM Digital Library.

Important Dates

Submission: April 13, 2009, 23:59:59 Apia, Samoa time (see world clock for local times)
Notification: May 8, 2009
Early registration: May 20, 2009
Final version: June 5, 2009
Poster: June 15, 2009
Workshop: July 7, 2009

Paper Submission

Papers should be submitted by the deadline indicated above using EasyChair. If you use EasyChair for the first time, you must first acquire an account. Note that it may take a while until your account is set up.


Program Committee

Uwe Assmann TU Dresden, Germany
Guido Boella University of Torino
Achim D. Brucker SAP Research, Germany
Stéphane Ducasse INRIA Lille, France
Susan Eisenbach Imperial College London, UK
Manuel Fähndrich Microsoft Research, USA
James Noble Victoria University of Wellington, New Zealand
David J. Pearce Victoria University of Wellington, New Zealand
Friedrich Steimann Fernuniversität in Hagen, Germany
Mandana Vaziri IBM T.J. Watson Research Center, USA

Organizing Committee

Stephanie Balzer (chair) ETH Zurich, Switzerland balzers at inf.ethz.ch
Gavin Bierman Microsoft Research, UK gmb at microsoft.com
Stephen Nelson (co-chair) Victoria University of Wellington, New Zealand stephen.nelson at ecs.vuw.ac.nz
Frank Tip IBM T.J. Watson Research Center, USA ftip at us.ibm.com


The number of workshop participants is limited. If you wish to attend the workshop, but are not an author of an accepted paper or poster, please contact the workshop chair (balzers at inf.ethz.ch) indicating your interest in the workshop and the possible contributions you can make.