Supporting Computational Systems Science: Genomic Analysis Tool Federations Using Aspects and AOP
We show how Aspect-Oriented Programming (AOP) and its main concept – the aspect – can be used to effectively construct interoperating collections of scientific tools and models. Such collections, termed “federations”, naturally arise in computational fram
- PDF / 1,188,956 Bytes
- 12 Pages / 430 x 660 pts Page_size
- 25 Downloads / 153 Views
Abstract. We show how Aspect-Oriented Programming (AOP) and its main concept – the aspect – can be used to effectively construct interoperating collections of scientific tools and models. Such collections, termed “federations”, naturally arise in computational frameworks for bioinformatics problems. Programming modern scientific simulations and models require more domain expertise than can be found in one researcher; often the many researchers needed to create the various computational components of a full solution cannot be gathered to work as a single controlled software development team. Our approach allows individuals to construct their own components and tools, and then have them assembled without alteration (and without coordination of the original programmers) into a federation for the larger final computational solutions. We illustrate the methods with two SNP and haplotype analysis tools written in Python.
1 Systems Science and Model Federations This paper demonstrates how a new programming technology -- aspect-oriented programming -- can assist in the creation of modern scientific software, the kind needed for systems science. In this first section we discuss the nature of modern scientific software. In the next section, we give a brief overview of aspect-oriented programming. Following that, we introduce our driving problem in systems toxicology, and show how AOP allows a good solution to our needs. We conclude with a comparison of our work with prior related research projects.
Software Construction by Multiple Independent Researchers Unlike the past, where a single science researcher could construct a model representing the physical aspects of some phenomenon under study, modern scientific software is becoming a collective effort of many different scientists working in different knowledge domains with different bodies of expertise. Though the goal is to produce a single system that simulates, explains, or characterizes some physical phenomenon, the knowledge needed to complete the model is more than can be obtained from single researchers. Moreover, from a purely software point of view, different researchers will work individually in different programming languages, using different domain or community I. Măndoiu, R. Sunderraman, and A. Zelikovsky (Eds.): ISBRA 2008, LNBI 4983, pp. 457–468, 2008. © Springer-Verlag Berlin Heidelberg 2008
458
D. Stotts, K. Lee, and I. Rusyn
libraries, on different computing platforms. All these technical factors confound efforts to assemble the individual efforts of several scientists into a cohesive explanatory and predictive model of some large complex system. Integer in Air model Time step 2 minute
text out
Mismatch management modules
Water model Time step 1 hour
Integer out
Soil model Time step 1 week
Float in
Fig. 1. Model federation, with mismatched component models
Module Mismatch in Federations We use the term federation for a collection of programs developed by individual scientists, and assembled to function interoperably as a cohesive scientific mo
Data Loading...