### Abstract

The following document formalizes and verifies several architectural design patterns. Each pattern specification is formalized in terms of a locale where the locale assumptions correspond to the assumptions which a pattern poses on an architecture. Thus, pattern specifications may build on top of each other by interpreting the corresponding locale. A pattern is verified using the framework provided by the AFP entry Dynamic Architectures. Currently, the document consists of formalizations of 4 different patterns: the singleton, the publisher subscriber, the blackboard pattern, and the blockchain pattern. Thereby, the publisher component of the publisher subscriber pattern is modeled as an instance of the singleton pattern and the blackboard pattern is modeled as an instance of the publisher subscriber pattern. In general, this entry provides the first steps towards an overall theory of architectural design patterns.

### License

BSD License

### History

April 8, 2019
  adapting the terminology: honest instead of trusted, dishonest instead of untrusted (revision 7af3431a22ae)
May 25, 2018
  changing the major assumption for blockchain architectures from alternative minings to relative mining frequencies (revision 5043c5c71685)

### Topics

- Computer science/System description languages

### Session Architectural_Design_Patterns

- Singleton
- Publisher_Subscriber
- Blackboard
- Auxiliary
- RF_LTL
- Blockchain

### Depends on

- Dynamic Architectures

## Cite

×

Architectural_Design_Patterns-AFP

    @article{Architectural_Design_Patterns-AFP,
      author  = {Diego Marmsoler},
      title   = {A Theory of Architectural Design Patterns},
      journal = {Archive of Formal Proofs},
      month   = {March},
      year    = {2018},
      note    = {\url{https://isa-afp.org/entries/Architectural_Design_Patterns.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 18, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Aug 16, 2018 : Isabelle2018
- Mar 1, 2018 : Isabelle2017