HSIF To MoML

The Hybrid System Interchange Format (HSIF), was developed by the Institute of Software Integrated Systems (ISIS) at Vanderbilt University as part of the ISIS MoBIES effort. The HSIF documentation states:

"The goal of HSIF is to define an interchange format for hybrid system models that can be shared between modeling and analysis tools. HSIF models represent dynamic systems, whose dynamics includes both continuous and discrete behaviors."
Haiyang Zheng developed a set of XSLT files that convert HSIF into MoML, the XML format used to represent Ptolemy II Models.

Models

To run the HSIF models, either use HyVisual or invoke vergil with the -hyvisual flag so that the HSIF configuration is used. If HyVisual or vergil is properly configured, then when an HSIF file is opened, it is converted to a MoML file with a similar name, and then the MoML file is opened displayed. Note that typically there is no layout information in an HSIF file, so the model components all get rendered at location (0, 0), which is the upper left corner of the window. You can improve the layout by selecting Automatic Layout from the Graph menu.

There are two examples provided:

How it works

HyVisual and vergil -hyvisual both add the the HSIFEffigyFactory class to the list of EffigyFactories before the standard Ptolemy Effigy so that when an XML file is opened. HSIFEffigyFactory first checks to see whether the file is an HSIF file by examining the header information. If the file is not an HSIF file, then HSIFEffigyFactory refuses to open the file. If the XML file is a MoML file, then it will be opened by the standard PtolemyEffigy factory. If the file is an HSIF file, then we convert the file to MoML by running a series of XSL transformations on it. If the HSIF file is named foo.xml, then the MoML file will be named as foo followed by some random number and saved as a temporary file under the user's home directory. The user may rename the MoML file and save it to a desired directory by selecting SaveAs from the File menu.