[kepler-dev] Changes in Type System Between Kepler 2.3 and 2.4

Scott Zimmer szimmer at optensity.com
Wed Jan 8 09:46:54 PST 2014


I've attached a simple model that worked in Kepler 2.3 and does not work 
in 2.4 or the trunk. The stack trace of the error is below. I can make 
the model work by either
1.  inserting a constraint into the constructor for 
ptolemy.domains.sdf.lib.Repeat as follows: output.setTypeAtLeast(input)
or
2.  configuring the output port of the Repeat actor and setting its type 
to object.

I am not really interested in just fixing this workflow, I am interested 
in understanding what changed between Kepler 2.3 and 2.4 that introduces 
the exception and whether this is expected behavior.  It seems to me 
that the _defaultTypeConstraints() for the TypedAtomicActor is still 
setting an inequality constraint for any TypedAtomicActors ports 
combinations where neither the input nor the output has its type set.  
This inequality constraint appears to require the output type to be 
greater than or equal to the types of any input ports as long as neither 
port type has been set.

I don't see how the output port of repeat ever gets set to general. For 
what it's worth, I don't see the same problems if I pass another type 
through the Repeat actor.  The output type is set to the type of the 
input and the workflow executes correctly.  I only see the problem when 
I pass an object token through the Repeat actor.   I'd appreciate any 
insight you can provide.

Thanks,
Scott

ptolemy.actor.TypeConflictException: Type conflicts occurred in 
.RepeatTypeCheck on the following inequalities:
   (port .RepeatTypeCheck.Repeat.output: general) <= (port 
.RepeatTypeCheck.Image Display.input: object(null))

     at 
ptolemy.actor.TypedCompositeActor.resolveTypes(TypedCompositeActor.java:401)
     at ptolemy.actor.Manager.resolveTypes(Manager.java:1151)
     at ptolemy.actor.Manager.preinitializeAndResolveTypes(Manager.java:987)
     at ptolemy.actor.Manager.initialize(Manager.java:661)
     at ptolemy.actor.Manager.execute(Manager.java:340)
     at ptolemy.actor.Manager.run(Manager.java:1202)
     at ptolemy.actor.Manager$PtolemyRunThread.run(Manager.java:1760)

-- 
Scott Zimmer
szimmer at optensity.com
512-299-7218

-------------- next part --------------
A non-text attachment was scrubbed...
Name: RepeatTypeCheck.xml
Type: text/xml
Size: 24383 bytes
Desc: not available
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20140108/f823389f/attachment-0001.xml>


More information about the Kepler-dev mailing list