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:
- implementing first-class relationships
- using libraries or frameworks to support relationships
- relationship-based language features
- language-level queries
- database integration
- system design
- understanding or visualising programs
- serialisation or persistence using relationships
- ownership
- system profiling
- software verification.
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
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
- Stephen Nelson (Chair)
- Stephanie Balzer (Co-chair)
- Gavin Bierman
- Guido Boella
- Erik Meijer
- James Noble
- David Pearce
- Jiri Soukup
- Friedrich Steimann
- Frank Tip
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.
- 8.30
- Welcome
- 8.40
- Introductions
- 9.05
- Paper Presentation: Query Anomalies
- 9.30
- Paper Presentation: Rumer: A Relationship-Based Programming Language with Predicate References
- 10.00
- Coffee Break
- 10.30
- Paper Presentation: Explicit Relationships with Roles - A Library Approach
- 11.00
- Paper Presentation: The Interplay between Relationships, Roles, and Objects
- 11.30
- Paper Presentation: Role + Counter Role = Relationship + Collaboration, Towards a Harmonization of Concepts
- 12.00
- Lunch Break
- 13.30
- Discussion Session
- 14.10
- Paper Presentation: Dynamic First-Class Relations for Knowledge-Based Systems
- 14.35
- Paper Presentation: Implementing First Class Relationships in Java
- 15.00
- Coffee Break
- 15.30
- Keynote Presentation: Erik Meijer
- 16.15
- Discussion Session
- 16.50
- Conclusion