[kepler-dev] ObjectToRecord related questions

Edward A. Lee eal at eecs.berkeley.edu
Mon Apr 2 18:05:56 PDT 2012


Ptolemy II is statically typed, so after a model is preinitialized,
the types of all ports must be known. The type system is described in
chapter 5 of this document:

http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-29.html

and also in this paper:

http://chess.eecs.berkeley.edu/pubs/665.html

For Record types, the most general record type is the empty record type.
That is, a record type {fieldName = double}, for example, is also
an instance of {}, the empty record type. Moreover, a record of
type {a = int, b = double} is also an instance of {a = int}.

So, for example, if you know that your output record will contain
a field named "a" of type "int", then you can force the output type
to be {a = int} (right click on the actor, select Configure Ports,
and enter "{a = int}" in the type field). As long as there is actually
such a field, in the record, this will work. But if you run the model
and there is no such field, I believe you will get a run-time type
error (which is probably what you want).

Edward


On 4/2/12 1:51 PM, Hogan, D. (GE Energy) wrote:
> I have an actor that uses the structure of a file generated at runtime
> to create an output record.  The actor is working, but I have a few
> questions on ObjectToRecord since it is similar.
>
> In ObjectToRecord, it does not change the type and lists it as fixme.
> The documentation for RecordType mentions using setTypeAtMost(new
> RecordType(new String[0], new Type[0])) when you want to specify a
> record without specifying the fields.  Should I use that?  Is there a
> better way to specify it is a record and the field names/types are
> discovered at runtime?  Since unknown matches that type constraint, what
> is the best way to handle this?
>
> ObjectToRecord doesn't try to convert between standard Java types and
> Ptolemy types.  I noticed there is a
> ptolemy.data.expr.ConversionUtilities, but it looks limited to the
> expression language needs.  Is there another conversion in Kepler?
>
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at kepler-project.org
> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eal.vcf
Type: text/x-vcard
Size: 330 bytes
Desc: not available
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20120402/960859e9/attachment.vcf>


More information about the Kepler-dev mailing list