[kepler-dev] Feedback on Actor Documentation Errors
cxh at eecs.berkeley.edu
Tue Mar 27 18:50:04 PDT 2007
Thanks, I've gone ahead and fixed that typo.
Please let us know as you find typos in the Ptolemy and Kepler classes.
You could send the Ptolemy class typos to me directly, but it is
probably worth cc'ing kepler-dev so that the devs know that it is
important to spel korectly. (Sorry)
I spend a certain amount of time fixing spelling errors, but syntax
problems will sneak through, so it is great to have a fresh set of
I have only recently joined this list (about two weeks ago). And, I've
been going through the Getting Started guide and will give feedback to
Kirsten (I'm about four days behind getting this done when I said).
Anyhow, after going over this in much more detail, I noticed that some
documentation in the Actor's have small typos. I recognize this is a
separate issue than the Getting Started Guide (which I hope to finish
Where do I report documentation errors in actors. For example, here is
an error I found in Exec (ptolemy.actor.lib.Exec). Actor is found in
Components | General Purpose | Unix Command | Command Line Exec. The
author is Christopher Hylands Brooks and Contributor is Edward A. Lee.
Notice that the words "get the" are repeated twice in error in the
Execute a command as a separately running subprocess. A command is a
single executable. To get the get the effect of executing a command
provided in a shell interpreter, you can set command to "cmd"
(Windows) or "sh" (Windows with Cygwin or Linux), and then provide
commands at the input port. Note that each command must be terminated
with a newline. For example, to open a model in vergil and run it, you
can set command to "sh" and use a Const actor to provide on the input
port the string:
"vergil -run model.xml\n exit\n"
This actor uses java.lang.Runtime.exec() to invoke a subprocess named
by the command parameter in a directory with an environment. Data from
the input port (if any) is passed to the input of the subprocess. The
subprocess is run until it exits and then contents of the output and
error streams of the subprocess (if any) are passed to the output and
If the subprocess generates no data on the output or error stream,
then the data on the corresponding port(s) will consist of the empty
A much more interesting actor could be written using a Kahn Process
Network. This actor would generate output asynchronously as the
process was executing.
Currently, there appears to be no way to get the subprocess to exit by
passing it input. For example, if the command is set to the cat
command, and we pass in a Const with the value \04, then the cat
subprocess does not interpret this as the end of file marker and exit.
For information about Runtime.exec(), see:
glen at glenjarvis.com
"You must be the change you wish to see in the world." -M. Gandhi
Kepler-dev mailing list
Kepler-dev at ecoinformatics.org
More information about the Kepler-dev