From: Andrew M. <ak....@au...> - 2010-03-03 21:38:46
|
Frank Bergmann wrote: > Hello all, > > First of all thank you so much Dagmar for reviving this list. It is good to > see the ball moving again. > > I've been working with SED-ML extensively over the last months. The biggest > concern of mine has always been the way that SED-ML is structured. > Currently, whenever we want to exchange a new simulation experiment, we need > to add a new class to SED-ML. (And no, the AnySimulation class will not be > exchangeable, so it should be dropped as soon as possible). That also means > that each time a class is added to SED-ML everyone else has to start > implementing support for it. This is a sure way for SED-ML to fail as > standard! > > Back in Waiheke last year we tried to resolve that issue by adding the Range > classes to the existing simulation experiments like TimeCourse. And it did > sound good back then. However, thinking on how to implement it and, perhaps > more importantly, how to apply it to other simulation experiments, it proved > hard to do. This concept only translates into a triple amount of work for > the implementers of the SED-ML format. > > And so here my proposal. Let us go back to the roots. By defining simple > primitives, for a simulation step, bringing the model to steady state, and > changing values, we can finally arrive at a truly extendable standard that > is also easy to implement. I've placed my thoughts online: > > http://precedings.nature.com/documents/4257/version/1 Hi Frank, A few comments. I think that dealing with 'time' is probably one of the biggest weaknesses in this approach. You wrote: "We could make it convention, that if this is not defined, then the models time parameter is changed". Firstly, as soon as we talk about time, we lose generality; I suggest 'independent variable of integration' or a similar term. I'll refer to it as 'IVOI' here. Secondly, modern DAE / IDA solvers take adaptive steps in their IVOI, rather than fixed steps. Your proposal seems to not allow adaptive step-sizes - rather, it forces the user to specify the step size on 'OneStep'. I think a successful simulation description needs to describe two separate things with regards to 'step size' like parameters of output across IVOIs: => Parameters controlling the internal stepping. For example, allowing for an optional maximum step size to control errors and ensure that the solver finds features like stimulation pulses. => Parameters controlling which data is reported. Some simulations will want to report every internal step, while in others, reporting this data will produce more data than is required. Some times, users don't care exactly which point is reported, but they want one at an approximate interval. For example, if the IVOI is time, a user might want a point approximately every 10 s - i.e. the logic needs to be something like 'do whatever internal stepping, with a maximum internal step of 10s, and report points as long as there has been no report in the last 10s of simulation time'. Other times, users want to compare two models point-by-point, and need a simulation experiment which produces grid aligned values. In this case, the logic is that the simulator can take whatever internal time-steps it wants, but the maximum time-step is the time until the next multiple of 10s, and only multiples of 10s are reported. The above is implemented in CellML Simulation Metadata and the CellML API and OpenCell extensions to it (this metadata focuses entirely on 'time' course experiments at present, but does that one task better than anything proposed for SEDML to date). Best wishes, Andrew > > Bergmann, Frank. A Simple Nested Simulation for SED-ML. Available from > Nature Precedings <http://dx.doi.org/10.1038/npre.2010.4257.1> (2010) > > > Let me know what you think, > Best > Frank > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > SED-ML-discuss mailing list > SED...@li... > https://lists.sourceforge.net/lists/listinfo/sed-ml-discuss |