Advertisement

Supporting Computational Systems Science: Genomic Analysis Tool Federations Using Aspects and AOP

  • David Stotts
  • Keith Lee
  • Ivan Rusyn
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4983)

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.

Keywords

Source Code Model Time Step APAP Overdose Compatibility Matrix Model Federation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Gulyas, L., Kozsik, T.: The Use of Aspect-Oriented Programming in Scientific Simulations. In: Proceedings of Sixth Fenno-Ugric Symposium on Software Technology, Estonia (1999)Google Scholar
  2. 2.
    Harbulot, B., Gurd, J.: Using AspectJ to Spearate Concerns in Parallel Scientific Java Code. In: Proceedings of the Third International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK (March 2004)Google Scholar
  3. 3.
    SpringPython, a cross-platform programming framework with aspects, http://springpython.python-hosting.com/wiki/AspectOrientedProgramming
  4. 4.
    Aspect Oriented Software Association, Aspect-oriented software development (October 2006), http://aosd.net/
  5. 5.
    Laddad, R.: I want my Aspect Oriented Programming!, JavaWorld.com (January 8, 2002), http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html
  6. 6.
    Herington, D., Stotts, D.: DeCo: A Declarative Coordination Framework for Scientific Model Federations. In: Proc. of the IEEE Conf. on Automated Software Engineering 2003, Montreal, October 6–10, 2003, pp. 60–69 (2003)Google Scholar
  7. 7.
    Eclipse Project, AspectJ: Crosscutting Objects for Better Modularity (December 2006), http://www.eclipse.org/aspectj/
  8. 8.
    Zhang, C., Jacobsen, H.: Quantifying Aspects in Middleware Platforms. In: 2nd International Conference on Aspect Oriented Systems and Design, Boston, MA, pp. 130–139 (March 2003)Google Scholar
  9. 9.
    Hunleth, F., Cytron, R., Gill, C.: Building Customizable Middleware using Aspect Oriented Programming. In: Workshop at OOPSLA (2001)Google Scholar
  10. 10.
    Colyer, A., Clement, A.: Large-scale AOSD for Middleware. In: Proceedings of the Third International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK (March 2004)Google Scholar
  11. 11.
    Kitano, H.: Computational Systems Biology. Nature 420, 206–210 (2002)CrossRefGoogle Scholar
  12. 12.
    Waters, M.D., Fostel, J.M.: Toxicogenomics and Systems Toxicology: Aims and Prospects. Nature Reviews Genet. 5, 936–948 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • David Stotts
    • 1
  • Keith Lee
    • 1
  • Ivan Rusyn
    • 1
  1. 1.Department of Computer Science, and School of Public HealthUniversity of North Carolina at Chapel Hill 

Personalised recommendations