Ptolemy II 5.0 is available for download from

    http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII5.0/

This release includes updated versions of the 3 volume Ptolemy Design
Document, The HyVisual Manual and the VisualSense Manual.
These documents may also be found at

    http://ptolemy.eecs.berkeley.edu/papers/05/ptIIDesignIntro
    http://ptolemy.eecs.berkeley.edu/publications/papers/05/hyvisual
    http://ptolemy.eecs.berkeley.edu/papers/05/visualsense
 
There were surprisingly few bug fixes between 5.0-beta and this 5.0
release.  

The biggest bug fix is that the "Save Actor in Library" menu choice is
now present.

Another bug fix is that the backward compatibility filters now
correctly mark a model as modified when the filter makes a
compatibility change.

Below is a text copy of the html release notes.  The links
are missing, but it will give you a rough idea of
that is in the release.

- --start--

                         Ptolemy II 5.0 Release Notes
                                       
   Ptolemy II is a set of Java packages supporting heterogeneous,
   concurrent modeling and design. Its kernel package supports
   clustered hierarchical graphs, which are collections of entities
   and relations between those entities. Its actor package extends the
   kernel so that entities have functionality and can communicate via
   the relations. Its domains extend the actor package by imposing
   models of computation on the interaction between entities. Examples
   of models of computation include discrete-event systems, dataflow,
   process networks, synchronous/reactive systems, and communicating
   sequential processes.
   
   Ptolemy II includes a number of support packages, such as data,
   providing a type system, data encapsulation and an expression
   parser, plot, providing visual display of data, math, providing
   matrix and vector math and signal processing functions, and graph,
   providing graph-theoretic manipulations.
   
   The three volumes of the Ptolemy II Design Document describes the
   Ptolemy II design and the implementation of the Java classes.
     * Volume 1: Introduction to Ptolemy II (Local PDF)
     * Volume 2: Ptolemy II Software Architecture (Local PDF)
     * Volume 3: Ptolemy II Domains (Local PDF)
       
Complete List of Domains in Ptolemy II

     * CI: component interaction (experimental),
     * CSP: communicating sequential processes,
     * CT: continuous-time modeling,
     * DE: discrete-event modeling,
     * DDE: distributed discrete events (experimental),
     * DDF: dynamic dataflow
     * DT: discrete time,
     * FSM: finite state machines,
     * Giotto: periodic time-driven (experimental),
     * GR: 3-D graphics (experimental),
     * HDF: heterochronous dataflow
     * PN: process networks,
     * PSDF: parameterized synchronous dataflow (experimental),
     * SDF: synchronous dataflow,
     * SR: synchronous/reactive,
     * TM: timed multitasking (experimental), and
     * Wireless: wireless (experimental).
       
Platforms

   The core of Ptolemy II 5.0 is 100% Java, so it should work on any
   platform that has JDK 1.4 or later.
   
   We developed Ptolemy II 5.0 under Solaris 8 and Windows XP sp2 and
   with JDK1.4.2_08.
   
   Ptolemy II 5.0 will not compile under Java 1.3 because we use the
   java.lang.URI class, which is present only in Java 1.4 and later.
   
   There are various problems with Sun Java 1.5.0:
     Web Start does not work
     Caltrop does not work because of XML parser issues
       
   Ptolemy II has been compiled and run under IBM JDK 1.4.2_01-b06. There
   are the following limitations under IBM JDK 1.4.2:
     The Copernicus code generator does not work.
     Caltrop does not work.
     The IBM JDK seems to return directory contents in a different order
       than the Sun JDK. Thus actor.lib.io.DirectoryListing might return
       elements in a different order.
       
   Contents:
     * Highlights
     * Other Key New Capabilities
     * New and Enhanced Actor Libraries
     * New demonstrations
     * Additional features
     * Bug fixes
       
