Contents:
Patricia Derler, Chris Shaver, and Edward Lee have developed a starting point for a much smarter way of handling arrays in dataflow models...
In particular, there is now in the Array library an ArrayUpdate actor, whose output is the same array as its input except that one element is replaced with a new value. Please try it out for the radar model.
The key here is that this is done efficiently for large arrays. The input array does not get copied. Instead, the output array references the input array and encodes the diff. The input array is unchanged, and hence may be used safely by other actors to which it is destined without introducing nondeterminacy.
This is only a starting point because there are many other array operations that should be similarly encoded as diffs. There is a bit of work to be done here, and we need to make sure to be measuring performance effects.
The current implementation has the interesting property that makes copying arrays unnecessary most of the time. However, it has the unfortunate side effect of making copying arrays more expensive (we can no longer use the low-level System.arraycopy() mechanism in Java). It would be interesting to do a systematic performance evaluation of this. I believe that if we combine this method with a PN director and a manycore machine, that we might get good utilization of parallelism on the machine.
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.