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
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
PTII=`pwd`
instead of
PTII=c:/Ptolemy/ptII
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/BooleanSwitch.java
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.
http://www.geocities.com/marcoschmidt.geo/java-libraries-pdf.html
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
vergil
Then edit the file by hand in Illustrator to add the transparency back in.