Highlights

     * Dynamic Dataflow: HanoiTower (see also Eratosthenes,
       IfThenElse, Loop, OrderedMerge, RandomWalk)
       In dynamic dataflow (DDF) models, actors are fired in response to
       available input data. The schedule is dynamic and data dependent,
       and actors can change their production and consumption rates in
       each firing. Unlike synchronous dataflow, the DDF model of
       computation is Turing complete, and questions of deadlock and
       boundedness are undecidable. The HanoiTower example exploits
       this to give an algorithmic solution to the well-known towers of
       Hanoi problem.
     * Modeling of hybrid systems: NewtonsCradleComplicated.
       Hybrid systems are a special case of modal models where
       finite-state machines (FSMs) are combined with the continuous-time
       (CT) models to get mixed continuous-time and discrete-event
       models. The HyVisual package is a subset of Ptolemy II that
       includes the FSM and CT domains and libraries that support the
       design of hybrid systems. Version 5.0 introduces significant
       rework of the hybrid systems modeling infrastructure to have more
       complete and predictable semantics, as described in the paper
       "Operational Semantics of Hybrid Systems". The
       NewtonsCradleComplicated example illustrates this with a model
       of a physical system that has simultaneous events.

     * Stochastic hybrid systems: IncreasingRatePoisson (see also
       HysteresisWithRandomDelay, Brownian ).
       Stochastic hybrid systems add random behavior to continuous-time
       models mixed with discrete events. The IncreasingRatePoisson
       models spontaneous mode transitions governed by a Poisson process.
       The HysteresisWithRandomDelay example uses similar spontaneous
       mode transitions to model random delay in mode transitions. The
       Brownian example models a stochastic differential equation
       describing a random walk process.

     * Heterochronous Dataflow: Fibonacci (see also Merge).
       Heterochronous dataflow (HDF) is an extension of synchronous
       dataflow (SDF) that permits dynamically changing production and
       consumption patterns without sacrificing static scheduling. In
       SDF, the production and consumption patterns of an actor are
       constant. In HDF they are allowed to change between iterations of
       the HDF schedule. Modal models can be used to change these
       patterns. Although HDF can express many data-dependent
       computations that cannot be represented by SDF, it is not Turing
       complete. Consequently, deadlock and boundedness remain decidable.
       The Fibonacci example uses this mechanism in a clever way to
       extract a Fibonacci sequence from a counting sequence.
       
Other Key New Capabilities

     * Unbounded model time: LongRuns
       Version 5.0 introduces a new Time class that represents model
       time in a manner that has a specified resolution and unbounded
       growth potential. Any two time values that are within the
       specified resolution are treated as equal. Moreover, time can
       increase forever without concern for loss of resolution or
       overflow. The LongRuns example is a discrete-event model that
       can be run forever, in principle, without (significant) growth of
       memory requirements and without loss of (internal) precision in
       model time. The precision of time representations is given by a
       director parameter whose value is shared across all directors in a
       model (see SharedParameter).

     * Synchronous Reactive Modeling: GuardedCount.
       The synchronous/reactive (SR) domain, which is inspired by the
       synchronous languages Esterel, Lustre, and Signal, realizes a
       concurrency model where actors react instantaneously and
       simultaneously at ticks of a logical clock. Version 5.0 introduces
       a richer set of actors for use with this domain, as well as a bug
       fix permitting SROptimizedScheduler to be used inside a composite
       actor. The GuardedCount example illustrates some of these new
       capabilities. The new actors are:
          + Current
          + Default
          + EnabledComposite
          + Pre
          + When

     * Nondeterministic merge in Process Networks (PN): NondeterministicMerge.
       The PN domain now supports a NondeterministicMerge actor, which
       merges two incoming streams nondeterministically. This new actor
       should be used with caution, since determinism is one of the key
       features of PN. Use of this actor is risky because any given
       execution is only representative of the possible executions.
       Nonetheless, this offers a considerable increment in
       expressiveness.

     * New Parameters:
       A number of new parameters have been introduced. The
       DoubleRangeParameter limits the range and precision of a
       double-valued parameter, and is supported in the user interface by
       providing a slider by default in parameter editing dialogs. The
       FilePortParameter is used by actors to specify a file or URL
       using both a parameter and a port. The user interface supports
       this by offering a file browser dialog by default when editing
       this parameter. The SharedParameter is a parameter whose value
       is constrained to be identical to a suite of other instances of
       SharedParameter in the same model. This parameter is used, for
       example, to handle seeds in random number generators, as
       illustrated for example in ColtRandom.

     * Higher Order Components: ExecDemos (see also  IterateOverArray).
       The higher-order component capabilities of Ptolemy II continue to
       evolve. The ExecDemos model, when executed, starts a new Java
       virtual machine that then executes the RunDemos model, which runs
       all demos in a specified directory using full-screen mode. This
       illustrates how to use higher-order actors to control the
       lifecylcle of other Ptolemy II models. This example can be set up
       to automatically and repeatedly run demos unattended by following
       the instructions in the README.txt file. The new higher-order
       actors include:
          + ApplyFilterOverArray
          + ApplyFunction
          + ApplyFunctionOverSequence
          + IterateOverArray

     * Graphics domain: SolarSystem (see also Helen).
       The graphics (GR) domain has been extensively revised to take
       better advantage of underlying capabilities in the Java 3D
       package. For example, the SolarSystem model illustrates
       transparency (see the rings of Saturn), and the Helen model
       illustrates texture mapping and movable viewer positioning. The
       following capabilities are now supported:
          + transparency
          + texture mapping
          + shininess
          + colors use ColorAttribute
          + more colors can be set
          + settable resolution
          + wireframe option for shapes
          + flat facets option for shapes
          + run-time changes of parameter values
          + parameters in the Text3D actor
          + movable viewer position
       
