Semantics of multiway dataflow constraint systems
Journal article, Peer reviewed
MetadataVis full innførsel
OriginalversjonJournal of Logical and Algebraic Methods in Programming. 2021, 121, 100634. 10.1016/j.jlamp.2020.100634
Multiway dataflow constraint systems (MDCS) is a programming model where statements are not executed in a predetermined order. Rather, individual methods are selected from specific method sets and then executed to achieve a desired global state. The selection is done by a planner, which typically bases the choice of methods on the history of updates to the global state. MDCS is well suited for describing user interface logic where choosing what code to execute depends in complicated ways on the history of user interactions and on data availability. User interfaces are the domain of examples in this paper. Much of the research into MDCS has been on planning algorithms and their efficiency. Here we investigate a semantic setting for MDCS, introducing dataflow constraints as modules with explicit goals and related method sets. MDCS is defined in a similar manner, with an explicit goal and a set of supporting dataflow constraints. This enables verification and testing of methods and dataflow constraints against the goals. The exposition is based on abstract syntax for an idealised programming language with global variables. On top of this we define a modular reuse mechanism for dataflow constraints based on Goguen-Burstall institution theory. We show how this setup enables reuse in user interfaces; traditionally code that defines user interface logic is almost invariably non-reusable.