Seminar Topics: Summer Semester 2019
For the Software Engineering Seminar we offer the topics below.
Note that many papers can only be accessed from the university network.
RPC (for Bachelor students)
- A Distributed Object Model for the Java System.
Ann Wollrath, Roger Riggs, and Jim Waldo (USENIX Conference on Object-Oriented Technologies, 1996) - A critique of the remote procedure call paradigm.
Andrew Stuart Tanenbaum, and Robbert van Renesse (1988) - A Critique of the Remote Procedure Call Paradigm
Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall (1988)
Futures and Promises (for Bachelor students)
- Promises: linguistic support for efficient asynchronous procedure calls in distributed systems
Barbara Liskov, and Liuba Shrira (PLDI 1988) - The F# Asynchronous Programming Model
Don Syme, Tomas Petricek, Dmitry Lomov (Practical Aspects of Declarative Languages, PADL 2011)
Actors in Erlang (for Bachelor students)
- Erlang
Joe Armstrong (Communications of the ACM 2010) - Making reliable distributed systems in the presence of software errors
Joe Armstrong (PhD thesis, 2003)
Actors in Scala (for Bachelor students)
- Scala Actors: Unifying thread-based and event-based programming
Philipp Haller, Martin Odersky (Theoretical Computer Science 2009) - On the integration of the actor model in mainstream technologies: the scala perspective
Philipp Haller (Programming systems, languages and applications based on actors, agents, and decentralized control abstractions, AGERE! 2012) - Why Do Scala Developers Mix the Actor Model with other Concurrency Models?
Samira Tasharofi, Peter Dinges, Ralph E. Johnson (ECOOP 2013)
Publish/subscribe
- The many faces of publish/subscribe
Patrick Th. Eugster, Patrick Th. Eugster, Rachid Guerraoui, Anne-Marie Kermarrec (ACM Computing Surveys, 2003)
A.M.B.R.O.S.I.A
- A.M.B.R.O.S.I.A: Providing Performant Virtual Resiliency for Distributed Applications Jonathan Goldstein, Ahmed Abdelhamid, Mike Barnett, Sebastian Burckhardt, Badrish Chandramouli, Darren Gehring, Niel Lebeck, Umar Farooq Minhas, Ryan Newton, Rahee Ghosh Peshawaria, Tal Zaccai, Irene Zhang (2018)
Orleans
- Orleans: cloud computing for everyone
Sergey Bykov, Alan Geller, Gabriel Kliot, James R. Larus, Ravi Pandya, Jorgen Thelin (Symposium on Cloud Computing, SOCC 2011)
Argus
- Distributed Programming in Argus
Barbara Liskov (1988)
Emerald
- Distribution and Abstract Types in Emerald
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, Larry Carter (Transactions on Software Engineering 1987)
CLoud Haskell
- Towards Haskell in the cloud
Jeff Epstein, Andrew P. Black, Simon L. Peyton Jones (SIGPLAN Symposium on Haskell 2011)
Distributed Reactive Programming
- We have a DREAM: distributed reactive programming with consistency guarantees
Alessandro Margara, Guido Salvaneschi (ACM International Conference on Distributed Event-Based Systems, DEBS 2014) - Distributed REScala: an update algorithm for distributed reactive programming
Joscha Drechsler, Guido Salvaneschi, Ragnar Mogk, Mira Mezini (ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2014)
Mozart
- Mozart Homepage
- Mobile Objects in Distributed Oz
Peter Van Roy, Seif Haridi, Per Brand, Gert Smolka, Michael Mehl, and Ralf Scheidhauer (ACM Transactions on Programming Languages and Systems (TOPLAS), Sep. 1997) - Efficient Logic Variables for Distributed Computing
Seif Haridi, Peter Van Roy, Per Brand, Michael Mehl, Ralf Scheidhauer, and Gert Smolka (ACM Transactions on Programming Languages and Systems (TOPLAS) 1999) - Failure Handling in a Network-Transparent Distributed Programming Language
Raphaël Collet, Peter Van Roy (Recent Advances in Exception Handling Techniques 2006)
Dedalus and Datalog
- Dedalus: Datalog in Time and Space
Peter Alvaro, William R. Marczak, Neil Conway, Joseph M. Hellerstein, David Maier, Russell Sears (Datalog 2010) - Logic programming and databases
Stefano Ceri, Georg Gottlob, Letizia Tanca (1990)
Bloom
- Consistency Analysis in Bloom: a CALM and Collected Approach
Peter Alvaro, Neil Conway, Joseph M. Hellerstein, William R. Marczak (Conference on Innovative Data Systems Research 2011) - Logic and Lattices for Distributed Programming
Neil Conway, William R. Marczak, Peter Alvaro, Joseph M. Hellerstein, David Maier (Symposium on Cloud Computing 2012)
Cloud Types
- Cloud Types for Eventual Consistency Sebastian Burckhardt, Manuel Fähndrich, Daan Leijen, Benjamin P. Wood (ECOOP 2012)
Delta CRDTs
- Conflict-free Replicated Data Types: An Overview
Nuno Preguiça (2018) - Delta State Replicated Data Types
Paulo Sérgio Almeida, Ali Shoker, Carlos Baquero (Journal of Parallel and Distributed Computing, 2018)
P: safe asynchronous event-driven programming
- P: safe asynchronous event-driven programming
Ankush Desai, Vivek Gupta, Ethan K. Jackson, Shaz Qadeer, Sriram K. Rajamani, Damien Zufferey (PLDI 2013) - The P programming language on GitHub
PSYNC
- PSync: a partially synchronous language for fault-tolerant distributed algorithms
Cezara Dragoi, Thomas A. Henzinger, Damien Zufferey (POPL 2016) - Psync on GitHub
DISTALGO: From Clarity to Efficiency for Distributed Algorithms
- From Clarity to Efficiency for Distributed Algorithms
Yanhong A. Liu, Scott D. Stoller, Bo Lin, Michael Gorbovitski (OOPSLA 2012) - From Clarity to Efficiency for Distributed Algorithms
Yanhong A. Liu, Scott D. Stoller, Bo Lin (ACM Transactions on Programming Languages and Systems, 2017) - DistAlgo on GitHub
IronFleet
- IronFleet: proving practical distributed systems correct
Chris Hawblitzel, Jon Howell, Manos Kapritsos, Jacob R. Lorch, Bryan Parno, Michael L. Roberts, Srinath Setty, Brian Zill (Symposium on Operating Systems Principles, SOSP 2015)
PaRiS
- PaRiS: Causally Consistent Transactions with Non-blocking Reads and Partial Replication
Kristina Spirovska, Diego Didona, Willy Zwaenepoel