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
diff --git a/models/aeif_cond_alpha.nestml b/models/aeif_cond_alpha.nestml
index a85ec6762..db3ec67dc 100644
--- a/models/aeif_cond_alpha.nestml
+++ b/models/aeif_cond_alpha.nestml
@@ -44,15 +44,15 @@ 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
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..45c28923a 100644
--- a/models/aeif_cond_alpha_implicit.nestml
+++ b/models/aeif_cond_alpha_implicit.nestml
@@ -53,14 +53,14 @@ 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
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..29cf77afc 100644
--- a/models/aeif_cond_exp.nestml
+++ b/models/aeif_cond_exp.nestml
@@ -47,14 +47,14 @@ 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
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..b3dcd36f1 100644
--- a/models/aeif_cond_exp_implicit.nestml
+++ b/models/aeif_cond_exp_implicit.nestml
@@ -52,13 +52,13 @@ 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
- 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..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)
@@ -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..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
@@ -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..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 )
@@ -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..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 )
@@ -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..f34d832c4 100644
--- a/models/iaf_chxk_2008_implicit.nestml
+++ b/models/iaf_chxk_2008_implicit.nestml
@@ -42,15 +42,15 @@ 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 )
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..cc72a9926 100644
--- a/models/iaf_cond_alpha.nestml
+++ b/models/iaf_cond_alpha.nestml
@@ -41,14 +41,14 @@ 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
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..08a823d42 100644
--- a/models/iaf_cond_alpha_implicit.nestml
+++ b/models/iaf_cond_alpha_implicit.nestml
@@ -48,14 +48,14 @@ 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
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..a57f6df42 100644
--- a/models/iaf_cond_beta.nestml
+++ b/models/iaf_cond_beta.nestml
@@ -35,13 +35,13 @@ 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
- 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..131861716 100644
--- a/models/iaf_cond_exp.nestml
+++ b/models/iaf_cond_exp.nestml
@@ -33,13 +33,13 @@ 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
- 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..66fec96fe 100644
--- a/models/iaf_cond_exp_implicit.nestml
+++ b/models/iaf_cond_exp_implicit.nestml
@@ -35,13 +35,13 @@ 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
- 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..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 )
@@ -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..11b9771b8 100644
--- a/models/iaf_neuron.nestml
+++ b/models/iaf_neuron.nestml
@@ -81,11 +81,11 @@ 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
- 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..86f922bb6 100644
--- a/models/iaf_psc_alpha.nestml
+++ b/models/iaf_psc_alpha.nestml
@@ -83,10 +83,10 @@ 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
- 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..e800f6124 100644
--- a/models/iaf_psc_alpha_multisynapse.nestml
+++ b/models/iaf_psc_alpha_multisynapse.nestml
@@ -37,10 +37,10 @@ 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
- 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..04a4e9f79 100644
--- a/models/iaf_psc_delta.nestml
+++ b/models/iaf_psc_delta.nestml
@@ -76,10 +76,10 @@ 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
- 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..29f391462 100644
--- a/models/iaf_psc_exp.nestml
+++ b/models/iaf_psc_exp.nestml
@@ -84,11 +84,11 @@ 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
- 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..f7cfd2605 100644
--- a/models/iaf_psc_exp_multisynapse.nestml
+++ b/models/iaf_psc_exp_multisynapse.nestml
@@ -30,11 +30,11 @@ 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
- 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..f71a31f27 100644
--- a/models/iaf_tum_2000.nestml
+++ b/models/iaf_tum_2000.nestml
@@ -98,11 +98,11 @@ 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
- 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..516c52467 100644
--- a/models/mat2_psc_exp.nestml
+++ b/models/mat2_psc_exp.nestml
@@ -74,11 +74,11 @@ 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
- 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..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))
@@ -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..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))
@@ -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/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/_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/_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/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/_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/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/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/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/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/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/_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 0cda26647..88e9be8be 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());
@@ -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/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..5d8bf8358 100644
--- a/src/test/resources/codegeneration/aeif_cond_alpha.nestml
+++ b/src/test/resources/codegeneration/aeif_cond_alpha.nestml
@@ -85,10 +85,10 @@ 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
- 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..b07dd9966 100644
--- a/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml
+++ b/src/test/resources/codegeneration/aeif_cond_alpha_multisynapse.nestml
@@ -72,15 +72,15 @@ 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
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..9e5f453ca 100644
--- a/src/test/resources/codegeneration/aeif_cond_exp.nestml
+++ b/src/test/resources/codegeneration/aeif_cond_exp.nestml
@@ -84,14 +84,14 @@ 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
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..f7e8aea9b 100644
--- a/src/test/resources/codegeneration/iaf_chxk_2008.nestml
+++ b/src/test/resources/codegeneration/iaf_chxk_2008.nestml
@@ -36,15 +36,15 @@ 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 )
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..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,10 +9,10 @@ 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
- 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..13b813185 100644
--- a/src/test/resources/codegeneration/neuron_with_setter.nestml
+++ b/src/test/resources/codegeneration/neuron_with_setter.nestml
@@ -87,10 +87,10 @@ 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
- 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..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
@@ -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..ae62936d5 100644
--- a/src/test/resources/command_line_base/cli_example.nestml
+++ b/src/test/resources/command_line_base/cli_example.nestml
@@ -9,10 +9,10 @@ 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
- 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/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/_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..f025f3f11 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..c6bd7fa81 100644
--- a/src/test/resources/tutorial/33_rc_shape.nestml
+++ b/src/test/resources/tutorial/33_rc_shape.nestml
@@ -10,11 +10,11 @@ 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
- 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..e978d4fdc 100644
--- a/src/test/resources/unparsable/multipleVariablesWithSameName.nestml
+++ b/src/test/resources/unparsable/multipleVariablesWithSameName.nestml
@@ -81,11 +81,11 @@ 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
- 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..92dd9d55e 100644
--- a/src/test/resources/unparsable/wrongTypes.nestml
+++ b/src/test/resources/unparsable/wrongTypes.nestml
@@ -81,11 +81,11 @@ 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
- 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