AIBench: a rapid application development framework for translational research in biomedicine

Comput Methods Programs Biomed. 2010 May;98(2):191-203. doi: 10.1016/j.cmpb.2009.12.003. Epub 2010 Jan 4.

Abstract

Applied research in both biomedical discovery and translational medicine today often requires the rapid development of fully featured applications containing both advanced and specific functionalities, for real use in practice. In this context, new tools are demanded that allow for efficient generation, deployment and reutilization of such biomedical applications as well as their associated functionalities. In this context this paper presents AIBench, an open-source Java desktop application framework for scientific software development with the goal of providing support to both fundamental and applied research in the domain of translational biomedicine. AIBench incorporates a powerful plug-in engine, a flexible scripting platform and takes advantage of Java annotations, reflection and various design principles in order to make it easy to use, lightweight and non-intrusive. By following a basic input-processing-output life cycle, it is possible to fully develop multiplatform applications using only three types of concepts: operations, data-types and views. The framework automatically provides functionalities that are present in a typical scientific application including user parameter definition, logging facilities, multi-threading execution, experiment repeatability and user interface workflow management, among others. The proposed framework architecture defines a reusable component model which also allows assembling new applications by the reuse of libraries from past projects or third-party software.

Publication types

  • Research Support, Non-U.S. Gov't

MeSH terms

  • Artificial Intelligence
  • Bioengineering / statistics & numerical data
  • Computational Biology
  • Computer Graphics
  • Computer Systems
  • Data Mining / statistics & numerical data
  • Genomics / statistics & numerical data
  • Software Design*
  • Translational Research, Biomedical / statistics & numerical data