Abbrevation
ECOOP
City
Genova
Country
Italy
Deadline Paper
Start Date
End Date
Abstract

<p> Relationships and roles are important concepts used in many areas of computer science (e&#046;g&#046;, conceptual modelling, database systems, ontology) but are not "first&#8211;class" constructs in modern programming languages&#046; In current object&#8211;oriented languages, programmers are forced to implement relationships or roles "by hand" (using pointers and collections), leading to a disconnect between models and implementations&#046; 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&#046; Since current mainstream languages lack appropriate support for heap querying, programmers are further burdened with crafting code to query relationships and check their consistency&#046; As software systems grow and become increasingly complex this disconnect causes problems not only for implementers but also for code maintainers&#046; </p> <p> In response, a growing number of researchers in the software community are investigating adding first&#8211;class support for relationships and heap queries to current programming languages&#046; Interest in first&#8211;class support for such constructs is not limited to programming language research&#046; Program analysis, for instance, could benefit from the decreased use of pointers and transparent persistence could benefit from explicit queries&#046; </p> <p> In this workshop, we plan to gather researchers in the programming language community who are working on relationship&#8211;based systems to share their research and to discuss the future of relationship&#8211;based constructs in programming languages&#046; We are interested in input from members of the programming language community but also in input from members of related areas (e&#046;g&#046; databases, model&#8211;driven development) and domains (e&#046;g&#046;, program analysis, orthogonal persistence, type systems) who are using relationships&#046; Some particular areas of interest are: </p> <ul><li>relationship&#8211;based programming languages</li><li>using libraries/frameworks to support relationships</li><li>first&#8211;class queries</li><li>database integration</li><li>serialization or persistence using relationships</li><li>system and framework design using relationships</li><li>understanding or visualizing programs</li><li>ownership and related techniques</li><li>dynamic analysis of relationship usage</li></ul>