From 2f5f30c08257481131710fc3d4dfdd75dddd6b75 Mon Sep 17 00:00:00 2001 From: DimitriPlotnikov Date: Tue, 29 Nov 2016 08:28:52 +0100 Subject: [PATCH 1/3] Prepare release version. Renamings: internal -> internals, parameter -> parameters, record -> recordable Remove: the keyword suppress --- models/aeif_cond_alpha.nestml | 4 ++-- models/aeif_cond_alpha_implicit.nestml | 4 ++-- models/aeif_cond_exp.nestml | 4 ++-- models/aeif_cond_exp_implicit.nestml | 4 ++-- models/hh_cond_exp_traub.nestml | 4 ++-- models/hh_cond_exp_traub_implicit.nestml | 4 ++-- models/hh_psc_alpha.nestml | 4 ++-- models/hh_psc_alpha_implicit.nestml | 4 ++-- models/ht_neuron.nestml | 12 +++++----- models/iaf_chxk_2008_implicit.nestml | 4 ++-- models/iaf_cond_alpha.nestml | 4 ++-- models/iaf_cond_alpha_implicit.nestml | 4 ++-- models/iaf_cond_beta.nestml | 4 ++-- models/iaf_cond_exp.nestml | 4 ++-- models/iaf_cond_exp_implicit.nestml | 4 ++-- models/iaf_cond_exp_sfa_rr_implicit.nestml | 4 ++-- models/iaf_neuron.nestml | 4 ++-- models/iaf_psc_alpha.nestml | 4 ++-- models/iaf_psc_alpha_multisynapse.nestml | 4 ++-- models/iaf_psc_delta.nestml | 4 ++-- models/iaf_psc_exp.nestml | 4 ++-- models/iaf_psc_exp_multisynapse.nestml | 4 ++-- models/iaf_tum_2000.nestml | 4 ++-- models/izhikevich.nestml | 2 +- models/mat2_psc_exp.nestml | 4 ++-- models/terub_neuron_gpe.nestml | 4 ++-- models/terub_neuron_stn.nestml | 4 ++-- pom.xml | 2 +- src/main/grammars/org/nest/NESTML.mc4 | 4 ++-- src/main/grammars/org/nest/ODE.mc4 | 2 +- .../NESTStateBlockReferenceConverter.java | 2 +- .../java/org/nest/nestml/_ast/ASTBody.java | 20 ++++++++-------- .../NESTMLSymbolTableCreator.java | 24 ++++++++----------- .../prettyprinter/NESTMLPrettyPrinter.java | 24 ++++++++----------- .../symboltable/symbols/VariableSymbol.java | 4 ++-- .../nestml/_cocos/NestmlCoCosManagerTest.java | 1 - .../NESTMLSymbolTableCreatorTest.java | 2 +- .../cli_unparsable/cli_example.nestml | 4 ++-- .../codegeneration/aeif_cond_alpha.nestml | 4 ++-- .../aeif_cond_alpha_multisynapse.nestml | 4 ++-- .../codegeneration/aeif_cond_exp.nestml | 4 ++-- .../codegeneration/iaf_chxk_2008.nestml | 4 ++-- .../iaf_psc_alpha_three_buffers.nestml | 4 ++-- .../iaf_psc_alpha_imperative.nestml | 4 ++-- .../imperative/iaf_psc_exp_imperative.nestml | 4 ++-- .../imperative/izhikevich.nestml | 4 ++-- .../imperative/mat2_psc_exp_imperative.nestml | 4 ++-- .../codegeneration/neuron_with_setter.nestml | 4 ++-- .../codegeneration/terub_neuron_stn.nestml | 4 ++-- .../command_line_base/cli_example.nestml | 4 ++-- .../command_line_base/sub/sub_example.nestml | 10 ++++---- .../resources/inheritance/iaf_base.nestml | 6 ++--- .../_cocos/aliasHasNoSetter/invalid.nestml | 2 +- .../_cocos/aliasHasNoSetter/valid.nestml | 2 +- .../invalid.nestml | 4 ++-- .../booleanInvariantExpressions/valid.nestml | 4 ++-- .../invalid.nestml | 2 +- .../valid.nestml | 2 +- .../getterSetterFunctionNames/invalid.nestml | 2 +- .../getterSetterFunctionNames/valid.nestml | 2 +- .../_cocos/illegalNumberExpressions.nestml | 2 +- .../_cocos/illegalStringExpressions.nestml | 2 +- .../_cocos/invalid/aliasHasOneVar.nestml | 2 +- .../memberVariableDefinedMultipleTimes.nestml | 2 +- ...ectorVariableInNonVectorDeclaration.nestml | 2 +- .../memberVarDefinedInWrongOrder.nestml | 4 ++-- .../invalid.nestml | 4 ++-- .../valid.nestml | 4 ++-- .../nestml/_cocos/reassignParaInternal.nestml | 4 ++-- .../_cocos/splInFunctions/invalid.nestml | 4 ++-- .../nestml/_cocos/splInFunctions/valid.nestml | 4 ++-- .../_cocos/usesOnlyComponents/valid.nestml | 4 ++-- .../nestml/_cocos/valid/aliasHasOneVar.nestml | 2 +- .../memberVariableDefinedMultipleTimes.nestml | 2 +- ...ectorVariableInNonVectorDeclaration.nestml | 2 +- .../nestml/_symboltable/iaf_neuron.nestml | 12 +++++----- .../_symboltable/importingNeuron.nestml | 4 ++-- .../nest/nestml/parsing/neuronWithVars.nestml | 4 ++-- .../parsing/neuronWithVarsAndDynamics.nestml | 4 ++-- .../parsing/referenceInnerComponent.nestml | 2 +- .../org/nest/units/invalidExpressions.nestml | 4 ++-- .../resources/org/nest/units/units.nestml | 4 ++-- .../org/nest/units/validExpressions.nestml | 4 ++-- .../resources/tutorial/11.rc_neuron.nestml | 2 +- .../tutorial/12.rc_neuron_rel.nestml | 2 +- src/test/resources/tutorial/21_rc_fire.nestml | 2 +- .../tutorial/22_rc_refractory.nestml | 2 +- .../resources/tutorial/31_rc_input.nestml | 2 +- .../resources/tutorial/32_rc_alpha.nestml | 4 ++-- .../resources/tutorial/33_rc_shape.nestml | 4 ++-- src/test/resources/tutorial/41_iaf.nestml | 2 +- .../resources/tutorial/42_quadratic.nestml | 2 +- .../multipleVariablesWithSameName.nestml | 4 ++-- .../resources/unparsable/wrongTypes.nestml | 4 ++-- 94 files changed, 195 insertions(+), 204 deletions(-) diff --git a/models/aeif_cond_alpha.nestml b/models/aeif_cond_alpha.nestml index a85ec6762..42f68ff35 100644 --- a/models/aeif_cond_alpha.nestml +++ b/models/aeif_cond_alpha.nestml @@ -52,7 +52,7 @@ neuron aeif_cond_alpha_neuron: end - parameter: + parameters: # membrane parameters C_m pF = 281.0pF # Membrane Capacitance in pF t_ref ms = 0.0ms # Refractory period in ms @@ -81,7 +81,7 @@ neuron aeif_cond_alpha_neuron: I_stim pA = 0pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. diff --git a/models/aeif_cond_alpha_implicit.nestml b/models/aeif_cond_alpha_implicit.nestml index 1b1912c2c..5e22bbb99 100644 --- a/models/aeif_cond_alpha_implicit.nestml +++ b/models/aeif_cond_alpha_implicit.nestml @@ -60,7 +60,7 @@ neuron aeif_cond_alpha_implicit: end - parameter: + parameters: # membrane parameters C_m pF = 281.0pF # Membrane Capacitance in pF t_ref ms = 0.0ms # Refractory period in ms @@ -89,7 +89,7 @@ neuron aeif_cond_alpha_implicit: I_stim pA = 0pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. diff --git a/models/aeif_cond_exp.nestml b/models/aeif_cond_exp.nestml index db2895ed5..b3b053a44 100644 --- a/models/aeif_cond_exp.nestml +++ b/models/aeif_cond_exp.nestml @@ -54,7 +54,7 @@ neuron aeif_cond_exp_neuron: w' = (a*(V_m - E_L) - w)/tau_w end - parameter: + parameters: # membrane parameters C_m pF = 281.0pF # Membrane Capacitance in pF t_ref ms = 0.0ms # Refractory period in ms @@ -83,7 +83,7 @@ neuron aeif_cond_exp_neuron: I_stim pA = 0pA end - internal: + internals: # refractory time in steps RefractoryCounts integer = steps(t_ref) # counts number of tick during the refractory period diff --git a/models/aeif_cond_exp_implicit.nestml b/models/aeif_cond_exp_implicit.nestml index 952eafd3f..9b9bd64e7 100644 --- a/models/aeif_cond_exp_implicit.nestml +++ b/models/aeif_cond_exp_implicit.nestml @@ -58,7 +58,7 @@ neuron aeif_cond_exp_implicit: V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m end - parameter: + parameters: # membrane parameters C_m pF = 281.0pF # Membrane Capacitance in pF t_ref ms = 0.0ms # Refractory period in ms @@ -87,7 +87,7 @@ neuron aeif_cond_exp_implicit: I_stim pA = 0pA end - internal: + internals: # refractory time in steps RefractoryCounts integer = steps(t_ref) # counts number of tick during the refractory period diff --git a/models/hh_cond_exp_traub.nestml b/models/hh_cond_exp_traub.nestml index 50bb4203c..605101315 100644 --- a/models/hh_cond_exp_traub.nestml +++ b/models/hh_cond_exp_traub.nestml @@ -77,7 +77,7 @@ neuron hh_cond_exp_traub_neuron: end - parameter: + parameters: g_Na nS = 20000.0nS # Threshold Potential in mV g_K nS = 6000.0nS # K Conductance g_L nS = 10nS # Leak Conductance @@ -95,7 +95,7 @@ neuron hh_cond_exp_traub_neuron: I_stim pA = 0pA # External input current end - internal: + internals: RefractoryCounts integer = 20 r integer # counts number of tick during the refractory period end diff --git a/models/hh_cond_exp_traub_implicit.nestml b/models/hh_cond_exp_traub_implicit.nestml index 53fed756b..924e54b6b 100644 --- a/models/hh_cond_exp_traub_implicit.nestml +++ b/models/hh_cond_exp_traub_implicit.nestml @@ -80,7 +80,7 @@ neuron hh_cond_exp_traub_implicit: g_in' = -g_in / tau_syn_in end - parameter: + parameters: g_Na nS = 20000.0nS # Threshold Potential in mV g_K nS = 6000.0nS # K Conductance g_L nS = 10nS # Leak Conductance @@ -98,7 +98,7 @@ neuron hh_cond_exp_traub_implicit: I_stim pA = 0pA # External input current end - internal: + internals: RefractoryCounts integer = 20 r integer # counts number of tick during the refractory period end diff --git a/models/hh_psc_alpha.nestml b/models/hh_psc_alpha.nestml index 1cc34bfe7..1745cd1a2 100644 --- a/models/hh_psc_alpha.nestml +++ b/models/hh_psc_alpha.nestml @@ -89,7 +89,7 @@ neuron hh_psc_alpha_neuron: Act_h' = alpha_h * ( 1 - Act_h ) - beta_h * Act_h # h-variable end - parameter: + parameters: t_ref ms = 2.0 ms # Refractory period g_Na nS = 12000.0nS # Sodium peak conductance g_K nS = 3600.0nS # Potassium peak conductance @@ -103,7 +103,7 @@ neuron hh_psc_alpha_neuron: I_e pA = 0pA # Constant Current in pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_ex diff --git a/models/hh_psc_alpha_implicit.nestml b/models/hh_psc_alpha_implicit.nestml index a7b13df8b..ea662183d 100644 --- a/models/hh_psc_alpha_implicit.nestml +++ b/models/hh_psc_alpha_implicit.nestml @@ -94,7 +94,7 @@ neuron hh_psc_alpha_implicit: Act_h' = alpha_h * ( 1 - Act_h ) - beta_h * Act_h # h-variable end - parameter: + parameters: t_ref ms = 2.0 ms # Refractory period g_Na nS = 12000.0nS # Sodium peak conductance g_K nS = 3600.0nS # Potassium peak conductance @@ -108,7 +108,7 @@ neuron hh_psc_alpha_implicit: I_e pA = 0pA # Constant Current in pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_ex diff --git a/models/ht_neuron.nestml b/models/ht_neuron.nestml index 9bc82df25..17ef2d1b9 100644 --- a/models/ht_neuron.nestml +++ b/models/ht_neuron.nestml @@ -86,17 +86,17 @@ neuron ht_neuron_nestml: INaP_slope mV = 7.7pA m_inf_NaP real = 1.0 / ( 1.0 + exp( -( V_m - INaP_thresh ) / INaP_slope ) ) # Persistent Na current; member only to allow recording - record I_NaP pA = -NaP_g_peak * pow( m_inf_NaP, 3.0 )* ( V_m - NaP_E_rev ) + recordable I_NaP pA = -NaP_g_peak * pow( m_inf_NaP, 3.0 )* ( V_m - NaP_E_rev ) d_half real = 0.25 m_inf_KNa real = 1.0 / ( 1.0 + pow( d_half / IKNa_D, 3.5 ) ) # Depol act. K current; member only to allow recording - record I_KNa pA = -KNa_g_peak * m_inf_KNa * ( V_m - KNa_E_rev ) + recordable I_KNa pA = -KNa_g_peak * m_inf_KNa * ( V_m - KNa_E_rev ) # Low-thresh Ca current; member only to allow recording - record I_T pA = -T_g_peak * IT_m * IT_m * IT_h * ( V_m - T_E_rev ) + recordable I_T pA = -T_g_peak * IT_m * IT_m * IT_h * ( V_m - T_E_rev ) - record I_h pA = -h_g_peak * Ih_m * ( V_m - h_E_rev ) + recordable I_h pA = -h_g_peak * Ih_m * ( V_m - h_E_rev ) # The spike current is only activate immediately after a spike. I_spike mV = (g_spike) ? -( V_m - E_K ) / Tau_spike : 0 V_m' = ( I_Na + I_K + I_syn + I_NaP + I_KNa + I_T + I_h + I_stim ) / Tau_m + I_spike @@ -148,7 +148,7 @@ neuron ht_neuron_nestml: g_GABAB' = g_GABAB' - g_GABAB /GABA_B_Tau_2 end - parameter: + parameters: E_Na mV = 30.0mV E_K mV = -90.0mV g_NaL nS = 0.2nS @@ -191,7 +191,7 @@ neuron ht_neuron_nestml: KNa_D_EQ pA = 0.001pA end - internal: + internals: AMPAInitialValue real = compute_synapse_constant( AMPA_Tau_1, AMPA_Tau_2, AMPA_g_peak ) NMDAInitialValue real = compute_synapse_constant( NMDA_Tau_1, NMDA_Tau_2, NMDA_g_peak ) diff --git a/models/iaf_chxk_2008_implicit.nestml b/models/iaf_chxk_2008_implicit.nestml index 049e3b269..4410dcb82 100644 --- a/models/iaf_chxk_2008_implicit.nestml +++ b/models/iaf_chxk_2008_implicit.nestml @@ -50,7 +50,7 @@ neuron iaf_chxk_2008_implicit: V_m' = ( -I_leak - I_syn_exc - I_syn_inh - I_ahp + I_stim + I_e ) / C_m end - parameter: + parameters: V_th mV = -45.0mV # Threshold Potential E_ex mV = 20mV # Excitatory reversal potential E_in mV = -90mV # Inhibitory reversal potential @@ -70,7 +70,7 @@ neuron iaf_chxk_2008_implicit: I_stim pA = 0pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_ex diff --git a/models/iaf_cond_alpha.nestml b/models/iaf_cond_alpha.nestml index b0c51bf2d..802ab407d 100644 --- a/models/iaf_cond_alpha.nestml +++ b/models/iaf_cond_alpha.nestml @@ -48,7 +48,7 @@ neuron iaf_cond_alpha_neuron: V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end - parameter: + parameters: V_th mV = -55.0mV # Threshold Potential in mV V_reset mV = -60.0mV # Reset Potential in mV t_ref ms = 2.ms # Refractory period in ms @@ -66,7 +66,7 @@ neuron iaf_cond_alpha_neuron: I_stim pA = 0pA end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/models/iaf_cond_alpha_implicit.nestml b/models/iaf_cond_alpha_implicit.nestml index 9b99cd6aa..3ff88ce17 100644 --- a/models/iaf_cond_alpha_implicit.nestml +++ b/models/iaf_cond_alpha_implicit.nestml @@ -55,7 +55,7 @@ neuron iaf_cond_alpha_implicit: V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end - parameter: + parameters: V_th mV = -55.0mV # Threshold Potential in mV V_reset mV = -60.0mV # Reset Potential in mV t_ref ms = 2.0ms # Refractory period in ms @@ -72,7 +72,7 @@ neuron iaf_cond_alpha_implicit: # _dynamics function computing the derivative of the state vector. end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_ex diff --git a/models/iaf_cond_beta.nestml b/models/iaf_cond_beta.nestml index 87f836d38..dffb46d19 100644 --- a/models/iaf_cond_beta.nestml +++ b/models/iaf_cond_beta.nestml @@ -41,7 +41,7 @@ neuron iaf_cond_beta_neuron: V_m' = (-I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end - parameter: + parameters: E_L mV = -85.0mV # Leak reversal Potential (aka resting potential) in mV C_m pF = 250.0pF # Capacity of the membrane t_ref ms = 2.0ms # Refractory period in ms @@ -62,7 +62,7 @@ neuron iaf_cond_beta_neuron: # _dynamics function computing the derivative of the state vector. end - internal: + internals: # Impulse to add to GE' on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_rise_E # diff --git a/models/iaf_cond_exp.nestml b/models/iaf_cond_exp.nestml index b2d983a24..8cb59ca08 100644 --- a/models/iaf_cond_exp.nestml +++ b/models/iaf_cond_exp.nestml @@ -39,7 +39,7 @@ neuron iaf_cond_exp_neuron: V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end - parameter: + parameters: V_th mV = -55.0mV # Threshold Potential in mV V_reset mV = -60.0mV # Reset Potential in mV t_ref ms = 2.0mV # Refractory period in ms @@ -56,7 +56,7 @@ neuron iaf_cond_exp_neuron: # _dynamics function computing the derivative of the state vector. end - internal: + internals: # Impulse to add to g_ex' on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_ex diff --git a/models/iaf_cond_exp_implicit.nestml b/models/iaf_cond_exp_implicit.nestml index 49e439b0e..81eb26cda 100644 --- a/models/iaf_cond_exp_implicit.nestml +++ b/models/iaf_cond_exp_implicit.nestml @@ -41,7 +41,7 @@ neuron iaf_cond_exp_implicit: V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end - parameter: + parameters: V_th mV = -55.0mV # Threshold Potential in mV V_reset mV = -60.0mV # Reset Potential in mV t_ref ms = 2.0mV # Refractory period in ms @@ -58,7 +58,7 @@ neuron iaf_cond_exp_implicit: # _dynamics function computing the derivative of the state vector. end - internal: + internals: # Impulse to add to g_ex' on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_synE diff --git a/models/iaf_cond_exp_sfa_rr_implicit.nestml b/models/iaf_cond_exp_sfa_rr_implicit.nestml index 67156b2e7..5fdce265e 100644 --- a/models/iaf_cond_exp_sfa_rr_implicit.nestml +++ b/models/iaf_cond_exp_sfa_rr_implicit.nestml @@ -62,7 +62,7 @@ neuron iaf_cond_exp_sfa_rr_implicit: V_m' = ( -I_L + I_stim + I_e - I_syn_exc - I_syn_inh - I_sfa - I_rr ) / C_m end - parameter: + parameters: V_th mV = -57.0mV # Threshold Potential in mV V_reset mV = -70.0mV # Reset Potential in mV t_ref ms = 0.5ms # Refractory period in ms @@ -85,7 +85,7 @@ neuron iaf_cond_exp_sfa_rr_implicit: # _dynamics function computing the derivative of the state vector. end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/models/iaf_neuron.nestml b/models/iaf_neuron.nestml index e63f5ae92..94db00edb 100644 --- a/models/iaf_neuron.nestml +++ b/models/iaf_neuron.nestml @@ -85,7 +85,7 @@ neuron iaf_neuron_nestml: end # these parameter are adjusted from outside - parameter: + parameters: C_m pF = 250 pF [[C_m > 0 pF]] # Capacity of the membrane Tau ms = 10 ms # Membrane time constant. tau_syn ms = 2 ms # Time constant of synaptic current. @@ -97,7 +97,7 @@ neuron iaf_neuron_nestml: end # helper calculations - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/models/iaf_psc_alpha.nestml b/models/iaf_psc_alpha.nestml index 87da2cef7..d604c8921 100644 --- a/models/iaf_psc_alpha.nestml +++ b/models/iaf_psc_alpha.nestml @@ -86,7 +86,7 @@ neuron iaf_psc_alpha_neuron: V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane Tau ms = 10ms # Membrane time constant. tau_syn_in ms = 2ms # Time constant of synaptic current. @@ -98,7 +98,7 @@ neuron iaf_psc_alpha_neuron: I_e pA = 0pA # Constant external input current in pA. end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/models/iaf_psc_alpha_multisynapse.nestml b/models/iaf_psc_alpha_multisynapse.nestml index 775e0d356..a44785b15 100644 --- a/models/iaf_psc_alpha_multisynapse.nestml +++ b/models/iaf_psc_alpha_multisynapse.nestml @@ -40,7 +40,7 @@ neuron iaf_psc_alpha_multisynapse_neuron: V_abs' = -1/tau_m * V_abs + 1/C_m * (I_sum(I_shape, spikes) + I_e + currents) end - parameter: + parameters: receptors integer = 100 # Number of receptors C_m pF = 250pF # Capacity of the membrane tau_m ms = 10ms # Membrane time constant. @@ -53,7 +53,7 @@ neuron iaf_psc_alpha_multisynapse_neuron: I_e pA = 0pA # External current. end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/models/iaf_psc_delta.nestml b/models/iaf_psc_delta.nestml index c1bf5aa9e..04e5ecf72 100644 --- a/models/iaf_psc_delta.nestml +++ b/models/iaf_psc_delta.nestml @@ -79,7 +79,7 @@ neuron iaf_psc_delta_neuron: V_abs' = -1/tau_m * V_abs + 1/C_m * (I_sum(G, spikes) + I_e + currents) end - parameter: + parameters: tau_m ms = 10ms # Membrane time constant. C_m pF = 250pF # Capacity of the membrane t_ref ms = 2ms # Duration of refractory period in ms. @@ -92,7 +92,7 @@ neuron iaf_psc_delta_neuron: with_refr_input boolean = false # If true, do not discard input during refractory period. Default: false. end - internal: + internals: h ms = resolution() RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period diff --git a/models/iaf_psc_exp.nestml b/models/iaf_psc_exp.nestml index 28d0fe7bb..315f06634 100644 --- a/models/iaf_psc_exp.nestml +++ b/models/iaf_psc_exp.nestml @@ -88,7 +88,7 @@ neuron iaf_psc_exp_neuron: V_abs' = -1/tau_m * V_abs + 1/C_m * I_syn end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane tau_m ms = 10ms # Membrane time constant. tau_syn_in ms = 2ms # Time constant of synaptic current. @@ -101,7 +101,7 @@ neuron iaf_psc_exp_neuron: I_e pA = 0pA # External current. end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/models/iaf_psc_exp_multisynapse.nestml b/models/iaf_psc_exp_multisynapse.nestml index fb5a18724..bd6041e05 100644 --- a/models/iaf_psc_exp_multisynapse.nestml +++ b/models/iaf_psc_exp_multisynapse.nestml @@ -34,7 +34,7 @@ neuron iaf_psc_exp_multisynapse_neuron: V_abs' = -1/tau_m * V_abs + 1/C_m * I_syn end - parameter: + parameters: receptors integer = 100 C_m pF = 250pF # Capacity of the membrane tau_m ms = 10ms # Membrane time constant. @@ -50,7 +50,7 @@ neuron iaf_psc_exp_multisynapse_neuron: end - internal: + internals: # refractory time in steps RefractoryCounts integer = steps(t_ref) # counts number of tick during the refractory period diff --git a/models/iaf_tum_2000.nestml b/models/iaf_tum_2000.nestml index 1b8a802d1..d0fca5617 100644 --- a/models/iaf_tum_2000.nestml +++ b/models/iaf_tum_2000.nestml @@ -102,7 +102,7 @@ neuron iaf_tum_2000_neuron: V_m' = -1/tau_m * V_m + 1/C_m * I_syn end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane tau_m ms = 10ms # Membrane time constant. tau_syn_in ms = 2ms # Time constant of synaptic current. @@ -119,7 +119,7 @@ neuron iaf_tum_2000_neuron: I_e pA = 0pA # External current. end - internal: + internals: # TauR specifies the length of the absolute refractory period as # a double_t in ms. The grid based iaf_tum_2000 can only handle refractory # periods that are integer multiples of the computation step size (h). diff --git a/models/izhikevich.nestml b/models/izhikevich.nestml index f896cc9cd..652f97fb2 100644 --- a/models/izhikevich.nestml +++ b/models/izhikevich.nestml @@ -52,7 +52,7 @@ neuron izhikevich_neuron: U_m' = a*(b*V_m-U_m) end - parameter: + parameters: a real = 0.02 # describes time scale of recovery variable b real = 0.2 # sensitivity of recovery variable c mV = -65 # after-spike reset value of V_m diff --git a/models/mat2_psc_exp.nestml b/models/mat2_psc_exp.nestml index de54ad10b..a88347b1f 100644 --- a/models/mat2_psc_exp.nestml +++ b/models/mat2_psc_exp.nestml @@ -78,7 +78,7 @@ neuron mat2_psc_exp_neuron: V_abs' = -1/tau_m * V_abs + 1/C_m * I_syn end - parameter: + parameters: tau_m ms = 5ms # Membrane time constant in ms C_m pF = 100pF # Capacity of the membrane in pF t_ref ms = 2ms # Duration of absolute refractory period (no spiking) in ms @@ -93,7 +93,7 @@ neuron mat2_psc_exp_neuron: omega mV = 19.0mV # Resting spike threshold in mV (absolute value, not relative to E_L) end - internal: + internals: h ms = resolution() P11th real = exp( -h / tau_1 ) P22th real = exp( -h / tau_2 ) diff --git a/models/terub_neuron_gpe.nestml b/models/terub_neuron_gpe.nestml index 15fb0856c..b5ccbf174 100644 --- a/models/terub_neuron_gpe.nestml +++ b/models/terub_neuron_gpe.nestml @@ -129,7 +129,7 @@ neuron terub_neuron_gpe: Ca_con' = g_epsilon*(-I_Ca - I_T - g_k_Ca * Ca_con) end - parameter: + parameters: E_L mV = -55mV # Resting membrane potential in mV. g_L nS = 0.1nS # Leak conductance in nS. C_m pF = 1.0 pF # Capacity of the membrane in pF. @@ -149,7 +149,7 @@ neuron terub_neuron_gpe: I_stim pA = 0pA end - internal: + internals: PSCurrInit_E real = 1.0 * e / tau_syn_ex PSCurrInit_I real = 1.0 * e / tau_syn_in refractory_counts integer = steps(t_ref) diff --git a/models/terub_neuron_stn.nestml b/models/terub_neuron_stn.nestml index 43650e532..c13a39a7e 100644 --- a/models/terub_neuron_stn.nestml +++ b/models/terub_neuron_stn.nestml @@ -139,7 +139,7 @@ neuron terub_neuron_stn: g_in' = g_in' - ( g_in / tau_syn_in ) end - parameter: + parameters: E_L mV = -60mV # Resting membrane potential in mV. g_L nS = 2.25nS # Leak conductance in nS. C_m pF = 1.0 pF # Capacity of the membrane in pF. @@ -159,7 +159,7 @@ neuron terub_neuron_stn: I_stim pA = 0pA end - internal: + internals: PSCurrInit_E real = 1.0 * e / tau_syn_ex PSCurrInit_I real = 1.0 * e / tau_syn_in refractory_counts integer = steps(t_ref) diff --git a/pom.xml b/pom.xml index bec59dd14..6e9069840 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ nestml nestml-core - 1.3.2-SNAPSHOT + 1.4.0 diff --git a/src/main/grammars/org/nest/NESTML.mc4 b/src/main/grammars/org/nest/NESTML.mc4 index 554198b7e..d8b6af2c9 100644 --- a/src/main/grammars/org/nest/NESTML.mc4 +++ b/src/main/grammars/org/nest/NESTML.mc4 @@ -72,7 +72,7 @@ grammar NESTML extends org.nest.SPL, org.nest.ODE { @attribute AliasDecl a list with variable declarations. */ Var_Block implements BodyElement = - (["state"]|["parameter"]|["internal"]) + (["state"]|["parameters"]|["internals"]) BLOCK_OPEN (AliasDecl | NEWLINE)* BLOCK_CLOSE; @@ -113,7 +113,7 @@ grammar NESTML extends org.nest.SPL, org.nest.ODE { @attribute invariants List with optional invariants. */ AliasDecl = - ([record:"record"] | [suppress:"suppress"])? (["alias"])? + (["recordable"] )? (["alias"])? Declaration ("[[" invariant:Expr "]]")?; diff --git a/src/main/grammars/org/nest/ODE.mc4 b/src/main/grammars/org/nest/ODE.mc4 index 00fea550c..42060f134 100644 --- a/src/main/grammars/org/nest/ODE.mc4 +++ b/src/main/grammars/org/nest/ODE.mc4 @@ -15,7 +15,7 @@ grammar ODE extends org.nest.Commons, org.nest.Units { */ OdeDeclaration = (Equation | Shape | ODEAlias | NEWLINE)+; - ODEAlias = ([record:"record"] | [suppress:"suppress"])? variableName:Name Datatype "=" Expr (";")?; + ODEAlias = ([recordable:"recordable"])? variableName:Name Datatype "=" Expr (";")?; /** ASTeq Represents an equation, e.g. "I = exp(t)" or epresents an differential equations, e.g. "V_m' = V_m+1".. @attribute lhs Left hand side, e.g. a Variable. diff --git a/src/main/java/org/nest/codegeneration/converters/NESTStateBlockReferenceConverter.java b/src/main/java/org/nest/codegeneration/converters/NESTStateBlockReferenceConverter.java index 2872220a7..c767adc62 100644 --- a/src/main/java/org/nest/codegeneration/converters/NESTStateBlockReferenceConverter.java +++ b/src/main/java/org/nest/codegeneration/converters/NESTStateBlockReferenceConverter.java @@ -27,7 +27,7 @@ public String convertNameReference(final ASTVariable astVariable) { final Scope scope = astVariable.getEnclosingScope().get(); final VariableSymbol variableSymbol = resolve(variableName, scope); - return (variableSymbol.isParameter()?"__p.":"") + Names.getter(variableSymbol) + "()"; + return (variableSymbol.isParameters ()?"__p.":"") + Names.getter(variableSymbol) + "()"; } } diff --git a/src/main/java/org/nest/nestml/_ast/ASTBody.java b/src/main/java/org/nest/nestml/_ast/ASTBody.java index 34df3167f..8e4b8b690 100644 --- a/src/main/java/org/nest/nestml/_ast/ASTBody.java +++ b/src/main/java/org/nest/nestml/_ast/ASTBody.java @@ -96,7 +96,7 @@ public String printStateComment() { } public Optional getParameterBlock() { return this.getBodyElements().stream() - .filter(be -> be instanceof ASTVar_Block && ((ASTVar_Block) be).isParameter()) + .filter(be -> be instanceof ASTVar_Block && ((ASTVar_Block) be).isParameters ()) .findFirst(); // there is at most one } @@ -113,7 +113,7 @@ public String printParameterComment() { public Optional getInternalBlock() { return this.getBodyElements().stream() - .filter(be -> be instanceof ASTVar_Block && ((ASTVar_Block) be).isInternal()) + .filter(be -> be instanceof ASTVar_Block && ((ASTVar_Block) be).isInternals()) .findFirst(); // there is at most one } @@ -206,18 +206,18 @@ public List getStateNonAliasSymbols() { // Parameter variable handling public List getParameterSymbols() { - return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isParameter), getEnclosingScope().get()); + return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isParameters ), getEnclosingScope().get()); } public List getParameterAliasSymbols() { - return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isParameter), getEnclosingScope().get()) + return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isParameters ), getEnclosingScope().get()) .stream() .filter(VariableSymbol::isAlias) .collect(Collectors.toList()); } public List getParameterNonAliasSymbols() { - return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isParameter), getEnclosingScope().get()) + return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isParameters ), getEnclosingScope().get()) .stream() .filter(variable -> !variable.isAlias()) .collect(Collectors.toList()); @@ -225,18 +225,18 @@ public List getParameterNonAliasSymbols() { // Internal variables handling public List getInternalSymbols() { - return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isInternal), getEnclosingScope().get()); + return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isInternals), getEnclosingScope().get()); } public List getInternalAliasSymbols() { - return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isInternal), getEnclosingScope().get()) + return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isInternals), getEnclosingScope().get()) .stream() .filter(VariableSymbol::isAlias) .collect(Collectors.toList()); } public List getInternalNonAliasSymbols() { - return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isInternal), getEnclosingScope().get()) + return getVariableSymbols(getDeclarationsFromBlock(ASTVar_Block::isInternals), getEnclosingScope().get()) .stream() .filter(variable -> !variable.isAlias()) .collect(Collectors.toList()); @@ -277,7 +277,7 @@ public void addToInternalBlock(final ASTAliasDecl astAliasDecl) { ASTVar_Block block = (ASTVar_Block) be; - if (block.isInternal()) { + if (block.isInternals()) { block.getAliasDecls().add(astAliasDecl); } @@ -339,7 +339,7 @@ public List getAllOffsetVariables() { final List invertableAliases = aliases.stream() .filter(variable -> isInvertableExpression(variable.getDeclaringExpression().get()) || - (variable.isParameter() && isRelativeExpression(variable.getDeclaringExpression().get()))) + (variable.isParameters () && isRelativeExpression(variable.getDeclaringExpression().get()))) .collect(Collectors.toList()); // Use sets to filter double variables, e.g. a variable that is used twice on the right side diff --git a/src/main/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreator.java b/src/main/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreator.java index 3ae2d46df..b3ae60ea5 100644 --- a/src/main/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreator.java +++ b/src/main/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreator.java @@ -19,7 +19,6 @@ import org.nest.ode._ast.ASTShape; import org.nest.spl._ast.ASTCompound_Stmt; import org.nest.spl._ast.ASTDeclaration; -import org.nest.spl.symboltable.typechecking.Either; import org.nest.symboltable.predefined.PredefinedTypes; import org.nest.symboltable.symbols.*; import org.nest.symboltable.symbols.references.NeuronSymbolReference; @@ -40,7 +39,6 @@ import static org.nest.codegeneration.sympy.ODETransformer.getCondSumFunctionCall; import static org.nest.symboltable.symbols.NeuronSymbol.Type.COMPONENT; import static org.nest.symboltable.symbols.NeuronSymbol.Type.NEURON; -import static org.nest.symboltable.symbols.VariableSymbol.BlockType.LOCAL; import static org.nest.symboltable.symbols.VariableSymbol.BlockType.STATE; import static org.nest.utils.AstUtils.computeTypeName; import static org.nest.utils.AstUtils.getNameOfLHS; @@ -200,7 +198,7 @@ private void addAliasesFromODEBlock(final ASTOdeDeclaration astOdeDeclaration) { var.setType(type.get()); var.setDeclaringType(currentTypeSymbol.get()); - var.setLoggable(astOdeAlias.isRecord()); + var.setRecordable(astOdeAlias.isRecordable()); var.setAlias(true); var.setDeclaringExpression(astOdeAlias.getExpr()); @@ -234,7 +232,7 @@ private void addDerivedVariable(final ASTEquation ode) { var.setAstNode(ode.getLhs()); var.setType(derivedType); var.setDeclaringType(currentTypeSymbol.get()); - var.setLoggable(true); + var.setRecordable(true); var.setAlias(false); var.setBlockType(VariableSymbol.BlockType.STATE); @@ -307,9 +305,7 @@ private void markConductanceBasedBuffers(final ASTOdeDeclaration astOdeDeclarati .filter(variable -> variable.getName().toString().equals(spikeBuffer.getName())) .findAny(); - if (bufferInCondSumCall.isPresent()) { - spikeBuffer.setConductanceBased(true); - } + bufferInCondSumCall.ifPresent(o -> spikeBuffer.setConductanceBased(true)); } @@ -546,14 +542,14 @@ public void visit(final ASTDeclaration astDeclaration) { astAliasDeclaration.orElse(null), STATE); } - else if (blockAst.isParameter()) { + else if (blockAst.isParameters ()) { addVariablesFromDeclaration( astDeclaration, currentTypeSymbol.get(), astAliasDeclaration.orElse(null), VariableSymbol.BlockType.PARAMETER); } - else if (blockAst.isInternal()) { + else if (blockAst.isInternals()) { addVariablesFromDeclaration( astDeclaration, currentTypeSymbol.get(), @@ -602,11 +598,11 @@ private void addVariablesFromDeclaration( var.setType(type.get()); var.setDeclaringType(currentTypeSymbol); - boolean isLoggableStateVariable = blockType == STATE && !aliasDeclAst.isSuppress(); - boolean isLoggableNonStateVariable = blockType != LOCAL && blockType != STATE && aliasDeclAst.isRecord(); - if (isLoggableStateVariable || isLoggableNonStateVariable) { + boolean isLoggableStateVariable = blockType == STATE || (aliasDeclAst != null && aliasDeclAst.isRecordable()); + + if (isLoggableStateVariable) { // otherwise is set to false. - var.setLoggable(true); + var.setRecordable(true); } if (aliasDeclAst != null) { @@ -641,7 +637,7 @@ public void visit(final ASTShape astShape) { var.setAstNode(astShape); var.setType(type); var.setDeclaringType(currentTypeSymbol.get()); - var.setLoggable(true); + var.setRecordable(true); var.setAlias(false); var.setDeclaringExpression(astShape.getRhs()); var.setBlockType(VariableSymbol.BlockType.SHAPE); diff --git a/src/main/java/org/nest/nestml/prettyprinter/NESTMLPrettyPrinter.java b/src/main/java/org/nest/nestml/prettyprinter/NESTMLPrettyPrinter.java index b5bd3b2dc..29a79cd03 100644 --- a/src/main/java/org/nest/nestml/prettyprinter/NESTMLPrettyPrinter.java +++ b/src/main/java/org/nest/nestml/prettyprinter/NESTMLPrettyPrinter.java @@ -150,11 +150,11 @@ private void printBlockKeyword(final ASTVar_Block astVarBlock) { if (astVarBlock.isState()) { println("state" + BLOCK_OPEN); } - else if (astVarBlock.isInternal()) { - println("internal" + BLOCK_OPEN); + else if (astVarBlock.isInternals()) { + println("internals" + BLOCK_OPEN); } - else if (astVarBlock.isParameter()) { - println("parameter" + BLOCK_OPEN); + else if (astVarBlock.isParameters ()) { + println("parameters" + BLOCK_OPEN); } } @@ -178,12 +178,8 @@ public void visit(final ASTAliasDecl astAliasDecl) { } private void printAliasPrefix(final ASTAliasDecl astAliasDecl) { - if (astAliasDecl.isRecord()) { - print("record "); - } - - if (astAliasDecl.isSuppress()) { - print("suppress "); + if (astAliasDecl.isRecordable()) { + print("recordable "); } if (astAliasDecl.isAlias()) { @@ -271,20 +267,20 @@ private void printEquation(final ASTEquation astEquation) { } /** - * This method is used in freemaker template + * This method is used in freemaker template. Therefore, remains public. */ public void printShape(final ASTShape astShape) { println("shape " + astShape.getLhs() + " = " + expressionsPrinter.print(astShape.getRhs())); } /** - * This method is used in freemaker template + * This method is used in freemaker template. Therefore, remains public. */ public void printODEAlias(final ASTODEAlias astOdeAlias) { final String datatype = AstUtils.computeTypeName(astOdeAlias.getDatatype(), true); final String initExpression = expressionsPrinter.print(astOdeAlias.getExpr()); - if (astOdeAlias.isRecord()) { - print("record "); + if (astOdeAlias.isRecordable()) { + print("recordable "); } println(astOdeAlias.getVariableName() + " " + datatype + " = " + initExpression); } diff --git a/src/main/java/org/nest/symboltable/symbols/VariableSymbol.java b/src/main/java/org/nest/symboltable/symbols/VariableSymbol.java index 192509d6c..8d03775f0 100644 --- a/src/main/java/org/nest/symboltable/symbols/VariableSymbol.java +++ b/src/main/java/org/nest/symboltable/symbols/VariableSymbol.java @@ -61,7 +61,7 @@ public boolean definedByODE() { return odeDeclaration != null; } - public void setLoggable(boolean loggable) { + public void setRecordable(boolean loggable) { isLoggable = loggable; } @@ -189,7 +189,7 @@ public boolean isInEquation() { return blockType == BlockType.EQUATION; } - public boolean isParameter() { + public boolean isParameters () { return blockType == BlockType.PARAMETER; } diff --git a/src/test/java/org/nest/nestml/_cocos/NestmlCoCosManagerTest.java b/src/test/java/org/nest/nestml/_cocos/NestmlCoCosManagerTest.java index 653d8efc4..854501137 100644 --- a/src/test/java/org/nest/nestml/_cocos/NestmlCoCosManagerTest.java +++ b/src/test/java/org/nest/nestml/_cocos/NestmlCoCosManagerTest.java @@ -35,7 +35,6 @@ */ public class NestmlCoCosManagerTest extends ModelbasedTest { - /** * Parses the model and returns ast. * diff --git a/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java b/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java index 0cda26647..a5e0e1d5e 100644 --- a/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java +++ b/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java @@ -60,7 +60,7 @@ public void testCreationOfSymtabAndResolvingOfSymbols() throws IOException { final Optional y1Varialbe = neuronTypeOptional.get().getSpannedScope().resolve("y1", VariableSymbol.KIND); assertTrue(y0TVariable.isPresent()); assertTrue(y0TVariable.get().definedByODE()); - assertFalse(y0TVariable.get().isLoggable()); + assertTrue(y0TVariable.get().isLoggable()); assertTrue(y1Varialbe.isPresent()); assertFalse(y1Varialbe.get().definedByODE()); diff --git a/src/test/resources/cli_unparsable/cli_example.nestml b/src/test/resources/cli_unparsable/cli_example.nestml index 17a9d69c9..bbf642802 100644 --- a/src/test/resources/cli_unparsable/cli_example.nestml +++ b/src/test/resources/cli_unparsable/cli_example.nestml @@ -10,7 +10,7 @@ neuron iaf_neuron_ode: V' = -1/Tau * V + 1/C_m * (G + I_e + currents) end - parameter: + parameters: # Capacity of the membrane C_m pF = 250pF # Membrane time constant. @@ -32,7 +32,7 @@ neuron iaf_neuron_ode: # invariant V_reset >= Theta end - internal: + internals: h ms = resolution() r integer RefractoryCounts integer = steps(t_ref) diff --git a/src/test/resources/codegeneration/aeif_cond_alpha.nestml b/src/test/resources/codegeneration/aeif_cond_alpha.nestml index 68ff3be96..1117fdcfe 100644 --- a/src/test/resources/codegeneration/aeif_cond_alpha.nestml +++ b/src/test/resources/codegeneration/aeif_cond_alpha.nestml @@ -88,7 +88,7 @@ neuron iaf_psc_alpha_neuron: V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane Tau ms = 10ms # Membrane time constant. tau_syn_in ms = 2ms # Time constant of synaptic current. @@ -100,7 +100,7 @@ neuron iaf_psc_alpha_neuron: I_e pA = 0pA # Constant external input current in pA. end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml b/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml index 7a60ff152..604930742 100644 --- a/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml +++ b/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml @@ -80,7 +80,7 @@ neuron aeif_cond_alpha_implicit_implicit: end - parameter: + parameters: receptors integer = 100 # number of synapse receptors # membrane parameters @@ -110,7 +110,7 @@ neuron aeif_cond_alpha_implicit_implicit: I_stim pA = 0pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude diff --git a/src/test/resources/codegeneration/aeif_cond_exp.nestml b/src/test/resources/codegeneration/aeif_cond_exp.nestml index 1eaf09b00..7833b64cc 100644 --- a/src/test/resources/codegeneration/aeif_cond_exp.nestml +++ b/src/test/resources/codegeneration/aeif_cond_exp.nestml @@ -91,7 +91,7 @@ neuron aeif_cond_exp_neuron: w' = (a*(V_m - E_L) - w)/tau_w end - parameter: + parameters: # membrane parameters C_m pF = 281.0pF # Membrane Capacitance in pF t_ref ms = 0.0ms # Refractory period in ms @@ -120,7 +120,7 @@ neuron aeif_cond_exp_neuron: I_stim pA = 0pA end - internal: + internals: # refractory time in steps RefractoryCounts integer = steps(t_ref) # counts number of tick during the refractory period diff --git a/src/test/resources/codegeneration/iaf_chxk_2008.nestml b/src/test/resources/codegeneration/iaf_chxk_2008.nestml index 092617334..a0fb7b263 100644 --- a/src/test/resources/codegeneration/iaf_chxk_2008.nestml +++ b/src/test/resources/codegeneration/iaf_chxk_2008.nestml @@ -44,7 +44,7 @@ neuron iaf_chxk_2008_neuron: V_m' = ( -I_leak - I_syn_exc - I_syn_inh - I_ahp + I_stim + I_e ) / C_m end - parameter: + parameters: V_th mV = -45.0mV # Threshold Potential E_ex mV = 20mV # Excitatory reversal potential E_in mV = -90mV # Inhibitory reversal potential @@ -64,7 +64,7 @@ neuron iaf_chxk_2008_neuron: I_stim pA = 0pA end - internal: + internals: # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude # conductance excursion. PSConInit_E real = 1.0 * e / tau_syn_ex diff --git a/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml b/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml index 2d736d706..e7b226b65 100644 --- a/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml +++ b/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml @@ -12,7 +12,7 @@ neuron iaf_psc_alpha_three_buffers: V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) end - parameter: + parameters: C_m pF = 250 # Capacity of the membrane Tau ms = 10 # Membrane time constant. tau_syn_in ms = 2 # Time constant of synaptic current. @@ -24,7 +24,7 @@ neuron iaf_psc_alpha_three_buffers: I_e pA = 0 # External current. end - internal: + internals: r integer RefractoryCounts integer = steps(t_ref) end diff --git a/src/test/resources/codegeneration/imperative/iaf_psc_alpha_imperative.nestml b/src/test/resources/codegeneration/imperative/iaf_psc_alpha_imperative.nestml index 067c3c32d..d0c62c678 100644 --- a/src/test/resources/codegeneration/imperative/iaf_psc_alpha_imperative.nestml +++ b/src/test/resources/codegeneration/imperative/iaf_psc_alpha_imperative.nestml @@ -10,7 +10,7 @@ neuron iaf_psc_alpha_mc_imperative: y3 = v + U0 end - parameter: + parameters: # Membrane time constant in ms Tau ms = 10 # Membrane capacitance in pF @@ -43,7 +43,7 @@ neuron iaf_psc_alpha_mc_imperative: Theta = v - U0 end - internal: + internals: h ms = resolution() r integer = 0 diff --git a/src/test/resources/codegeneration/imperative/iaf_psc_exp_imperative.nestml b/src/test/resources/codegeneration/imperative/iaf_psc_exp_imperative.nestml index 8bcb3afb6..b643e0b83 100644 --- a/src/test/resources/codegeneration/imperative/iaf_psc_exp_imperative.nestml +++ b/src/test/resources/codegeneration/imperative/iaf_psc_exp_imperative.nestml @@ -7,7 +7,7 @@ neuron iaf_psc_exp_ms_imperative_nestml: V_m real = 0.0 # membrane potential, variable 2 end - parameter: + parameters: Tau ms = 10.0 C_1 ms = 250.0 t_ref ms = 2.0 @@ -19,7 +19,7 @@ neuron iaf_psc_exp_ms_imperative_nestml: tau_in ms = 2.0 end - internal: + internals: h ms = resolution() r_ref integer = 0 # absolute refractory counter (no membrane potential propagation) # these P are independent diff --git a/src/test/resources/codegeneration/imperative/izhikevich.nestml b/src/test/resources/codegeneration/imperative/izhikevich.nestml index bd4f6f51a..4e377432e 100644 --- a/src/test/resources/codegeneration/imperative/izhikevich.nestml +++ b/src/test/resources/codegeneration/imperative/izhikevich.nestml @@ -5,7 +5,7 @@ neuron izhikevich_neuron: I pA = 0.0 # input current end - parameter: + parameters: a real = 0.02 # a b real = 0.2 # b c real = -65.0 # c without unit @@ -17,7 +17,7 @@ neuron izhikevich_neuron: consistent_integration boolean = true end - internal: + internals: h ms = resolution() end diff --git a/src/test/resources/codegeneration/imperative/mat2_psc_exp_imperative.nestml b/src/test/resources/codegeneration/imperative/mat2_psc_exp_imperative.nestml index 0c0a4cbdc..61641abe8 100644 --- a/src/test/resources/codegeneration/imperative/mat2_psc_exp_imperative.nestml +++ b/src/test/resources/codegeneration/imperative/mat2_psc_exp_imperative.nestml @@ -14,7 +14,7 @@ neuron mat2_exp_neuron: V_th_2 real = 0.0 end - parameter: + parameters: # Membrane time constant Tau ms = 5.0 # Membrane capacitance in pF @@ -39,7 +39,7 @@ neuron mat2_exp_neuron: omega mV = 19.0 end - internal: + internals: h ms = resolution() # total refractory counter (no spikes can be generated) r integer = 0 diff --git a/src/test/resources/codegeneration/neuron_with_setter.nestml b/src/test/resources/codegeneration/neuron_with_setter.nestml index 769ca1dd2..4c1b418cf 100644 --- a/src/test/resources/codegeneration/neuron_with_setter.nestml +++ b/src/test/resources/codegeneration/neuron_with_setter.nestml @@ -90,7 +90,7 @@ neuron iaf_psc_alpha_neuron: V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane Tau ms = 10ms # Membrane time constant. tau_syn_in ms = 2ms # Time constant of synaptic current. @@ -102,7 +102,7 @@ neuron iaf_psc_alpha_neuron: I_e pA = 0pA # Constant external input current in pA. end - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/src/test/resources/codegeneration/terub_neuron_stn.nestml b/src/test/resources/codegeneration/terub_neuron_stn.nestml index 1e641b83f..3f96db327 100644 --- a/src/test/resources/codegeneration/terub_neuron_stn.nestml +++ b/src/test/resources/codegeneration/terub_neuron_stn.nestml @@ -80,7 +80,7 @@ neuron hh_cond_exp_traub_implicit: g_in' = -g_in / tau_syn_in end - parameter: + parameters: g_Na nS = 20000.0nS # Threshold Potential in mV g_K nS = 6000.0nS # K Conductance g_L nS = 10nS # Leak Conductance @@ -98,7 +98,7 @@ neuron hh_cond_exp_traub_implicit: I_stim pA = 0pA # External input current end - internal: + internals: RefractoryCounts integer = 20 r integer # counts number of tick during the refractory period end diff --git a/src/test/resources/command_line_base/cli_example.nestml b/src/test/resources/command_line_base/cli_example.nestml index b2bbba8b6..a982df8d8 100644 --- a/src/test/resources/command_line_base/cli_example.nestml +++ b/src/test/resources/command_line_base/cli_example.nestml @@ -12,7 +12,7 @@ neuron iaf_psc_alpha_nestml: V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) end - parameter: + parameters: C_m pF = 250 # Capacity of the membrane Tau ms = 10 # Membrane time constant. tau_syn_in ms = 2 # Time constant of synaptic current. @@ -24,7 +24,7 @@ neuron iaf_psc_alpha_nestml: I_e pA = 0 # External current. end - internal: + internals: r integer RefractoryCounts integer = steps(t_ref) end diff --git a/src/test/resources/command_line_base/sub/sub_example.nestml b/src/test/resources/command_line_base/sub/sub_example.nestml index c0ea488e7..97ebedf4b 100644 --- a/src/test/resources/command_line_base/sub/sub_example.nestml +++ b/src/test/resources/command_line_base/sub/sub_example.nestml @@ -18,7 +18,7 @@ neuron iaf_cond_alpha_implicit: V_m' = -1/((1 / g_L) * C_m) * (V_m - E_L) - 1/C_m * GI * (V_m-V_reversalI) - 1/C_m * GE * (V_m-V_reversalE) + (I_e + I_stim)/C_m end - parameter: + parameters: V_th mV = -55.0 # Threshold Potential in mV V_reset mV = -60.0 # Reset Potential in mV t_ref ms = 2.0 # Refractory period in ms @@ -41,7 +41,7 @@ neuron iaf_cond_alpha_implicit: function set_Tau(v ms): end - internal: + internals: h ms = resolution() # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude @@ -109,7 +109,7 @@ neuron iaf_cond_alpha_implicit2: - 1/C_m * GE * (V_m-V_reversalE) + (I_e + I_stim)/C_m end - parameter: + parameters: V_th mV = -55.0 # Threshold Potential in mV V_reset mV = -60.0 # Reset Potential in mV t_ref ms = 2.0 # Refractory period in ms @@ -132,7 +132,7 @@ neuron iaf_cond_alpha_implicit2: function set_Tau(v ms): end - internal: + internals: h ms = resolution() # Impulse to add to DG_EXC on spike arrival to evoke unit-amplitude @@ -159,7 +159,7 @@ neuron iaf_cond_alpha_implicit2: update: - integrate(V_m) + integrate_odes() if r != 0: # not refractory r = r - 1 V_m = V_reset # clamp potential diff --git a/src/test/resources/inheritance/iaf_base.nestml b/src/test/resources/inheritance/iaf_base.nestml index ca4e93ede..0737a7266 100644 --- a/src/test/resources/inheritance/iaf_base.nestml +++ b/src/test/resources/inheritance/iaf_base.nestml @@ -1,12 +1,12 @@ neuron iaf_base: state: - suppress y0, y1, y2, y3 mV + y0, y1, y2, y3 mV # Membrane potential. alias V_m mV = y3 + E_L end - parameter: + parameters: # Capacity of the membrane. C_m pF = 250 # Membrane time constant. @@ -27,7 +27,7 @@ neuron iaf_base: alias V_reset mV = delta_V_reset + E_L end - internal: + internals: h ms = resolution() r integer P11 real = exp(-h / tau_syn) diff --git a/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/invalid.nestml index 38da4faa2..cb787675a 100644 --- a/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/invalid.nestml @@ -1,5 +1,5 @@ component AliasSetter: - parameter: + parameters: x integer = 5 alias y integer = -x alias z real = x * y diff --git a/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/valid.nestml index fbd6c25e0..dd1e92e03 100644 --- a/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/aliasHasNoSetter/valid.nestml @@ -1,5 +1,5 @@ component AliasSetter: - parameter: + parameters: x integer = 5 alias y integer = -x alias z real = x * y diff --git a/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/invalid.nestml index 53f31a8e7..d9f937a14 100644 --- a/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/invalid.nestml @@ -5,10 +5,10 @@ neuron testNeuron: stateVar2 real = 1.0 [[2+2]] end - parameter: + parameters: end - internal: + internals: end input: diff --git a/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/valid.nestml index 8dbc08c5f..c69fc098b 100644 --- a/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/booleanInvariantExpressions/valid.nestml @@ -4,10 +4,10 @@ neuron testNeuron: stateVar2 real = 1.0 [[stateVar1]] end - parameter: + parameters: end - internal: + internals: end input: diff --git a/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/invalid.nestml index 1a503856e..73bd67e4a 100644 --- a/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/invalid.nestml @@ -9,7 +9,7 @@ neuron iaf_neuron_ode: Tau' = -1/Tau * V + 1/C_m end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane Tau ms = 10 # Membrane time constant. G ms diff --git a/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/valid.nestml index 588acc632..1bdfe1c6a 100644 --- a/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/equationsOnlyForStateVariables/valid.nestml @@ -10,7 +10,7 @@ neuron iaf_neuron_ode: V' = -1/Tau * V + 1/C_m end - parameter: + parameters: C_m pF = 250pF # Capacity of the membrane Tau ms = 10 # Membrane time constant. end diff --git a/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/invalid.nestml index af0555e5c..b90efdef7 100644 --- a/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/invalid.nestml @@ -1,5 +1,5 @@ component GetSet: - internal: + internals: a mV alias b integer end diff --git a/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/valid.nestml index 6468a130f..841866a88 100644 --- a/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/getterSetterFunctionNames/valid.nestml @@ -1,5 +1,5 @@ component GetSet: - internal: + internals: a mV alias b integer end diff --git a/src/test/resources/org/nest/nestml/_cocos/illegalNumberExpressions.nestml b/src/test/resources/org/nest/nestml/_cocos/illegalNumberExpressions.nestml index 7060ec41e..e09c93d43 100644 --- a/src/test/resources/org/nest/nestml/_cocos/illegalNumberExpressions.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/illegalNumberExpressions.nestml @@ -1,6 +1,6 @@ component IllegalNumberExpressions: - internal: + internals: b boolean = true end diff --git a/src/test/resources/org/nest/nestml/_cocos/illegalStringExpressions.nestml b/src/test/resources/org/nest/nestml/_cocos/illegalStringExpressions.nestml index 541289def..5517efc87 100644 --- a/src/test/resources/org/nest/nestml/_cocos/illegalStringExpressions.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/illegalStringExpressions.nestml @@ -1,5 +1,5 @@ component IllegalStringExpressions: - internal: + internals: #i IllegalNumberExpressions end diff --git a/src/test/resources/org/nest/nestml/_cocos/invalid/aliasHasOneVar.nestml b/src/test/resources/org/nest/nestml/_cocos/invalid/aliasHasOneVar.nestml index 4390df3b4..6739791a3 100644 --- a/src/test/resources/org/nest/nestml/_cocos/invalid/aliasHasOneVar.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/invalid/aliasHasOneVar.nestml @@ -1,5 +1,5 @@ component AliasSetter: - parameter: + parameters: x integer = 5 alias y, g integer = -x alias z real = x * y diff --git a/src/test/resources/org/nest/nestml/_cocos/invalid/memberVariableDefinedMultipleTimes.nestml b/src/test/resources/org/nest/nestml/_cocos/invalid/memberVariableDefinedMultipleTimes.nestml index a858f8262..570a1e777 100644 --- a/src/test/resources/org/nest/nestml/_cocos/invalid/memberVariableDefinedMultipleTimes.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/invalid/memberVariableDefinedMultipleTimes.nestml @@ -12,7 +12,7 @@ neuron NeuronInTest: g_z'' = t*2 # error, g_z' is defined by the last definition end - parameter: + parameters: x real = x * 2 y real end diff --git a/src/test/resources/org/nest/nestml/_cocos/invalid/vectorVariableInNonVectorDeclaration.nestml b/src/test/resources/org/nest/nestml/_cocos/invalid/vectorVariableInNonVectorDeclaration.nestml index 3a6bee5b8..de2e988ce 100644 --- a/src/test/resources/org/nest/nestml/_cocos/invalid/vectorVariableInNonVectorDeclaration.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/invalid/vectorVariableInNonVectorDeclaration.nestml @@ -1,5 +1,5 @@ component AliasInDecl: - parameter: + parameters: n integer alias three integer[n] = 3 # should be an error? threePlusFour integer = three + 4 diff --git a/src/test/resources/org/nest/nestml/_cocos/memberVarDefinedInWrongOrder.nestml b/src/test/resources/org/nest/nestml/_cocos/memberVarDefinedInWrongOrder.nestml index 732cdafad..41900a4a5 100644 --- a/src/test/resources/org/nest/nestml/_cocos/memberVarDefinedInWrongOrder.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/memberVarDefinedInWrongOrder.nestml @@ -5,11 +5,11 @@ component CompMembers: end - internal: + internals: test real = 13 end - parameter: + parameters: P1 real = 2 + P2 # error: P2 is undefined at this place P2 real = 2 * P1 + P2 # P3 is undefined at this place end diff --git a/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/invalid.nestml index 575dc2329..831ebc927 100644 --- a/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/invalid.nestml @@ -6,12 +6,12 @@ neuron testNeuron: end - parameter: + parameters: # Error parameter can only use another parameter in correct order parameterVar1 real = stateVar1 end - internal: + internals: internalVar1 real = 1.0 end diff --git a/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/valid.nestml index 6f858f27d..e4cd9c217 100644 --- a/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/memberVariablesInitialisedInCorrectOrder/valid.nestml @@ -3,12 +3,12 @@ neuron testNeuron: test1 real = 1 [[test1 > parameterVar1]] end - parameter: + parameters: parameterVar1 real = 1 parameterVar2 real = parameterVar1 end - internal: + internals: end input: diff --git a/src/test/resources/org/nest/nestml/_cocos/reassignParaInternal.nestml b/src/test/resources/org/nest/nestml/_cocos/reassignParaInternal.nestml index f26f60e4e..6f40ef485 100644 --- a/src/test/resources/org/nest/nestml/_cocos/reassignParaInternal.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/reassignParaInternal.nestml @@ -1,8 +1,8 @@ neuron Reassigner: - parameter: + parameters: a integer = 10 end - internal: + internals: b real = 0.23 end diff --git a/src/test/resources/org/nest/nestml/_cocos/splInFunctions/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/splInFunctions/invalid.nestml index 1a33d8fd4..e559f8004 100644 --- a/src/test/resources/org/nest/nestml/_cocos/splInFunctions/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/splInFunctions/invalid.nestml @@ -2,10 +2,10 @@ neuron testNeuron: state: end - parameter: + parameters: end - internal: + internals: end input: diff --git a/src/test/resources/org/nest/nestml/_cocos/splInFunctions/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/splInFunctions/valid.nestml index d7f665ce8..9b1d00f36 100644 --- a/src/test/resources/org/nest/nestml/_cocos/splInFunctions/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/splInFunctions/valid.nestml @@ -3,10 +3,10 @@ neuron testNeuron: test1 real = 1.0 end - parameter: + parameters: end - internal: + internals: end input: diff --git a/src/test/resources/org/nest/nestml/_cocos/usesOnlyComponents/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/usesOnlyComponents/valid.nestml index f59b7c756..d39b823f9 100644 --- a/src/test/resources/org/nest/nestml/_cocos/usesOnlyComponents/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/usesOnlyComponents/valid.nestml @@ -6,10 +6,10 @@ neuron UsingNeuron: state: end - parameter: + parameters: end - internal: + internals: end diff --git a/src/test/resources/org/nest/nestml/_cocos/valid/aliasHasOneVar.nestml b/src/test/resources/org/nest/nestml/_cocos/valid/aliasHasOneVar.nestml index b9fe4a5e3..5591c8e87 100644 --- a/src/test/resources/org/nest/nestml/_cocos/valid/aliasHasOneVar.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/valid/aliasHasOneVar.nestml @@ -1,5 +1,5 @@ component AliasSetter: - parameter: + parameters: x integer = 5 alias y integer = -x alias z real = x * y diff --git a/src/test/resources/org/nest/nestml/_cocos/valid/memberVariableDefinedMultipleTimes.nestml b/src/test/resources/org/nest/nestml/_cocos/valid/memberVariableDefinedMultipleTimes.nestml index 0b45cf332..bbd7d4911 100644 --- a/src/test/resources/org/nest/nestml/_cocos/valid/memberVariableDefinedMultipleTimes.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/valid/memberVariableDefinedMultipleTimes.nestml @@ -8,7 +8,7 @@ neuron NeuronInTest: g_z'' = t end - parameter: + parameters: y real end diff --git a/src/test/resources/org/nest/nestml/_cocos/valid/vectorVariableInNonVectorDeclaration.nestml b/src/test/resources/org/nest/nestml/_cocos/valid/vectorVariableInNonVectorDeclaration.nestml index bf24d6ed2..5313c21a7 100644 --- a/src/test/resources/org/nest/nestml/_cocos/valid/vectorVariableInNonVectorDeclaration.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/valid/vectorVariableInNonVectorDeclaration.nestml @@ -1,5 +1,5 @@ component AliasInDecl: - parameter: + parameters: n integer alias three integer = 3 # should be an error? diff --git a/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml b/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml index 667667929..ffc385bd2 100644 --- a/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml +++ b/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml @@ -5,7 +5,7 @@ neuron iaf_neuron: use TestComponent as TestRef state: - suppress y0 mV + y0 mV y1 mV y2 mV y3 mV @@ -17,13 +17,13 @@ neuron iaf_neuron: equations: y0' = y0 + 1 y0'' = y0' + 1 - record y3_tmp real = Cond_sum(y1, spikeBuffer) + recordable y3_tmp real = Cond_sum(y1, spikeBuffer) y3' = y3_tmp end - parameter: + parameters: # Capacity of the membrane - record C_m pF = 250 + recordable C_m pF = 250 # Membrane time constant. tau_m ms = 10 # Time constant ofE synaptic current. @@ -41,14 +41,14 @@ neuron iaf_neuron: # Threshold. alias V_th mV = Theta + E_L # Reset value of the membrane potential. - record alias V_reset mV = delta_V_reset + E_L + recordable alias V_reset mV = delta_V_reset + E_L # invariant V_reset >= Theta # tests the correct scoping rules scopeTestVar string = 0 end - internal: + internals: h ms = resolution() P11 real = e ** (-h / tau_syn) P22 real = P11 diff --git a/src/test/resources/org/nest/nestml/_symboltable/importingNeuron.nestml b/src/test/resources/org/nest/nestml/_symboltable/importingNeuron.nestml index ffbad2522..ad8c65c02 100644 --- a/src/test/resources/org/nest/nestml/_symboltable/importingNeuron.nestml +++ b/src/test/resources/org/nest/nestml/_symboltable/importingNeuron.nestml @@ -6,10 +6,10 @@ neuron UsingNeuron: state: end - parameter: + parameters: end - internal: + internals: end diff --git a/src/test/resources/org/nest/nestml/parsing/neuronWithVars.nestml b/src/test/resources/org/nest/nestml/parsing/neuronWithVars.nestml index fae5aaae1..d00e18e4c 100644 --- a/src/test/resources/org/nest/nestml/parsing/neuronWithVars.nestml +++ b/src/test/resources/org/nest/nestml/parsing/neuronWithVars.nestml @@ -5,12 +5,12 @@ neuron VarsNeuron: abc mm end - parameter: + parameters: radius mm = 5 alias diameter mm = 2 * radius end - internal: + internals: y, z real = 0 end diff --git a/src/test/resources/org/nest/nestml/parsing/neuronWithVarsAndDynamics.nestml b/src/test/resources/org/nest/nestml/parsing/neuronWithVarsAndDynamics.nestml index 3a6fc3247..b8d95f81f 100644 --- a/src/test/resources/org/nest/nestml/parsing/neuronWithVarsAndDynamics.nestml +++ b/src/test/resources/org/nest/nestml/parsing/neuronWithVarsAndDynamics.nestml @@ -6,12 +6,12 @@ neuron DynamicsNeuron: x mV end - parameter: + parameters: radius mm = 5 alias diameter mm = 2 * radius end - internal: + internals: y, z real = 0 k real = 0 end diff --git a/src/test/resources/org/nest/nestml/parsing/referenceInnerComponent.nestml b/src/test/resources/org/nest/nestml/parsing/referenceInnerComponent.nestml index 65e2bc7ef..f099c8e4b 100644 --- a/src/test/resources/org/nest/nestml/parsing/referenceInnerComponent.nestml +++ b/src/test/resources/org/nest/nestml/parsing/referenceInnerComponent.nestml @@ -1,5 +1,5 @@ component SomaComponent: - parameter: + parameters: diameter5 integer = 5 end function helloWorld(): diff --git a/src/test/resources/org/nest/units/invalidExpressions.nestml b/src/test/resources/org/nest/units/invalidExpressions.nestml index c0c236234..cbfe3ce2f 100644 --- a/src/test/resources/org/nest/units/invalidExpressions.nestml +++ b/src/test/resources/org/nest/units/invalidExpressions.nestml @@ -15,7 +15,7 @@ neuron invalidExpressionTest: currents <- current end - parameter: + parameters: test real = 3 Ohm V2 V = foo(3,2 Ohm) #NESTML_LITERALS_MUST_HAVE_TYPES: Omitted type in literal function parameters V3 V = foo(8+8*7,2 Ohm) #NESTML_LITERALS_MUST_HAVE_TYPES: Omitted type in literal function parameters @@ -24,7 +24,7 @@ neuron invalidExpressionTest: output: spike - internal: + internals: end update: diff --git a/src/test/resources/org/nest/units/units.nestml b/src/test/resources/org/nest/units/units.nestml index 07f3239d5..336fa6453 100644 --- a/src/test/resources/org/nest/units/units.nestml +++ b/src/test/resources/org/nest/units/units.nestml @@ -20,7 +20,7 @@ neuron aeif_cond_alpha_neuron: function set_Tau(v ms): end - parameter: + parameters: Delta_T real = 1.0 # TODO fixme V_th mV = -55.0 # Threshold Potential in mV V_reset mV = -60.0 # Reset Potential in mV @@ -44,7 +44,7 @@ neuron aeif_cond_alpha_neuron: I_stim pA = 0 end - internal: + internals: h ms = resolution() a real = 0.5 diff --git a/src/test/resources/org/nest/units/validExpressions.nestml b/src/test/resources/org/nest/units/validExpressions.nestml index 05794f107..ceac78213 100644 --- a/src/test/resources/org/nest/units/validExpressions.nestml +++ b/src/test/resources/org/nest/units/validExpressions.nestml @@ -22,13 +22,13 @@ neuron validExpressionTest: currents <- current end - parameter: + parameters: V2 V = foo(7 A,2 Ohm) #function call end output: spike - internal: + internals: S_1 ms = resolution() #predefined Functions end diff --git a/src/test/resources/tutorial/11.rc_neuron.nestml b/src/test/resources/tutorial/11.rc_neuron.nestml index f9218bde5..a4a26c824 100644 --- a/src/test/resources/tutorial/11.rc_neuron.nestml +++ b/src/test/resources/tutorial/11.rc_neuron.nestml @@ -11,7 +11,7 @@ neuron rc_neuron: V_m' = -V_m/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -65mV C_m pF = 250pF tau_m ms = 10ms diff --git a/src/test/resources/tutorial/12.rc_neuron_rel.nestml b/src/test/resources/tutorial/12.rc_neuron_rel.nestml index 4f3537e1c..a3cead33d 100644 --- a/src/test/resources/tutorial/12.rc_neuron_rel.nestml +++ b/src/test/resources/tutorial/12.rc_neuron_rel.nestml @@ -9,7 +9,7 @@ neuron rc_neuron_rel: V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -70mV C_m pF = 250pF tau_m ms = 10ms diff --git a/src/test/resources/tutorial/21_rc_fire.nestml b/src/test/resources/tutorial/21_rc_fire.nestml index c396c0b41..e9f657ecf 100644 --- a/src/test/resources/tutorial/21_rc_fire.nestml +++ b/src/test/resources/tutorial/21_rc_fire.nestml @@ -12,7 +12,7 @@ neuron rc_fire: V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -70mV C_m pF = 250pF tau_m ms = 10ms diff --git a/src/test/resources/tutorial/22_rc_refractory.nestml b/src/test/resources/tutorial/22_rc_refractory.nestml index 7ed220e95..2b24a257a 100644 --- a/src/test/resources/tutorial/22_rc_refractory.nestml +++ b/src/test/resources/tutorial/22_rc_refractory.nestml @@ -12,7 +12,7 @@ neuron rc_refractory: V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -70mV C_m pF = 250pF tau_m ms = 10ms diff --git a/src/test/resources/tutorial/31_rc_input.nestml b/src/test/resources/tutorial/31_rc_input.nestml index 5065a0a76..98078a447 100644 --- a/src/test/resources/tutorial/31_rc_input.nestml +++ b/src/test/resources/tutorial/31_rc_input.nestml @@ -12,7 +12,7 @@ neuron rc_input: V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -70mV C_m pF = 250pF tau_m ms = 10ms diff --git a/src/test/resources/tutorial/32_rc_alpha.nestml b/src/test/resources/tutorial/32_rc_alpha.nestml index dd8ff541a..a2d59d09a 100644 --- a/src/test/resources/tutorial/32_rc_alpha.nestml +++ b/src/test/resources/tutorial/32_rc_alpha.nestml @@ -16,7 +16,7 @@ neuron rc_alpha: V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -70mV C_m pF = 250pF tau_m ms = 10ms @@ -29,7 +29,7 @@ neuron rc_alpha: I_e pA = 0pA end - internal: + internals: PSConInit_E pA/ms = 1.0 pA * e / tau_syn end diff --git a/src/test/resources/tutorial/33_rc_shape.nestml b/src/test/resources/tutorial/33_rc_shape.nestml index 3e9063a82..97f3f2ef1 100644 --- a/src/test/resources/tutorial/33_rc_shape.nestml +++ b/src/test/resources/tutorial/33_rc_shape.nestml @@ -14,7 +14,7 @@ neuron rc_shape: V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end - parameter: + parameters: E_L mV = -70mV C_m pF = 250pF tau_m ms = 10ms @@ -27,7 +27,7 @@ neuron rc_shape: I_e pA = 0pA end - internal: + internals: PSConInit_E real = 1.0 * e / tau_syn end diff --git a/src/test/resources/tutorial/41_iaf.nestml b/src/test/resources/tutorial/41_iaf.nestml index bda7d4095..1268a4506 100644 --- a/src/test/resources/tutorial/41_iaf.nestml +++ b/src/test/resources/tutorial/41_iaf.nestml @@ -11,7 +11,7 @@ neuron IaF: V_m' = I_syn + a - b*V_m end - parameter: + parameters: I_syn pA = 10pA a real = -7.0 b real = 0.1 diff --git a/src/test/resources/tutorial/42_quadratic.nestml b/src/test/resources/tutorial/42_quadratic.nestml index 42118dda8..ca2412dc3 100644 --- a/src/test/resources/tutorial/42_quadratic.nestml +++ b/src/test/resources/tutorial/42_quadratic.nestml @@ -11,7 +11,7 @@ neuron quadratic_IaF: V_m' = I_syn + a * (V_m - V_reset)*(V_m - V_th)/1mV end - parameter: + parameters: I_syn pA = 10pA a real = 7.0 V_reset mV = 10mV diff --git a/src/test/resources/unparsable/multipleVariablesWithSameName.nestml b/src/test/resources/unparsable/multipleVariablesWithSameName.nestml index c6966787d..1c62f461a 100644 --- a/src/test/resources/unparsable/multipleVariablesWithSameName.nestml +++ b/src/test/resources/unparsable/multipleVariablesWithSameName.nestml @@ -85,7 +85,7 @@ neuron iaf_neuron_neuron: end # these parameter are adjusted from outside - parameter: + parameters: C_m pF = 250 pF [[C_m > 0 pF]] # ERROR: pf is wrong Tau ms = 10 ms # Tau ms = 10 ms # @@ -98,7 +98,7 @@ neuron iaf_neuron_neuron: end # helper calculations - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end diff --git a/src/test/resources/unparsable/wrongTypes.nestml b/src/test/resources/unparsable/wrongTypes.nestml index 1987e2167..a024370b0 100644 --- a/src/test/resources/unparsable/wrongTypes.nestml +++ b/src/test/resources/unparsable/wrongTypes.nestml @@ -85,7 +85,7 @@ neuron iaf_neuron_neuron: end # these parameter are adjusted from outside - parameter: + parameters: Tau ms = 10 NS # ERROR: NS is wrong C_m pf = 250 pF [[C_m > 0 pF]] # ERROR: pf is wrong tau_syn ms = 2 ms # Time constant of synaptic current. @@ -97,7 +97,7 @@ neuron iaf_neuron_neuron: end # helper calculations - internal: + internals: RefractoryCounts integer = steps(t_ref) # refractory time in steps r integer # counts number of tick during the refractory period end From eeaac2e9268a59ec1bb7351e98d361ee762aa256 Mon Sep 17 00:00:00 2001 From: DimitriPlotnikov Date: Tue, 29 Nov 2016 08:47:11 +0100 Subject: [PATCH 2/3] Renamings: I_sum -> curr_sum, Cond_sum -> cond_sum --- models/aeif_cond_alpha.nestml | 4 ++-- models/aeif_cond_alpha_implicit.nestml | 4 ++-- models/aeif_cond_exp.nestml | 4 ++-- models/aeif_cond_exp_implicit.nestml | 4 ++-- models/hh_cond_exp_traub.nestml | 4 ++-- models/hh_cond_exp_traub_implicit.nestml | 4 ++-- models/hh_psc_alpha.nestml | 4 ++-- models/hh_psc_alpha_implicit.nestml | 4 ++-- models/iaf_chxk_2008_implicit.nestml | 4 ++-- models/iaf_cond_alpha.nestml | 4 ++-- models/iaf_cond_alpha_implicit.nestml | 4 ++-- models/iaf_cond_beta.nestml | 4 ++-- models/iaf_cond_exp.nestml | 4 ++-- models/iaf_cond_exp_implicit.nestml | 4 ++-- models/iaf_cond_exp_sfa_rr_implicit.nestml | 4 ++-- models/iaf_neuron.nestml | 2 +- models/iaf_psc_alpha.nestml | 2 +- models/iaf_psc_alpha_multisynapse.nestml | 2 +- models/iaf_psc_delta.nestml | 2 +- models/iaf_psc_exp.nestml | 2 +- models/iaf_psc_exp_multisynapse.nestml | 2 +- models/iaf_tum_2000.nestml | 2 +- models/mat2_psc_exp.nestml | 2 +- models/terub_neuron_gpe.nestml | 4 ++-- models/terub_neuron_stn.nestml | 4 ++-- .../sympy/DeltaSolutionTransformer.java | 2 +- .../org/nest/codegeneration/sympy/ODETransformer.java | 2 +- .../org/nest/nestml/_cocos/NestmlErrorStrings.java | 6 +++--- ...rectParameter.java => SumHasCorrectParameter.java} | 11 ++++++----- .../nest/nestml/_symboltable/NestmlCoCosManager.java | 4 ++-- .../symboltable/predefined/PredefinedFunctions.java | 8 ++++---- .../codegeneration/sympy/ODESolverGeneratorTest.java | 6 +++--- .../java/org/nest/nestml/_cocos/NestmlCoCosTest.java | 8 ++++---- .../_symboltable/NESTMLSymbolTableCreatorTest.java | 6 +++--- .../resources/codegeneration/aeif_cond_alpha.nestml | 2 +- .../aeif_cond_alpha_multisynapse.nestml | 4 ++-- .../resources/codegeneration/aeif_cond_exp.nestml | 4 ++-- .../resources/codegeneration/iaf_chxk_2008.nestml | 4 ++-- .../codegeneration/iaf_psc_alpha_three_buffers.nestml | 2 +- .../codegeneration/neuron_with_setter.nestml | 2 +- .../resources/codegeneration/terub_neuron_stn.nestml | 4 ++-- .../resources/command_line_base/cli_example.nestml | 2 +- .../_cocos/i_SumHasCorrectParameter/invalid.nestml | 8 ++++---- .../_cocos/i_SumHasCorrectParameter/valid.nestml | 4 ++-- .../org/nest/nestml/_symboltable/iaf_neuron.nestml | 2 +- src/test/resources/tutorial/33_rc_shape.nestml | 2 +- .../unparsable/multipleVariablesWithSameName.nestml | 2 +- src/test/resources/unparsable/wrongTypes.nestml | 2 +- 48 files changed, 91 insertions(+), 90 deletions(-) rename src/main/java/org/nest/nestml/_cocos/{I_SumHasCorrectParameter.java => SumHasCorrectParameter.java} (77%) diff --git a/models/aeif_cond_alpha.nestml b/models/aeif_cond_alpha.nestml index 42f68ff35..db3ec67dc 100644 --- a/models/aeif_cond_alpha.nestml +++ b/models/aeif_cond_alpha.nestml @@ -44,8 +44,8 @@ neuron aeif_cond_alpha_neuron: # Add aliases to simplify the equation definition of V_m exp_arg real = (V_m-V_th)/delta_T I_spike pA = delta_T*exp(exp_arg) - I_syn_exc pA = Cond_sum(g_ex, spikesExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikesInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikesExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikesInh) * ( V_m - E_in ) V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m w' = (a*(V_m - E_L) - w)/tau_w diff --git a/models/aeif_cond_alpha_implicit.nestml b/models/aeif_cond_alpha_implicit.nestml index 5e22bbb99..45c28923a 100644 --- a/models/aeif_cond_alpha_implicit.nestml +++ b/models/aeif_cond_alpha_implicit.nestml @@ -53,8 +53,8 @@ neuron aeif_cond_alpha_implicit: # Add aliases to simplify the equation definition of V_m exp_arg real = (V_m-V_th)/delta_T I_spike pA = delta_T*exp(exp_arg) - I_syn_exc pA = Cond_sum(g_ex, spikesExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikesInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikesExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikesInh) * ( V_m - E_in ) V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m diff --git a/models/aeif_cond_exp.nestml b/models/aeif_cond_exp.nestml index b3b053a44..29cf77afc 100644 --- a/models/aeif_cond_exp.nestml +++ b/models/aeif_cond_exp.nestml @@ -47,8 +47,8 @@ neuron aeif_cond_exp_neuron: # Add aliases to simplify the equation definition of V_m exp_arg real = (V_m-V_th)/delta_T I_spike pA = delta_T*exp(exp_arg) - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m w' = (a*(V_m - E_L) - w)/tau_w diff --git a/models/aeif_cond_exp_implicit.nestml b/models/aeif_cond_exp_implicit.nestml index 9b9bd64e7..b3dcd36f1 100644 --- a/models/aeif_cond_exp_implicit.nestml +++ b/models/aeif_cond_exp_implicit.nestml @@ -52,8 +52,8 @@ neuron aeif_cond_exp_implicit: # Add aliases to simplify the equation definition of V_m exp_arg real = (V_m-V_th)/delta_T I_spike pA = delta_T*exp(exp_arg) - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m end diff --git a/models/hh_cond_exp_traub.nestml b/models/hh_cond_exp_traub.nestml index 605101315..60379c323 100644 --- a/models/hh_cond_exp_traub.nestml +++ b/models/hh_cond_exp_traub.nestml @@ -54,8 +54,8 @@ neuron hh_cond_exp_traub_neuron: I_Na pA = g_Na * Act_m * Act_m * Act_m * Act_h * ( V_m - E_Na ) I_K pA = g_K * Inact_n * Inact_n * Inact_n * Inact_n * ( V_m - E_K ) I_L pA = g_L * ( V_m - E_L ) - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) shape g_in = exp(-1/tau_syn_in*t) shape g_ex = exp(-1/tau_syn_ex*t) diff --git a/models/hh_cond_exp_traub_implicit.nestml b/models/hh_cond_exp_traub_implicit.nestml index 924e54b6b..661b4128e 100644 --- a/models/hh_cond_exp_traub_implicit.nestml +++ b/models/hh_cond_exp_traub_implicit.nestml @@ -57,8 +57,8 @@ neuron hh_cond_exp_traub_implicit: I_Na pA = g_Na * Act_m * Act_m * Act_m * Act_h * ( V_m - E_Na ) I_K pA = g_K * Inact_n * Inact_n * Inact_n * Inact_n * ( V_m - E_K ) I_L pA = g_L * ( V_m - E_L ) - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) V_m' =( -I_Na - I_K - I_L - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m diff --git a/models/hh_psc_alpha.nestml b/models/hh_psc_alpha.nestml index 1745cd1a2..42e6e54a8 100644 --- a/models/hh_psc_alpha.nestml +++ b/models/hh_psc_alpha.nestml @@ -66,8 +66,8 @@ neuron hh_psc_alpha_neuron: shape g_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape g_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - I_syn_exc pA = I_sum(g_ex, spikeExc) - I_syn_inh pA = I_sum(g_in, spikeExc) + I_syn_exc pA = curr_sum(g_ex, spikeExc) + I_syn_inh pA = curr_sum(g_in, spikeExc) I_Na pA = g_Na * Act_m * Act_m * Act_m * Act_h * ( V_m - E_Na ) I_K pA = g_K * Inact_n * Inact_n * Inact_n * Inact_n * ( V_m - E_K ) I_L pA = g_L * ( V_m - E_L ) diff --git a/models/hh_psc_alpha_implicit.nestml b/models/hh_psc_alpha_implicit.nestml index ea662183d..859246002 100644 --- a/models/hh_psc_alpha_implicit.nestml +++ b/models/hh_psc_alpha_implicit.nestml @@ -71,8 +71,8 @@ neuron hh_psc_alpha_implicit: g_in'' = -g_in' / tau_syn_in g_in' = g_in' - ( g_in / tau_syn_in ) - I_syn_exc pA = I_sum(g_ex, spikeExc) - I_syn_inh pA = I_sum(g_in, spikeExc) + I_syn_exc pA = curr_sum(g_ex, spikeExc) + I_syn_inh pA = curr_sum(g_in, spikeExc) I_Na pA = g_Na * Act_m * Act_m * Act_m * Act_h * ( V_m - E_Na ) I_K pA = g_K * Inact_n * Inact_n * Inact_n * Inact_n * ( V_m - E_K ) I_L pA = g_L * ( V_m - E_L ) diff --git a/models/iaf_chxk_2008_implicit.nestml b/models/iaf_chxk_2008_implicit.nestml index 4410dcb82..f34d832c4 100644 --- a/models/iaf_chxk_2008_implicit.nestml +++ b/models/iaf_chxk_2008_implicit.nestml @@ -42,8 +42,8 @@ neuron iaf_chxk_2008_implicit: G_ahp'' = -G_ahp' / tau_ahp G_ahp' = G_ahp' - G_ahp / tau_ahp - I_syn_exc pA = Cond_sum(g_ex, spikesInh) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikesExc) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikesInh) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikesExc) * ( V_m - E_in ) I_ahp pA = G_ahp * ( V_m - E_ahp ) I_leak pA = g_L * ( V_m - E_L ) diff --git a/models/iaf_cond_alpha.nestml b/models/iaf_cond_alpha.nestml index 802ab407d..cc72a9926 100644 --- a/models/iaf_cond_alpha.nestml +++ b/models/iaf_cond_alpha.nestml @@ -41,8 +41,8 @@ neuron iaf_cond_alpha_neuron: shape g_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape g_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) I_leak pA = g_L * ( V_m - E_L ) V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m diff --git a/models/iaf_cond_alpha_implicit.nestml b/models/iaf_cond_alpha_implicit.nestml index 3ff88ce17..08a823d42 100644 --- a/models/iaf_cond_alpha_implicit.nestml +++ b/models/iaf_cond_alpha_implicit.nestml @@ -48,8 +48,8 @@ neuron iaf_cond_alpha_implicit: g_ex'' = -g_ex'/tau_syn_ex g_ex' = g_ex' -g_ex/tau_syn_ex - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) I_leak pA = g_L * ( V_m - E_L ) V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m diff --git a/models/iaf_cond_beta.nestml b/models/iaf_cond_beta.nestml index dffb46d19..a57f6df42 100644 --- a/models/iaf_cond_beta.nestml +++ b/models/iaf_cond_beta.nestml @@ -35,8 +35,8 @@ neuron iaf_cond_beta_neuron: GE'' = -GE'/tau_syn_rise_E GE' = GE' -GE/tau_syn_decay_E - I_syn_exc pA = (F_E + Cond_sum(GE, spikeExc)) * ( V_m - E_ex ) - I_syn_inh pA = (F_I + Cond_sum(GI, spikeInh)) * ( V_m - E_in ) + I_syn_exc pA = (F_E + cond_sum(GE, spikeExc)) * ( V_m - E_ex ) + I_syn_inh pA = (F_I + cond_sum(GI, spikeInh)) * ( V_m - E_in ) I_leak pA = g_L * ( V_m - E_L ) # pa = nS * mV V_m' = (-I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end diff --git a/models/iaf_cond_exp.nestml b/models/iaf_cond_exp.nestml index 8cb59ca08..131861716 100644 --- a/models/iaf_cond_exp.nestml +++ b/models/iaf_cond_exp.nestml @@ -33,8 +33,8 @@ neuron iaf_cond_exp_neuron: shape g_in = exp(-1/tau_syn_in*t) # inputs from the inh conductance shape g_ex = exp(-1/tau_syn_ex*t) # inputs from the exc conductance - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) I_leak pA = g_L * ( V_m - E_L ) V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end diff --git a/models/iaf_cond_exp_implicit.nestml b/models/iaf_cond_exp_implicit.nestml index 81eb26cda..66fec96fe 100644 --- a/models/iaf_cond_exp_implicit.nestml +++ b/models/iaf_cond_exp_implicit.nestml @@ -35,8 +35,8 @@ neuron iaf_cond_exp_implicit: g_in' = -g_in/tau_synI g_ex' = -g_ex/tau_synE - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) I_leak pA = g_L * ( V_m - E_L ) V_m' = ( -I_leak - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m end diff --git a/models/iaf_cond_exp_sfa_rr_implicit.nestml b/models/iaf_cond_exp_sfa_rr_implicit.nestml index 5fdce265e..d5bff79ac 100644 --- a/models/iaf_cond_exp_sfa_rr_implicit.nestml +++ b/models/iaf_cond_exp_sfa_rr_implicit.nestml @@ -52,8 +52,8 @@ neuron iaf_cond_exp_sfa_rr_implicit: g_sfa' = -g_sfa / tau_sfa g_rr' = g_rr / tau_rr - I_syn_exc pA = Cond_sum(g_ex, spikesExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikesInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikesExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikesInh) * ( V_m - E_in ) I_L pA = g_L * ( V_m - E_L ) I_sfa pA = g_sfa * ( V_m - E_sfa ) I_rr pA = g_rr * ( V_m - E_rr ) diff --git a/models/iaf_neuron.nestml b/models/iaf_neuron.nestml index 94db00edb..11b9771b8 100644 --- a/models/iaf_neuron.nestml +++ b/models/iaf_neuron.nestml @@ -81,7 +81,7 @@ neuron iaf_neuron_nestml: # Declarative description of the updates rules equations: shape G = (e/tau_syn) * t * exp(-1/tau_syn*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(G, spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(G, spikes) + I_e + currents) end # these parameter are adjusted from outside diff --git a/models/iaf_psc_alpha.nestml b/models/iaf_psc_alpha.nestml index d604c8921..86f922bb6 100644 --- a/models/iaf_psc_alpha.nestml +++ b/models/iaf_psc_alpha.nestml @@ -83,7 +83,7 @@ neuron iaf_psc_alpha_neuron: shape I_shape_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape I_shape_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) end parameters: diff --git a/models/iaf_psc_alpha_multisynapse.nestml b/models/iaf_psc_alpha_multisynapse.nestml index a44785b15..e800f6124 100644 --- a/models/iaf_psc_alpha_multisynapse.nestml +++ b/models/iaf_psc_alpha_multisynapse.nestml @@ -37,7 +37,7 @@ neuron iaf_psc_alpha_multisynapse_neuron: equations: shape I_shape = (e/tau_syn) * t * exp(-1/tau_syn*t) - V_abs' = -1/tau_m * V_abs + 1/C_m * (I_sum(I_shape, spikes) + I_e + currents) + V_abs' = -1/tau_m * V_abs + 1/C_m * (curr_sum(I_shape, spikes) + I_e + currents) end parameters: diff --git a/models/iaf_psc_delta.nestml b/models/iaf_psc_delta.nestml index 04e5ecf72..04a4e9f79 100644 --- a/models/iaf_psc_delta.nestml +++ b/models/iaf_psc_delta.nestml @@ -76,7 +76,7 @@ neuron iaf_psc_delta_neuron: equations: shape G = delta(t, tau_m) - V_abs' = -1/tau_m * V_abs + 1/C_m * (I_sum(G, spikes) + I_e + currents) + V_abs' = -1/tau_m * V_abs + 1/C_m * (curr_sum(G, spikes) + I_e + currents) end parameters: diff --git a/models/iaf_psc_exp.nestml b/models/iaf_psc_exp.nestml index 315f06634..29f391462 100644 --- a/models/iaf_psc_exp.nestml +++ b/models/iaf_psc_exp.nestml @@ -84,7 +84,7 @@ neuron iaf_psc_exp_neuron: equations: shape I_shape_in = exp(-1/tau_syn_in*t) shape I_shape_ex = exp(-1/tau_syn_ex*t) - I_syn mV = (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + I_syn mV = (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) V_abs' = -1/tau_m * V_abs + 1/C_m * I_syn end diff --git a/models/iaf_psc_exp_multisynapse.nestml b/models/iaf_psc_exp_multisynapse.nestml index bd6041e05..f7cfd2605 100644 --- a/models/iaf_psc_exp_multisynapse.nestml +++ b/models/iaf_psc_exp_multisynapse.nestml @@ -30,7 +30,7 @@ neuron iaf_psc_exp_multisynapse_neuron: equations: shape I_shape = exp(-1/tau_syn*t) - I_syn pA = (I_sum(I_shape, spikes) + I_e + currents) + I_syn pA = (curr_sum(I_shape, spikes) + I_e + currents) V_abs' = -1/tau_m * V_abs + 1/C_m * I_syn end diff --git a/models/iaf_tum_2000.nestml b/models/iaf_tum_2000.nestml index d0fca5617..f71a31f27 100644 --- a/models/iaf_tum_2000.nestml +++ b/models/iaf_tum_2000.nestml @@ -98,7 +98,7 @@ neuron iaf_tum_2000_neuron: equations: shape I_shape_in = exp(-1/tau_syn_in*t) shape I_shape_ex = exp(-1/tau_syn_ex*t) - I_syn pA = (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + I_syn pA = (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) V_m' = -1/tau_m * V_m + 1/C_m * I_syn end diff --git a/models/mat2_psc_exp.nestml b/models/mat2_psc_exp.nestml index a88347b1f..516c52467 100644 --- a/models/mat2_psc_exp.nestml +++ b/models/mat2_psc_exp.nestml @@ -74,7 +74,7 @@ neuron mat2_psc_exp_neuron: # V_th_alpha_1' = -V_th_alpha_1/tau_1 # V_th_alpha_2' = -V_th_alpha_2/tau_2 - I_syn pA = (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + I_syn pA = (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) V_abs' = -1/tau_m * V_abs + 1/C_m * I_syn end diff --git a/models/terub_neuron_gpe.nestml b/models/terub_neuron_gpe.nestml index b5ccbf174..13c81bd63 100644 --- a/models/terub_neuron_gpe.nestml +++ b/models/terub_neuron_gpe.nestml @@ -89,8 +89,8 @@ neuron terub_neuron_gpe: g_k_Ca real = 15.0 #Report:15, Terman Rubin 2002: 20.0 g_k1 real = 30.0 - I_ex_mod real = -I_sum(g_ex, spikeExc) * V_m - I_in_mod real = I_sum(g_in, spikeInh) * (V_m-E_gg) + I_ex_mod real = -curr_sum(g_ex, spikeExc) * V_m + I_in_mod real = curr_sum(g_in, spikeInh) * (V_m-E_gg) tau_n real = g_tau_n_0 + g_tau_n_1 / (1. + exp(-(V_m-g_theta_n_tau)/g_sigma_n_tau)) tau_h real = g_tau_h_0 + g_tau_h_1 / (1. + exp(-(V_m-g_theta_h_tau)/g_sigma_h_tau)) diff --git a/models/terub_neuron_stn.nestml b/models/terub_neuron_stn.nestml index c13a39a7e..d96568b81 100644 --- a/models/terub_neuron_stn.nestml +++ b/models/terub_neuron_stn.nestml @@ -98,8 +98,8 @@ neuron terub_neuron_stn: k_Ca real = 22.5 k1 real = 15.0 - I_ex_mod pA = -I_sum(g_ex,spikeExc)*V_m - I_in_mod pA = I_sum(g_in, spikeInh) * (V_m-E_gs) + I_ex_mod pA = -curr_sum(g_ex,spikeExc)*V_m + I_in_mod pA = curr_sum(g_in, spikeInh) * (V_m-E_gs) tau_n mV = tau_n_0 + tau_n_1 / (1. + exp(-(V_m-theta_n_tau)/sigma_n_tau)) tau_h mV = tau_h_0 + tau_h_1 / (1. + exp(-(V_m-theta_h_tau)/sigma_h_tau)) diff --git a/src/main/java/org/nest/codegeneration/sympy/DeltaSolutionTransformer.java b/src/main/java/org/nest/codegeneration/sympy/DeltaSolutionTransformer.java index c5b25f62d..4d869d600 100644 --- a/src/main/java/org/nest/codegeneration/sympy/DeltaSolutionTransformer.java +++ b/src/main/java/org/nest/codegeneration/sympy/DeltaSolutionTransformer.java @@ -79,7 +79,7 @@ private void addPropagatorStep(ASTNeuron astNeuron, Path propagatorStepFile) { final List i_sumCalls = AstUtils.getAll(astNeuron.getBody().getODEBlock().get(), ASTFunctionCall.class) .stream() - .filter(astFunctionCall -> astFunctionCall.getCalleeName().equals(PredefinedFunctions.I_SUM)) + .filter(astFunctionCall -> astFunctionCall.getCalleeName().equals(PredefinedFunctions.CURR_SUM)) .collect(toList()); // Apply spikes from the buffer to the state variable diff --git a/src/main/java/org/nest/codegeneration/sympy/ODETransformer.java b/src/main/java/org/nest/codegeneration/sympy/ODETransformer.java index 1ea1b1757..4abf86789 100644 --- a/src/main/java/org/nest/codegeneration/sympy/ODETransformer.java +++ b/src/main/java/org/nest/codegeneration/sympy/ODETransformer.java @@ -34,7 +34,7 @@ static List get_sumFunctionCalls(final ASTNode workingCopy) { return AstUtils.getAll(workingCopy, ASTFunctionCall.class) .stream() .filter(astFunctionCall -> - astFunctionCall.getCalleeName().equals(PredefinedFunctions.I_SUM) || + astFunctionCall.getCalleeName().equals(PredefinedFunctions.CURR_SUM) || astFunctionCall.getCalleeName().equals(PredefinedFunctions.COND_SUM)) .collect(Collectors.toList()); } diff --git a/src/main/java/org/nest/nestml/_cocos/NestmlErrorStrings.java b/src/main/java/org/nest/nestml/_cocos/NestmlErrorStrings.java index 910266254..479327823 100644 --- a/src/main/java/org/nest/nestml/_cocos/NestmlErrorStrings.java +++ b/src/main/java/org/nest/nestml/_cocos/NestmlErrorStrings.java @@ -167,9 +167,9 @@ String getErrorMsgGeneratedFunctionDefined(GetterSetterFunctionNames coco, + " there is a variable called '" + variableName + "'."; } - String getErrorMsg(I_SumHasCorrectParameter coco, String expression) { - return I_SumHasCorrectParameter.ERROR_CODE + ":" + "The arguments of the I_sum must be atomic expressions: " - + "e.g. V_m and not : " + expression; + String getErrorMsg(SumHasCorrectParameter coco, String expression) { + return SumHasCorrectParameter.ERROR_CODE + ":" + "The arguments of the I_sum must be atomic expressions: " + + "e.g. V_m and not : " + expression; } String getErrorMsg(InvalidTypesInDeclaration coco, String typeName) { diff --git a/src/main/java/org/nest/nestml/_cocos/I_SumHasCorrectParameter.java b/src/main/java/org/nest/nestml/_cocos/SumHasCorrectParameter.java similarity index 77% rename from src/main/java/org/nest/nestml/_cocos/I_SumHasCorrectParameter.java rename to src/main/java/org/nest/nestml/_cocos/SumHasCorrectParameter.java index 4d4aaf326..1a554ce58 100644 --- a/src/main/java/org/nest/nestml/_cocos/I_SumHasCorrectParameter.java +++ b/src/main/java/org/nest/nestml/_cocos/SumHasCorrectParameter.java @@ -15,21 +15,22 @@ import java.util.List; import static java.util.stream.Collectors.toList; -import static org.nest.symboltable.predefined.PredefinedFunctions.I_SUM; +import static org.nest.symboltable.predefined.PredefinedFunctions.COND_SUM; +import static org.nest.symboltable.predefined.PredefinedFunctions.CURR_SUM; /** - * This class ensures that I_sum(I,Buffer) gets only simple expression + * This class ensures that curr_sum(I,Buffer) gets only simple expression * * @author plotnikov */ -public class I_SumHasCorrectParameter implements ODEASTOdeDeclarationCoCo { - public final static String ERROR_CODE = "NESTML_" + I_SumHasCorrectParameter.class.getSimpleName(); +public class SumHasCorrectParameter implements ODEASTOdeDeclarationCoCo { + public final static String ERROR_CODE = "NESTML_" + SumHasCorrectParameter.class.getSimpleName(); @Override public void check(final ASTOdeDeclaration odeDeclaration) { final List functions = AstUtils.getAll(odeDeclaration, ASTFunctionCall.class) .stream() - .filter(astFunctionCall -> astFunctionCall.getCalleeName().equals(I_SUM)) + .filter(astFunctionCall -> astFunctionCall.getCalleeName().equals(CURR_SUM) || astFunctionCall.getCalleeName().equals(COND_SUM)) .collect(toList()); for (final ASTFunctionCall functionCall:functions) { diff --git a/src/main/java/org/nest/nestml/_symboltable/NestmlCoCosManager.java b/src/main/java/org/nest/nestml/_symboltable/NestmlCoCosManager.java index 03a6ab0fc..e361c08c4 100644 --- a/src/main/java/org/nest/nestml/_symboltable/NestmlCoCosManager.java +++ b/src/main/java/org/nest/nestml/_symboltable/NestmlCoCosManager.java @@ -151,8 +151,8 @@ private void registerCocos() { final VarHasTypeName varHasTypeName = new VarHasTypeName(); nestmlCoCoChecker.addCoCo(varHasTypeName); - final I_SumHasCorrectParameter i_sumHasCorrectParameter = new I_SumHasCorrectParameter(); - nestmlCoCoChecker.addCoCo(i_sumHasCorrectParameter); + final SumHasCorrectParameter _sumHasCorrectParameter = new SumHasCorrectParameter(); + nestmlCoCoChecker.addCoCo(_sumHasCorrectParameter); final EquationsOnlyForStateVariables equationsOnlyForStateVariables = new EquationsOnlyForStateVariables(); nestmlCoCoChecker.addCoCo(equationsOnlyForStateVariables); diff --git a/src/main/java/org/nest/symboltable/predefined/PredefinedFunctions.java b/src/main/java/org/nest/symboltable/predefined/PredefinedFunctions.java index 0121b59f8..a612e1dcc 100644 --- a/src/main/java/org/nest/symboltable/predefined/PredefinedFunctions.java +++ b/src/main/java/org/nest/symboltable/predefined/PredefinedFunctions.java @@ -39,8 +39,8 @@ public class PredefinedFunctions { public static final String DELTA = "delta"; private static final String MAX = "max"; public static final String INTEGRATE_ODES = "integrate_odes"; - public static final String I_SUM = "I_sum"; - public static final String COND_SUM = "Cond_sum"; + public static final String CURR_SUM = "curr_sum"; + public static final String COND_SUM = "cond_sum"; private static final Map name2FunctionSymbol = Maps.newHashMap(); @@ -124,11 +124,11 @@ public class PredefinedFunctions { integrate.setReturnType(getVoidType()); name2FunctionSymbol.put(INTEGRATE_ODES, integrate); - final MethodSymbol i_sum = createFunctionSymbol(I_SUM); + final MethodSymbol i_sum = createFunctionSymbol(CURR_SUM); i_sum.addParameterType(getType("pA")); i_sum.addParameterType(getBufferType()); i_sum.setReturnType(getType("pA")); - name2FunctionSymbol.put(I_SUM, i_sum); + name2FunctionSymbol.put(CURR_SUM, i_sum); final MethodSymbol cond_sum = createFunctionSymbol(COND_SUM); cond_sum.addParameterType(getType("nS")); diff --git a/src/test/java/org/nest/codegeneration/sympy/ODESolverGeneratorTest.java b/src/test/java/org/nest/codegeneration/sympy/ODESolverGeneratorTest.java index ff4306303..d03a9479b 100644 --- a/src/test/java/org/nest/codegeneration/sympy/ODESolverGeneratorTest.java +++ b/src/test/java/org/nest/codegeneration/sympy/ODESolverGeneratorTest.java @@ -65,19 +65,19 @@ public void generateSymPySolverForCondImplicitModel() throws IOException { @Test public void testReplacement() throws IOException { final NESTMLParser p = new NESTMLParser(TEST_MODEL_PATH); - final String ODE_DECLARATION = "V' = -1/Tau * V + 1/C_m * (I_sum(G, spikes) + I_e + ext_currents)"; + final String ODE_DECLARATION = "V' = -1/Tau * V + 1/C_m * (curr_sum(G, spikes) + I_e + ext_currents)"; final Optional ode = p.parseEquation(new StringReader(ODE_DECLARATION)); assertTrue(ode.isPresent()); boolean i_sum = AstUtils.getAll(ode.get(), ASTFunctionCall.class) .stream() - .anyMatch(astFunctionCall -> astFunctionCall.getCalleeName().equals(PredefinedFunctions.I_SUM)); + .anyMatch(astFunctionCall -> astFunctionCall.getCalleeName().equals(PredefinedFunctions.CURR_SUM)); assertTrue(i_sum); final ASTEquation testant = ODETransformer.replaceSumCalls(ode.get()); i_sum = AstUtils.getAll(testant, ASTFunctionCall.class) .stream() - .anyMatch(astFunctionCall -> astFunctionCall.getCalleeName().equals(PredefinedFunctions.I_SUM)); + .anyMatch(astFunctionCall -> astFunctionCall.getCalleeName().equals(PredefinedFunctions.CURR_SUM)); assertFalse(i_sum); } diff --git a/src/test/java/org/nest/nestml/_cocos/NestmlCoCosTest.java b/src/test/java/org/nest/nestml/_cocos/NestmlCoCosTest.java index 0244dd585..39c7dec0b 100644 --- a/src/test/java/org/nest/nestml/_cocos/NestmlCoCosTest.java +++ b/src/test/java/org/nest/nestml/_cocos/NestmlCoCosTest.java @@ -687,20 +687,20 @@ public void tesDerivativeOrderAtLeastOne() { @Test public void testI_SumHasCorrectParameter() { - final I_SumHasCorrectParameter i_sumHasCorrectParameter = new I_SumHasCorrectParameter(); - nestmlCoCoChecker.addCoCo(i_sumHasCorrectParameter); + final SumHasCorrectParameter _sumHasCorrectParameter = new SumHasCorrectParameter(); + nestmlCoCoChecker.addCoCo(_sumHasCorrectParameter); final Path pathToValidModel = Paths.get(TEST_MODELS_FOLDER, "i_SumHasCorrectParameter/valid.nestml"); checkModelAndAssertNoErrors( pathToValidModel, nestmlCoCoChecker, - I_SumHasCorrectParameter.ERROR_CODE); + SumHasCorrectParameter.ERROR_CODE); final Path pathToInvalidModel = Paths.get(TEST_MODELS_FOLDER, "i_SumHasCorrectParameter/invalid.nestml"); checkModelAndAssertWithErrors( pathToInvalidModel, nestmlCoCoChecker, - I_SumHasCorrectParameter.ERROR_CODE, + SumHasCorrectParameter.ERROR_CODE, 3); } diff --git a/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java b/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java index a5e0e1d5e..88e9be8be 100644 --- a/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java +++ b/src/test/java/org/nest/nestml/_symboltable/NESTMLSymbolTableCreatorTest.java @@ -209,11 +209,11 @@ public void testPredefinedMethods() throws IOException { = resolveMethod("exp", Lists.newArrayList("real"), modelScope); assertTrue(withPredicate.isPresent()); - Optional I_sumOptional = resolveMethod(PredefinedFunctions.I_SUM, Lists.newArrayList("pA", "Buffer"), modelScope); + Optional I_sumOptional = resolveMethod(PredefinedFunctions.CURR_SUM, Lists.newArrayList("pA", "Buffer"), modelScope); assertTrue(I_sumOptional.isPresent()); - I_sumOptional = resolveMethod(PredefinedFunctions.I_SUM, Lists.newArrayList("nS", "Buffer"), modelScope); + I_sumOptional = resolveMethod(PredefinedFunctions.CURR_SUM, Lists.newArrayList("nS", "Buffer"), modelScope); assertFalse(I_sumOptional.isPresent()); - I_sumOptional = resolveMethod(PredefinedFunctions.I_SUM, Lists.newArrayList("pA", "real"), modelScope); + I_sumOptional = resolveMethod(PredefinedFunctions.CURR_SUM, Lists.newArrayList("pA", "real"), modelScope); assertFalse(I_sumOptional.isPresent()); Optional Cond_sumOptional = resolveMethod(PredefinedFunctions.COND_SUM, Lists.newArrayList("nS", "Buffer"), modelScope); diff --git a/src/test/resources/codegeneration/aeif_cond_alpha.nestml b/src/test/resources/codegeneration/aeif_cond_alpha.nestml index 1117fdcfe..5d8bf8358 100644 --- a/src/test/resources/codegeneration/aeif_cond_alpha.nestml +++ b/src/test/resources/codegeneration/aeif_cond_alpha.nestml @@ -85,7 +85,7 @@ neuron iaf_psc_alpha_neuron: shape I_shape_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape I_shape_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) end parameters: diff --git a/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml b/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml index 604930742..b07dd9966 100644 --- a/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml +++ b/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml @@ -72,8 +72,8 @@ neuron aeif_cond_alpha_implicit_implicit: # Add aliases to simplify the equation definition of V_m exp_arg real = (V_m-V_th)/delta_T I_spike pA = delta_T*exp(exp_arg) - I_syn_exc pA = Cond_sum(g_ex, spikesEx) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikesIn) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikesEx) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikesIn) * ( V_m - E_in ) V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m w' = (a*(V_m - E_L) - w)/tau_w diff --git a/src/test/resources/codegeneration/aeif_cond_exp.nestml b/src/test/resources/codegeneration/aeif_cond_exp.nestml index 7833b64cc..9e5f453ca 100644 --- a/src/test/resources/codegeneration/aeif_cond_exp.nestml +++ b/src/test/resources/codegeneration/aeif_cond_exp.nestml @@ -84,8 +84,8 @@ neuron aeif_cond_exp_neuron: shape GE = exp(-1/tau_syn_ex*t) exp_arg real = (V_m-V_th)/delta_T I_spike real = delta_T*exp(exp_arg) - I_syn_exc real = Cond_sum(GE, spikeExc) * ( V_m - E_ex ) - I_syn_inh real = Cond_sum(GI, spikeInh) * ( V_m - E_in ) + I_syn_exc real = cond_sum(GE, spikeExc) * ( V_m - E_ex ) + I_syn_inh real = cond_sum(GI, spikeInh) * ( V_m - E_in ) V_m' = ( -g_L * ( ( V_m - E_L ) - I_spike ) - I_syn_exc - I_syn_inh - w + I_e + I_stim ) / C_m w' = (a*(V_m - E_L) - w)/tau_w diff --git a/src/test/resources/codegeneration/iaf_chxk_2008.nestml b/src/test/resources/codegeneration/iaf_chxk_2008.nestml index a0fb7b263..f7e8aea9b 100644 --- a/src/test/resources/codegeneration/iaf_chxk_2008.nestml +++ b/src/test/resources/codegeneration/iaf_chxk_2008.nestml @@ -36,8 +36,8 @@ neuron iaf_chxk_2008_neuron: shape g_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape g_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - I_syn_exc pA = Cond_sum(g_ex, spikesInh) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikesExc) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikesInh) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikesExc) * ( V_m - E_in ) I_ahp pA = G_ahp * ( V_m - E_ahp ) I_leak pA = g_L * ( V_m - E_L ) diff --git a/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml b/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml index e7b226b65..90b25e4b7 100644 --- a/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml +++ b/src/test/resources/codegeneration/iaf_psc_alpha_three_buffers.nestml @@ -9,7 +9,7 @@ neuron iaf_psc_alpha_three_buffers: shape I_shape_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape I_shape_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) end parameters: diff --git a/src/test/resources/codegeneration/neuron_with_setter.nestml b/src/test/resources/codegeneration/neuron_with_setter.nestml index 4c1b418cf..13b813185 100644 --- a/src/test/resources/codegeneration/neuron_with_setter.nestml +++ b/src/test/resources/codegeneration/neuron_with_setter.nestml @@ -87,7 +87,7 @@ neuron iaf_psc_alpha_neuron: shape I_shape_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape I_shape_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) end parameters: diff --git a/src/test/resources/codegeneration/terub_neuron_stn.nestml b/src/test/resources/codegeneration/terub_neuron_stn.nestml index 3f96db327..9dd2d9ae9 100644 --- a/src/test/resources/codegeneration/terub_neuron_stn.nestml +++ b/src/test/resources/codegeneration/terub_neuron_stn.nestml @@ -57,8 +57,8 @@ neuron hh_cond_exp_traub_implicit: I_Na pA = g_Na * Act_m * Act_m * Act_m * Act_h * ( V_m - E_Na ) I_K pA = g_K * Inact_n * Inact_n * Inact_n * Inact_n * ( V_m - E_K ) I_L pA = g_L * ( V_m - E_L ) - I_syn_exc pA = Cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) - I_syn_inh pA = Cond_sum(g_in, spikeInh) * ( V_m - E_in ) + I_syn_exc pA = cond_sum(g_ex, spikeExc) * ( V_m - E_ex ) + I_syn_inh pA = cond_sum(g_in, spikeInh) * ( V_m - E_in ) V_m' =( -I_Na - I_K - I_L - I_syn_exc - I_syn_inh + I_stim + I_e ) / C_m diff --git a/src/test/resources/command_line_base/cli_example.nestml b/src/test/resources/command_line_base/cli_example.nestml index a982df8d8..ae62936d5 100644 --- a/src/test/resources/command_line_base/cli_example.nestml +++ b/src/test/resources/command_line_base/cli_example.nestml @@ -9,7 +9,7 @@ neuron iaf_psc_alpha_nestml: shape I_shape_in = (e/tau_syn_in) * t * exp(-1/tau_syn_in*t) shape I_shape_ex = (e/tau_syn_ex) * t * exp(-1/tau_syn_ex*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(I_shape_in, in_spikes) + I_sum(I_shape_ex, ex_spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(I_shape_in, in_spikes) + curr_sum(I_shape_ex, ex_spikes) + I_e + currents) end parameters: diff --git a/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/invalid.nestml b/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/invalid.nestml index 43583661f..0dd31cd9e 100644 --- a/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/invalid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/invalid.nestml @@ -1,13 +1,13 @@ -neuron invalid_I_sum: +neuron invalid_curr_sum: state: V_m mV G pA end equations: - V_m' = V_m+I_sum(G*2, spikes) # error1: G*2 is false - V_m' = V_m+I_sum(G, spikes*2) # error2: spikes*2 is false - V_m' = V_m+I_sum(G+G, spikes) # error3: G+G is false + V_m' = V_m+curr_sum(G*2, spikes) # error1: G*2 is false + V_m' = V_m+curr_sum(G, spikes*2) # error2: spikes*2 is false + V_m' = V_m+curr_sum(G+G, spikes) # error3: G+G is false end input: diff --git a/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/valid.nestml b/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/valid.nestml index eaaf1dd1c..6816b5258 100644 --- a/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/valid.nestml +++ b/src/test/resources/org/nest/nestml/_cocos/i_SumHasCorrectParameter/valid.nestml @@ -1,11 +1,11 @@ -neuron valid_I_sum: +neuron valid_curr_sum: state: V_m mV G pA end equations: - V_m' = V_m+I_sum(G, spikes) + V_m' = V_m+curr_sum(G, spikes) end input: diff --git a/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml b/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml index ffc385bd2..f025f3f11 100644 --- a/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml +++ b/src/test/resources/org/nest/nestml/_symboltable/iaf_neuron.nestml @@ -17,7 +17,7 @@ neuron iaf_neuron: equations: y0' = y0 + 1 y0'' = y0' + 1 - recordable y3_tmp real = Cond_sum(y1, spikeBuffer) + recordable y3_tmp real = cond_sum(y1, spikeBuffer) y3' = y3_tmp end diff --git a/src/test/resources/tutorial/33_rc_shape.nestml b/src/test/resources/tutorial/33_rc_shape.nestml index 97f3f2ef1..c6bd7fa81 100644 --- a/src/test/resources/tutorial/33_rc_shape.nestml +++ b/src/test/resources/tutorial/33_rc_shape.nestml @@ -10,7 +10,7 @@ neuron rc_shape: equations: shape g_ex = (e/tau_syn) * t * exp(-1/tau_syn*t) - I_syn pA = I_sum(g_ex, spikes) + currents + I_e + I_syn pA = curr_sum(g_ex, spikes) + currents + I_e V_m' = -(V_m - E_L)/tau_m + I_syn/C_m end diff --git a/src/test/resources/unparsable/multipleVariablesWithSameName.nestml b/src/test/resources/unparsable/multipleVariablesWithSameName.nestml index 1c62f461a..e978d4fdc 100644 --- a/src/test/resources/unparsable/multipleVariablesWithSameName.nestml +++ b/src/test/resources/unparsable/multipleVariablesWithSameName.nestml @@ -81,7 +81,7 @@ neuron iaf_neuron_neuron: # Declarative description of the updates rules equations: shape G = (e/tau_syn) * t * exp(-1/tau_syn*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(G, spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(G, spikes) + I_e + currents) end # these parameter are adjusted from outside diff --git a/src/test/resources/unparsable/wrongTypes.nestml b/src/test/resources/unparsable/wrongTypes.nestml index a024370b0..92dd9d55e 100644 --- a/src/test/resources/unparsable/wrongTypes.nestml +++ b/src/test/resources/unparsable/wrongTypes.nestml @@ -81,7 +81,7 @@ neuron iaf_neuron_neuron: # Declarative description of the updates rules equations: shape G = (e/tau_syn) * t * exp(-1/tau_syn*t) - V_abs' = -1/Tau * V_abs + 1/C_m * (I_sum(G, spikes) + I_e + currents) + V_abs' = -1/Tau * V_abs + 1/C_m * (curr_sum(G, spikes) + I_e + currents) end # these parameter are adjusted from outside From 8b56254a4a2d4ab46ddf1cab814138322f879031 Mon Sep 17 00:00:00 2001 From: DimitriPlotnikov Date: Tue, 29 Nov 2016 09:09:48 +0100 Subject: [PATCH 3/3] Use the latest released version --- docker/DockerfileRelease | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/DockerfileRelease b/docker/DockerfileRelease index 392ea0ed5..7fab119b3 100644 --- a/docker/DockerfileRelease +++ b/docker/DockerfileRelease @@ -28,7 +28,7 @@ RUN python setup.py install # Define working directory.doc RUN mkdir -p /data/nestml/target/ WORKDIR /data/nestml/target/ -RUN wget https://github.com/nest/nestml/releases/download/1.3.1/nestml.jar +RUN wget https://github.com/nest/nestml/releases/download/1.4.0/nestml.jar # Define default command. # Entry point is constructed in the invoking script