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)