MANIFOLD(ID:5702/man006)


co-ordination language developed by CWI


Resources
  • CWI Page on coordinatino languages
    The coordination language MANIFOLD, developed at CWI during the 1990s, is a control-oriented
    language. It is suited to, e.g., applications involving work-flow in organizations, or multi-phase applications where the content, format and/or modality of information substantially changes from one phase to the next. The language is based on the abstract communication model IWIM (Idealized Worker Idealized Manager), in which the communication and cooperation (manager) modules can be reused in other applications, because they are completely separated from the computation (worker) modules. For example, the same MANIFOLD coordinator program that was developed for a parallel/distributed bucket sort algorithm, was used at CWI in a quite different research field to perform function evaluation and numerical optimization using domain decomposition.


    MANIFOLD is a strongly-typed, block-structured, event-driven language, in which, semantically, there is no need for 'computational' entities or constructs like integers, floats, strings, arithmetic expressions, sequential composition, conditional statements, loops, etc. MANIFOLD only recognizes 'processes', 'ports', 'events', and 'streams'. Its only control structure is an event-driven state transition mechanism. MANIFOLD's coordination modules construct and maintain a dynamic data-flow graph where each node is a process. These modules only change the graph topology, by changing the connections among various processes in the application. The computation modules cannot possibly change the graph topology.
    external link