Axum applica il pattern Session/Application [1] per definire e gestire l'accesso concorrente a ricorse condivise
Lo fa implementando il concetto di domain (un domain definisce un gruppo di risorse condivise e usate in modo concorrente e domini diversi sono gruppi di risorse tra loro isolati) e quello di agents che eseguono parallelamente operazioni su dati e risorse condivise
Quindi implementa il Modello a Competizione [1]
Agents diversi possono scambiarsi messages cioè second il Modello a Sincronizazione [1] detto anche produttore-consumatore detto anche Message Passing.
Non ho notizie riguardo alla implementazione da parte di Axum (presumibilmente non sono supportate/implementate) di
- un Modello di prevenzione o gestione del deadlock [1]
- un Modello a Tranzazioni di compensazione [1]
- il pattern di gestione della concorrenza Leader/Followers [1]
mentre dobrebbe supportare il pattern di gestione della concorrenza Half Sync/Half Async [1]
=> Info da verificare
Axum si basa sul Concurrency and Coordination Runtime (CCR)
L'articolo su Axum: http://www.infoq.com/news/2009/04/Axum
Riferimenti:
[1] Design di applicazioni multi-threading