New and Enhanced Actor Libraries

   A number of new and enhanced actor libraries are included in version
   5.0. You may also wish to refer to the ptolemy.actor.lib package,
   where most of the domain-polymorphic actors reside (domain-polymorphic
   actors are those that can be used in more than one domain).
     * New generic actors:
          + Sequence
     * Random number generators: ColtRandom.
       A new library of random number generators, developed jointly with
       David Bauer and Kostas Oikonomou from AT&T Research, is based on
       the popular Colt "Open Source Libraries for High Performance
       Scientific and Technical Computing in Java." Colt is described at
       http://hoschek.home.cern.ch/hoschek/colt/. The library
       supports many commonly used probability distributions and provides
       systematic management of seeds and random number generation
       techniques.
     * New discrete-event actors:
          + NonInterruptibleTimer
          + Register
     * Communications library:
       The communications library includes a number of new actors:
          + HuffmanBasic
          + HuffmanCoder
          + HuffmanDecoder
          + LempelZivCoder
          + LempelZivDecoder
       
New Demonstrations

     * New Continuous Time demos:
          + Brownian
          + Continuous Clock
          + Hierarchical Execution
          + Hysteresis
          + HysteresisWithRandomDelay
          + HysteresisWithRandomLosses
          + IncreasingRatePoisson
          + Level Crossing Detector Detects Glitches
          + Level Crossing Detector with Different Detecting
            Directions
          + Newton's Cradle
          + Newton's Cradle with Complicated Dynamics
          + Newton's Cradle with Nondeterministic State Macine
          + Poisson
          + Sampled Clocks
          + Satellite
          + Sticky Point Masses Modified Version
          + Triggered Continuous Clock
          + Vehicle 2 Vehicle
     * New Discrete Event (DE) demos:
          + Assembly Line
          + Hierarchical Model
     * New Dynamic Dataflow (DDF) demos:
          + Eratosthenes
          + Factorial
          + HanoiTower
          + IfThenElse
          + Loop
          + OrderedMerge
          + RandomWalk
          + RijndaelEncryption
     * New Heterochronous Dataflow (HDF) demos:
          + AdaptiveCoding
          + Fibonacci
          + Hysteresis
          + Merge
     * New Giotto demos:
          + Multimode
     * New Graphics (GR) demos (requires Java 3D, see the GR
       domain):
          + Helen
          + SolarSystem
     * New Wireless demos:
          + SmartParking
       
