Semantic Program Analysis for Scientific Model Augmentation


Modeling the World’s System

SemanticModels.jl is a system for extracting semantic information from scientific code and reconciling it with conceptual descriptions to build a knowledge graph. This knowledge graph represents the connections between elements of code (variables, values, functions, and expressions) and elements of scientific understanding (concepts, terms, relations), and can be reasoned over to facilitate several metamodeling tasks, including model augmentation, synthesis, and validation. We present a category theory-based framework for defining metamodeling tasks and extracting semantic information from model implementations, and show how SemanticModels.jl can be used to augment scientific workflows in the epidemiological domain.