Abbrevation
PMLDC
City
Rome
Country
Italy
Deadline Paper
Start Date
End Date
Abstract

Whether you are programming a rich web application in JavaScript that<br>mutates state in the client’s browser, or you are building a massively<br>deployed mobile application that will operate with client state at the<br>device, it’s undeniable that you are building a distributed system!<br>Two major challenges of programming distributed systems are<br>concurrency and partial failure&#046; Concurrency of operations can<br>introduce accidental nondeterminism: computations may result in<br>different outcomes with the same inputs given scheduling differences<br>in the underlying system unless a synchronization mechanism is used to<br>enforce some order&#046; Synchronization is typically expensive, and<br>reduces the efficiency of user applications&#046; Partial failure, or the<br>failure of one or more components in a distributed system at one time,<br>introduces the challenge of knowing, when an operation fails, which<br>components of the operation completed successfully&#046; To solve these<br>problems in practice on an unreliable, asynchronous network, atomic<br>commit protocols and timeouts as failure detection are typically used&#046;<br>Because of these challenges, early approaches to providing programming<br>abstractions for distributed computing that ignored them were<br>inherently misguided: the canonical example being the Remote Procedure<br>Call, still widely deployed in industry&#046;<br>The goal of this workshop is to discuss new approaches to distributed<br>programming that provide efficient execution and the elimination of<br>accidental nondeterminism resulting from concurrency and partial<br>failure&#046; It will bring together both practitioners and theoreticians<br>from many disciplines: database theory, distributed systems, systems<br>programming, programming languages, data&#8211;centric programming, web<br>application development, and verification, to discuss the<br>state&#8211;of&#8211;the&#8211;art of distributed programming, advancement of the<br>state&#8211;of&#8211;the&#8211;art and paths forward to better application of theory in<br>practice&#046;<br>The main objectives of this workshop are the following:<br>To review the state&#8211;of&#8211;the&#8211;art research in languages, models, and<br>systems for distributed programming;<br>To identify areas of critical need where research can advance the<br>state of the art;<br>To create a forum for discussion;<br>To present open problems from practitioners with an aim towards<br>motivating academic research on relevant problems faced by industry&#046;<br>In the spirit of both ECOOP and Curry On, this workshop aims at<br>favoring a multidisciplinary perspective by bringing together<br>researchers, developers, and practitioners from both academia and<br>industry&#046;<br>