April 25 – 30 , 2004, Dagstuhl Seminar 04181

Atomicity in System Design and Execution


Cliff B. Jones (University of Newcastle, GB)
David B. Lomet (Microsoft Research – Redmond, US)
Alexander Romanovsky (University of Newcastle, GB)
Gerhard Weikum (MPI für Informatik – Saarbrücken, DE)

The Dagstuhl Foundation gratefully acknowledges the donation from:

  •   Microsoft Corporation, Redmond, US

For support, please contact

Dagstuhl Service Team


Dagstuhl Seminar Proceedings DROPS
List of Participants
Dagstuhl's Impact: Documents available


The Dagstuhl Seminar 04181 (Atomicity in System Design and Execution) brought together researchers and industrial practitioners from four fields: formal methods, fault tolerance, databases, and architecture to discuss the notion of Atomicity and its pervasive and effective use in all of their disciplines. The underlying purpose of Atomicity is to produce highly dependable, well architected, understandable, and verifiable computer systems or components. Members from these four fields engaged in an extremely productive discussion of ideas, techniques, and mindsets that is very difficult to achieve in a conference setting, where the scope is usually much narrower. In particular, the recent Dagstuhl Seminar provided ample opportunity for presenting seminal ideas, introducing new research, and engaging in intensive questioning and dialog. In short, it was a unique opportunity to learn from fields other than one's narrower specialty. We are writing an "Atomicity manifesto", recapping our Dagstuhl discussions and the insights gathered from across multiple fields, with the aim of encouraging by example more cross-discipline interactions. The unifying framework for that seminar was the notion of "Atomicity" which cuts across many areas of Computing Science. It can refer to both core proprieties of system execution and design techniques. Atomicity is fundamental in dealing with the complexity of modern systems. It is introduced to simplify reasoning about and dealing with concurrency and fault tolerance. Atomicity is frequently introduced with some form of system structuring to provide a basis for encapsulating complex system parts. Atomicity is a ubiquitous concept in computer science and has been studied from many different angles. The consensus among participants was that Seminar 04181 had been a very tasty first course in stimulating interactions between communities. The flexible plan of the first seminar initiated some real understanding but there was also a desire to move on to the next course. For example: discussions about how and when to use formal methods did not proceed far enough for us to understand their appropriate role and timing; it was unclear how database approaches can be applied outside of database systems; we speculated about hardware and programming language support for Atomicity without understanding fully how to provide or how to use such "built-in" support; we discussed the role of consensus and atomic broadcast in some settings, but did not explore this far enough. We believe that our research communities would greatly benefit by coming together again to further discuss how the various perspectives and technologies involving Atomicity might be applied in practice and embedded in a more comprehensive theoretical framework. Our intent is to re-invite a core of 04181 participants, and to reach out more broadly to other members of our respective disciplines, so as to further proselytize the value of cross discipline exchanges so well facilitated by Seminar 04181. We will specifically seek new participants representing other areas which will contribute to a better understanding of Atomicity (e.g. asynchronous hardware design, mobile systems, component technologies). We intend to organize a number of sessions for discussing foundational research, as well as current and future trends in several areas of computer science, such as: … Atomic (ACID) transactions in databases and how they might be applied more widely … Atomic actions in system design and implementation … Atomic broadcast and consensus to increase fault tolerance in many flavors of systems … Atomicity to reason about and define concurrency control … Atomicity in system formalization and analysis … Atomicity in software fault tolerance, error confinement and error recovery … The role of "distributed" Atomicity in systems … Atomicity in application programming, e.g. in workflow systems … Atomicity as an enabling concept that simplifies next-generation systems (AmI, peer-to-peer, etc.) … How Atomicity relates to other concepts used in complex systems These will be interspersed with cross-area discussion sessions and tutorial sessions aimed at developing a better fundamental understanding of Atomicity and its uses across all our communities. It is our plan to propose case studies and to organize some of the focused discussions around them.

Related Dagstuhl Seminar


In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.


Download overview leaflet (PDF).


Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.