[cellml-discussion] little b - shared models built from reusable parts
Tommy Yu
tommy.yu at auckland.ac.nz
Tue Jul 29 12:47:58 NZST 2008
Michael Hucka wrote:
> My own $0.02, as another software developer and an old Lisp
> hacker myself (and of course, everything I say here is
> purely personal opinion).
>
> TY> I think this can be done with a programming language.
>
> Yup, you can exchange programs as your "model description",
> and people did essentially that for a few decades. (They
> still do even today, especially when the model is, e.g.,
> MATLAB code.) There are at least two reasons why people are
> trying to move away from that:
>
> 1) The system interpreting the description must implement
> the entire programming language interpreter. Little b,
> for example, needs Lisp underneath it. But regardless of
> whether your description requires Lisp or not, it's a
> nontrivial requirement. It reduces your ability to share
> the model on the one hand, and the size of your willing
> audience on the other.
>
Yup, see below.
> 2) The essence of what you're trying to model becomes lost.
> It is no longer a description of the domain phenomena
> (here, biological mechanisms), and instead becomes tied
> up with artifacts of the simulation/analysis framework.
>
Agreed, not being tied to a specific framework grants way more freedom than otherwise. Further points below.
> (I'm sorry if that seems obvious and I'm missing your
> point!)
>
> TY> XML based languages have other types of advantages
> TY> over lisp-based languages, naming the great number of
> TY> tools able to interpret XML files, interoperability
> TY> with XML/RDF for a variety of metadata capabilities,
> TY> and many more.
>
> I'm not sure if you're saying this, but just to be clear,
> XML is *not* a programming language. It's merely a
> serialization format. One could use ASN.1, or Google's
> Protocol Buffers, or any of another of others.
>
Whoops, I didn't mean to imply XML is a programming language, I meant to say using lisp-based languages are limiting because they require a lisp interpreter underneath to interpret it, which is what you have said in point 1).
To strengthen point 2) that you've made and to further elaborate/clear up on what I said, XML is a fairly good language to use to represent/exchange models because it has been extended by many different parties, namely MathML and RDF/XML. MathML allows very raw and explicit representation of the mathematical equations represented by the model, there are many different software that can render/solve it. RDF/XML is a versatile description framework that has been extended by many different groups to allow representation of various types of metadata, and can be very domain specific in what it represents. Again, many different software can be used to interpret RDF, and are very platform agnostic.
As for simulation of the representations of the models, one can turn that XML representation into any software code of one's choice, as it's not limited by any framework. Definitely much greater flexibility, but of course this requires a bit more work.
Thank you for your $0.02!
Cheers,
Tommy.
> MH
>
> _______________________________________________
> cellml-discussion mailing list
> cellml-discussion at cellml.org
> http://www.cellml.org/mailman/listinfo/cellml-discussion
More information about the cellml-discussion
mailing list