Taming distributed system complexity through formal patterns

Research output: Contribution to journalArticlepeer-review


Many distributed systems are real-time, safety-critical systems with strong qualitative and quantitative formal requirements. They often need to be reflective and adaptive, and may be probabilistic in their algorithms and/or their operating environments. All this makes these systems quite complex and therefore hard to design, build and verify. To tame such system complexity, this paper proposes formal patterns, that is, formally specified solutions to frequently occurring distributed system problems that are generic, executable, and come with strong formal guarantees. The semantics of such patterns as theory transformations in rewriting logic is explained; and a representative collection of useful patterns is presented to ground all the key concepts and show their effectiveness.

Original languageEnglish (US)
Pages (from-to)3-34
Number of pages32
JournalScience of Computer Programming
StatePublished - Apr 1 2014


  • Distributed systems
  • Formal specification and verification
  • Maude
  • Rewriting logic
  • Software patterns

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Taming distributed system complexity through formal patterns'. Together they form a unique fingerprint.

Cite this