TOWARDS AN EXECUTABLE DENOTATIONAL SEMANTICS FOR CAUSAL BLOCK DIAGRAMS
Ben Denckla, Pieter J. Mosterman, Hans Vangheluwe · 2005
In the design of embedded control systems, a variety of languages are used by di#erent teams and in di#erent development phases. Part of this variety comes from the use of domain-specific modeling languages that are tailored to the mental concepts of the user. This puts forward the need for e#cient, systematic, and structured design of the modeling languages themselves. In particular, a precise and preferably executable specification of the language should be provided, although not all domain-specific language may be specified in this manner. A denotational semantics can provide such a specification. This paper presents a denotational semantics for a language BdAppLang. BdAppLang can be viewed as an abstract syntax for a simple subset of the domain-specific language of causal block diagrams, which are predominantly used in the system-level phase of control system design. The semantics are given in Haskell, and thus are executable while still conforming to the tradition of giving denotational semantics in a language derived from the lambda calculus.