7768
Ind. Eng. Chem. Res. 2010, 49, 7768–7781
OntoMODEL: Ontological Mathematical Modeling Knowledge Management in Pharmaceutical Product Development, 2: Applications Pradeep Suresh,† Shuo-Huan Hsu, Gintaras V. Reklaitis, and Venkat Venkatasubramanian* School of Chemical Engineering, Purdue UniVersity, West Lafayette, Indiana 47907
The challenges of managing the information and knowledge involved in pharmaceutical product development in a systematic and reusable, yet user-friendly, manner are very real and substantive. The benefits of managing the mathematical knowledge component in this can, by itself, lead to significant monetary and time savings, because of the reduced cost of interoperability. In the first part of this series, an ontological approachsnamely, the OntoMODEL conceptual framework that addresses this needshas been presented. In this paper, applications of this framework are described, which involve the use of OntoMODEL as an integrated component of model-based decision support processes in the domain of model predictive control, in decision making associated with drug formulation and in drug process validation. OntoMODEL is shown to provide an easy and intuitive approach to analyze controller performance, which allows the user to experiment with various controller configurations with minimum effort. OntoMODEL can also effectively support the multilevel product formulation process involving both experimental results and evaluation of model-based performance indices. Finally, aspects of regulatory compliance that involve evaluation of models are also well-supported. This paper demonstrates that OntoMODEL can effectively serve as the multifunctional platform for mathematical model-based applications in the domain of chemical and pharmaceutical process and product development. 1. Introduction 1
In the first part of this two-part series, we presented OntoMODEL, which is a conceptual framework for managing mechanistic mathematical knowledge in pharmaceutical product development (PPD). The framework uses ontologies as the central theme to manage mathematical and process knowledge in a systematic, intelligent, and computer-interpretable manner. The equations in the mathematical model have been captured in the platform-independent MathML format, which is readily produced by equation editors and is understood by solvers such as Mathematica.2 The associated variables, their links to values, and the modeling assumptions are also stored as part of the ontology. The procedural aspects are handled by a Java execution engine, that constructs Mathematica commands to solve the model, based on the detailed knowledge stored in the ontologies. The execution engine then invokes a Mathematica kernel to which the statements thus constructed are sent. Results obtained by executing the model are either stored back in the ontologies or presented graphically in the OntoMODEL GUI (graphical user interface). The proposed ontological approach standardizes (in a solver-independent way) the techniques of mechanistic mathematical model representation, definition, and solution. The overhead for storing, using, and solving an existing or a new mathematical model is considerably reduced and requires almost no familiarity with specific solver syntax or software packages. This approach also allows usage of the mathematical modeling knowledge managed in this structured manner for applications such as process control, optimization, and decision making. This paper, which is the second of a two-part paper series, is structured as follows. First, the pharmaceutical powder blending dynamic model is described, along with its manage* To whom correspondence should be addressed. E-mail:
[email protected]. † Current affiliation: Engineering and Process Sciences, The Dow Chemical Company, Midland, MI 48674.
ment in OntoMODEL. This reiterates the details of how OntoMODEL can be used to represent mathematical knowledge and use it to solve mechanistic mathematical models. Then, the use of this model by a model predictive control (MPC) simulation framework is described. This demonstrates how OntoMODEL can be used to simulate the performance of an MPC algorithm using the mechanistic mathematical model. Once again, it will be shown that the management of the knowledge required for this control application through OntoMODEL is intuitive, systematic, user-friendly, and standardized. Finally, two case studies of how OntoMODEL can be used as part of higher-level decision-making frameworks in PPD will be presented. 2. Mechanistic Mathematical Knowledge in OntoMODEL In this section, an example of the mechanistic mathematical knowledge in PPD is presented in the form of a dynamic powder blending model. The details of how this model knowledge can be represented and the model solved using OntoMODEL will be presented. For an even more-detailed description of the approach behind OntoMODEL, readers are referred to the discussion of Johanson’s model for pharmaceutical roller compaction given in the first paper in this series.1 Williams and Rahman3,4 proposed a correlation between the Variance Reduction Ratio (the ratio of the output to input variance in composition, denoted as VRR) of a batch blender to the various operating parameters. They also validated this model with experimental data and also proposed that the blender efficiency can be empirically correlated to the rotational speed of the blender. Based on the experimental data in their work, the correlation between the efficiency and blender rotational speed was regressed to fit a polynomial form. This model was extended and re-derived for a continuous blending process and is shown below.
10.1021/ie100258p 2010 American Chemical Society Published on Web 07/23/2010
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 1. Schematic of a continuous dry blender.
-2w(t) η(t - 1) ( W(t) ) ) VRR(t) ) w(t) σ (t) )η(t - 1)] [1 - exp(- W(t) w(t) )η(t - j)] + { ∑ exp[-2j(W(t) exp
σi2(t) 2
2
×
o
K
j)1
K-1
2
K
∑ ∑
j)1 L)j+1
(
exp -
w(t) (jη(t - j) + L η(t - L ))rjL W(t)
)
dW(t) ) w(t) - 0.3ω(t)WdHD cos φ dt 2 t>0 η(t) ) 0.126ω (t) - 2.25ω(t) + 11.16 0 te0
}
-1
{
where the variables listed are defined as follows: VRR, the variance reduction ratio; W, the mass in the blender; W1, the mass lower limit in the blender; ω, the screw speed; w, the inlet mass flow; Wd, the pitch of the screw; H, the gap between the screw and the barrel; D, the diameter of the barrel; Φ, the helix angle of the screw; η, the measure of blender efficiency; rjl, the input serial correlation coefficient; and m, the number of samples of input. A mass balance of the continuous blender is also presented above to relate the mass in the blender to the input and output flow rates. The output flow rate is related to the screw speed and the pitch of the screw (see eq 10 in another work5). It is assumed that the powder mixture at the input to the blender behaves like a Newtonian fluid for local flow inside the blender
Figure 2. Dynamic Blending Model instance schematic.
7769
barrel. It is believed that the VRR is a critical process parameter in the blending process and is essential to predict, simulate, and control the process. The mathematical model in this case is a special case of differential algebraic equations (DAEs); it is known as a delay differential algebraic equation set, since the differential equation is coupled with an algebraic equation which involves delayed terms. A schematic of a dry blender is given in Figure 1. The Model class structure of OntoMODEL was instantiated for the dynamic blending model, as shown in Figure 2. The model equations shown above are input into a MathML aware equation editor such as WebEq.6 These equations are next converted into Content MathML strings by WebEq, as shown in Figure 3. These strings are then copied into the hasML attribute of an instance of the Delay-Differential Equation class. This Equation class instance is then selected in the hasEqn attribute of the Dynamic Blending Model instance. The assumptions behind the model are stored in instances of the Assumptions class and then appropriately selected in the hasAssumptions attribute of the Dynamic Blending Model instance. The dependent variables for this model are the variance reduction ratio (VRR), the mass in the blender (W), and the blender efficiency (η). All these variables are represented in Content MathML strings as part of Dependent Variable class instances. The independent variable in the model is time t and the model parameters are all the other variables in the model whose values are known prior to model simulation (such as the rotational screw speed, diameter of barrel, etc). Once again, these variable names are either stored as text or Content MathML strings, depending on the symbols. Figure 3 shows the correspondence between that displayed for one of the model equations and the equivalent Content MathML string. The model parameters are linked to the actual values in a certain instance of the powder blending operation through the use of namespaces. For further details of this linkage, the reader is directed to the first paper in this series.1 The Dynamic Blending class instance that contains the operational knowledge in the Operation ontology is shown in Figure 4. These were the declarative aspects of managing a mechanistic
7770
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 3. Model equations input into WebEq converted to Content MathML strings.
Figure 4. Dynamic Blending operation instance.
mathematical model in OntoMODEL. The procedural aspects of using this knowledge to solve the mathematical model is handled in OntoMODEL through the use of a Java-based execution engine and Mathematica as the numerical solver. The Java-based execution engine automates the process of acquiring the model details (such as the equations, variables, their values,
etc.) from the model and operation ontology, constructs Mathematica strings that declare, initialize, and solve the model in Mathematica. It additionally either displays results from model solving in the OntoMODEL graphical user interface (GUI) or stores them back in the Operation ontology. The Java-based execution engine exploits the generic structure of the Math-
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
7771
Figure 5. Dynamic Blending Model solving results from OntoMODEL: variance reduction ratio (VRR).
Figure 6. Dynamic Blending model solving results from OntoMODEL: mass in the blender.
ematica statements used to initialize variables, convert equations from MathML to expressions, and solve the model, so that their construction can be automated. Figure 5 shows the steady-state simulation result of this model using OntoMODEL. The VRR model is highly nonlinear and, therefore, has a very sensitive steady state, as shown in Figure 5 (small perturbations in operating parameters cause nonlinear changes in the VRR). The plot for the “mass in the blender” variable has not been explicitly scaled by Mathematica and, hence, is displayed as shown in Figure 6.
3. Model Predictive Control Using OntoMODEL 3.1. Background. Real-time process decision functions such as process control and real-time optimization are of prime importance in chemical and pharmaceutical product and process development. The first step toward reliable and accurate realtime process operations is a complete understanding of the unit operations involved in terms of the mathematical models associated with them. In the recent past, the domain of process control has seen increasing use of model-based control strategies in cases where there have been wide and strong interactions
7772
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 7. Illustration of model predictive control (MPC). (Source: http:// www.jfe-rd.co.jp/en/seigyo/index.html.)
between process parameters. Such a situation makes control using classical P/PI/PID control strategies extremely difficult, because a one-to-one correspondence between the controlled and manipulated parameter cannot be easily established in these cases. Model Predictive Control. Model predictive model (MPC) is an advanced process control method that has been used in the process industries, including chemical plants and oil refineries, since the 1980s. Model predictive controllers rely on dynamic models of the process. The algorithm for MPC is based on iterative, finite horizon optimization of a plant model. At time k, the current plant state is sampled and a cost-minimizing control strategy is computed (via a numerical minimization algorithm) for a relatively short time horizon in the future: [k, k + p], as shown in Figure 7. Specifically, an online calculation is used to explore state trajectories that emanate from the current state and find (via the solution of Euler-Lagrange equations) a cost-minimizing control strategy until time k + p. Only the first step of the control strategy is implemented; the plant state then is sampled again and the calculations are repeated, starting from
Figure 8. Overall evolution of control applications of OntoMODEL.
the now-current state, yielding a new control and new predicted state path. The prediction horizon keeps being shifted forward, and, for this reason, MPC is also called receding horizon control.7 It is common practice to test an MPC control strategy on a process simulation before an actual implementation in the plant and typically standard MPC software tools such as Profit Controller8 or DELTAV,9 are interfaced with a dynamic simulator such as Matlab10 or Batches,11 or the MPC tools may have native environments to achieve this purpose. However, the underlying process model here is not easy to change and certainly impossible to change for the end user without the knowledge of the simulation syntax or source code. In some tools, it is not even possible to change control-related parameters (such as prediction horizon, control horizon, costs associated with control moves, etc.) without in-depth knowledge of the tool environment or source code. Another major shortcoming is the absence of archiving capabilities for controller configurations. If various controller configurations were tried and were unsatisfactory, there is no record of these trials and their results. Such a development history can be a great asset to develop and maintain for the benefit of novice personnel involved in chemical and pharmaceutical product development. 3.2. Ontological Approach to Model Predictive Control. Figure 8 shows the evolution of the ontological approach toward the application of Model Predictive Control and the relationship between the process knowledge layer, the mathematical model knowledge layer, and control knowledge layer in OntoMODEL. The process knowledge was captured into an ontological format as described in previously reported work toward the Purdue Ontology for Pharmaceutical Engineering (POPE).12-14 The mathematical modeling knowledge layer was explained in detail in the first paper in this series1 and is further illustrated
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
7773
Figure 9. Controller class structure.
by a dynamic blending model example that is presented in this paper, the second of the series. The process control knowledge layer is shown in Figure 9. As shown, the Controller class has two subclasses: MPC Controller and PID Controller. The focus of this work has been the definition and use of the MPC Controller class. All individuals of the MPC Controller class have properties that describe the controlled variables, manipulated variables, disturbance variables, and other controller-related specifications such as the control horizon, prediction horizon, sampling time, and the number of samples. In addition, the actual MPC algorithm to be used to simulate this controller can be selected from a dropdown menu containing choices between dynamic matrix control, model algorithmic control, and predictive functional control. in this work, we demonstrate the procedural aspects of implementing dynamic matrix control. In addition, the simulation data for deriving the control models between the controlled and manipulated variables can be from actual experimental data or from a process model from the model ontology (linked by the MeasurementsFrom property). The controlled variable instances associated with the MPC controller have their cost of error, initial value, and setpoints defined in the ontology as shown in Figure 9. Similarly, the manipulated and disturbance variables also have their limits, cost/weights for changing them, etc. specified in the ontology. The procedural part of the approach is a separate Java engine that handles putting Mathematica statements together for implementing the MPC algorithm (dynamic matrix control) with this controller and model configuration. The algorithm itself consists of two main steps. First, it constructs step response models for each (CV,MV) pair. The Mathematica statements involved simulate the specified model with step inputs in the manipulated variable and sample the response of the controlled variable to create arrays of (CV,MV) data. Second, a quadratic optimization routine is executed to minimize the objective function that takes into account the cost of errors in the CVs and moves in MVs. As mentioned earlier, users can choose to
input CV measurements to the ontology and have the Javabased engine return suggested MV moves to implement in real time. Alternatively, the user can perform consistency checks on the regressed step response models by generating measurements using the mechanistic model to be controlled by the quadratic optimization routine. It is the latter that has been performed as part of this work. Servo and regulatory responses of the MPC controller with measurements from the mechanistic model selected were investigated. A comprehensive implementation of OntoMODEL as the MPC controller framework in an actual real time process operation has not been performed as part of this work. After the ontologies have been set up with the controller, model and process information, the users are presented with a GUI where they are asked to select a model and a process from the repository found in the model ontology and operation ontology, respectively. If a controller has been setup for this combination of model and process, the GUI shows them in the controller tab. Upon selection of a particular controller, the user can then simulate the controller performance by monitoring the (CV,MV) performance on the output display. Once again, the power of this approach lies in the fact that the underlying model used for process simulation can be easily accessed, manipulated, and used for controller performance simulation without requiring user familiarity of solver specific syntax. The user simply interacts with either the Model/Controller ontology to input information about CVs, MVs, and the associated mechanistic model or interacts with the GUI to select an operation, a model, and a controller. A model and operation pair could potentially have multiple MPC controllers associated with them and each of these could, in turn, have different CVs, MVs, and DVs associated with them. The following section uses an example to describe the use of this ontological approach to MPC in PPD. An MPC controller was implemented using the dynamic powder blending model with VRR and the mass in the blender as the control variables,
7774
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 10. Actuator equations for the dynamic blending model.
and the rotation speed (ω(t)) and the inlet flow rate (w(t)) as the manipulated variables. 3.3. Model Predictive Control of a Powder Blending Operation. The dynamic powder blending operation and a dynamic model proposed for this operation were presented in section 2. In this section, the use of this mechanistic model shall be explored for the purpose of implementing a MPC algorithm for real-time operation. The control variables that are of interest in this operation are the VRR and the mass in the blender. The manipulated variables in this operation are the screw rotational speed and the inlet flow rate. We consider the case where there are no disturbance variables in the operation. The first-order actuator dynamics used to model the change in the manipulated variables are shown in Figure 10. The wd and ωd parameters are the setpoints, while τw and τω are the time constants for the inlet flow rate and the screw speed, respectively. Certain changes (described below) in the Dynamic Blending Model instance the Model ontology were necessary for its use for this MPC application. The additional equations shown in Figure 10 were input into WebEq and their corre-
Figure 11. Dynamic Blender MPC Controller instance.
Figure 12. Controlled variables in the Dynamic Blending MPC Controller.
sponding MathML strings generated and copied over to be a part of the hasEqn property of the Dynamic Blending Model instance. In addition, the screw speed and flow rate variables were moved from the hasModelParms property to the hasDepVar property of the model instance (since the role of these variables has changed from being model parameters to dependent variables). Variable definitions for the set points of the screw speed and input flow rate, as well as the respective time constants, also were added to the hasModelParms property of this model instance. The MPC Controller class shown in Figure 9 was instantiated to capture the details of the MPC controller for the dynamic blending operation, as shown in Figure 11. The Controlled Variable class was instantiated to input details of the CVs, as shown in Figure 12. The Manipulated Variable class was instantiated to input details of the MVs, as shown in Figure 13. Figure 14 shows the relationships between the control variables chosen, highlighting the need for MPC in such a system with highly interactive variables. Once the controller knowledge has been setup in the instances of the MPC Controller and Model classes, the user can then pick the controller, model, and operation instances from the OntoMODEL GUI to simulate the controller performance, using the mechanistic mathematical process model. The procedural Java-based engine then puts together Mathematica statements for step testing the process model
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
7775
Figure 13. Manipulated variables in the Dynamic Blender MPC Controller.
Figure 14. Qualitative trends between controlled and manipulated variables in dynamic blending operation.
selected in the GUI and records arrays of sampled data from the simulated output. After this is performed for every (CV,MV) pair, the engine then puts together the Mathematica code for the Dynamic Matrix Control (DMC) algorithm, which involves quadratic optimization of an objective function involving the controlled variable’s desired trajectories and costs of making manipulated variable moves while satisfying constraints on their range of operation. The results of the optimization are the control moves that must be made to minimize the objective function. The objective function for the quadratic optimization used within OntoMODEL is a simple squared error function of the form Np
Objective(t) )
∑ [c (CV (t + i) - CV 1
1
i)1
(CV2(t + i) - CV2sp(t))2] +
1sp(t))
2
+ c2
Nc-1
∑ [c (MV (t + i) 3
1
j)1
MV1(t + i - 1))2 + c4(MV2(t + i) - MV2(t + i - 1))2] where Np and Nc are the prediction and control horizons specified by the user. The cost coefficients c1, c2, c3, and c4 are also specified in the Controller instance and can be tuned by analyzing the orders of magnitude of the controlled and manipulated variables and as per requirements in precision. The control move for the present time t is then used in the
process model simulation, which calculates the value of the controlled variables at time t (to be used in the optimization routine to determine control moves for time t + 1). This iterative procedure of simulation-optimization is repeated for the number of sample times set by the user. The controller configuration defined for the dynamic blending operation was simulated using the Java-based engine described above. Steady-state performance could be simulated using OntoMODEL by specifying the initial value of the controlled variables equal to their respective set points, as shown in Figure 15. The OntoMODEL GUI displays the time profiles of the CVs and MVs defined in the MPC controller instance in the ontology. When this controller configuration was used for MPC controller simulation, it was found that the controller performed satisfactorily for a 10% change in the VRR setpoint but was rather sluggish when a 10% change of the mass in the blender setpoint was initiated. This sluggishness can be attributed to the nonlinearity of the model; as a consequence, the step tests do not give an accurate representation of the actual long-term response. The nonlinearity of the model is also reflected in the sensitivity of the steady state to small changes in operating parameters. Figure 16 shows the servo response on the VRR controlled variable, while Figure 17 shows the unsatisfactory servo response (for the change in the mass in the blender (W)) obtained using OntoMODEL. A possible solution to this control problem could be to either use a linearized process model with acceptable performance or to use a nonlinear MPC algorithm or further tuning of the cost coefficients associated with the MVs and CVs. Through this illustration with the dynamic powder blending operation, it can be seen that OntoMODEL can be a very useful and powerful tool toward an intelligent approach to performing MPC studies with process simulation models. The advantages of this approach are similar to those listed for OntoMODEL in the first paper in this series1 and stem from the fact that the process model is represented in a platform-independent manner not requiring the user to be familiar with solver or any other programming-language-specific syntax.
7776
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 15. Simulated steady state for dynamic blending operation.
Figure 16. Servo response for the variance reduction ratio (VRR) controlled variable.
4. Integrating OntoMODEL within a Decision-Making Knowledge Framework OntoMODEL can also be used as a support tool for decisionmaking frameworks that may need solution of a mathematical model as part of its implementation. As a demonstration of this concept, this framework was integrated with a solid dosage formulation development framework that uses the concept of formulation guidelines.15 Guidelines were created based on GLIF (GuideLine Interchange Format),16 which is a specification developed for structured representation of clinical guidelines. Guidelines were represented in the form of ontology using OWL
and developed using Prote´ge´ as the ontology editor. A Javabased execution engine used the knowledge in the form of guidelines and the information stored in an ontology-based information repository to provide the decision support. This framework used the mathematical model ontology in two ways. Various steps in the decision-making guidelines found in the drug formulation development framework used material property values from information repositories to make decisions. Property values needed for decisionmaking were also calculated from mathematical models in the model repository. By way of example, one particular decision-making guideline in this
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
7777
Figure 17. Unsatisfactory Servo response on the mass in the blender controlled variable (W).
framework serves to eliminate certain processing routes for the drug formulation based on mechanical properties of the API (Active Pharmaceutical Ingredient). This guideline uses an index for material flow called the Hausner ratio to compare the quality of flow of the API against a threshold value. The Hausner ratio, by definition, is the ratio of the mixture tapped density and the bulk density (in this case, the mixture was considered to have just one component: the API). The Hausner ratio was calculated using the Hausner_ratio_Calc model instance in the Model ontology and the parameter values were obtained from the operation ontology instance corresponding to the experimental measurements. The same Java-based engine that was described in the irst paper in this series1 was executed and returned the value of the Hausner ratio that could now be used to make a decision about the flow of the API. The information flow associated with this decision and computational sequence is shown in Figure 18. Figures 19 and 20 show the GUI of this decision framework with the call to Mathematica to calculate the API Hausner ratio. Also shown is the view of the interface when the hyperlink provided in the execution trace of Figure 19 is clicked. Figure 20 displays the definition of the Hausner ratio employed in the calculation. The process of using a model to calculate a parameter in the guideline execution is therefore made transparent to the user. In addition to the instance described above, this decision framework used the mathematical model ontology to calculate mechanical strength, solubility, etc., using the appropriate mathematical models and physical properties of the API and excipients. Although the model and its usage in this demonstration are quite straightforward, the power of this concept has been established and the extensibility of this application to more-complex models is apparent. 5. Integrating OntoMODEL with a Pharmaceutical Process Validation Framework An ontological approach to regulatory compliance through automated process validation was presented in Sesen et al.,17
based on work by the author and collaborators. The prototype implementation, OntoREG, encapsulates pharmaceutical process and regulation knowledge within two complementary representations: (1) OWL ontologies (the knowledge representation consisting of taxonomies of concepts and logical axioms allowing structuring of those concepts and detecting logical inconsistencies in the resulting structure), and (2) SWRL rules18 (which act as constraints able to enforce values inside the concepts or how they should relate to each other in the structure). These two components, ontologies and rules, are integrated through a Java user interface, which is then able to identify areas where a pharmaceutical process does not comply with a regulation and suggests remedial action. The resulting OWL ontology contains concepts from three domains, namely, a Regulatory Domain, a Process Domain, and an Abstract Domain (such as Time and Parameter). OntoREG has been validated using a case study from the aspirin production process in the context of its compliance with some equipment maintenance and cleaning regulations extracted from the European Union Guidance on Good Manufacturing Practice.19 The overall interactions between the various tools used in this approach are shown in Figure 21.17 In this section, one of the case studies that is discussed, which concerns the investigation of the reaction yield associated with the aspirin manufacturing process, will be extended to show integration with OntoMODEL. This will demonstrate that OntoMODEL is multifaceted in terms of its applicability and that its uses are far reaching. OntoREG’s functionality can also thus be extended for numerical calculations when required by regulations and guidelines, therefore making the calculation and mathematical model validation transparent and straightforward. To summarize the actual case of interest, the reaction step in the aspirin manufacturing process (denoted as StoichReaction_R101 in the process ontology) is subject to a test task
7778
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 18. Schematic of the decision support framework using OntoMODEL for decisionmaking.
Figure 19. Guideline execution interface using mathematical models.
as per EUGuidanceonGMP-8.1419 to check if the actual yield of the reaction is within acceptable limits of the theoretical
yield value. Upon loading the process ontology on the OntoREG platform, the Java engine (using the OWL axioms
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
7779
Figure 20. Details of the model displayed on clicking the model name in the console.
Figure 21. OntoREG project architecture.
and rules) first points out that there are no validation tasks specified for this reaction. After the user creates an instance of the Validation Task class in OntoREG for this purpose, the engine points out that the task for checking the reaction yield must be associated with an instance of the Yield Test class. The acceptance criteria of the yield test is set in a SWRL rule, which compares the actual yield deviation to the critical yield deviation and sets the needsInVestigation field to “TRUE” if so. As a consequence of this, another
SWRL rule reclassifies this reaction instance, StoichReaction_R101, to an InVestigatoryEntity class, which now suggests (through another axiom) that an InVestigation Task is necessary. In this case, originally, both the actual and critical yield deviation were input by the user. It could be very convenient if the user could have the actual reaction yield calculated automatically since all the stream compositions have been specified in the process ontology. OntoMODEL can bridge
7780
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010
Figure 22. Details of the Reaction Yield Test instance in OntoREG.
the gap and perform this calculation to be used in OntoREG. The yield model specified for this calculation is shown below: Nst
Yk )
Nph
∑ ∑Fp
i i,jxi,j,k
i
k ) 1, 2, ..., Nsp
j
where Nst, Nph, and Nsp denote the number of streams, phases, and species in the system, respectively; and F, p, and x represent the flow, phase fraction, and species concentration, respectively. The dependent variable, yield (Y), in the model has been linked to the actual product yield of the test carried out as part of the task performed for yield testing. Therefore, this model is solved by OntoMODEL and the yield value automatically filled in by it. Figure 22 shows the details of the yield test instance with the link to the reaction instance. The ActualProductYield property is that which is calculated by the yield model shown above and populated. Therefore, in this case study, when the actual product yield is initially left unfilled, the OntoREG engine displays a warning, conveying that the property needs to be filled. The user can then either manually enter this value or use the OntoMODEL engine to compute this value by selecting the yield calculation model and the StoichReaction_R101 unit operation. After the value is populated, the user can run the OntoREG engine once again to check for compliance with the regulations. Since the actual reaction yield value is not within the maximum and minimum theoretical yield values specified for this reaction, the needsInVestigation property is set to “TRUE” by the SWRL rule and the Test instance is therefore reclassified as an instance of the InVestigatoryEntity. These examples (see sections 4 and 5) demonstrate the functionality that OntoMODEL provides to other knowledge management frameworks, such as decision support or regulatory compliance frameworks. The fact that the mathematical model is easily accessible for storage and manipulation without expecting the user to have prior expertise pertaining to any particular solver or software tool is the key advantage of integrating another application with OntoMODEL. An important benefit of this architecture, which bears re-emphasizing, is that all of the information, assumptions, and parameters associated with each model instance are retained in a single location and, thus, any changes will automatically be propagated through all uses of the model or relationship in all associated decision processes. This capability is particularly important in the highly regulated pharmaceutical domain, where consistency and integrity of models and data are essential elements of the validation process. An important caveat worth noting is that, for OntoMODEL to link other solvers, beyond Mathematica, the solver must be able to accept MathML model definitions
but also that the trend toward other solvers offering that capability is taking place. 6. Conclusion This paper highlights several applications of OntoMODEL, other than its standalone simulation capabilities. The use of OntoMODEL in performing model predictive control (MPC) on process model simulations presents a clear advantage to using commercial simulators, with respect to transparency, platform independence, and user familiarity with solver syntax. Using OntoMODEL as part of other ontological decision-making frameworks lends added functionality and, once again, makes the overall approach more systematic and, thus, easy for validation. Literature Cited (1) Suresh, P.; Hsu, S.-H.; Akkisetty, P.; Reklaitis, G. V.; Venkatasubramanian, V. OntoMODEL: Ontological Mathematical Modeling Knowledge Management in Pharmaceutical Product Development, 1: Conceptual Framework. Ind. Eng. Chem. Res. 2010, DOI: 10.1021/ie100246w. (2) http://www.wolfram.com/products/mathematica/index.html (Accessed July 19, 2010). (3) Williams, J. C.; Rahman, M. A. Prediction of the performance of continuous mixers for particulate solids using residence time distributions, Part I. Theoretical. Powder Technol. 1971, 5, 87–92. (4) Williams, J. C.; Rahman, M. A. Prediction of the performance of continuous mixers for particulate solids using residence time distributions, Part II. Experimental. Powder Technol. 1971, 5, 307–316. (5) Chen, X. B. Modeling of Rotary Screw Fluid Dispensing Processes. Trans. ASME 2007, 129, 172–178. (6) http://www.dessci.com/en/products/webeq/ (Accessed July 19, 2010). (7) Camacho, E. F.; Bordons, C. Model PredictiVe Control, 2nd ed.; Springer: New York, 2004. (8) Honeywell Process Solutions, Inc., Phoenix, AZ. (9) http://www.easydeltav.com/ (Accessed July 19, 2010). (10) http://www.mathworks.com/products/matlab/ (Accessed July 19, 2010). (11) http://www.bptech.com/ (Accessed July 19, 2010). (12) Hailemariam, L.; Suresh, P.; Akkisetty, P.; Joglekar, G.; Hsu, S.H.; Morris, K. R.; Reklaitis, G. V.; Basu, P. K.; Venkatasubramanian, V. Excipient Interaction Prediction: Application of the Purdue Ontology for Pharmaceutical Engineering (POPE). Presented at the 18th European Symposium on Computer-Aided Process Engineering (ESCAPE-18), Lyon, France, June 1-4, 2008. (13) Venkatasubramanian, V.; Zhao, C.; Joglekar, G.; Jain, A.; Hailemariam, L.; Suresh, P.; Akkisetty, P.; Morris, K. R.; Reklaitis, G. V. Ontological Informatics Infrastructure for chemical product design and process development. Comput. Chem. Eng. 2006, 30, 1482–1496. (14) Zhao, C.; Jain, A.; Hailemariam, L.; Suresh, P.; Akkisetty, P.; Joglekar, G.; Venkatasubramanian, V.; Reklaitis, G. V.; Morris, K. R.; Basu, P. K. Towards Intelligent Decision Support for Pharmaceutical Product Development. J. Pharm. InnoV. 2006, 1, 23–35. (15) Jain, A.; Akkisetty, P.; Joglekar, G.; Hailemariam, L.; Suresh, P.; Zhao, C.; Morris, K. R.; Reklaitis, G. V.; Venkatasubramanian, V. Integrated Decision Support Tool for Pharmaceutical Product Development. Presented
Ind. Eng. Chem. Res., Vol. 49, No. 17, 2010 at the 18th European Symposium on Computer-Aided Process Engineering (ESCAPE-18), Lyon, France, June 1-4, 2008. (16) Peleg, M.; Boxwala, A.; Tu, S.; Wang, D.; Ogunyemi, O.; Zeng, Q. Guideline Interchange Format 3.5 Technical Specification. Available online at http://www.openclinical.org/gmm_glif.html (Accessed July 19, 2010). (17) Sesen, M. B.; Suresh, P.; Banares-Alcantara, R.; Venkatasubramanian, V. An ontological framework for automated regulatory compliance in pharmaceutical manufacturing. Comput. Chem. Eng. 2010, 34, 1155– 1169.
7781
(18) http://www.w3.org/Submission/SWRL/ (Accessed July 19, 2010). (19) MHRA: Rules and Guidance for Pharmaceutical Manufacturers and Distributors 2007; Pharmaceutical Press: London, 2007.
ReceiVed for reView February 2, 2010 ReVised manuscript receiVed June 24, 2010 Accepted June 28, 2010 IE100258P