Systemdesign: Der entscheidende Unterschied zwischen Verbergen und Reduzieren
The Two Abstractions of System Design: Hide or Reduce
In seinem Blogbeitrag unterscheidet Murat Demirbas zwei grundlegend verschiedene Arten von Abstraktion: die modulare Abstraktion, die Interna verbirgt, und die Modellierungsabstraktion, die ein System auf sein minimales Verhaltensskelett reduziert. Während die Informatik traditionell auf der modularen Abstraktion aufbaut, ist für formale Methoden wie TLA+ die Modellierungsabstraktion entscheidend – sie legt feingranulare Aktionen und Ordnungen offen, um maximale sichere Nebenläufigkeit zu ernten. Der Beitrag illustriert dies mit Beispielen wie Lamport-Uhren, Konsens und Linearisierbarkeit und zeigt, dass ein gut gestaltetes Artefakt beide Rollen gleichzeitig erfüllen kann.
Modularitätsabstraktion verbirgt. Modellierungsabstraktion reduziert.