Field Representation
The Field Representation Project
A big challange for the modelling community has been the ever increasing complexity of biomedical and systems biology models. One approach to meeting the challange is to develop several models individually and then integrate them using common (portable) representations. Fields are mathematical entities that vary over space and/or time. Because spatio-temporal representations are common to many kinds of models, a portable field representation has the potential to interchange information between many kinds of models and across multiple scales.
The field representation project consists primarily of the Field Representation Language (FRL), and the Abstract Field Layer although some other associated tools also exist.
The Field Representation Language
The Field Represetnation Language (FRL) uses several files to represent a field and a URI's to link the files together. Whenever sensible, XML is used to represent data. In biomedical applications, large volumes of numeric data often constitute an important part of the field's definition but XML is an inefficient vehicle for such fields. FRL uses HDF5 to store its numeric information. For a formal definition of FRL see 'Tsafnat G, The Field Representation Language, Journal of Biomedical Informatics' 2007, (in press).
The Abstract Field Layer
In order to help you adopt FRL, we created a C++ API for reading, validating, manipulating writing FRL fields. The Abstract Field Layer (AFL) is an object oriented mathematical library that provides efficient implementations of Delaunay Triangulations (based on QuickHull), finding the element that contains a point, geometrical intersections, determining if a point is inside or outside the domain of a field and so on.
AFL is freely distributed under the GPL license and is available from SourceForge.
Fields based Solver Framekwork