[kepler-dev] Ptolemy II 6.0 Release Plans

Edward A. Lee eal at eecs.berkeley.edu
Thu Jan 26 17:49:28 PST 2006

At 11:39 AM 1/26/2006 -0800, Christopher Brooks wrote:
>Please send me other features that will ship and I'll
>send out a revised list next week.

Below is my unedited notes about changes:

Bug fixes:
  - fixed memory leaks in MoMLParser
  - Create hierarchy didn't work with classes
  - Undo didn't always work with classes
  - Couldn't drop a director (or anything containing a SharedParameter)
    into a class that already had an instance.
  - Relation groups didn't always work with hierarchy.
  - Paste of hierarchical models would mess up locations on the inside.

Case actor.

Union type.

New domain: rendezvous

Documentation infrastructure.

I've checked in changes to make the highlighting of classes and
of inherited elements opaque.  They used to be translucent so that
the highlights could compose even though they overlapped.  However,
if you print a model to EPS or PDF, the presence of translucent elements
forces the rendition to be rasterized. This results is a major loss of

New deadlock detection mechanism in process domains supporting 
multi-threaded actors
rendezvous domain:
  - Multi-way rendezvous
  - ResourcePool actor
  - Barrier actor
Decorative attributes properly go to background or foreground
SDFDirector has a period parameter now, making it timed.
Display name for parameters (need not match the name)
Preferences manager and
  - preference to specify link bend radius
  - preference to specify relation size
  - preference to show parameters
Multiport connections show ordering
Relation groups
Bus relations displayed better
SDF scheduler runs faster
SDFDirector has period and synchronizeToRealTime parameters.
Workspace has wait(object, timeout) method, and DE uses it (some deadlocks
   prevented when using synchronizeToRealTime).

I've just checked in a change to MoMLParser that fixes
a serious bug with relation groups.  In particular, copy
and paste with relation groups was not working properly.
Also, undo was not working properly.  It was a simple
one-line fix.  I wonder if it's worth updating the 5.0
release?  Christopher?  I realize this is a lot of work...

I've also fixed a more minor bug where relations were
not offset when pasted, but everything else was. This
resulted in a diagram that didn't have the same geometry
when pasted.  This was a simple change to
vergil.basic.BasicGraphFrame, although I also did some
editing to make it conform more precisely to our style.

I've added a "dashArray" parameter to shape objects that are
used in custom icons, so you can now create dashed lines in
the icons.  To get this to work, I fixed a bug in diva
BasicFigure where dash and linewidth could nullify each
other.  I guess we need to regenerate the diva jar again...

Michael J Wirthlin <wirthlin at ee.byu.edu>
User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: ptolemy-hackers at bennett.EECS.Berkeley.EDU
Subject: Updates to FixPoint infrastructure
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at et.byu.edu
Sender: owner-ptolemy-hackers at bennett.EECS.Berkeley.EDU
Precedence: bulk
X-BTI-AntiSpam: sta:false/29/021,dcc:passed,rbl:off,spf:off,wlbl:none
X-UIDL: -;7"!~lN"!5"C!!*Y8"!

In honor of the BYU-Cal football game tonight (Las Vegas Bowl), I thought I 
would send an email summarizing the changes I made (here at BYU) to the 
FixPoint infrastructure:

  - Provide support for unsigned FixPoint values
  - Modify the way Precision is represented internally
    (sign, bits, exponent offset)
  - Provide 4 String representations of a given precision
    (including ability to parse and recognize the appropriate
     precision format)
    "3.2" (integer.fraction)
    "5/3" (length/integer)
    "2:-2" (vhdl)
    "5e-2" (length e exponent)
  - Provide "lossless" arithmetic operators. These operators
    will generate FixPoint results that "grow" if overflow occurs.
  - Provide quantized versions of these operators. Quantization
    is a parameter for each operator.

Changes were also made to the following classes to support the modified 
FixPoint strategy:


Michael J Wirthlin <wirthlin at ee.byu.edu>
To: Christopher Brooks <cxh at eecs.berkeley.edu>,
     "Willink, Ed" <Ed.Willink at thalesgroup.com>,
     ptresearch at carson.EECS.Berkeley.EDU
Subject: Changes to Precision.java
Date: Wed, 28 Sep 2005 08:38:25 -0600

I have implemented my changes to the Precision.java class and have
committed them into the repository. I also added a Precision.tcl test
and made a few changes to the existing tests to reflect changes in

The first big changes to Precision.java is the support for an unsigned
format. I also changed the internal representation of Precision from a
integer.fraction format to a signed, length, exponent format. All the
existing API calls still work even though the internal representation
has changed.

The second big change was the use of an internal PrecisionFormat class.
This class is an abstract class used for parsing and displaying a unique
precision format string. There are many different ways of representing a
Precision in text and I created four different ways (INTEGER.FRACTION,
allow you to parse or display the text in any format you desire with no
effort. Regular expressions are used to provide robust parsing of these
various formats.

I have not committed my changes to the FixPoint class as I have not yet
updated the tests to refect my changes.

The summary of the changes are as follows:

= change internal representation of Precision:
   + _sign
   + _length
   + _exponent
   - _fraction (remove)
   - _integerBits (remove)
= add the following methods (many of these were in Quantization)
   + getEpsilon
   + getExponent
   + getLeastSignificantBitPosition
   + getMostSignificantBitPosition
   + getMaximumUnscaledValue
   + getMinimumUnscaledValue
   + getNumberOfLevels
   + getSign
   + isSigned
! Major changes to support the parsing and displaying of
    at least four String formats. I created an internal
    abstract PrecisionFormat class and provided four
    internal classes that support the parsing and
    displaying of these formats:
    = MSB:LSB

Note that the class is significantly larger than the original to support
all this String parsing and displaying. I find it extremely useful in
the models I am experimenting with.


Daniel Lázaro Cuadrado <kapokasa at kom.aau.dk>

I have just checked in some modification of the Distributed-SDF Director. 
This new version includes pipelining techniques which result in a fully 
parallel execution of the model (all actors are fired in parallel) after a 
buffering phase.

Edward A. Lee
Professor, Chair of the EE Division, Associate Chair of EECS
231 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal  

More information about the Kepler-dev mailing list