Connecting research and practice: an experience report on research infusion with software architecture visualization and evaluation

There are many technical challenges in ensuring high life-time quality of NASA’s systems. Some of NASA’s software-related challenges could potentially be addressed by the many powerful technologies that are being developed in software research laboratories. However, most such research technologies do not make the transition from the research lab to the software lab because research infusion and technology transfer is difficult. For example, there must be evidence that the technology works in the practitioner’s particular domain, and there must be a potential for great improvements and enhanced competitive edge for the practitioner, for such infusion to take place. NASA IV&V’s Research Infusion initiative strives to facilitate such infusion. In 2006, a research infusion project involving Johns Hopkins University Applied Physics Laboratory (JHU/APL) and the Fraunhofer Center for Experimental Software Engineering Maryland, was successfully completed infusing Fraunhofer’s software architecture visualization and evaluation (SAVE) tool. The infusion project helped improve JHU/APL’s software architecture and produced evidence that SAVE is applicable to software architecture problems in the aerospace domain, spawning a series of related research infusion projects. The project also led to the discovery of other needs that could not be addressed by current technologies and, therefore, spawned the research and development of a new technology that will be ready for infusion in the future. This paper describes the SAVE technology followed by a description of the infusion of SAVE at JHU/APL and the other projects that followed, as well as the newly started Dynamic SAVE research and development project. Lessons learned related to various aspects of research infusion conclude the paper.

[1]  William E. Riddle The magic number eighteen plus or minus three: a study of software technology maturation , 1984, SOEN.

[2]  David McComas Framework Based Guidance Navigation and Control Flight Software Development , 2007 .

[3]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[4]  Mikael Lindvall,et al.  The SAVE Tool and Process Applied to Ground Software Development at JHU/APL: An Experience Report on Technology Infusion , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[5]  M. Lindvall,et al.  Technology Infusion of SAVE into the Ground Software Development Process for NASA Missions at JHU/APL , 2007, 2007 IEEE Aerospace Conference.

[6]  Tetsuo Tamai,et al.  Software lifetime and its evolution process over generations , 1992, Proceedings Conference on Software Maintenance 1992.

[7]  Forrest Shull,et al.  An evolutionary testbed for software technology evaluation , 2005, Innovations in Systems and Software Engineering.

[8]  George E. Stark,et al.  Measurements for managing software maintenance , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[9]  David McComas,et al.  Analyzing the Core Flight Software (CFS) with SAVE , 2008 .

[10]  Jens Knodel,et al.  Static Evaluation of Software Architectures - A Short Summary , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[11]  E. Rogers,et al.  Diffusion of innovations , 1964, Encyclopedia of Sport Management.