*banner
 

Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Christopher Brooks, Edward A. Lee

Citation
Christopher Brooks, Edward A. Lee. "Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java". Talk or presentation, 11, February, 2010; Poster presented at the 2010 Berkeley EECS Annual Research Symposium (BEARS).

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, 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. All 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. The type system is used to generate code by refining the types used in a model from general purpose code to compact, type-specific code.

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

Electronic downloads

Citation formats  
  • HTML
    Christopher Brooks, Edward A. Lee. <a
    href="http://chess.eecs.berkeley.edu/pubs/655.html"><i>Ptolemy
    II - Heterogeneous Concurrent Modeling and Design in
    Java</i></a>, Talk or presentation,  11,
    February, 2010; Poster presented at the 2010 <a
    href="http://www.eecs.berkeley.edu/BEARS"
    >Berkeley EECS Annual Research Symposium
    (BEARS)</a>.
  • Plain text
    Christopher Brooks, Edward A. Lee. "Ptolemy II -
    Heterogeneous Concurrent Modeling and Design in Java".
    Talk or presentation,  11, February, 2010; Poster presented
    at the 2010 <a
    href="http://www.eecs.berkeley.edu/BEARS"
    >Berkeley EECS Annual Research Symposium
    (BEARS)</a>.
  • BibTeX
    @presentation{BrooksLee10_PtolemyIIHeterogeneousConcurrentModelingDesignInJava,
        author = {Christopher Brooks and Edward A. Lee},
        title = {Ptolemy II - Heterogeneous Concurrent Modeling and
                  Design in Java},
        day = {11},
        month = {February},
        year = {2010},
        note = {Poster presented at the 2010 <a
                  href="http://www.eecs.berkeley.edu/BEARS"
                  >Berkeley EECS Annual Research Symposium
                  (BEARS)</a>.},
        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, 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. All 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). <p>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. <p>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. The type system
                  is used to generate code by refining the types
                  used in a model from general purpose code to
                  compact, type-specific code. <p>Ptolemy II is
                  available for download from
                  http://ptolemy.eecs.berkeley.edu/ptolemyII. },
        URL = {http://chess.eecs.berkeley.edu/pubs/655.html}
    }
    

Posted by Christopher Brooks on 10 Feb 2010.
Groups: ptolemy
For additional information, see the Publications FAQ or contact webmaster at chess eecs berkeley edu.

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.

©2002-2018 Chess