Strictly speaking, all that is required to view a model in Structure101g is to provide a data file, plus a corresponding metadata.xml (and some icon files) in the appropriate location.
In practice, of course, the data file has to come from somewhere. You could write this file manually (in fact that's exactly what we did for the halloworld example), but in practice you probably have some code somewhere that, given some bunch of parameters, will generate the appropriate data file.
In Structure101g terminology, this piece of code is (potentially) a runner. By exposing the runner to end users, you make it possible for them to create new data files on the fly from the Structure101g UI, instead of the essentially clunky 2-step process of running some piece of code first and then pointing Structure101g at the output afterwards. Note that this is optional - sometimes, it may be too difficult to install and/or configure the runner for arbitrary environments, other times the runner may simply be too slow (depending on how much work it has to do). But if you want to do it, this section explains how.
The first part of the process is to provide a file runner.xml in the flavor directory. This contains two sets of information: