Relationships and Associations in Object-Oriented Languages (RAOOL)

Monday October 20th, 2008

A Workshop Co-located with OOPSLA08 in Nashville, Tennessee

Call For Participation

There is a disconnect between modelling and implementation: relationships are prevalent in system models (for example, UML associations, Relations in ER Diagrams) but implementation languages do not provide first-class support for them. For example, in Java (and other Object-Oriented Languages), relationships must be implemented by hand using references embedded in participants. This approach is cumbersome and error-prone, and leads to a disconnect between the system model and the system implementation. As software systems grow and models become increasingly complex this disconnect causes problems not only for implementers but especially for code maintainers.

To address this issue, the software community is using frameworks and tool support to manage the disconnect. However, this does not address the core issue of relating design and implementation. Recent proposals for programming language extensions to add first-class relationships demonstrate another approach to the same problem: an increased level of abstraction in programming languages to close the gap between model and implementation.

In this workshop, we plan to gather the growing number of researchers in the object-oriented programming language community who are working on relationship-based systems to share their research and discuss the future of relationship-based constructs in programming languages. We are interested in input from members of the programming language community who are using relationships. Some particular areas of interest are:

This workshop is a successor to the workshop on “The popularity cycle of graphical tools, UML, and libraries of associations” (OOPSLA07) and is related to the “Roles” workshop series: Roles'07 - Roles and Relationships in OO Programming, Multiagent systems and Ontologies (ECOOP07).

The workshop will take place on Monday, October 20th.

Workshop Participation

Participants are invited to submit a short position paper (4 pages, ACM SIGPLAN format) via email describing their ongoing work. We will also accept longer papers (limit 8 pages, ACM SIGPLAN format) describing completed work. The program committee will review the submissions and select papers to be presented at the workshop based on their relevance and novelty. Participants whose papers are accepted will be required to give a short presentation at the workshop (details to be confirmed).

In addition to presentations, the workshop will provide a forum for discussing the presentations. Participants who do not present abstracts are welcome to participate in this, provided they notify the workshop organisers in advance.

All participants (presenting or not) should notify the workshop organisers of their intent to participate by email), including short position statement including a short biography of themselves and their relevant research interests for inclusion on this page (limit 150 words).

Important Dates

Paper Submission
August 21st, 2008
Notification of paper acceptance
September 4th, 2008
OOPSLA Reducted Rate Registration closes
September 11th, 2008
Workshop Registration for non-presenters
October 13th, 2008
Workshop Date
October 20th, 2008
Space permitting, we may allow walk-in participants, however if you are interested in participating please register early so that other participants can read your position statement.

Organising Committee

Stephen Nelson

Stephen is a PhD Student at the Victoria University of Wellington, New Zealand. Stephen's research focus is supporting relationships in object-oriented development through language support and he is pursuing different approaches to describing relationships in mainstream languages. Stephen is particularly interested in cross-cutting behaviour of relationships and describing the dynamic nature of role-based behaviour in object-oriented systems.

Stephanie Balzer

Stephanie is a PhD student at the Swiss Federal Institute of Technology (ETH) Zurich, Switzerland. Her research focuses on the development of an object-oriented language extension that allows for the explicit representation of relationships. Of particular concern is how to express and formalize consistency constraints of relationships.

Gavin Bierman

Gavin is a researcher in the Programming Principles and Tools Group at Microsoft Research in Cambridge, UK. His areas of interest include database query languages, type systems, semantics, programming language design and implementation, data model integration, separation logic, and dynamic software updating. Before joining Microsoft Research, Gavin was a University Lecturer at the University of Cambridge Computer Laboratory and a fellow of St. John’s College, Cambridge.

Erik Meijer

Erik is an architect in the SQL Server group at Microsoft. Before joining Microsoft, he was an associate professor at Utrecht University where he worked on advanced scripting languages such as Haskell, XMLambda, and Mondrian and directed the Microsoft lab (now defunct). He received his Ph.D from Nijmegen University in 1992. Meijer’s research areas include Internet Programming, Components and foreign-language integration, Language Design, Software Design, Hardware Design, Graphical User Interfaces, Parsing, and Compiling. Of particular interest with regards to this workshop is his work on LINQ, a query language for C.

James Noble

James is a Professor of Computer Science (Software Engineering) within the School of Mathematical and Computing Sciences at Victoria University of Wellington, New Zealand. His research areas include Software Design, Programming Languages, Design Patterns; Human Computer Interaction; Software Visualisation and Visual Languages; Development Methodologies and the philosophy of Computer Science and Software Engineering.

David Pearce

David is a Lecturer at Victoria University of Wellington, New Zealand. He received his PhD from Imperial College London in 2005 on Pointer Analysis. His research areas include programming language design, program analysis and software verification. Of particular relevance to this workshop is his recent work on the Relationship Aspect Library (RAL) and the Java Query Language (JQL).

Jiri Soukup

Manager of the Bell Labs M.H. team which developed the automatic design of silicon chips as we know them today. One of the seven founding members of Cadence Design Systems, San Jose, CA—the largest VLSI CAD company today. Currently president of Code Farms Inc. (Ottawa), company dedicated to better ways of designing software. Author of over 50 papers, book “Taming C++: Pattern Classes and Persistence for Large Projects”, published by Addison-Wesley 1994. Jiri studied both engineering and mathematics, and has a PhD degree in Technical Cybernetics (Prague, 1967). For many years, Jiri was a member of the technical committee for the Design Automation Conference, and participated in workshops at many software related conferences. Jiri organised and chaired “The Popularity Cycle of Graphical Tools, UML, and Libraries of Associations” - a related workshop at OOPSLA'07.

Frank Tip

Frank Tip received his PhD from the University of Amsterdam in 1995. Since then, he has been at the IBM T.J. Watson Research Center, where he is currently managing the “Program Analysis and Transformation Group”. Frank’s research interests are mostly centered around the use of program analysis techniques in software engineering tools, including refactoring, program slicing, change impact analysis, bug finding and test generation techniques. Other research interests include the design and evaluation of language features that raise the level of abstraction in object-oriented programming, such as atomic sets and relation types.

Program Committee

Workshop Timetable

Here is the timetable for the workshop. Short paper presentations are 15 minutes with 10 minutes for questions. Long paper presentations are 20 minutes with 10 minutes for questions. Discussion Sessions will be chaired by workshop organisers.

Paper Presentation: Query Anomalies
Mandana Vaziri, Vladimir Gapeyev, Stephen Fink, Frank Tip, Julian Dolby
Paper Presentation: Rumer: A Relationship-Based Programming Language with Predicate References
Stephanie Balzer, Thomas R. Gross
Coffee Break
Paper Presentation: Explicit Relationships with Roles - A Library Approach
Michael Pradel
Paper Presentation: The Interplay between Relationships, Roles, and Objects
Matteo Baldoni, Guido Boella, Leendert van der Torre
Paper Presentation: Role + Counter Role = Relationship + Collaboration, Towards a Harmonization of Concepts
Friedrich Steimann
Lunch Break
Discussion Session
Paper Presentation: Dynamic First-Class Relations for Knowledge-Based Systems
Alejandro Sanchez, Sabine Moisan, Jean-Paul Rigault
Paper Presentation: Implementing First Class Relationships in Java
Stephen Nelson, James Noble, David Pearce
Coffee Break
Keynote Presentation: Erik Meijer
Discussion Session

Workshop Participants