None of these problems is easily solved, but the modeling and simulation (M&S) framework provides some starting points:
Cataloging elements of the model base by type, application, and case. Analysts and other users of M&S have long reused particular model versions and database versions. This is often referred to as using existing “scenarios,” although that is an unfortunate use of the term scenario. However, the number of variations available, understood, and stored has typically been quite small (1 to 10, say, rather than hundreds). Further, it has typically been difficult to modify any of these stored models, in part because they have often been developed tediously so as to generate a particular “scripted behavior” involving large numbers of interacting entities and processes, which means that “small” changes can have repercussions throughout. In the future, much more should be possible.
Hierarchical modular model construction. To be reusable, models must be self-contained with input-output ports as we have assumed in the system specification hierarchy. The model resulting from the coupling of its components must also be modular in this sense so that it too can be used as a component in larger models.
Building block components for application domains. With some foresight it may be possible to design components from which a wide variety of models can be synthesized for a particular application domain. Thus, rather than focus entirely on the models needed for the particular project, model designers “regress” to a lower layer and search for good “primitives” to span the application domain.
Coupling templates. Going hand-in-hand with the building blocks are standardized means to couple them together. The blocks must be designed to have the input and output ports that can be coupled together as assumed by the templates.