Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactored instantiation of States and Projections (#494)
* • System - implement multiple ControlMechanism for System - identify Terminal Mechanism when there are control-related ObjectiveMechanisms * • System - implement multiple ControlMechanism for System - identify Terminal Mechanism when there are control-related ObjectiveMechanisms * • ObjectiveMechanism, ControlMechanism - _instantiate_monotired_states(): added option to include matrix specification to monitored_output_states tuple for projection to ObjectiveMechanism's input_state(s) from monitored_output_state(s) * • ObjectiveMechanism, ControlMechanism - _instantiate_monotired_states(): added option to include matrix specification to monitored_output_states tuple for projection to ObjectiveMechanism's input_state(s) from monitored_output_state(s) * • Library - renamed Subystems to Compositions - added Models - added GilzenratModel as example * • Mechanism - updated Mechanism_States_fig and caption * • State - refactored _parse_state_spec to call State subclass for parsing of class-specific specifications • InputState - added _parse_state_specific_dict_entries * - * - * - * - * - * - * - * - * - * - * - * - * - * • Projection (and subclasses) - added weight and exponent attributes * - * • Projection - moved _parse_connection_specs from State to here and renamed as _parse_projection_specs; refactored it as a filter on the constructor to a projection (allowing for state-specific formats for the call (i.e., State specification tuples) - instantiates any projections that have not yet been, allowing any that are not yet fully specified to be assigned deferred_init status * • Projection - moved _parse_connection_specs from State to here and renamed as _parse_projection_specs; refactored it as a filter on the constructor to a projection (allowing for state-specific formats for the call (i.e., State specification tuples) - instantiates any projections that have not yet been, allowing any that are not yet fully specified to be assigned deferred_init status * - * - * - * - * - * - * - * - * - * - * - * - * - * - * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into refactor/Projections/_parse_connection_specs # Conflicts: # PsyNeuLink/Components/Mechanisms/AdaptiveMechanisms/ControlMechanism/ControlMechanism.py # PsyNeuLink/Components/Projections/ModulatoryProjections/LearningProjection.py # PsyNeuLink/Components/Projections/PathwayProjections/MappingProjection.py # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/ControlMechanisms/LCMechanism.py * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into refactor/Projections/_parse_connection_specs # Conflicts: # PsyNeuLink/Components/Mechanisms/AdaptiveMechanisms/ControlMechanism/ControlMechanism.py # PsyNeuLink/Components/Projections/ModulatoryProjections/LearningProjection.py # PsyNeuLink/Components/Projections/PathwayProjections/MappingProjection.py # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/ControlMechanisms/LCMechanism.py * • Refactor parsing of State and Projection * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * - * - * - * - * - * - * - * - * - * - * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * - * - * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * Merge branch 'TEMP' into refactor/State_and_Projection/specification # Conflicts: # PsyNeuLink/Components/States/State.py * • System • ControlMechanism • ControlSignal - copied from old version * • System • ControlMechanism • ControlSignal - copied from old version * • System • ControlMechanism • ControlSignal - copied from old version * • System • ControlMechanism • ControlSignal - copied from old version * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * - Version diverged from merge with new devel: Only changes are to ControlMechanism and ControlSignal * • TEST SCRIPTS: - Added EVC System Gratton Validation Test Script * • TEST SCRIPTS: - Added EVC System Gratton Validation Test Script * - EVC scripts working - Gating script still failing test * - Gating script now just failing test on Function Error * • TEST SCRIPTS: - Added EVC System Gratton Validation Test Script * • TEST SCRIPTS: - Added EVC System Gratton Validation Test Script * • TEST SCRIPTS: Added Gating Mechanism Test Script to TEST SCRIPTS * - * - * - * - * - * - * - * - * • Passes all tests * • GatingMechanism - _instantiate_gating_signal: refactoring to match _instantiate_control_signal * • GatingMechanism - _instantiate_gating_signal: refactoring to match _instantiate_control_signal * • GatingMechanism - _instantiate_gating_signal: refactoring to match _instantiate_control_signal * • GatingMechanism - _instantiate_gating_signal: refactoring to match _instantiate_control_signal * - * - * - * - * - * - * - * - * - * - * - * - * Merge branches 'devel' and 'feat/RecurrentTransferMechanism/add_learning' of https://github.com/PrincetonUniversity/PsyNeuLink into feat/RecurrentTransferMechanism/add_learning # Conflicts: # PsyNeuLink/Library/Mechanisms/AdaptiveMechanisms/LearningMechanisms/AutoAssociativeLearningMechanism.py # PsyNeuLink/Library/Mechanisms/ProcessingMechanisms/TransferMechanisms/RecurrentTransferMechanism.py # Scripts/Scratch Pad.py * - * • TEST SCRIPTS: Added Gating Mechanism Test Script to TEST SCRIPTS * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * • LearningMechanism, ControlMechanism, GatingMechanism: - _instantiate_output_states: all now use this to instantiate ModulatorySignals - _instantiate_XXX_signal: all deleted - all now use _parse_state_specs and _parse_connecion_specs, and _parse_projection_specs * • LearningMechanism, ControlMechanism, GatingMechanism: - _instantiate_output_states: all now use this to instantiate ModulatorySignals - _instantiate_XXX_signal: all deleted - all now use _parse_state_specs and _parse_connecion_specs, and _parse_projection_specs
- Loading branch information