CellML Discussion List

Text archives Help


[cellml-discussion] little b - shared models built from reusable parts


Chronological Thread 
  • From: tommy.yu at auckland.ac.nz (Tommy Yu)
  • Subject: [cellml-discussion] little b - shared models built from reusable parts
  • Date: Tue, 29 Jul 2008 12:47:58 +1200

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





Archive powered by MHonArc 2.6.18.

Top of page