28 November 2023
At the start of the MMviB project, two requirement workshops were organised with the consortium. The goals were threefold: first, to generate ideas for desired features of the MMI as a long-term vision; second, to reach a consensus on the objective of this project within that vision; and third, to promote trust and enhance understanding among partners through a collaborative and co-created effort.
To gain a solid understanding of the overarching issues, namely the WHY (needs) and WHAT (features) of MMI, the following key questions guided our discussion in the workshops:
- What kind of use cases do we envisage?
- What cannot be done now by individual models, and what is MMI's added value?
- What kind of decisions to make with the multi-models?
- What features or services are required in the MMI?
- What the MMI will need to connect multi-models?
- What kinds of models are to be coupled? What is their operational principle (e.g., AMB, optimisation)?
- In what manner should the models interoperate?
- What information do the models exchange? How often?
We used a five-step brainstorming process (i.e., idea generation, pruning, grouping, defining features, and prioritisation) to elicit, organise and summarise the needs and features. They are summarised and reviewed in five categories and explained in this MMI requirement document.
2. Model description and alignment
This category addresses the issues to avoid or reduce vendor- or other types of lock-in.
Features | Priority | Comments related to Needs | |
---|---|---|---|
1.1 | The infrastructure should be deployable on a single computer or within an organisation. | Critical | |
1.2 | The infrastructure shall not depend on a single party. | Critical |
This category addresses prerequisites for multi-model connection: what the models need to adhere to and what the MMI need to provide to allow model participation.
Features | Priority | Comments related to Needs | |
---|---|---|---|
2.1 | Provide a generic format for model description. | Critical | The model description shall include, e.g., objectives, data requirements, time scales, to help general understanding of a model. It shall be human readable, and ideally also machine readable. This feature is needed to support model selection. |
2.2 | Provide a common data model/format for input/output data | Critical | Consistent synthetic representation of data exchanged in multi-models |
2.3 | Allow model connection across multiple geographic, time and other scales | Critical | Alignment of multiple levels of model granularity. Example of applications: evaluation of macro-level decisions on a micro-level; couple high-level energy scenario models to detailed dynamic simulation models; couple economic market models to technical models. |
2.4 | Provide a common energy system database/dataset for model input and configuration | Important | data sharing, alignment, consistency |
2.5 | Explicit description of model assumptions | Important | Understanding and potential alignment of model assumptions |
2.6 | Queryable model assumptions | Nice to have | Support transparency and understanability among other |
2.7 | Allow inclusion of external ontologies in addition to the standard model description provided by MMI | Nice to have | Alignment of conceptual representations |
This category addresses how to connect individual models and to set up a multi-model
Features | Priority | Comments related to Needs | |
---|---|---|---|
3.1 | Provide interfaces for model connection to allow multi-model creation and connection | Critical | Reusable interfaces between models, that allow for easy multi-model creation in future API and/or UI; to easily add and remove models |
3.2 | The interface shall support different types of model interaction | Critical | Support multiple "interaction schemes" (of different types of models, e.g., agent-based model, excel model, optimization model) and to minimize required adaptations to the individual models |
3.3 | Provide a method to configure the models that uses the infrastructure | Critical | Statical or dynamical configuration of models |
3.4 | Provide a method to communicate uncertainties and source thereof (model inputs and outputs) | Critical | Communicate the uncertainty of model results |
3.5 | Provide a model repository | Important | For model search and selection capabilities |
3.6 | Secure and authorized connection and communication when needed | Important | Manage access and communication rights, possibly also for paid use |
3.7 | Identification or flagging of potential multi-model interaction problems | Important | Support model selection capabilities and model interoperation |
3.8 | Model repository/catalogue with "app store" | Nice to have | |
3.9 | Model discovery and selection based on requirements | Nice to have | Find the right model(s) that fit the purpose |
3.10 | Dashboard/GUI for multi-model selection, connection and configuration | Nice to have | Model selection capabilities by human |
This category addresses what is needed for model interoperation (i.e. interaction) after a multi-model is set up
Features | Priority | Comments related to Needs | |
---|---|---|---|
4.1 | Allow for human-in-the-loop control of model interaction | Critical | |
4.2 | Allow for fully-automated model interaction | Critical | |
4.3 | Standardized communication protocol | Critical | Informing, e.g., assumptions of one model with outputs from another model |
4.4 | Provide an orchestration mechanism that allows for control of models | Critical | This includes, e.g. start, stop, pause, continue, reset, error report and handling, have keep-alive pings. |
4.5 | The orchestration mechanism shall be in a decentralized way | Critical | |
4.6 | Provide logging and tracing | Critical | |
4.7 | Provide debugging capabilities | Critical | |
4.8 | Provide backward compatible communication protocol | Nice to have | |
4.9 | Support dynamic real-time model interaction | Nice to have | Fit for real-time applications |
4.10 | Support hardware-in-the-loop | Nice to have | Fit for Digital twin applications |
This category addresses what is needed for model interoperation (i.e. interaction) after a multi-model is set up
Features | Priority | Comments related to Needs | |
---|---|---|---|
5.1 | Provide experiment management | Critical | For documenting model set-up, version, scenarios, parameters, runs, etc. |
5.2 | Provide multi-model output result management | Critical | Link result to experimental setups; who saved the result and where |
5.3 | GUI MM output analysis | Nice to have | Output analysis with respect to MM experimental set-up |
5.4 | Provide a set of experiment scenarios for a given energy system configuration | Nice to have | To assist experimental set-up; Case study repository |