Additional Features

     * Java compatibility:
       Ptolemy II can be compiled under Java 1.5.0_01. Java 1.4.2_07 is
       preferred though.
     * Support changing the order of attributes, ports, etc., and support
       moving objects towards the foreground or background in the user
       interface. This is particularly helpful when editing icons, since
       the elements of the icon can now be sent to the background or
       brought to the foreground by right clicking and selecting the
       appropriate option.
     * Fractional math:
       A new library supporting arithmetic on fractions has been created.
       See:
          + FractionArrayMath
          + FractionMatrixMath
     * Added external source (URL) option to the Instantiate Entity
       command in the Graph menu.
     * Other New java files:
          + ptolemy/StateReceiver.java
          + ptolemy/actor/TypeOpaqueCompositeActor.java
          + ptolemy/actor/gui/CompositeActorSimpleApplication.java
          + ptolemy/actor/gui/PasswordAttribute.java
          + ptolemy/actor/gui/QueryUtilities.java
          + ptolemy/actor/lib/StringConst.java
          + ptolemy/actor/lib/UnaryMathFunction.java
          + ptolemy/actor/lib/image/ImageTableau.java
          + ptolemy/actor/util/DFUtilities.java
          + ptolemy/caltrop/actors/AbstractCalInterpreter.java
          + ptolemy/domains/ct/kernel/solver/ExplicitRK45Solver.java
          + ptolemy/domains/fsm/kernel/NonStrictFSMDirector.java
          + ptolemy/kernel/util/Moveable.java
          + ptolemy/moml/filter/GRColorChanges.java
          + ptolemy/vergil/kernel/attributes/AbstractTextAttribute.j
            ava
          + ptolemy/vergil/kernel/attributes/AttributeExpressionAttr
            ibute.java
          + ptolemy/vergil/kernel/attributes/AttributeValueAttribute
            .java
          + ptolemy/vergil/kernel/attributes/IDAttribute.java
          + ptolemy/vergil/toolbox/MoveAction.java
       
Bug fixes

     * Fixed "Restore Defaults" when actors and directors use the three
       argument constructor for parameters.
     * Previously, if a class definition were to show the name of ports,
       there was no way to turn this off (the attribute _showName) could
       not be removed. Now, marker attributes such as _showName are
       boolean valued parameters, so they can be turned off by overriding
       their value.
     * Fixed long standing bug in copy where objects are represented in
       the wrong order in the exported MoML.
     * Fixed some subtle bugs in ModalModel, where changes to
       input/output status and ordering of ports were not properly
       reflected in the mirror ports.
     * A number of potential deadlocks have been fixed:
          + deadlock while dragging actors during a run.
          + deadlocks in PN when exceptions occur in the model.
       
Backward Compatibility

   Most models developed under Ptolemy II 1.0.1, 2.0.1, 3.0.2, 4.01 or
   HyVisual 2.2-beta an Hyvisual 3.0 should run under Ptolemy II 5.0 The
   MoMLParser includes a list of backward compatibility filters that make
   certain changes on models when read, handling such issues as actors
   being moved or renamed and parameter names being changed. The filters
   themselves are defined in ptolemy.moml.filter. If you have
   developed your own actors under Ptolemy II 3.0.2 by writing your own
   Java files, you should recompile all your java code with the new
   release. In theory, copying the .class files should work, but
   recompiling is safer.

- --end--

_Christopher

Christopher Brooks (cxh at eecs berkeley edu) University of California
Programmer/Analyst Chess/Ptolemy/Trust        US Mail: 558 Cory Hall #1770
ph: 510.643.9841 fax:510.642.2739             Berkeley, CA 94720-1770
home: (F-Tu) 707.665.0131 (W-F) 510.655.5480  (office: 400A Cory)

----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list.  Please send administrative
mail for this list to: [EMAIL PROTECTED]

Reply via email to