Ptolemy II 6.0.beta is available for download from
http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII6.0

Ptolemy II 6.0.beta downloads include:
 - A Windows Installer
 - Source code in either Windows or Unix format
 - A Web Start version
 - An Applets version

Changes between Ptolemy II 6.0.alpha and 6.0.beta:
 - Professor Lee made a number of performance improvements.
   In particular, when a model is run a second time, the run
   time is often much faster because type checking need not always
   occur.
-  CT now has a Brock/Ackerman demo
-  Wireless now has a Link Visualization demo 
-  Code cleanups using the Eclipse cleaner
-  Typos have been fixed

We intend to ship Ptolemy II 6.0 in early December.  That release will
include updated documentation.

Ptolemy II 6.0 Highlights

     * Ptolemy II C Code Generation
       Primary Developers: Jackie Leung, Gang Zhou, Ye Zhou, 
       Edward A. Lee, Christopher Brooks

       Ptolemy II can now generate C code for SDF, FSM and HDF models.
       This new code generator consists of actor templates (called
       helpers) that contain C code stubs that are stitched together.
       Only a subset of actors have helpers, so only a subset of models
       can be converted to C. Creating new helpers is fairly easy though.
       The code generator has been written to be easily extensible to
       languages other than C.

     * The Rendezvous domain:
       Primary Authors: Thomas Huining Feng, Edward A. Lee

       In the Rendezvous domain in Ptolemy II, each actor executes in its
       own thread of control, and communication between actors is by
       rendezvous. If an actor is ready to send a message, it blocks
       until the receiving actor is ready to receive it. Similarly if an
       actor is ready to receive a message, it blocks until the sending
       actor is ready to send it.
       This domain supports both conditional and multi-way rendezvous. In
       conditional rendezvous, an actor is willing to rendezvous with any
       one of several other actors. In multiway rendezvous, an actor
       requires rendezvous with multiple other actors at the same time.
       When using conditional rendezvous, the choice of which rendezvous
       occurs is nondeterministic, in general.
       The model of computation is based on the Communicating Sequential
       Processesmodel first proposed by Hoare in 1978. Rendezvous-based
       communication is also known as synchronous message passing, but we
       avoid this term to avoid confusion with the SR
       (synchronous/reactive) domain.

     * Viptos Visual editor, code generator, and simulator for TinyOS
       programs.
       Primary Author: Elaine Cheong

       Viptos is an interface between TinyOS and Ptolemy II that provides
       a graphical user interface for TinyOS developers. Users can create
       TinyOS programs as block diagrams and use Viptos to generate code
       for any TinyOS-supported target hardware. Users can also simulate
       heterogenous networks of TinyOS-based nodes within Viptos. Viptos
       includes a tool to make existing libraries of TinyOS/nesC
       components available as graphical blocks (nc2moml), and another
       tool to transform existing TinyOS/nesC applications into Viptos
       models (ncapp2moml).
       For Viptos only downloads, see
       http://ptolemy.eecs.berkeley.edu/viptos

     * Distributed SDF Domain using Jini
       Primary Author: Daniel Lazaro Cuadrado (Aalborg University).

       The Distributed-SDF domain is an extended version of the existing
       SDF Domain that performs the simulation in a distributed manner
       using Jini.


New demonstrations

     * New Communicating Sequential Processes (CSP) demonstrations:
          + Barrier Synchronization
          + Resource Management
          + Write Regulator
     * New Continuous Time (CT) demonstrations:
          + Brock Ackerman
          + Cart with Pendulum (Requires Java 3D)
          + Newton's Cradle with Perfectly Inelastic Collisions
            (Requires Java 3D)
          + Newton's Cradle with Configurable Parameters (Requires
            Java 3D)
          + Newton's Cradle with Balls Having Different Masses
            (Requires Java 3D)
          + 3D Pendulum (Requires Java 3D)
     * New Discrete Event (DE)demonstration:
          + Queue and Server (M/M/1 Queues)
     * New Heterochronous Dataflow (HDF) demonstrations:
          + AdaptiveCoding (With codegen in Ptolemy II 6.0)
          + Hysteresis (With codegen in Ptolemy II 6.0)
          + Merge (With codegen in Ptolemy II 6.0)
     * New Rendezvous demonstrations:
          + Barrier Synchronization
          + Resource Management
          + Sequencing
          + Write Regulator
     * New Synchronous Dataflow (SDF) demonstrations:
          + Case (New in Ptolemy II 6.0) (with codegen)
     * New Process Network (PN) demonstrations:
          + Remove Nil Tokens

Other Key New Capabilities

     * CaseDirector,
       Primary Author: Edward A. Lee
       The Case actor has been further developed so that it is easier to
       build models that execute one of several refinements.
     * A Token can now be "nil", which means that the data is missing. If
       Token.nil() is called, it indicates that a token is a nil or
       missing token, which contains no data. Nil or missing tokens are
       common in analytical systems like R and SAS where they are used to
       handle sparsely populated data sources. In database parlance,
       missing tokens are sometimes called null tokens. Since null is a
       Java keyword, we use the term "nil". The PN Remove Nil Tokens
       demo illustrates use of nil tokens.

