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 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.
KeywordsSource Code Model Time Step APAP Overdose Compatibility Matrix Model Federation
Unable to display preview. Download preview PDF.
- 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.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.SpringPython, a cross-platform programming framework with aspects, http://springpython.python-hosting.com/wiki/AspectOrientedProgramming
- 4.Aspect Oriented Software Association, Aspect-oriented software development (October 2006), http://aosd.net/
- 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.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.Eclipse Project, AspectJ: Crosscutting Objects for Better Modularity (December 2006), http://www.eclipse.org/aspectj/
- 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.Hunleth, F., Cytron, R., Gill, C.: Building Customizable Middleware using Aspect Oriented Programming. In: Workshop at OOPSLA (2001)Google Scholar
- 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