Note that, in this work, each property definition is equivalent to a model fragment .
For example, the model fragment below states that a population ?p can be described by two variables ?p-size (describing the size of ?p) and ?p-change (describing the rate of change in population size) and a differential equation
(defModelFragment population-growth :source-participants ((?p :type population)) :assumptions ((relevant growth ?p)) :target-participants ((?p-size :type variable) (?p-change :type variable)) :postconditions ((size-of ?p-size ?p) (change-of ?p-change ?p) (d/dt ?p-size ?p-change)) :purpose-required ((endogenous ?p-change)))
The purpose-required property is usually satisfied by additional model fragments, such as the one below:
(defModelFragment logistic-population-growth :source-participants ((?p :type population) (?p-size :type variable) (?p-change :type variable)) :structural-conditions ((size-of ?p-size ?p) (change-of ?p-births ?p)) :assumptions ((model ?p-size logistic)) :target-participants ((?r :type parameter) (?k :type variable) (?d :type variable)) :postconditions ((capacity-of ?k ?p) (density-of ?d ?p-size) (== ?d (C-add (/ ?p-size ?k))) (== ?p-change (- (* ?r ?p-size (- 1 ?d))))))
Model fragments are rules of inference that describe how new knowledge can be derived from existing knowledge by committing the emerging model to certain assumptions. They are used to generate a space of possible models. Model fragments are instantiated by matching source-participants to existing participants in the scenario or an emerging model, and by matching the structural conditions to corresponding relations. For each possible instantiation, a new instance is generated for each of the target-participants, and where necessary, new instances are also created for the postconditions and assumptions. Such instances, as well as the inferential relationships between the instances of the source-participants, structural conditions and assumptions on the one hand, and those of the target-participants and postconditions on the other, are stored in an ATMS, forming the model space. This is to be further explained in section 3.3.1.
A model fragment is said to be applied if it is instantiated and the underlying assumptions hold. If a model fragment is applied, the instances of the target-participants and postconditions corresponding to the instantiation of that model fragment must be added to the resulting model. With respect to the above example, the model fragment that implements the logistic population growth model is instantiated whenever variables exist that describe the size and change in a population, and it is applied if the logistic model for population size has also been selected.
Note that in most compositional modellers, such as the ones devised by Heller and Struss [14,15]; Levy, Iwasaki and Fikes ; Nayak and Joskowicz ; and Rickel and Porter , model fragments represent direct translations of components of physical systems into influences between variables. Because the compositional modeller presented herein aims to serve as an ecological model repository, the contents of the model fragments employed differs from that of conventional compositional modellers in two important regards:
Firstly, model fragments contain partial models describing certain phenomena instead of influences. These partial models normally correspond to those developed in ecological modelling research. Typical examples include the logistic population growth model  and the Holling predation model  devised in the population dynamics literature.
Secondly, the partial models contained in the model fragments often need to be composed incrementally. For example, the aforementioned sample model fragment logistic-population-growth requires an emerging scenario model, which may be generated by the other sample model fragment population-growth. Thus, one model fragment, e.g. logistic-population-growth, can expand on the partial model contained in another, e.g. population-growth. Because of this feature, it is (correctly) presumed that no model fragment generates new relations that are preconditions of model fragments that expands on. Violating this presumption would make little sense in the context of the present application as it would imply a recursive extension of an emerging scenario model with the same set of variables and equations.