The proposed approach consists of an ontology for defining a mathematical model. Three classes in the model ontology, named DependentVariables, IndependentVariables and ModelParameters are used to define the dependent variables, independent variables, and model parameters, respectively, along with the associated symbols. Another class, named ModelEquations, is used to define all model equations. Each equation is stored as Content MathML (Mathematical Markup Language), a W3C recommended standard based on XML. The model ontology itself is written in OWL (Web ontology language) using the Protégé ontology editor. Several web based graphical editors are available to create mathematical equations and store them in Content MathML (WebEq). Thus, the process of creating a mathematical model becomes very intuitive. The second component of this approach is a general purpose engine to construct statements native to the syntax of the desired solver. These statements convert the model equations to a form that is understood by the solver, initialize variables and solve the equations to obtain the dependent variables. In this work, models consisting of algebraic and first order explicit differential equations describing simple unit operations were created and Mathematica was used as the solver. A Java based engine was created to construct statements that parse the equations in MathML and translate them to expressions interpretable by Mathematica. The engine also creates statements to initialize the model parameters with values provided in the instance of the model class chosen, and invoke the Mathematica kernel to solve the set of equations. A Graphical user interface (GUI) is used to display results from the solver (plots or expressions) and is used to select the instance of the model to be solved.
Due to its modularity and generality, the proposed information centric approach allows clear separation between model creation and solution. User friendly, web based or thick client interfaces can be easily created for the use of existing models. By creating solver specific engines, a range of solvers can be used as required in this approach. The benefits of the proposed approach can be illustrated by comparing it with the traditional programming based approaches and existing ontological approaches in mathematical modeling of chemical/pharmaceutical process operations.