New and Enhanced Actor Libraries

   A number of new and enhanced actor libraries are included in version
   6.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:
     * DelayStart
     * FireAccumulator
     * RemoveNilTokens
     * Triangular

     New Communicating Sequential Processes (CSP) actors:
     * Barrier
     * Buffer
     * ResourcePool

     New Discrete Event (DE) actors:
     * UnionMerge
     * Wire

Additional Features

     * Actor and model documentation system
       Primary Authors: Edward A. Lee, Christopher Brooks.
       Actor and model documentation is now displayed using a custom
       widget. The documentation for an actor or model can be edited by
       the user. To view the documentation for an actor, right click on
       the actor and select Documentation -> Get Documentation. This
       functionality is implemented using DocTableau and other
       classes in vergil.actor and the PtDoclet doclet.

     * Relation Groups
       Relations mediate connections between ports. For
       flexibility, particularly with visual syntaxes, the Ptolemy II
       abstract syntax permits any number of relations to be involved in
       any one connection. Relations may be linked to other relations.
       Any two relations that are linked are said to be members of the
       same relation group. Specifically, a relation group is a maximal
       set of linked relations. Semantically, a relation group has the
       same meaning as a single relation. The API of the Relation class,
       support linking and unlinking relations, and also provides a
       method to obtain a list of all the relations in a relation group.
       In a relation group, there is no significance to the order in
       which relations are linked, unlike the order in which ports are
       linked to relations. Also, unlike links between relations and
       ports, there is no significance to multiple links between the same
       relations. Any two relations are either linked or not linked.
     * CheckModelSize: about:copyright facility has been extended
       so that model screen size and screen location are checked.
     * PtolemyPreferences: A preference system for UI related
       preferences, including:
          + preference to specify link bend radius
          + preference to specify relation size
          + preference to show parameters
     * WelcomeWindow, WelcomeWindowTableau: An alternative start
       up screen infrastructure.
     * AbstractCase, MultiCompositeActor, MultiCompositePort,
       Refinement, RefinementPort, CTCaseDirector,
       CTCase, CTRefinement, CaseGraphFrame,
       CaseGraphTableau, Case: Used by the Case facility.
     * TokenSentEvent, TokenSentListener: Two listeners created
       by Oscar Barney to help with Kepler.
     * DataflowWithRates, DDFFactory, DDF,
       DataflowWithRatesActorInterpreter: Caltrop work by Jörn W.
       Janneck, and Steve Neuendorffer
     * ASTPtUnionConstructNode, UnionType, UnionToken:
       Support for the Union type
     * Precision:
          + 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)
       FixPoint:
          + 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.
       Fixpoint and Precision work by Mike Wirthlin (Brigham Young
       University)
     * AbstractBranchController, BranchActor,
       ConditionalBranchActor, MultiwayBranchController: Support
       for CSP changes
     * HSDirector
     * HSFSMDirector
     * CachedSDFScheduler
     * IllegalOutputException, UnknownTokenException:
       Synchronous/Reactive rework
     * LibraryBuilder: Support for Kepler, added by Chad
       Berkeley.
     * Haiyang Zheng just enriched the exception handling capabilities in
       Ptolemy II... Currently, if you create an actor that implements
       the ExceptionHandler interface and put it into a model, then any
       exception that occurs when the model is executes gets delegated to
       that actor. The first such actor is a test actor that can be used
       to make regression tests that ensure that an exception is thrown.
     * ExecuteCommands, StreamExec: Code that executes
       subprocesses
     * DocEffigy, DocManager, DocTableau,
       CustomizeDocumentationAction, DocAttribute,
       DocViewerFactory, GetDocumentationAction,
       RemoveCustomDocumentationAction, ActorIndex
       NamedObjClassesSeen: Support for actor and model
       documentation
     * LinkManhattanConnector, PortConnectSite,
       PortTerminal, ActorNameIcon, NameIcon,
       VisibleAttribute, RotateOrFlipPorts: Vergil features
       such as controllable port orientation.
     * VergilInitializer: A class that may be called during startup.
     * New deadlock detection mechanism in process domains supporting
       multi-threaded actors
     * SDFDirector has a period parameter now, making it timed. and a
       synchronizeToRealTime parameters.
     * SDF scheduler runs faster
     * Workspace has wait(object, timeout) method, and DE uses it (some
       deadlocks prevented when using synchronizeToRealTime).
     * Miscellaneous user interface enhancements:
          + Decorative attributes properly go to background or foreground
          + Display name for parameters (need not match the name)
          + Multiport connections show ordering
          + Bus relations displayed better
          + Custom Icons can have a "dashArray" parameter, which creates
            dashed lines
     * Java compatibility:
       Ptolemy II can be compiled under Java 1.5.0_06 and Java 1.4.2_11.
       Java 1.5.0_06 is preferred though.

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.
     * The highlighting of classes and of inherited elements is now
       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
       quality...
     * Paste of relations not properly offset.


_Christopher

Christopher Brooks (cxh at eecs berkeley edu) University of California
Programmer/Analyst Chess/Ptolemy/Trust        US Mail: 558 Cory Hall #1774
ph: 510.643.9841 fax:510.642.2718             Berkeley, CA 94720-1774
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