Ich habe diese Frage zuvor auf Programmers.SE ohne Erfolg gestellt.
Ich suche nach schriftlichen Lernressourcen zum Entwerfen gleichzeitiger Datenstrukturen. Ich interessiere mich mehr für den Entwurfsprozess (z. B. die Identifizierung der richtigen Invarianten) als für das Endprodukt (eine vollständige Codeliste).
Ein konkretes Beispiel: Chris Okasakis Buch „Rein funktionale Datenstrukturen“ hat mir sehr gut gefallen, da es mehr als nur eine Referenz ist - es führt den Leser durch das Design seiner Datenstrukturen und Algorithmen. Oft motiviert das Buch ein kniffliges oder nicht offensichtliches Design, indem es zuerst eine naivere Version gibt und diese erst dann verfeinert, bis die gewünschte zeitliche Komplexität (entweder im schlimmsten Fall oder amortisiert) erreicht ist. So etwas suche ich.
Damit:
Welche Techniken oder Heuristiken gibt es zum Entwerfen gleichzeitiger Datenstrukturen?
Gibt es Bücher, Artikel, Blog-Beiträge, Tutorials usw., die diese Techniken und Heuristiken erklären?