
Previous chapters described what is considered a core FMT modeling language. The core language is relatively simple in the sense that the set of supported concepts is just the minimum that is necessary to support basic programming patterns and design structures. In fact, engineers that are fluent in any of the popular programming languages can find the FMT core to be somewhat constraining.
This was actually intentional  the core language is supposed to be feasible to analyze and verify and also straightforward to translate into any of the target programming languages. As such it is analogous to a very rigorous coding standard and engineers working with critical systems might find the core language to be just what is needed. But FMT has a lot more to offer for those who already know Mathematica as a computing platform or who are willing to invest some effort into learning Wolfram as a programming language, as the core functionality of FMT can be greatly extended with a bit of Wolfram scripting.
There are three different mechanisms in which Wolfram programming can be used to expand the basic modeling options in FMT:
It is important to note, however, that each of these techniques, even though very helpful in a number of modeling problems, can raise the complexity of the model and therefore make it more difficult to validate. The liberty and scope of use of such methods should be evaluated and planned upfront and mature engineering teams might want to include such resolutions in their modeling standards.
The following chapters present each of these mechanisms and provide examples of varying levels of difficulty. Even though the explanation of all Wolfram constructs is beyond the scope of this documentation, the examples are kept readable to be followed by those engineers who are willing to explore the details on their own.
Previous: Model persistency, next: Grammar preprocessors
See also Table of Contents.