language

Compiled or interpreted or scripting language
Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 07/10/13
  • Minor correction: 07/10/13
  • Index card author: Luc Hogie (I3S)
  • Theme leader : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))

jaseto : JAva SErialisation TOolkit

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 2013.08.30.14.13.40 - 2013.08.30
  • License(s): LGPL
  • Support: maintained, ongoing development
  • Designer(s): Luc Hogie
  • Contact designer(s): luc.hogie@cnrs.fr
  • Laboratory, service:

 

General software features

Jaseto is a Java library enabling the description of Java objects in XML, and conversely, the creation of Java object from their XML description. This process is commonly referred to as (de)serialization or (un)marshalling. It is usually employed to make the data persistent across executions, by storing the XML text on disk or into XML databases.

Other libraries such as XStream, Castor, and JAXB are other viable solutions. Compared to these, Jaseto offers a cleaner and shorter source code, better performance (its proves 10× faster than Castor and XStream), a solution to some of their limitations: no need to know in advance the type of an object to be deserialized, no need to resort to annotations, no need to follow the JavaBean spec, etc.

Context in which the software is used

Jaseto is used in our lab in order to store and export graph and configuration data.

Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 17/05/10
  • Minor correction: 03/07/12

MLV : a simplified multimedia library

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 0.4 - 14 april 2010
  • License(s): GPL
  • Status: stable release
  • Support: maintained, ongoing development
  • Designer(s): Adrien Boussicault, Marc Zipstein
  • Contact designer(s): adrien.boussicault(@)univ-mlv.fr
  • Laboratory, service:

 

General software features

The MLV library is a simplified multimedia library. This library has been designed for beginner students in C, and it allows to add graphical and audio effects on the student program. The library is useful to:

  • draw figures, display text and dialog boxes,
  • display images,
  • play sounds and musics,
  • catch mouse and keyboard events,
  • get informations from dialog boxes.

These tools are simplified interfaces of the SDL librairy. If you are not a C beginner, better use the SDL librairy (SDL, SDL_gfx, SDL_sound, SDL_ttf).

The MLV library is portable, and can be compiled and executed on Linux, Macintosh and Windows.

Context in which the software is used

Theaching first university level in informatics, C iniciation.

Publications related to the software
Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 02/12/09
  • Minor correction: 22/03/10

IRPF90 : a preprocessor making development of large Fortran codes easy

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 1.1 - 29/10/2009
  • License(s): GPL
  • Status: stable release
  • Support: maintained, ongoing development
  • Designer(s): Anthony Scemama
  • Contact designer(s): scemama@irsamc.ups-tlse.fr
  • Laboratory, service:

 

General software features

A scientific code can almost always be seen as a pure function of its data. In this functional point of view, a program can be represented as a production tree, where the leaves are the data, the nodes are the variables, and the vertices are the relations {needs/is needed  by}.

IRPF90 introduces a new category of variables (IRP entities) which will be the nodes of the production tree. For each entity, the programmer writes the provider which is a procedure that provides the built entity. The preprocessor then analyzes the code, builds the production tree and generates a Fortran code which guarantees that before each use of an entity, it is built. One can make the analogy between the execution of the program and the compilation of a code with a makefile. At a given moment, the program will only compute the entities which are needed and which have not been computed before, otherwise it will use the last computed value.

When the programmer writes a code, he doesn't need to be aware of the execution sequence of the program. If he wants to introduce in the code a new quantity to calculate, he needs only to know the names of the other entities which are needed to build the new entity, without knowing if what he needs has already been built or not, and without knowing how it has been built. Therefore, collaborative development is much more simple.

Context in which the software is used

The context in which the software is used is scientific computation in general. Currently, it is used in the field of quantum chemistry. Several codes are written at the laboratoire de Chimie et Physique Quantiques (Toulouse) with IRPF90:

  • EPLF : A program which calculates the Electron Pair Localization Function in a molecular system [http://eplf.sourceforge.net]
  • QMC=Chem : A massively parallel quantum Monte Carlo code

Some other codes of Hartree-Fock and post-Hartree Fock computation are written at the laboratoire de Chimie Théorique (Paris 6)

Publications related to the software

"IRPF90: a programming environment for high performance computing" A. Scemama, arXiv:0909.5012v1 [cs.SE] (2009)

Syndicate content