Ptolemy Tutorial, Part 1
Edward A. Lee

Citation
Edward A. Lee. "Ptolemy Tutorial, Part 1". Tutorial, 27, March, 2013.

Abstract
Ptolemy II is an open-source software framework supporting experimentation with actor-oriented design. Actors are software components that execute concurrently and communicate through messages sent via interconnected ports. A model is a hierarchical interconnection of actors. In Ptolemy II, the semantics of a model is not determined by the framework, but rather by a software component in the model called a director, which implements a model of computation. The Ptolemy Project has developed directors supporting process networks (PN), discrete-events (DE), dataflow (SDF), synchronous/reactive (SR), rendezvous-based models, 3-D visualization, and continuous-time models. Each level of the hierarchy in a model can have its own director, and distinct directors can be composed hierarchically. A major emphasis of the project has been on understanding the heterogeneous combinations of models of computation realized by these directors. Directors can be combined hierarchically with state machines to make modal models. A hierarchical combination of continuous-time models with state machines yields hybrid systems; a combination of synchronous/reactive with state machines yields StateCharts (the Ptolemy II variant is close to SyncCharts). Ptolemy II has been under development since 1996; it is a successor to Ptolemy Classic, which was developed since 1990. The core of Ptolemy II is a collection of Java classes and packages, layered to provide increasingly specific capabilities. The kernel supports an abstract syntax, a hierarchical structure of entities with ports and interconnections. A graphical editor called Vergil supports visual editing of this abstract syntax. An XML concrete syntax called MoML provides a persistent file format for the models. Various specialized tools have been created from this framework, including HyVisual (for hybrid systems modeling), Kepler (for scientific workflows), VisualSense (for modeling and simulation of wireless networks), Viptos (for sensor network design), and some commercial products. Key parts of the infrastructure include an actor abstract semantics, which enables the interoperability of distinct models of computation with a well-defined semantics; a model of time (specifically, super-dense time, which enables interaction of continuous dynamics and imperative logic); and a sophisticated type system supporting type checking, type inference, and polymorphism. The type system has recently been extended to support user-defined ontologies. Various experiments with synthesis of implementation code and abstractions for verification are included in the project.

Electronic downloads


Internal. This publication has been marked by the author for TerraSwarm-only distribution, so electronic downloads are not available without logging in.
Citation formats  
  • HTML
    Edward A. Lee. <a
    href="http://www.terraswarm.org/pubs/46.html"
    ><i>Ptolemy Tutorial, Part 1</i></a>,
    Tutorial,  27, March, 2013.
  • Plain text
    Edward A. Lee. "Ptolemy Tutorial, Part 1".
    Tutorial,  27, March, 2013.
  • BibTeX
    @tutorial{Lee13_PtolemyTutorialPart1,
        author = {Edward A. Lee},
        title = {Ptolemy Tutorial, Part 1},
        day = {27},
        month = {March},
        year = {2013},
        abstract = {Ptolemy II is an open-source software framework
                  supporting experimentation with actor-oriented
                  design. Actors are software components that
                  execute concurrently and communicate through
                  messages sent via interconnected ports. A model is
                  a hierarchical interconnection of actors. In
                  Ptolemy II, the semantics of a model is not
                  determined by the framework, but rather by a
                  software component in the model called a director,
                  which implements a model of computation. The
                  Ptolemy Project has developed directors supporting
                  process networks (PN), discrete-events (DE),
                  dataflow (SDF), synchronous/reactive (SR),
                  rendezvous-based models, 3-D visualization, and
                  continuous-time models. Each level of the
                  hierarchy in a model can have its own director,
                  and distinct directors can be composed
                  hierarchically. A major emphasis of the project
                  has been on understanding the heterogeneous
                  combinations of models of computation realized by
                  these directors. Directors can be combined
                  hierarchically with state machines to make modal
                  models. A hierarchical combination of
                  continuous-time models with state machines yields
                  hybrid systems; a combination of
                  synchronous/reactive with state machines yields
                  StateCharts (the Ptolemy II variant is close to
                  SyncCharts). Ptolemy II has been under development
                  since 1996; it is a successor to Ptolemy Classic,
                  which was developed since 1990. The core of
                  Ptolemy II is a collection of Java classes and
                  packages, layered to provide increasingly specific
                  capabilities. The kernel supports an abstract
                  syntax, a hierarchical structure of entities with
                  ports and interconnections. A graphical editor
                  called Vergil supports visual editing of this
                  abstract syntax. An XML concrete syntax called
                  MoML provides a persistent file format for the
                  models. Various specialized tools have been
                  created from this framework, including HyVisual
                  (for hybrid systems modeling), Kepler (for
                  scientific workflows), VisualSense (for modeling
                  and simulation of wireless networks), Viptos (for
                  sensor network design), and some commercial
                  products. Key parts of the infrastructure include
                  an actor abstract semantics, which enables the
                  interoperability of distinct models of computation
                  with a well-defined semantics; a model of time
                  (specifically, super-dense time, which enables
                  interaction of continuous dynamics and imperative
                  logic); and a sophisticated type system supporting
                  type checking, type inference, and polymorphism.
                  The type system has recently been extended to
                  support user-defined ontologies. Various
                  experiments with synthesis of implementation code
                  and abstractions for verification are included in
                  the project.},
        URL = {http://terraswarm.org/pubs/46.html}
    }
    

Posted by Paul Lim on 8 Apr 2013.

Notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright.