You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+19-4Lines changed: 19 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,24 @@
1
1
# funman
2
2
3
-
The `funman` package implements multiple simulator model analysis methods.
4
-
Current methods include:
5
-
- Parameter Synthesis
6
-
- Querying a Simulation
3
+
The `funman` package performs Functional Model Analysis by processing a request and model pair that describes an analysis scenario. Funman supports a number of model formats, which correspond to the classes in `funman.models`:
4
+
5
+
-[GeneratedPetriNet](#funman.model.generated_models.petrinet.Model): AMR model for petri nets generated
6
+
-[GeneratedRegNet](#funman.model.generated_models.regnet.Model): AMR model for regulatory networks
7
+
-[RegnetModel](#funman.model.regnet.RegnetModel): MIRA model for regulatory networks
8
+
-[PetrinetModel](#funman.model.petrinet.PetrinetModel): MIRA model for petri nets
9
+
-[BilayerModel](#funman.model.bilayer.BilayerModel): ASKE model for bilayer networks
10
+
11
+
Requests correspond to the class `funman.server.query.FunmanWorkRequest` and specify the following keys:
12
+
-[query](#funman.model.query): a soft constraint that a model must satisfy (legacy support, deprecated)
13
+
-[constraints](#funman.representation.constraint): a list of hard or soft constraints that a model must satisfy
14
+
- parameters: a list of bounded parameters that funman will either synthesize ("label": "all") or satsify ("label": "any"). Funman will check "all" values within the parameter bounds or if "any" within the bounds permit the model to satisfy the query and constraints.
15
+
-[config](#funman.config): A dictionary of funman configuration options.
16
+
label regions of the parameter space as satisfying the query and constraints, if synthesized, or find any legal value if asked to satsify.
17
+
-[structure_parameters](#funman.representation.parameter): parameters shaping the way that funman structures its analysis. Funman requires that either the `num_steps` and `step_size` parameters are specified, or the `schedules` parameter is specified. If all are omitted, then funman defaults to checking one unit-sized step.
18
+
19
+
## **Running funman**
20
+
21
+
There are multiple ways to run Funman on a model and request pair. We recommend running funman in Docker, due to some complex dependencies on dReal (and its dependency on ibex). Funman has a Makefile that supports building three Docker use cases: 1) run a development container that mounts the source code, 2) run a container with a jupyter server, and 3) run a container with uvicorn serving a REST API. Examples of running each of these cases are illustrated by the tests (`test/test_api.py`, and `test/test_terarium.py`). It is also possible to pull a pre-generated image that will run the API, as described in `terarium/README.md`.
0 commit comments