Ptolemy II 4.0.1 Limitations

The Ptolemy II 4.0.1 Release notes list limitations. The Vergil welcome window has a link to a similar list.

If you find bugs, check the limitations page inside Vergil, then check this page, and then send email to ptolemy at eecs berkeley edu.

In your email, please be sure to list

  • What operating system you are operating under (Windows XP sp1? Solaris 8?)
  • What version of Java you are running. (Run java -version, or use our Java Version Applet )
  • Whether the problem occurs in
  • Vergil
  • The local version of the web pages
  • The PtolemyII 4.0.1 website version of the web pages
  • The Web Start version
  • Places to go

  • Online Applet Demonstrations and Documentation
  • Ptolemy II Design Document
  • Changed between 4.0 and 4.0.1

  • The context (right click) menu works more reliably under MacOS X and Linux.
  • The DE and CT domains were having problems with rounding in timestamps.
  • Fixed the icon editor so that snap resolution is smaller.
  • Fixed a bug where the port configurer dialog discarded user data if closed by clicking on the X in the dialog window.
  • Fixed a bug where typing Cntr-N while the mouse was on an object that was not a class triggered an InternalErrorException.
  • Fixed a bug in the DE Sampler actor where the output port had no type constraint relative to the initial value.
  • Fixed bug in DirectoryListing actor where inputs at the directoryOrURLPort port were being ignored.
  • Fixed a bug where the port configurer dialog discarded user data if closed by clicking on the X in the dialog window.
  • Under the Windows installer, sometimes the javadoc documentation was not found.
  • Certain applets were missing references to one or more jar files, which resulted in slow downloads.
  • Typos in documentation were fixed.
  • Changed between 4.0-beta and 4.0

  • Support for the Macintosh is greatly improved.
  • Added a "save submodel only" option to Save As when inside a submodel.
  • Enabled editing top-level icons associated with source files.
  • Fixed a bug in ImageAttribute that made it fail when used in the custom icon of a class definition.
  • Improved the terrain model demo in the wireless domain and VisualSense and included it in the VisualSense quick tour.
  • Fixed propagation of parameter value changes to instances and subclasses so that changes that are more local override changes that are more global.
  • Design and code reviewed kernel and kernel.util classes that dealt with the class and inheritance mechanism. This resulted in many changes to the documentation and some changes to the APIs.
  • Added "Restore Defaults" button to parameter dialog, which permits reversing an override of parameter values in an instance or subclass. Also, colored the text in expressions to indicate visually whether parameter values are overridden.
  • Configuration: Open the instance rather than the class definition if the instance contains an instance of TableauFactory. This fixes a bug where .vergil.toolbox.FileEditorTableauFactory did not work when it was placed in an instance of a class.
  • Fixed a bug where cloning would not reset value listeners lists of Variable and ConfigurableAttribute. This caused a memory leak (and probably a performance hit) when using actor-oriented classes and when using the MultiInstanceComposite actor.
  • StringUtilities: Fixed a bug where sanitizeName() would fail if given an empty string.
  • Fixed a long-standing bug where could not undo a link to the inside of a port.
  • Fixed a bug where an exception during execution of a change could prevent subsequent changes (deletion of links and entities) from completing.
  • Jar URLs that have fragments are now properly handled. For example, "doc/codeDoc/ptolemy/actor/lib/comm/package-summary.html#package_description" is now properly found in the doc/codeDoc.jar file.
  • We now properly find the javadoc HTML pages if the location of the Ptolemy II release is in a directory that has spaces in the path name.
  • We print a warning message if the ptolemy.ptII.dir property contains "cygdrive". This sort of problem occurs under Cygwin when the user incorrect does
    instead of
  • Various junk files have been excluded from the release.
  • The JAIImageReader actor now reads images from URLs.
  • Changed between 4.0-alpha and 4.0-beta

    Feature enhancements

  • IterateOverArray usability features: Look inside now skips a level to show the model that actually gets iterated rather than the intermediate level. Also, IterateComposite can be dropped on IterateOverArray, and changes to its ports either inside or outside will be reflected in the IterateOverArray actor.
  • Gave a more reasonable title to window used to edit custom icons.
  • New actor: SetProperties, in the wireless domain. FIXME: Not in the libraries.
  • Bug Fixes
  • Fixed bug that didn't allow changing the name of graphical attributes when there were subclasses.
  • Fixed potential deadlock in simultaneous accesses to a CrossReferenceList.
  • If change requests are queued in a top-level entity and then its container is set, the change requests were never executed. Now, they are transferred to the new container.
  • If a change request is made during cloning of an object, then the change request was executed immediately even if deferChangeRequests(true) has been called on object being cloned. This is because during cloning, the cloned object has no container. Now, the clone() method of NamedObj ensures that every cloned object has deferChangeRequests(true) set before it starts to get populated with its contents. This means that callers to clone() need to set it back to false if this is what they want.
  • Improved performance of models that animate execution by changing parameters of icons (removed spurious acquisition of write permission on the Workspace).
  • StyleConfigurer was directly making kernel calls rather than issuing change requests to apply changes. This could result in exceptions if a style is changed while a model is running, and it also means that changes to a style are not propagated to subclasses and instances.
  • Fixed bug where deleting class definitions and subclasses or instances would throw a spurious exception because it would try to delete the subclasses or instances twice.
  • Fixed bug where editing the custom icon of a class definition did not propagate to instances and subclasses until the model was closed and reopened.
  • Fixed bug where dropping an actor into a model, followed by undo left the icon in the model (but without any associated actor) until the model was closed and re-opened.
  • Removed a leak in diva.graph.AbstractGraphController where figures that are no longer being used by the model were still stored in a private hash table.
  • Fixed a bug with TerrainModel in the wireless domain where the geometry that was used for determining terrain obstacles didn't match the geometry displayed in the icon.
  • StyleConfigurer was directly making kernel calls rather than issuing change requests to apply changes. This could result in exceptions if a style is changed while a model is running, and it also means that changes to a style are not propagated to subclasses and instances.
  • Many uses of the "_hideName" attribute were Parameter or Attribute rather than SingletonAttribute. Changed to consistently be SingletonAttribute.
  • Configure now handles causes where the Java Advanced Imaging (JAI) interface is in a location outside of the JRE
  • Configure now sets up $PTII/.classpath properly for use by Eclipse
  • Broken HTML links have been fixed.
  • Know Limitations

  • See the Ptolemy II 4.0.1 Release notes for known limitations.
  • The PSDF Blind Communication demo does not run under Web Start, the message is:
    ptolemy.kernel.util.IllegalActionException: The number of elements in the
    input ArrayToken (2047) is not the same as the arrayLength parameter (2048).
  • If an icon file is not present, then a Vergil applet might try to download the icon file multiple times. Ptolemy II uses XML files to store icons. For example $PTII/ptolemy/actor/lib/BooleanSwitchIcon.xml is an icon for $PTII/ptolemy/actor/lib/
    The problem is that if an actor does not have an icon file, then the applet may go back to the server multiple times looking for the icon.
  • Matlab interface has problems work with gcc-3.3 Under Windows, the Matlab interface has problems at runtime with gcc-3.3.
    Under Windows, we recommend using gcc-3.2.
  • The code generator GUI has been removed from the configuration, instead use $PTII/bin/copernicus.
  • Plot windows don't resize when control panel is resized
    If a model with plotters is executed using the run button on the toolbar, and then re-executed using the run control panel accessed through the View menu, then resizing the run control panel does not cause the plots to resize to fit.
    Workaround: Close the model and re-open it, and then run first using the run control panel.
  • Printing a model that contains transparent objects can result in problems when printing to Encapsulated Postscript (EPS).
    If a model has transparent objects, then when it is printed to EPS, the resulting file is a bitmap instead of a Postscript description of the graphics. You can tell by the file size (several Meg vs. several K) and by opening it in Illustrator, where in theory you should be able to ungroup and select and edit individual components.
    The way Java prints EPS is that there is an implementation of Graphics2D that literally translates each graphics2D call into a Postscript snippet. If Java detects any transparent colors or images, then the literal translation of each element independently doesn't work, so the printing code reverts to writing everything to an image and then sending the image, encapsulated in Postscript to the printer.
    Solution1: Use one of these pdf writing programs to generate pdf-1.4 compliant pdf files, which have extensions to support transparency that Postscript lacks, and then print them to eps, which would use the distill implementation of the above algorithm. Or alternatively, we could switch to using pdftex instead of latex->dvips->distill which should embed pdf for figures directly at the expense of less robust latex support.
    Solution 2: Use the undocumented flag -Dsun.java2d.print.pipeline=pdl on the command line to force the printing to use the postscript path, ignoring transparency. Under Cygwin:
    export JAVAFLAGS=-Dsun.java2d.print.pipeline=pdl
    Then edit the file by hand in Illustrator to add the transparency back in.