The JSim C/C++ Language API

Introduction

This document describes the JSim C/C++ Application Programmer Interface (API), the specification for how to write C or C++ code so that is will successfully interface with MML functions and procedures (F&P). This document assumes the reader is familiar with MML F&P and with the C or C++ programming languages.

The JSim Sandbox

Introduction

JSim models allow for embedding of source code in Java, C and (eventually) other languages using a feature called Functions and Procedures (F&P). F&P give modelers great flexibility in how they formulate model calculations, at the cost of opening a potential security hole. Using these same constructs, an unscrupulous person could embed malicious code into a JSim model or project file and pass it on to an unsuspecting JSim user.

Running CellML Models under JSim

This page describes CellML support in JSim version 2.05 and above. See here for infomation on CellML support in JSim version 2.04 and below.

CellML is an XML based open standard for exchange of computer based mathematical models. JSim currently support importing most CellML models. Extended import and export support is currently under development.

Prerequisites:

JSim and SBML

Introduction

SBML is an XML based open standard for exchange of computer based mathematical models. JSim imports SBML models by translating them to MML. JSim can also export many MML models to SBML, although this functionality is somewhat limited because MML contains many mathematical constructs that have no corresponding construct in SBML.

JSim currently uses SBML library (libsbml) version: 5.13.0

Prerequisites:

MathML in JSim

Introduction

MathML is a W3C standard specification for describing mathematics content and presentation markup. As well as being useful in itself, MathML is used as part of the CellML and SBML model specifications. This document discusses MathML export from JSim. JSim currently supports import of MathML only when it is embedded in CellML or SBML.

Prerequisites:

JSim XMML (Extensible MML)

Introduction

XMML is an XML representation of a compiled JSim MML model. It is designed to enable JSim to communicate will language translators and Bioinformatics tools. The XMML is nearing completion and a full release is expected with JSim 2.01. Until then, the following rough outline may be helpful to XMML tool writers.

Contents: