A julia package for representing and manipulating model semantics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Micah Halter f85f5febf7
Total Cleanup and Restructuring (#248)
9 months ago
..
ExprModels Total Cleanup and Restructuring (#248) 9 months ago
covid Total Cleanup and Restructuring (#248) 9 months ago
decorations Total Cleanup and Restructuring (#248) 9 months ago
epicookbook [WIP] Add a theory for modeling SEIRD diseases w/ primitive transmision model (covid?) (#241) 10 months ago
malaria Total Cleanup and Restructuring (#248) 9 months ago
petri Total Cleanup and Restructuring (#248) 9 months ago
wiring Total Cleanup and Restructuring (#248) 9 months ago
README.md update readme for examples/test.jl 1 year ago

README.md

Examples

This folder contains examples of how to use SemanticModels.jl

The top level folder contains several examples of different modeling tasks that can be performed with Semanticmodels.jl. Of particular interest are the following:

Prerequisites

The examples require the some dependencies, they are pre-installed in the docker container, and you can install them with

using Pkg
Pkg.add(["LsqFit",
  "Polynomials",
  "DifferentialEquations",
  "Plots",
  "LightGraphs",
  "MetaGraphs"])`

You will also need the graphviz program dot in order to draw graphs as SVG images. To install the graphviz program you should use your system package manager, such as apt install graphviz or homebrew graphviz

The examples are best viewed in the following order.

Model Augmentation

These examples illustrate model augmentation with ModelTools

  1. agentbased.jl
  2. agentgraft.jl
  3. odegraft.jl

Algebraic Model Transformation

These examples illustrate how model transformations can be algebraic structures and how to exploit that to develop new models

  1. monomial_regression.jl
  2. multivariate_regression.jl
  3. pseudo_polynomial_regression.jl
  4. polynomial_regression.jl

Model Synthesis

The workflow example combines agentgraft.jl and polynomial_regression.jl to build a modeling pipeline. This is the most important example for understanding the power of SemanticModels for model augmentation and synthesis.

workflow.jl

Programming the type system

These examples show how the Julia type systems is a strong ally in bringing order to the chaos that is scientific modeling code.

  1. agentbased2.jl
  2. agenttypes.jl
  3. agenttypes2.jl

Knowledge Representation with Knowledge Graphs

  1. semanticClustering
  2. dataflow.jl
  3. Code Embeddings

The examples are run as part of the test suite in SemanticModels/test/runtests.jl

Additional subfolders exist for storing collections of programs from the wild include epicookbook and stats.

Each subfolder contains a README.md and should have the same layout in terms of

  • src/
  • data/
  • notebooks/
  • docs/