What is COMODI?

This project is an international and interdisciplinary collaboration for addressing the problem of programming crisis in computational sciences [Post], [Lazar]. The component based approach with visual, automatic, intelligent assembling of components brings programming to new heights where the borderline between developers and users, writing new code and reusing old one, becomes diffuse. Once mature and widespread, component oriented programming will be the magic wand of disseminating science within the scientific community while making science accesible for everyone outside the community.

What makes COMODI different? COMODI attempts to be the ignition spark for the fireworks of future component based programming which promises similarly spectacular future as grid computing itself. There are several attempts to give a clear contour to component based programming in science.

COMODI's objectives go beyond research of academic interests. It aims at offering a viable alternative for changing programming paradigma in computational science. Even though it is a non-profit project, with the scientific community as its primary "market", it follows some of the methodologies of the software industry such as market research, medium and long term planning for achieving goals in several stages.

We believe that the success of the project is up to the scientific software developer community in the first place. COMODI's popularity among non-programmer users will become an issue once the developer community has formed a certain tradition in producing and reusing computational components and the distributed component repository will provide a sufficient variety and quality of components such that "non-programmer" scientists can easily and confidently assemble computational projects.

We are committed to make the learning curve for developers the shortest possible without enforcing compatibility with some newly defined interfaces, knowledge of object-oriented concepts or other programming languages than the developer is used to.

The framework is constructed bottom-up with regular functions as atomic components. We claim that higher level constructs can be built on the top of this atomic layer.

Participants

Department of Theoretical and Computational Physics, Faculty of Physics, Univ. Babes-Bolyai, Romania
     Zsolt I. Lazar
     Katalin Kovacs

Department of Computer Science, Faculty of Mathematics and Computer Science, Univ. Babes-Bolyai, Romania
     Bazil Parv
     Simona Motogna
     Andreea Fanea
     Mathe Zoltan

Physical Chemistry and Molecular Thermodynamics Group, DelftChemTech, Faculty of Applied Sciences, Technical University of Delft, The Netherlands
     Simon de Leeuw
     Jouke Heringa

References

  1. D. Post, The Coming Crisis in Computational Science, Proceedings of the IEEE International Conference on High Performance Computer Architecture: Workshop on Productivity and Performance in High-End Computing, Madrid, Spain, February 14, 2004
  2. Zs.I. Lazar, B. Parv, A. Fanea, J. Heringa, S.W. de Leeuw, COMODI: Guidelines for a Component Based Framework for Scientific Computing, Studia Universitatis Babes-Bolyai, Series Informatica, Vol. XLIX, Nr. 2 (2004)
  3. Zs.I. Lazar and B. Parv, COMODI: Component Wiring in a Framework for Scientific Computing, Studia Universitatis Babes-Bolyai, Series Informatica, Vol. XLIX, Nr. 2 (2004)
  4. R. Bramley, K. Chiu, S. Diwan and D. Gannon, A Component Based Services Architecture for Building Distributed Applications , Ninth IEEE International Symposium on High Performance Distributed Computing, August 01-04, 2000
  5. S. Krishnan, D. Gannon, XCAT3: A Framework for CCA Components as OGSA Services , Proceedings of HIPS 2004, 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments. April (2004)
  6. T. M. Eidson, A Component-based Programming Model for Composite, Distributed Applications , ICASE Report No. 2001-15, May (2001).
  7. D.D. Bernholdt, W. R. Elwasif, J.S. Kohl and T.G.W. Epperly, A Component Architecture for High Performance Computing , Proceedings of the Workshop on Performance Optimization for High-Level languages and Libraries, New York, NY, June (2002)
  8. A. Mayer, S. McGough, M. Gulamali, L. Young, J. Stanton, S. Newhouse, J. Darlington, Meaning and Behaviour in Grid Oriented Components , Proceedings of the Third International Workshop on Grid Computing, Springer-Verlag (2002)
  9. J.P. Morrison, Flow-Based Programming: A New Approach to Application Development , Van Nostrand Reinhold (1994)
  10. J.P. Morrison, Asynchronous Component-Based Programming