The Structural Semantics of Model-based Design: Theory and Applications
Jackson, Ethan Kerry
This thesis presents a systemic study of the structural semantics of model-based design. Structural semantics have a long history in computer science, and were studied early on under the moniker of language syntax. This early work gave us regular and context-free languages, as well as tools for generating parsers from simple descriptions of language grammars. These efforts were a key step in the formal specification of programming languages. In practice, these advances made it possible to design programming languages with sophisticated syntax, without spending significant design cycles on parser implementation. Interestingly, domain-specific modeling languages (DSMLs) extend the notions of language syntax in several new ways. First, model structure can be constrained in complex ways that do not correspond to regular or context free languages. Second, structural well-formedness of models can imply important behavioral properties. These two observations show that the structural semantics of DSMLs represents an important open problem. We address this problem by providing an encompassing formalization of structural semantics that also addresses metamodeling and model transformations, which are an integral part of the model-based approach. Additionally, we show that there are a number of interesting applications of structural semantics: (1) Proving the correctness of model transformations presupposes a formal definition of model structure. Our results provide an important step toward this goal. (2) Satisfaction of structural invariants may ensure properties like schedulability or deadlock-freedom, in which case well-formedness amounts to a proof of these properties. From this perspective, it is reasonable to develop algorithms that automatically construct well-formed models. An engineer might begin with a malformed description of a system, and then automatically convert this malformed description to a well-formed model. This conversion procedure can be viewed as repairing the errors in the model. (3) Adaptive systems and dynamic architectures are systems that evolve over many possible models. Using structural semantics, it is possible to ensure that such systems always evolve through well-formed models.