Re: [cellml-discussion] CeVAS, CUSES, MaLaES
Thanks Andrew. So just to make sure I'm getting it right, in the trunk code CCGS is now a service sitting on top of CaVAS, MaLaES, etc., right? Andre. Andrew Miller wrote: David Nickerson wrote: Hi all, I have just done an update on my working copy of the CellML API C++ implementation and have found that new version of the code generation services (?) have arrived. While I presume the CCGS code is still complete and working (if I can get it to build), but I just wanted to check if the new code is ready for use and if there was any help available to ease changing from the old CCGS to the new methods? I'm hoping documentation and/or examples...(something like the current CCGS/tests/CellML2C.cpp would be good and may already be in there somewhere...) Hi Andre, The new services have landed a while ago on the trunk after being tested on a branch. There are still a few issues being ironed out (mainly regarding how invalid CellML models are handled, and ensuring that we don't crash on them and instead report a useful error), but the new CCGS is being used in PCEnv snapshot builds. Firstly, the interfaces for CCGS have been updated, and the comments on the interfaces have been updated to reflect what the interface now does. The interface changes are fairly minor (the major change is that the concept of iterating variables has now become iterating 'computation targets', which are basically variables plus a degree to which that variable is differentiated, as well as differences allowing you to configure the CCGS to generate languages other than C). Bound variables have been renamed to variables of integration, and the structure of the generated code if you don't do any configuration has changed somewhat, as there is now a separate array for algebraic and state variables rather than squashing everything into a single variables array. Also, CCGS/tests/CellML2C.cpp has been updated and should still be working with the new code (it is used for the automated tests, which still pass). Best regards, Andrew Thanks, Andre ___ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion ___ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion -- David Nickerson, PhD Research Fellow Division of Bioengineering Faculty of Engineering National University of Singapore Email: [EMAIL PROTECTED] ___ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion
Re: [cellml-discussion] CeVAS, CUSES, MaLaES
Andrew Miller wrote: David Nickerson wrote: Thanks Andrew. So just to make sure I'm getting it right, in the trunk code CCGS is now a service sitting on top of CaVAS, MaLaES, etc., right? Thats right, so you need to enable those services in configure in order to enable CCGS. ok, thanks. if I just do a '--enable-ccgs' on my configure, does that enable the new services or do I need to explicitly enable each one? (my current configure command is something like: ../source/configure --prefix $HOME/std-libs/physiome/ --enable-corba=no --enable-context=no --enable-ccgs --enable-cis=no --enable-server=no --enable-static --enable-shared=no ) Might be nice for the API documentation on the website to be updated to describe all this...although I guess its covered under the last item on the current milestone page (http://www.cellml.org/tools/api/Milestones). Thanks, Andre. ___ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion
Re: [cellml-discussion] CeVAS, CUSES, MaLaES
David Nickerson wrote: Andrew Miller wrote: David Nickerson wrote: Thanks Andrew. So just to make sure I'm getting it right, in the trunk code CCGS is now a service sitting on top of CaVAS, MaLaES, etc., right? Thats right, so you need to enable those services in configure in order to enable CCGS. ok, thanks. if I just do a '--enable-ccgs' on my configure, does that enable the new services or do I need to explicitly enable each one? (my current configure command is something like: ../source/configure --prefix $HOME/std-libs/physiome/ --enable-corba=no --enable-context=no --enable-ccgs --enable-cis=no --enable-server=no --enable-static --enable-shared=no ) I wonder why we don't have something simpler, i.e. everything is disabled by default and if you want something enabled, then just mention it. In other words to have Andre's configure command above, we would use: ../source/configure --prefix $HOME/std-libs/physiome/ --ccgs --static Note that I removed the enable- bit, as I really don't see the point for it. Might be nice for the API documentation on the website to be updated to describe all this...although I guess its covered under the last item on the current milestone page (http://www.cellml.org/tools/api/Milestones). I hope this is going to be done. I am working with Andrew on getting some developer documentation for everything that is required to recompile PCEnv, so that will include the CellML API. Alan. ___ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion
Re: [cellml-discussion] CeVAS, CUSES, MaLaES
Alan Garny wrote: David Nickerson wrote: Andrew Miller wrote: David Nickerson wrote: Thanks Andrew. So just to make sure I'm getting it right, in the trunk code CCGS is now a service sitting on top of CaVAS, MaLaES, etc., right? Thats right, so you need to enable those services in configure in order to enable CCGS. ok, thanks. if I just do a '--enable-ccgs' on my configure, does that enable the new services or do I need to explicitly enable each one? (my current configure command is something like: ../source/configure --prefix $HOME/std-libs/physiome/ --enable-corba=no --enable-context=no --enable-ccgs --enable-cis=no --enable-server=no --enable-static --enable-shared=no ) I wonder why we don't have something simpler, i.e. everything is disabled by default and if you want something enabled, then just mention it. In other words to have Andre's configure command above, we would use: ../source/configure --prefix $HOME/std-libs/physiome/ --ccgs --static Note that I removed the enable- bit, as I really don't see the point for it. Hi Alan, Everything is disabled by default, so you need to turn things on explicitly, as you suggested. I agree that it might be nice to turn on dependencies automatically - we don't do that now, so you need to manually specify everything that should be built. With regards to the --enable suffix, I think that it is better to stick with the autoconf defaults, since autoconf based programs are very common, and if we were to break the standard convention we would just confuse everyone (not to mention that one day we might have some feature that we might want to turn on by default, so we would need --disable- to override this). Might be nice for the API documentation on the website to be updated to describe all this...although I guess its covered under the last item on the current milestone page (http://www.cellml.org/tools/api/Milestones). I hope this is going to be done. I am working with Andrew on getting some developer documentation for everything that is required to recompile PCEnv, so that will include the CellML API. We can probably get most of the way with respect to the documentation on the API structure just by running the interfaces through Doxygen. Best regards, Andrew ___ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion