Injecting software architectural constraints into legacy scientific applications

While software architectures have been shown to aid developers in maintenance, reuse, and evolution as well as many other software engineering tasks, there is little language-level support for these architectural concepts in scientific programming languages such as Fortran and C. Because many existing scientific codes are written in legacy languages, it is difficult to integrate them into architected software systems. By wrapping scientific codes in architecturally-aware interfaces, we are able to componentize legacy programs, integrating them into systems built with first-class architectural elements while meeting performance and throughput requirements of scientific codes.

[1]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[2]  Ian T. Foster,et al.  The anatomy of the grid: enabling scalable virtual organizations , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[3]  Michael Philippsen,et al.  A more efficient RMI for Java , 1999, JAVA '99.

[4]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[5]  Boleslaw K. Szymanski,et al.  How to Express C++ Concepts in Fortran90 , 1997, Sci. Program..

[6]  Neal Leavitt,et al.  Is Cloud Computing Really Ready for Prime Time? , 2009, Computer.

[7]  Boleslaw K. Szymanski,et al.  High-Performance Object-Oriented Scientific Programming in Fortran 90 , 1997, PPSC.

[8]  Marija Mikic-Rakic,et al.  A style-aware architectural middleware for resource-constrained, distributed systems , 2005, IEEE Transactions on Software Engineering.

[9]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[10]  Craig A. Knoblock,et al.  Hierarchical Wrapper Induction for Semistructured Information Sources , 2004, Autonomous Agents and Multi-Agent Systems.

[11]  James Arthur Kohl,et al.  A Component Architecture for High-Performance Scientific Computing , 2006, Int. J. High Perform. Comput. Appl..

[12]  Marija Mikic-Rakic,et al.  Architectural style requirements for self-healing systems , 2002, WOSS '02.

[13]  Harry M. Sneed The rationale for software wrapping , 1997, 1997 Proceedings International Conference on Software Maintenance.

[14]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[15]  Arie Shoshani,et al.  The Earth System Grid: Supporting the Next Generation of Climate Modeling Research , 2005, Proceedings of the IEEE.

[16]  MalekSam,et al.  A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems , 2005 .

[17]  James Gallagher,et al.  OPeNDAP: Accessing data in a distributed, heterogeneous environment , 2003, Data Sci. J..

[18]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[19]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[20]  Nenad Medvidovic,et al.  A software architecture-based framework for highly distributed and data intensive scientific applications , 2006, ICSE.

[21]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[22]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .