Tue Jun 29 10:59:25 CEST 2010

Modeling: interpretation and compilation

Interpretation is the conversion of a model to a piece of information,
i.e. does it terminate or does it implement a certain function?  You
build a model to _understand_ a problem.

Compilation is the conversion from one language to another, allowing
further interpretation (i.e. execution on a machine) or compilation.

  1.  Find a good model that allows the implementation of necessary
      model interpretations (i.e. verification) and model translations
      (implementation in low-level language).

  2.  If interpretation and/or compilation of the modeling language is
      not trivial, it makes sense to implement these features in a
      functional programming language or a proof assistant.

Obviously, human understanding is an important factor in the design of
a modeling language, but less straightforward to define.  The modeling
language needs to be well-adapted to describe the problem domain in an
intuitive sense without getting overly complex (too flexible).