Environmental Engineering Reference
In-Depth Information
modelling approaches may differ in the number and type of parameters required.
Model components encapsulate the knowledge of their own parameters and
handle them in response to either initialization or agro-management events.
Sets of parameters can be edited via a dynamic, generic parameter editor (see
the paragraph about the application Model Parameter Editor). Default values are
part of the definition of the parameter together with minimum and maximum values,
as is the case for variables.
Software Architecture
One critical issue in model linking to assemble model components into a composite
model, is the difficulty of finding a component design that satisfies the requirement
of 'third-party composition'. In order to integrate my work with yours, my component
must be compatible with your component , but frequently this is not the case:
components are designed for a specific architecture or framework, and they are not
usable outside it. Component design choices, rather than being peculiar to a specific
architecture, should promote re-usability by including design traits which represent
a compromise between level re-usability and complexity of the design chosen to
maximize adaptability of components. Using a pragmatic approach, simplification
can be obtained if the target use of components is within a specific knowledge
domain. This has an impact not only on simplifying the design of components,
but on clearly defining the scope of the knowledge domain which is embedded
in the modelling exercise. Yet, restricting to a particular knowledge domain has
often also meant restricting to a particular framework, where implementations of
model components strongly depend on the modelling framework core. Targeting
model component design to match a specific interface requested by a modelling
framework decreases its re-usability. This explains why modelling frameworks,
although in theory a great advance with respect to traditional model code develop-
ment, are rarely adopted by groups other than the ones developing them (Rizzoli
et al. 2005) . One way to overcome this problem is to adopt a component design
which targets intrinsic re-usability and interchangeability of model components
(e.g. Carlini et al., 2006 ; Donatelli et al., 2009 ; Donatelli and Rizzoli 2008) . Such
components can be used in a specific modelling framework by encapsulating them
using dedicated classes called “adapters”. Such classes act as bridges between
the framework and the component interface. The disadvantage of this solution is
the creation of another “layer” in the implementation, which adds to the already
implemented machinery in the framework. However, if components are correctly
designed, there is a negligible, if any, penalty in performance, and the adapter
does not add complexity. A further argument in favour of framework-independent
components is that they allow modelling knowledge to be shared in a form which
makes it easily re-usable.
Model components developed in SEAMLESS for use in APES are based on the
above design paradigm: framework-independent components which can be linked
to different modelling frameworks. A proof-of-concept of this claim has been
Search WWH ::




Custom Search