"Ptolemy II [1][6] 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
[2]. A hierarchical
combination of continuous-time models with state machines yields
hybrid systems [3]; a combination of synchronous/reactive with state
machines yields StateCharts [4] (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[5]. 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 [6]. Various experiments
with synthesis of implementation code and abstractions for
verification are included in the project
Current work in Ptolemy II is focusing on Accessors,
which are a technology for making the Internet of Things accessible to a
broader community of citizens, inventors, and service providers through
open interfaces, an open community of developers, and an open
repository of technology. Ptolemy II includes the Cape Code Accessor Host [7]"
http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm
No comments:
Post a Comment