The large-scale structure of executing a computation can often be thought of as being separated into distinct phases. But the most natural form in which to specify that computation may well have a different and conflicting structure. For example, the computation might consist of gathering data from some locations, processing it, then distributing the results back to the same locations; it may be executed in three phases—gather, process, distribute—but mostly conveniently specified orthogonally—by location. We have recently shown that this multi-phase structure can be expressed as a novel applicative functor (also known as an idiom, or lax monoidal functor). Here we summarize the idea from the perspective of software architecture. At the end, we speculate about applications to choreography and multi-tier architecture.
Fri 8 SepDisplayed time zone: Pacific Time (US & Canada) change
14:00 - 15:30
|A Software Architecture Based on Coarse-Grained Self-Adjusting Computations
A: Stefan Wehr Offenburg University of Applied SciencesDOI
|Phases in Software Architecture
A: Jeremy Gibbons Department of Computer Science, University of Oxford, A: Oisín Kidney Imperial College London, A: Tom Schrijvers KU Leuven, A: Nicolas Wu Imperial College LondonDOI Pre-print