[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