Programming Language Approaches to Concurrency and Communication-cEntric Software
21st March 2010, Paphos, Cyprus
Workshop affiliated with
Theme and Goals
Applications on the web today are built using numerous interacting services; soon off-the-shelf CPUs will host thousands of cores, and sensor networks will be composed from a large number of processing units. Many normal applications will soon need to make effective use of thousands of computing nodes. At some level of granularity, computation in such systems will be inherently concurrent and communication-centred.
To exploit and harness the richness of this computing environment, designers and programmers will utilise a rich variety of programming paradigms, depending on the shape of the data and control flow. Plausible candidates for such paradigms include structured imperative concurrent programming, stream-based programming, concurrent functions with queues, and the use of types for communication and data structures (such as session types and linear types), to name but a few. Combinations of these abstractions will be used even in a single application, and the runtime environment needs to ensure seamless execution without relying on differences in available resources such as the number of cores.
The development of effective programming methodologies for the coming computing paradigm demands exploration and understanding of a wide variety of ideas and techniques. This workshop aims to offer a forum where researchers from different fields exchange new ideas on one of the central challenges for programming in the near future, the development of programming methodologies and infrastructures where concurrency and distribution are the norm rather than a marginal concern.
William Cook, Jayadev Misra (University of Texas, Austin)