Saturday, December 7, 2024

Modelling by Components and Modular Systems

The modeling-by-components (MBC) approach has been conceptually present for over 40 years (Holling, 1978). However, it is only in the past two decades that it has gained significant traction within the environmental modeling community (Argent, 2004). Often referred to as integrated environmental modeling (IEM), MBC arose from the need to analyze heterogeneous processes collectively, integrating knowledge across diverse disciplines (Moore and Hughes, 2017).


In the more specialized hydrological and meteorological domains, examples of MBC applications are relatively limited but include prominent frameworks such as TIME (Rahman et al., 2003), OpenMI (Gregersen et al., 2007), CSDMS (Peckham et al., 2013), ESMF (Collins et al., 2005), and OMS (David et al., 2013), RAVEN (Craig et al., 2020). A more comprehensive list can be found in Chen et al. (2020).

Figure from UniFHy v0.1. another modular framework to investigate
While MBC concepts and their associated technological implications are highly appealing, their practical implementation can be challenging. One key challenge is their “invasiveness”—in some cases, MBC frameworks require programmers to adapt their habits and adopt new programming styles (Lloyd et al., 2011). Among the aforementioned examples, the OMS framework explicitly tackled this issue and provided encouraging solutions (Lloyd et al., 2011).

MBC inherently supports a service-oriented architecture (SOA), a software design approach particularly suited for integrating heterogeneous data sources. SOA frameworks are designed to work across different machines and scales, accommodating a variety of hardware architectures. Importantly, SOA abstracts the computational details, allowing users to focus on modeling rather than the intricacies of the underlying engines. Infrastructures that do not implement such type of architecture, probably abuse the word "framework" and should be named differently. 


Key Features of the MBC Approach:


1. Encapsulation and Testing:

The framework employs encapsulation, making code easier to inspect. Each component can operate independently within the system’s infrastructure and can be tested in isolation.

2. Ownership and Collaboration:

MBC allows for clear intellectual property ownership. Components are often developed by a small group of contributors, enabling diverse collaboration without dispersing efforts across thousands of lines of code. Adding new components is straightforward and does not require recompiling the entire system.

3. Component Substitution and Hypothesis Testing:

The modularity of MBC simplifies the replacement of components, making it a valuable tool for hypothesis testing (Beven, 2019).

4. Built-in Services:

Features like implicit parallelism and tools for model parameter calibration are provided seamlessly, reducing the burden on developers.

5. Flexibility Across Disciplines:

A well-designed MBC system allows for nearly unlimited composition of modeling solutions. Components can address tasks across disciplines, breaking down silos and fostering interdisciplinary collaboration.


In summary, the MBC approach offers a robust and scalable framework for tackling complex environmental modeling challenges. Its emphasis on modularity, flexibility, and interoperability makes it a powerful tool for advancing scientific understanding across domains.


No comments:

Post a Comment