Tour of What's New in Version 10.0.1_20141217

See also What's New in other versions or the Complete List of Ptolemy II Demos.

Contents:

Highlights

Ptolemy II 10.0 is the first complete release since Ptolemy II 8.0 and thus includes many changes.

The key driving force for the release is to be a companion to the Ptolemy Book:
Claudius Ptolemaeus, Editor, "System Design, Modeling, and Simulation Using Ptolemy II", Ptolemy.org, 2014. (included in the release as $PTII/doc/books/systems/PtolemyII_DigitalV1_02.pdf, but not present in the SVN developer tree.)

Below are the highlights of this release.

Ontologies

The Ptolemy II Ontologies package extends the Ptolemy II type inference engine to provide an efficient and scalable framework for general static analysis of arbitrary properties on a Ptolemy model. The framework supports properties that are specified as concepts in an ontology graph that must be structured as a lattice. The usefulness of this framework is demonstrated with an example of a physical dimensions ontology. This ontology labels different signals as representing acceleration, velocity, position, and time. In a Ptolemy model of physical dynamics, the dimensional properties of input and output signals can be automatically inferred using the ontology analysis. Ptolemy model developers can use the ontologies package to define their own ontologies for structural and semantic property analysis. This can prevent interface connection problems during model construction by identifying when incompatible signals are erroneously connected. This work draws on concepts from compiler optimization static analysis techniques and applies them to Ptolemy actor-oriented models.

References

Ontologies Demonstrations

Export to Web

Ptolemy II includes a flexible mechanism for creating web pages from models and for building web services. The more basic mechanism is the export to web , which simply makes a model available as a web page for browsing using a web browser. Such a web page provides easy access and documentation for models that archives both the structure of the models and the results of executing the models. It can be used to share information about models or their execution without requiring installation of any software, since an ordinary web browser is sufficient. More interestingly, the mechanism is extensible and customizable, allowing for creation of fairly sophisticated web pages. You can associate hyperlinks or actions defined in JavaScript with icons in a model. The customization can be done for individual icons in a model or for sets of icons in a model.

References

CG Code Generator

Ptolemy II 10.0 includes the "cg" code generator at $PTII/ptolemy/cg.

We took the lessons learned from $PTII/ptolemy/codegen and applied them to cg. In particular, cg more easily supports multiple backends with less code duplication. The cg code generator is under active development, we are working on code generation for large systems. For details about cg, see $PTII/ptolemy/cg/README.html.

Developers: Christopher Brooks, Dai Bui, Bert Rodiers, Stavros Tripakis

Resources

Code Generation (CG) Demonstrations

FSM/Modal Model updates

References

ModalDemonstrations

New demonstrations

Building Controls Virtual Test Bed (BCVTB)

Building Controls Virtual Test Bed (BCVTB) demos:

Electric Power System (EPS)

Fuel System

Office Space

Probabilistic Models

Ptango (Internet of Things)

Ptango is a project between Bosch and UC Berkeley that involves the Internet of Things (IoT).

The Internet of Things is the idea that everyday objects are uniquely addressable and have a representation in a structure similar to the Internet.

Comparing and contrasting IoT with Cyber-physical Systems (CPS) is useful. The key thing with CPS is the interaction between the dynamics of the physical world and the dynamics of software and networks. The focus of IoT is on the information flow between physical devices and network services. In the Cyber-Physical Systems Concept Map, IoT overlaps with wireless sensing and actuating, though IoT is not necessarily wireless.

The name "Ptango" refers to the fact that with the Internet of Things, it takes more than two to tango.

The research goal of Ptango is to invent a Model of Computation (MoC) for the Internet of Things that assigns operational semantics to the composition of Things.

Applications and features of interest include:

Ptango is using Representational state transfer (RESTful) interfaces like http, which is stateless, where all the state is carried in the request and reply. Via RESTful interfaces, our work is focusing on a subset of IoT known as the Web of Things.

See also the Complete Demonstrations page.

Models of Computation

Cellular Automata (CA)

Continuous

Discrete Event (DE)

Petrinet

Pthales

Ptides

Synchronous Dataflow

Task

Actor Demonstrations

Graph Transformation (GT)

Functional Mockup Interface (FMI)

Input Output Actors

JavaScript

The JavaScript actor executes a script that can read inputs and parameters, perform calculations, and write outputs.

Python

Other Key New Capabilities

New and Enhanced Actor Libraries

Additional Features

Aspect-Oriented Modeling

HandSimDroid

In 2011, the HandSimDroid project developed a prototype that allows Ptolemy models to run under Android. Students from CMU (Anar Huseynov, Justin Killian, Ishwinder Singh) worked with Bosch researchers (Elizabeth Latronico, Charles Shelton) and Berkeley researchers to re-architect a portion of Ptolemy II so that models could run on a server and be displayed on a low-powered handset. The code for this effort is in

JavaScript

The JavaScript actor executes a script that can read inputs and parameters, perform calculates and write outputs.

JSON conversion and Backward Type Inference

Wikipedia defines JSON as "JSON ... or JavaScript Object Notation, is an open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is used primarily to transmit data between a server and web application, as an alternative to XML".

The JSON conversion actors convert between JSON and Ptolemy Tokens. As the type of the JSON input is not always known in advance, the notion of backward type conversion has been added to Ptolemy II by Marten Lohstroh.

To enable backward type conversion in Vergil, right click on the canvas, select Customize, then Configure, then check the enableBackwardTypeInference box.

PDFAttribute

PDFAttribute to the Utilities->Decorative library in Vergil that allows you to include PDF in a Vergil diagram.

PDFAttribute can be used to include Latex-formatted equations in Vergil diagrams, and get full print resolution when printing to PDF for use in papers, books, etc.

PDFAttribute uses uses pdf-renderer, obtainable from https://pdf-renderer.dev.java.net/. This is a LGPL'd open source product from Sun.

To use PDFAttribute and create equations, we use LatexIt (see http://www.apple.com/downloads/macosx/math_science/latexit.html) for the Mac version) From LatexIt, we can create a PDF file with an equation.

Then drag into my Vergil diagram a PDFAttribute, or select Edit Custom Icon and drag in a PDFIcon. Double click on that to select the PDF file.

Other new classes

Works in Progress

Bug fixes

For the current list of bugs, see Ptolemy II Bugs
and Kepler Bugs.

A few features and classes were removed outright.

$PTII/ptolemy/codegen
Use $PTII/ptolemy/cg instead.