page_title: BioMA
section_title: The architecture
hierarchical_section_title: BioMA / BioMA - Biophysical Model Applications / The architecture
caption_attribution_description: English: Architectural layers of the BioMA simulation system
context_page_description: Modelling frameworks are used in modelling and simulation and can consist of a software infrastructure to develop and run mathematical models. They have provided a substantial step forward in the area of biophysical modelling with respect to monolithic implementations. The separation of algorithms from data, the reusability of I/O procedures and integration services, and the isolation of modelling solutions in discrete units has brought a solid advantage in the development of simulation systems. Modelling frameworks for agriculture have evolved over time, with different approaches and targets
  BioMA is a software framework developed focusing on platform-independent, re-usable components, including multi-model implementations at fine granularity.
context_section_description: The simulation system is discretized in layers, each with its own features and requirements. Such layers are the Model Layer (ModL), where fine granularity models are implemented as discrete units, the Composition Layer (CompL), where basic models are linked into more complex, aggregated models, and the Configuration Layer (ConfL), which allows providing context specific parameterization (in the software sense) for operational use. Applications can span from simple console applications to user-interacting applications based on the model-view-controller pattern, in the simplest cases linking either directly to either the ModL or the CompL, or accessing model ConfL. In all cases, the component oriented architecture allows implementing a set of functionalities which impact on the richness of functionality of the system and on its transparency. Layers implement no top-down dependency among them, hence facilitating the independent reuse of tools, utilities, and model components in different applications and frameworks.
  Model layer: fine grained/composite models implemented in components
  Composition layer: modeling solutions from model components
  Configuration layer: adapters for advanced functionalities in controllers
  Applications: from console to advanced MVC implementations
  Development Tools: tools mostly using code generation
  Re-usable components implementing model libraries are composed into modelling solutions.
  Modeling solutions are not specific to one modelling framework.
  An adapter creates a version of the modelling solution specific to a framework application, such as BioMA.
  The semantically explicit interfaces allow creating rich applications
caption: Architectural layers of the BioMA simulation system
exif: {}