|
|
FAME-Core's major components are
|
|
|
FAME-Core is a Java library that is used
|
|
|
* by modellers to define external models based on FAME-Core classes,
|
|
|
* and by users to execute a previously created model by providing the model code as well as a configuration file `config.pb` in protobuf format plus a `setup.yaml` file. The model execution results in a `result.pb` output file in protobuf format.
|
|
|
|
|
|

|
|
|
|
|
|
|Building Block|Description|
|
|
|
|--------------|-----------|
|
|
|
|Agents|base entities to model the scientific problem|
|
|
|
|agent|entities to model a scientific problem|
|
|
|
|service|exist on every simulation process and coordinate local agents across processes via MPI|
|
|
|
|communication|means of agents to exchange data|
|
|
|
|time|definition of simulated time, time deltas, durations and formats|
|
|
|
|data|covers complex data representation structures, e.g. time series|
|
|
|
|mpi|connects to FAME-Mpi to exchange data across processes|
|
|
|
|setup|runs simulations and, using FAME-Protobuf, digests external inputs from `config.pb` and `setup.yaml`|
|
|
|
|Reflection|analyses external model classes and prepares them for execution by FAME-core|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|Input|reads configuration from file & sets up simulation parameters|
|
|
|
|Agent Builder|sets up agents|
|
|
|
|Output|stores data to file(s)|
|
... | ... | |