Oct2moml is a start at a tool that converts Ptolemy Classic Octtools Facets to Ptolemy II MoML files.

This tool is incomplete and totally unsupported, but it is useful for getting a start on converting Ptolemy Classic Octtools facets to MoML Files

The oct2moml home page is at http://ptolemy.eecs.berkeley.edu/other/oct2moml.htm

oct2moml is heavily based on oct2ptcl, which was written by Kennard White. Christopher Hylands developed oct2moml. Questions about oct2monl should be posted to the ptolemy-hackers mailing list, or to the comp.soft-sys.ptolemy newsgroup.


  • oct2moml is a hack. Don't use it if you are not comfortable with recompiling Ptolemy Classic.
  • oct2moml only translates the logical connections of a facet, it does not translate how the icons look, or where they are positioned.
  • Galaxies are not handled well
  • There is not necessarily a one-to-one translation between Ptolemy Classic Star names and their parameters and Ptolemy II Actor names and their parameters
  • oct2moml is based on oct2ptcl, so it has the following oct2ptcl bugs:
    • oct2ptcl is too picky about some facets. It thinks facets are corrupt, but the facet will work fine in Ptolemy. oct2ptcl is technically correct here, but by not processing semi-corrupt facets, oct2ptcl is not very useful
    • oct2ptcl has not been extended to handle initializable delays. The mdsdf:test:IIRusingFIR demo uses initializable delays. If we run oct2ptcl on this facet, we get:
          connect Fork.output=21 output#2 FIR1 input
      However, if we compile this facet with ptolemy, we get:
          connect Fork.output=21 output#2 FIR1 input "0 1"


  1. Download the Ptolemy Classic src and other.src tar files
  2. Build Octtools:
    cd $PTOLEMY
    make install_octtools
  3. Download oct2moml-0.01.tar.gz from http://ptolemy.eecs.berkeley.edu/other/oct2moml-0.01.tar.gz and untar it
    cd $PTOLEMY
    tar -zxf oct2moml-0.01.tar.gz
  4. Build oct2moml. Currently, MAKEARCH does not build a separate obj.$PTARCH directory for oct2moml, so you will need to build the source files in the src/ directory:
    cd $PTOLEMY/src/octtools/tkoct/top
    cd ../oct2moml
  5. To test oct2moml, run
    oct2moml -g $PTOLEMY/src/domains/sdf/demo/butterfly