From e0c64975a0f2fa17b9604e9f15ff01c263a5723e Mon Sep 17 00:00:00 2001 From: stevencarlislewalker Date: Wed, 6 Dec 2023 16:31:28 -0500 Subject: [PATCH] readme --- README.md | 16 ++++++++-------- misc/diagrams/engine-dsl-separation.svg | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 991c11a8..48a1168e 100644 --- a/README.md +++ b/README.md @@ -96,21 +96,21 @@ input and out simulation outputs are processed. Instead, `macpan2` accepts standard data objects (data frames, matrices, vectors) and returns simulations as long-format data frames that can be processed using standard tools like `dplyr` and `ggplot2`. This design principle -is illustrated in the architecture diagram below that has two outer +is illustrated in the architecture diagram below that has two blue outer layers representing standard non-`macpan2` workflows that contain two -inner layers representing workflows that depend on `macpan2` data +red inner layers representing workflows that depend on `macpan2` data structures and objects. The challenges of building the inner layers is big enough that we prefer to avoid reinventing the wheel of pre- and post-processing. Second, `macpan2` uses an engine plug-in architecture. The third layer in the diagram below represents an engine that can be swapped out if -necessary. Loosely speaking an engine is wrapping around an existing -modelling tool that allows it to be controlled by our structured -compartmental modelling grammar/language, which is represented by the -second layer in the diagram. Currently we only have a single engine, -which is a wrapping around the TMB package. We are currently considering -building upon AdaptiveTau, which can be used for Gillespie simulation. +necessary. An engine is a wrapper around an existing modelling tool that +allows it to be controlled by our structured compartmental modelling +grammar/language, which is represented by the second layer in the +diagram. Currently we only have a single engine, which is a wrapping +around the TMB package. We are currently considering building upon +AdaptiveTau, which can be used for Gillespie simulation. Third, each of the middle `macpan2` layers can be used on their own. For example, the TMB engine is quite powerful and flexible and can be used diff --git a/misc/diagrams/engine-dsl-separation.svg b/misc/diagrams/engine-dsl-separation.svg index 8db1eada..ce467e42 100644 --- a/misc/diagrams/engine-dsl-separation.svg +++ b/misc/diagrams/engine-dsl-separation.svg @@ -1,3 +1,3 @@ -

Legend

Legend
Structured Compartmental
Modelling -- Inside macapn2
Structured Compartmental...
numerical objects
numerical objects
rules for repeating model calculations in different strata
rules for repeating...
model calculations
model calculations
Engine -- macpan2 wrapped
(e.g. TMB, AdaptiveTau)
Engine -- macpan2 wrapped...
engine-specific
inputs
(e.g. ExprList)
engine-specific...
engine outputs
(e.g. simulations)
engine outputs...
engine output generators
(e.g. TMB simulator)
engine output genera...
engine adaptor
engine adaptor
Post-Processing
Outside macpan2
Post-Processing...
results
(e.g. ggplot2 graphics)
results...
Pre-Processing
Outside macapn2
Pre-Processing...
prepped data and workflow outputs
prepped data and wor...
data sources and configuration
data sources and con...
Function family:
Function family:
Object family:
Object family:
Required input/output:
Required input/output:
Optional input:
Optional input:
Text is not SVG - cannot display
\ No newline at end of file +

Legend

Legend
Modelling Language
Inside macapn2
Modelling Language...
numerical objects
numerical objects
rules for repeating model calculations in different strata
rules for repeating...
model calculations
model calculations
Engine
Inside macpan2
Engine...
engine-specific
inputs
(e.g. ExprList)
engine-specific...
engine outputs
(e.g. simulations)
engine outputs...
engine output generators
(e.g. TMB simulator)
engine output genera...
engine adaptor
engine adaptor
Post-Processing
Outside macpan2
Post-Processing...
results
(e.g. ggplot2 graphics)
results...
Pre-Processing
Outside macapn2
Pre-Processing...
prepped data and workflow outputs
prepped data and wor...
data sources and configuration
data sources and con...
Function family:
Function family:
Object family:
Object family:
Required input/output:
Required input/output:
Optional input:
Optional input:
Text is not SVG - cannot display
\ No newline at end of file