[Molecularmechanics] first steps
Peter Murray-Rust
molecularmechanics@tddft.org
Wed, 22 Oct 2003 11:03:17 +0100
At 09:34 22/10/2003 +0200, Jakob Schiotz wrote:
> > I completely agree. One of the biggest problems to interoperability is
> the
> > implicit semantics in many programs. By externalising the semantics
> you get
> > a much cleaner design as well as a better understanding of what the
> program
> > is actually doing. I'm fairly confident that for most systems the XML can
> > abstract the force field. As a general rule, when something proves
> > difficult in XML it tells you there is a fundamental design feature that
> > must be addressed.
>
>I am afraid that few programs, if any, will read the force field
>description from the XML file, and then use it. Rather, it will have
>the force field implemented in C/C++/Fortran/Whatever. The XML force
>field will at most be recognized. So in most cases, the XML force
>field only documents the "real" force field. This is still useful,
>but we will quickly come in situations where the XML definition
>differs from the actual implementation. If the XML definition is never
>used for real calculations, it will essentially be "untested code",
>and therefore buggy.
This is certainly true at present. I don't think many program maintainers
will immediately rush out and start doing symbolic algebra on force field
functional forms to generate code (although this is not inconceivable at
some later stage). However creating an XML representation can have a
number of benefits:
- it allows the formulation to be used interchangeably. It might be
possible to search for programs which used a particular form. (Note TeX
doesn't normally support symbolic algebra, but MathML can.)
- it allows documentation and the equations could , for example, be
systematically typeset.
- it might allow for program simulation to validate correctness of
implementation on test sets.
>Perhaps it will be just as useful to represent the force field by a
>single string which identifies it. Or two strings, one with a name
>and another with one or more journal references.
That is perfectly feasible and such a reference would be useful. XML is
often used for references in this way. In this way the forcefields can be
normalised. I would suggest that it is then even more valuable to have an
analytical representation of the FF in this reference. If a program then
changes its internal code without updating its reference then that is a
maintenance, not a design problem.
Peter