The Denotational and Static Semantics of a Domain-Specific Language for Flow-Network Design
Flow networks are inductively defined, assembled from small network modules to produce arbitrarily large ones, with interchangeable and expanding functionally-equivalent parts. The authors carry out this induction formally using a Domain-Specific Language (DSL). Associated with their DSL is a typing system (or static semantics), a system of formal annotations that enforce desirable properties of flow networks as invariants across their interfaces. A prerequisite for a type theory is a formal semantics, i.e., a rigorous definition of the entities that qualify as feasible flows through the networks, possibly restricted to satisfy additional efficiency or safety requirements.