<p> 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. </p> <p> 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. </p> <p> 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: </p> <ul><li>relationship–based programming languages</li><li>using libraries/frameworks to support relationships</li><li>first–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>
Abbrevation
ECOOP
City
Genova
Country
Italy
Deadline Paper
Start Date
End Date
Abstract