Wednesday, July 31, 2013
TK Model Building with Galaxy in MindGalaxy allows application developers to create custom interfaces for TK Solver models. Here are some important issues to consider when creating/modifying TK models to be used in Galaxy applications. These tips also apply for those who are linking TK models with Excel or Visual Basic interfaces.
Save the model with inputs and outputs.If a model is saved without first being solved, some of the variables may not get output values and Galaxy may not be sure as to how to categorize them. It’s always a good idea to set up a model with typical inputs and solve before saving.
Save the model with consistent units displayed.Make a pass through the variable sheet and make sure that all the variables have consistent display units. For example, users may not notice that one variable is shown in meters while the rest are in millimeters.
Do not use any interactive TK functions.QUERY, PROMPT, MENU, DEBUG, PAUSEMSG, SHOWMATRIX, and BOXMSG all create interactive pop-ups when the model executes. These will not function within Galaxy. Galaxy includes controls that allow you to build your own prompts and menus.
Be sure to check start-up procedure functions as well as they often include such functions. ERRMSG is ok to use but check to make sure that the error wouldn’t be better trapped in the interface instead of during the solution process. For example, Galaxy allows you to set limits on input values.
Avoid plot legends and static annotations.These do not move predictably as the solution changes. Programmable annotations are preferred as they can be placed at specific plot locations using procedure functions and the locations will automatically change as values change in the model.
Models should be set up to solve without manual guessing wherever possible.A model should solve automatically for most practical combinations of inputs. The model should include iteration triggers which are not default first guesses for the variables appearing in Galaxy. You do not want default guesses appearing automatically when insufficient inputs are supplied by the users who have no way of knowing if the value which appears is a unique solution.
Use Procedure Functions to Generate Lists of SolutionsList solving should be avoided when possible and replaced by procedure functions which loop through lists of input values. When list solving is required, use start-up functions to automatically generate the input list(s) based on inputs on the variable sheet.
Merge Included ObjectsGalaxy will not have access to the included objects in your TK files. You must merge them into a single file before importing that file into Galaxy.