[kepler-dev] Type system changes

Christopher Brooks cxh at eecs.berkeley.edu
Tue Jun 19 15:49:22 PDT 2012


After consultation with Edward, Marten Lohstroh checked in a significant 
change to the
Ptolemy II type system:
> This means that actors like JSONToToken no longer need to declare 
> their output type,
> since those types will be inferred from the inputs of downstream
> actors.
In addition a number of methods now have generic declarations.

Ptolemy II compiles for me, and we are working on one problem with Kepler:

> [compile] 
> /Users/cxh/src/kepler/actors/src/org/sdm/spa/ArrayPermute.java:268: 
> typeConstraints() in org.sdm.spa.ArrayPermute cannot override 
> typeConstraints() in ptolemy.actor.TypedA\
> tomicActor; overridden method is final
>   [compile]     public Set<Inequality> typeConstraints() {
>   [compile]                            ^

There are problems in cg and codegen, I'll address those shortly.

The changed files are:
> Added:
>     trunk/ptolemy/actor/util/ConstructAssociativeType.java
>     trunk/ptolemy/actor/util/ExtractFieldType.java
>     trunk/ptolemy/actor/util/GLBFunction.java
>     trunk/ptolemy/data/type/AssociativeType.java
> Removed:

>     trunk/ptolemy/actor/lib/conversions/json/JSONToRecord.java
> Modified:

>     trunk/ptdb/gui/ArrayModelList.java
>     trunk/ptolemy/actor/Actor.java
>     trunk/ptolemy/actor/AtomicActor.java
>     trunk/ptolemy/actor/IOPort.java
>     trunk/ptolemy/actor/TypedAtomicActor.java
>     trunk/ptolemy/actor/TypedCompositeActor.java
>     trunk/ptolemy/actor/gt/test/auto/DiningPhilosophers.xml
>     trunk/ptolemy/actor/gui/test/UserActorLibrary.tcl
>     trunk/ptolemy/actor/gui/test/_Configuration.tcl
>     trunk/ptolemy/actor/lib/AbsoluteValue.java
>     trunk/ptolemy/actor/lib/ArrayToElements.java
>     trunk/ptolemy/actor/lib/BusDisassembler.java
>     trunk/ptolemy/actor/lib/RecordAssembler.java
>     trunk/ptolemy/actor/lib/RecordDisassembler.java
>     trunk/ptolemy/actor/lib/RecordUpdater.java
>     trunk/ptolemy/actor/lib/SetVariable.java
>     trunk/ptolemy/actor/lib/UnionDisassembler.java
>     trunk/ptolemy/actor/lib/conversions/json/JSONToToken.java
>     trunk/ptolemy/actor/lib/fmi/test/FMUImport.tcl
>     trunk/ptolemy/actor/lib/hoc/IterateOverArray.java
>     trunk/ptolemy/actor/lib/hoc/test/auto/IterateOverArray.xml
>     trunk/ptolemy/actor/lib/io/TokenReader.java
>     trunk/ptolemy/actor/lib/python/test/PythonScript.tcl
>     trunk/ptolemy/actor/lib/test/Maximum.tcl
>     trunk/ptolemy/actor/lib/test/Minimum.tcl
>     trunk/ptolemy/actor/lib/test/PublisherSubscriber2class.xml
>     trunk/ptolemy/actor/lib/test/RecordDisassembler.tcl
>     trunk/ptolemy/actor/lib/test/Test.tcl
>     trunk/ptolemy/actor/lib/test/UnionDisassembler.tcl
>     trunk/ptolemy/actor/lib/test/auto/array2.xml
>     trunk/ptolemy/actor/lib/test/auto/cast.xml
>     trunk/ptolemy/actor/parameters/SharedParameter.java
>     trunk/ptolemy/actor/parameters/test/ParameterSetModel.tcl
>     trunk/ptolemy/actor/ptalon/PtalonPopulator.java
>     trunk/ptolemy/actor/ptalon/PtalonPopulatorTokenTypes.java
>     trunk/ptolemy/actor/test/IOPort.tcl
>     trunk/ptolemy/actor/test/LazyTypedCompositeActor.tcl
>     trunk/ptolemy/actor/test/Manager.tcl
>     trunk/ptolemy/actor/util/test/ConstVariableModelAnalysis.tcl
>     trunk/ptolemy/component/test/NCApplication.xml
>     trunk/ptolemy/configs/doc/completeDemosBcvtb.htm
>     trunk/ptolemy/data/type/RecordType.java
>     trunk/ptolemy/data/type/UnionType.java
>     trunk/ptolemy/domains/continuous/lib/ZeroOrderHold.java
>     trunk/ptolemy/domains/ddf/lib/test/ActorRecursion.tcl
>     trunk/ptolemy/domains/de/lib/MostRecent.java
>     trunk/ptolemy/domains/de/lib/Previous.java
>     trunk/ptolemy/domains/de/lib/UnionMerge.java
>     trunk/ptolemy/domains/fsm/kernel/test/FSM-ConstVariableModelAnalysis.tcl
>     trunk/ptolemy/domains/fsm/kernel/test/Transition.tcl
>     trunk/ptolemy/domains/fsm/modal/test/ModalModel.tcl
>     trunk/ptolemy/domains/modal/kernel/test/FSM-ConstVariableModelAnalysis.tcl
>     trunk/ptolemy/domains/modal/kernel/test/Transition.tcl
>     trunk/ptolemy/domains/modal/modal/test/ModalModel.tcl
>     trunk/ptolemy/domains/pthales/lib/PthalesGenericActor.java
>     trunk/ptolemy/domains/ptides/kernel/PtidesBasicDirector.java
>     trunk/ptolemy/domains/ptides/lib/ActuatorSetup.java
>     trunk/ptolemy/domains/ptides/lib/MasterClock.java
>     trunk/ptolemy/domains/ptides/lib/NetworkReceiver.java
>     trunk/ptolemy/domains/ptides/lib/NetworkTransmitter.java
>     trunk/ptolemy/domains/ptides/lib/RealisticSlaveClock.java
>     trunk/ptolemy/domains/ptides/lib/SensorHandler.java
>     trunk/ptolemy/domains/ptides/lib/SlaveClock.java
>     trunk/ptolemy/domains/ptides/lib/io/NetworkReceiverPort.java
>     trunk/ptolemy/domains/ptides/lib/qm/TCPPacketReceiver.java
>     trunk/ptolemy/domains/ptides/lib/qm/TCPPacketTransmitter.java
>     trunk/ptolemy/domains/sdf/demo/Butterfly/Butterfly.xml
>     trunk/ptolemy/domains/sdf/lib/ArrayToSequence.java
>     trunk/ptolemy/domains/sdf/lib/FIR.java
>     trunk/ptolemy/domains/sdf/test/auto/typeSystem_oneDeclaredInportType_wrongTypeOutport.xml
>     trunk/ptolemy/domains/space/demo/DOPCenter/DOPCenter.png
>     trunk/ptolemy/domains/space/demo/DOPCenter/DOPCenter.xml
>     trunk/ptolemy/domains/sr/lib/InstantaneousDialogGenerator.java
>     trunk/ptolemy/domains/sr/lib/NonStrictDelay.java
>     trunk/ptolemy/domains/sr/lib/Pre.java
>     trunk/ptolemy/domains/wireless/lib/GetProperties.java
>     trunk/ptolemy/domains/wireless/lib/tinyOS/VirtualTinyOS.java
>     trunk/ptolemy/kernel/ComponentEntity.java
>     trunk/ptolemy/kernel/Entity.java
>     trunk/ptolemy/moml/filter/test/AddEditorFactory.tcl
>     trunk/ptolemy/moml/filter/test/AddIcon.tcl
>     trunk/ptolemy/moml/filter/test/BackwardCompatibility.tcl
>     trunk/ptolemy/moml/filter/test/LazyTypedCompositeActorChanges.tcl
>     trunk/ptolemy/moml/filter/test/MultiportToSinglePort.tcl
>     trunk/ptolemy/moml/filter/test/PropertyClassChanges.tcl
>     trunk/ptolemy/moml/filter/test/RelationWidthChanges.tcl
>     trunk/ptolemy/moml/filter/test/RemoveClasses.tcl
>     trunk/ptolemy/moml/filter/test/RemoveGraphicalClasses.tcl
>     trunk/ptolemy/moml/test/Documentation.tcl
>     trunk/ptolemy/moml/test/MoMLChangeRequest.tcl
>     trunk/ptolemy/moml/test/MoMLParser.tcl
>     trunk/ptolemy/moml/test/MoMLUndoChangeRequest.tcl
>     trunk/ptolemy/moml/test/MoMLVariableChecker.tcl
>     trunk/ptolemy/moml/test/UndoDeleteEntity.tcl
>     trunk/ptolemy/moml/test/UndoDeletePort.tcl
>     trunk/ptolemy/moml/test/UndoDeleteProperty.tcl
>     trunk/ptolemy/moml/test/UndoDeleteRelation.tcl
>     trunk/ptolemy/moml/test/UndoDoc.tcl
>     trunk/ptolemy/moml/test/UndoEntity.tcl
>     trunk/ptolemy/moml/test/UndoLink.tcl
>     trunk/ptolemy/moml/test/UndoPort.tcl
>     trunk/ptolemy/moml/test/UndoProperty.tcl
>     trunk/ptolemy/moml/test/UndoRelation.tcl
>     trunk/ptolemy/moml/test/UndoRename.tcl
>     trunk/ptolemy/moml/test/UndoUnlink.tcl
>     trunk/ptolemy/moml/test/UndoVertex.tcl
>     trunk/ptolemy/moml/test/_aJVMBug.tcl
>     trunk/ptolemy/moml/test/parseMoML.tcl
>     trunk/ptolemy/vergil/basic/test/KeplerDocumentationAttribute.tcl
>     trunk/ptolemy/vergil/kernel/attributes/test/UpdateAnnotations.tcl
>     trunk/ptserver/util/ServerUtility.java


Many thanks to Marten for taking on this big project and completing it 
successfully!

_Christopher

-- 
Christopher Brooks, PMP                       University of California
CHESS Executive Director                      US Mail: 337 Cory Hall
Programmer/Analyst CHESS/Ptolemy/Trust        Berkeley, CA 94720-1774
ph: 510.643.9841                                (Office: 545Q Cory)
home: (F-Tu) 707.665.0131 cell: 707.332.0670



More information about the Kepler-dev mailing list