Features that were new in previous Ptolemy II releases

Major Features that were new in Ptolemy 3.0

  • Continuous Time (CT) domain rework for improved mixed signal and hybrid systems semantics (Jie Liu, Parc, and Haiyang Zheng).
  • Component Interaction Domain (Yang Zhao, Xiaojun Liu) - The CI domain models systems that contain both data-driven and demand-driven styles of computation.
  • Rework of FSM domain to support chained transitions and better hybrid systems semantics (Haiyang Zheng).
  • Expression language rework to create a full-featured, functional and higher-order expression language with extensive support for composite types such as matrices, arrays, and records; the expression language is also now fully integrated with the Ptolemy II type system (Steve Neuendorffer, Edward A. Lee).
  • Configurations have been reworked to make it much easier to create standalone tools that extract portions of the Ptolemy II infrastructure and have customized user interfaces, documentation, and actor and director libraries. Configurations have been refactored into separate directories in $PTII/ptolemy/configs, and one example of such a standalone tool, HyVisual, is provided.
  • Updates to Vergil, the user interface for building models (Steve Neuendorffer, Edward A. Lee, John Reekie):
  • Run buttons on the toolbar and hotkeys.
  • Persistent window sizing and placement.
  • Undo/Redo.
  • Port Parameters.
  • vergil -help lists available configurations.
  • Full-screen mode for use in presentations.
  • Other user interface improvements (Steve Neuendorffer, Edward A. Lee):
  • Interactive shells infrastructure.
  • An interactive expression shell using this infrastructure.
  • Infrastructure for specialized token viewers. Files with the extension .ptd are now opened by a token viewer. The default token viewers is a text editor, but others can be added in the configuration.
  • A matrix token viewer.
  • HSIF Support (Haiyang Zheng). The Hybrid System Interchange Format (HSIF), was developed by the Institute of Software Integrated Systems (ISIS) at Vanderbilt University as part of the ISIS MoBIES effort. The HSIF documentation states: "The goal of HSIF is to define an interchange format for hybrid system models that can be shared between modeling and analysis tools. HSIF models represent dynamic systems, whose dynamics includes both continuous and discrete behaviors." Haiyang Zheng developed a set of XSLT files that convert HSIF into MoML, the XML format used to represent Ptolemy II Models. See the HSIF/MoML documentation.
  • A first version of higher-order components, the MultiInstanceComposite actor (Zoltan Kemenczy and Sean Simmons, Research In Motion, Ltd.). This actor creates a parameterized number of instances of a composite actor.
  • Python integration, with a PythonScript actor that permits definition of actors in Python (Xiaojun Liu). This uses Jython, a Java implementation of Python.
  • Other Features that are new in Ptolemy II 3.0

    New Demonstrations

  • CI: Component Interaction
  • Router
  • CT: Continuous Time
  • Compared Clocks
  • Matlab Continuous Time Demonstration
  • HSIF Thermostat and Swimming Pool
    This example shows a simple thermostat modeled as a hybrid system. The purpose of the example is to demonstrate the ability that HyVisual has to import models defined in HSIF, the Hybrid System Interchange Format. To run HSIF models, you must invoke Ptolemy II with the -hyvisual command line argument or else run the HyVisual Web Edition. These models will not work in a standard Ptolemy II vergil or Web Edition because to support HSIF, we need to check xml each file to see if it is an HSIF file of a MoML file. This check slows Ptolemy II down slightly.
    See the HSIF/MoML documentation for details.
  • HSIF Swimming Pool.
    This example shows a simple hybrid system model of a pool.
  • Level Crossing Detector
  • Sampled Clocks
  • DE: Discrete Event
  • HOC DE (New in Ptolemy II 3.0.2)
  • FSM: Finite State Machine
  • Chained Transitions
  • Modal Binary Symmetric Channel
  • State Tracker
  • SDF: Synchronous Dataflow
  • DFT Subset
  • Fourier Series
  • Sound Spectrum
  • New Actors

    Changes between Ptolemy II 3.0.1 and 3.0.2

    Ptolemy II 3.0.1 was an interim release with a narrow distribution.
    The following changes occurred between 3.0.1 and 3.0.2

    Actors that were added between Ptolemy II 3.0.1 and 3.0.2

    ArrayMaximum
    (Mark Oliver) Extract maximum element from an array.
    ArrayMinimum
    (Mark Oliver, Edward A. Lee) Extract minimum element from an array.

    Enhancements between Ptolemy II 3.0.1 and 3.0.2

    $PTII/configure.in, $PTII/configure, $PTII/.classpath.in, $PTII/.eclipse.epf, $PTII/configs/FindClass.java
    Support for configuring Eclipse.

    Bug Fixes between Ptolemy II 3.0.1 and 3.0.2

    ptolemy/domains/sdf/lib/vq/ImageSequence.java
    Adjusted initial value of imageURLTemplate parameter
    ptolemy/domains/sdf/lib/Autocorrelation.java
    Can now handle complex data.
    lib/saxon7.jar Updated to 7.6.5 of Saxon. This was necessary to get both the HSIF demos and the Cal demos to work.
    ptolemy/vergil/actor/ActorEditorGraphController.java
    Under MacOS look and feel, use Command-Click to create new relations and drag new edges
    ptolemy/vergil/toolbox/PtolemyTransferable.java
    Under MacOS look and feel, change how we instantiate the DataFlavor so as to avoid a stack trace
    ptolemy/actor/gui/TextEffigy.java
    If the user tries to open a missing file, throw a better exception.

    Major Features that are new in Ptolemy 2.0

  • Modal Models (Xiaojun Liu, Edward A. Lee)
    A model model is one whose behavior depends on its "mode" of operation. A modal model in Ptolemy II is an FSM (finite state machine) combined hierarchically with other models. A state in the FSM represents a mode of operation, and can have a refinement that gives the behavior in that model. The refinement can be another FSM or some other model using some other Ptolemy domain. This example combines DE, FSM, and SDF to model a system where regularly sampled signals are perturbed by irregular events in time.
  • Code Generation (Primary Author: Stephen Neuendorffer, Contributor: Christopher Hylands)
    This release includes a limited prototype of our code generation facility that will generate .class files for non-hierarchical SDF models.
    Note that the code generator will not work in an applet, but will work with Web Start, the Windows installer and the standard configure and build.
  • ptolemy.data.unit - Units Demo (Primary Authors: Yuhong Xiong, Xiaojun Liu, Contributors: Winthrop Williams, Edward A. Lee)
    A major source of errors in embedded software is incorrect application of units. Yuhong Xiong and Xiaojun Liu have created a unit system for Ptolemy II that is quite clever. A suite of constants are defined, with names such as "meter", "cm", "feet", "miles", "seconds", "hours", and "days". In each unit category ("length" or "time" for example), there is a primary unit with respect to which all the others are specified. Thus, for example, if the primary unit of length is meters, then the expression "1.0 * cm" will have an internal value of 0.01 * meters. Compound units are specified by just multiplying and dividing, as in for example "1.0 * cm/second".

    The way this is realized is that these unit constants are tokens just like other Ptolemy II data, and multiplication and division are overloaded in the base classes for numeric valued tokens. We continue to work on this architecture to enable users to customize the unit system on a per-model basis.

  • Timed Multitasking Domain (Jie Liu) - an implementation of a model of computation based on priority-driven multitasking, as common in real-time operating systems (RTOSs), but with more deterministic behavior.
  • Synchronous/Reactive Domain: (Primary Author: Paul Whitaker, Contributors: Elaine Cheong, John Reekie)
  • Web Start (Christopher Hylands) - Ptolemy II includes support to build distributions using Sun's Web Start facility, which allows end users to download fully functional distributions via the web.
  • Vergil updates (Steve Neuendorffer, Edward A. Lee, John Reekie) Vergil has been improved and the following features have been added
  • Annotations - It is now much easier to annotate a model with text.
  • Parameters - The model can display top level parameter names and values
  • Snap to grid - It is now much easier to line up actors
  • Panner, zoom - The panner and zoom facilities make it easier to navigate large
  • Improved FSM editor
  • Animation - It is now possible to show which actors are firing when.
  • Better icons - Some icons such as Const, Scale and Expression will display their values.
  • Set data types of ports
  • Java Virtual Machine properties window - JVM Properties can be queried and garbage collection requested.
  • Documentation for setting CT signal types
  • See $PTII/doc/design/usingVergil/index.htm for more complete information
  • Other Features that are new in Ptolemy II 2.0

    New Demonstrations

  • CT: Continuous Time
  • Bouncing Ball (Requires Java 3D, see the GR domain) A Continuous Time model that uses a Finite State Machine and the GR domain to simulate a bouncing ball.
  • Car Tracking A following car tracking a leading car in an unreliable communication environment.
  • Switching Continuous Signals Shows how to handle hybrid systems with both continuous and discrete inputs and outputs.
  • Modal Thermostat A thermostat model where the refinements of the modes in the state machine are the same model.
  • Units A demonstration of the Units facility.
  • DE: Discrete Event
  • Modal Model This example combines DE, FSM, and SDF to model a system where regularly sampled signals are perturbed by irregular events in time.
  • FSM: Finite State Machines
  • Blending A blending controller with two major control modes.
  • Multiple Runs A state machine performs multiple runs of the refinement of mode1.
  • Giotto: Synchronous Periodic Systems
  • Composite A composite demo with a Giotto model embedded in a DE model.
  • GR: 3-D graphics (experimental)
  • FurutaPendulum The Furuta pendulum has a motor controlling the angle of an arm, from which a free-swinging pendulum hangs. The objective is to swing the pendulum up and then balance it.
  • SDF: Synchronous Dataflow
  • LMSAdaptive An adaptive filter.
  • MaximumEntropySpectrum A spectral estimation example.
  • SR: Synchronous/Reactive (experimental)
  • TokenRing A cyclic token-ring arbiter composed of three blocks.
  • TM: Timed Multitasking (experimental).
  • Controllers Two (independent) control loops whose controllers share the same CPU.
  • FFT This model shows the use of background process for long running tasks in the TM domain.
  • MergedEvents
  • SimpleTasks This model shows two independent tasks on a single CPU machine.
  • New Actors

    Major Features that were new in Ptolemy II 1.0.1

  • Vergil - the Ptolemy II GUI (Steve Neuendorffer and Edward A. Lee)
  • Giotto Domain (Christoph M. Kirsch, Benjamin Horowitz, Thomas A. Henzinger)
  • Java 3D Domain (GR Domain) (Chamberlain Fong)
  • Discrete Time Domain (Chamberlain Fong)
  • CORBA/Jini work (Jie Liu)
  • Other Features that were new in Ptolemy II 1.0.1

    Last Updated: $Date: 2004/04/30 00:23:19 $