[cellml-discussion] automated connection creation
SHIMAYOSHI Takao
simayosi at astem.or.jp
Wed Aug 8 17:34:07 NZST 2007
From: Andrew Miller <ak.miller at auckland.ac.nz>
Subject: Re: [cellml-discussion] automated connection creation
Date: Wed, 08 Aug 2007 09:39:10 +1200
Message-ID: <46B8E67E.6090307 at auckland.ac.nz>
ak.miller> James Lawson wrote:
ak.miller> > It would be really easy to create some kind of script / automation
ak.miller> > process that automatically connects up variables of the same name if
ak.miller> > they have matching interfaces.
ak.miller> >
ak.miller> > Say you have a component A with variables a and b. a is defined in A and
ak.miller> > has pub interface out, while b is imported from B, where it is defined.
ak.miller> > So you also have component B with variables a and b, a having pub
ak.miller> > interface in and b having pub interface out.
ak.miller> >
ak.miller> > Surely it would be very simple to just have some button to click in
ak.miller> > PCEnv or COR that links up these variables? I'm not saying this is done
ak.miller> > by default - you'd have to select the option once you'd defined all your
ak.miller> > variable interfaces. It wouldn't be able to handle connecting variables
ak.miller> > with different names, but it would at least be a start. There would also
ak.miller> > be problems with variables with the same name that aren't supposed to be
ak.miller> > all connected together, but this, IMO, is just bad CellML practice.
ak.miller> > Imports might be an issue too. I find creating connections the most
ak.miller> > tedious aspect of coding up a CellML model, and I think the benefits
ak.miller> > would vastly outweigh the problems, and of course, people wouldn't have
ak.miller> > to use it...
ak.miller> >
ak.miller> > I also thought, surely someone has already thought of this and thrown
ak.miller> > the idea out. But if this could be implemented it would be extremely
ak.miller> > useful.
ak.miller> >
ak.miller> I don't think that it is as simple as using names - I don't think it is
ak.miller> always bad practice to use the same names for two different things -
ak.miller> this is in fact the norm for when you import the same thing twice. You
ak.miller> would also not always get the topology of the model correct if you tried
ak.miller> to compose models this way.
ak.miller>
ak.miller> Noma's group at Kyoto University uses their Cell Model Ontology metadata
ak.miller> to allow the tool to "edit the composition of a model with intelligent
ak.miller> assistance" (refer to Takao' Shimayoshi's slides from the CellML Workshop,
ak.miller> http://www.cellml.org/workshop2007/presentations/070403cellmlworkshopshimayoshi-handout.pdf/download
ak.miller> page 3 in the PDF). If we were going to implement something like this, I
ak.miller> think we would want to base it on metadata about the interpretation of
ak.miller> variables and not on variable names, and it would have to be a
ak.miller> semi-supervised process not a completely automated one, to get the
ak.miller> topology right.
Thanks for referring our research.
I also think the full-automatic connection using only names has some
issues. In mixing several models, a model A, for example, uses a name
'V' for the membrane potential, and another model B uses the same
name 'V' for the cell volume.
So, our strategy is first identifying components and variables using
intelligent estimations and user corrections, then automatically
connecting variables.
The estimation currently uses lexical keyword matching of names,
matching of units, and structural analysis of the original CellML file.
To get the detail algorithm, please refer to our paper,
doi:10.2197/ipsjdc.2.726.
Best wishes,
SHIMAYOSHI Takao.
More information about the cellml-discussion
mailing list