For a more "systems" approach for ODEs, you should look at Modelica: https://en.wikipedia.org/wiki/Modelica It's very powerful stuff.
Julia's meta-programming functionality is ideal for implementing such domain-specific languages (the popular JuMP suite is a flagship example in a different domain: https://jump.readthedocs.io/en/latest/).
Several groups are working on systems inspired by Modelica, including:
http://tshort.github.io/Sims.jl/latest/
and
https://www.modelica.org/events/modelica2017/proceedings/htm... (https://github.com/ModiaSim/Modia.jl)