3.2.4. Interdependencies of models; packages
We’ve mentioned in the introduction that a package (DomeinFile) lists the models that the model it represents depends on. How do we deal with these dependencies?
3.2.4.1. Consequences of interdependencies for modellers
A modeller is a PDR user who creates models. He uses functions of the PDR that ‘ordinary’ end users do not: to parse and compile a model source text to a DomeinFile. With special powers come special responsibilities. In this case that means that a modeller must take care that he has installed, for his PDR, for local use all models that his model depends on. During compilation these models are referred. Indeed, when we have IDE support, these models will be consulted to provide type information on referred types.
3.2.4.2. Consequences of interdependencies for end users
An end user cannot be expected to inspect a model’s source text, find the other models that it depends on, and download them from a repository before downloading the original model. We have to take care of these dependencies for them. So, on putting a model into operation for some PDR installation, all dependencies must be downloaded automatically first. We will see a little more detail of this in the next chapter.