Integrating and Applying Architectural Design Patterns in Space Flight Software Product Lines

Julie Street Fant, Hassan Gomaa, Robert G. Pettit

Abstract

The unmanned space flight software (FSW) domain contains a significant amount of variability within its required capabilities. Although all FSW execute commands from the ground station to control the spacecraft, there is significant amount of variability in the volume of commands that must be processed, the amount of control given to the ground station versus onboard autonomy, and the amount and type of hardware that requires controlling. This degree of architectural variability makes it difficult to develop a FSW software product line (SPL) architecture that covers the all possible variations. In order to address this challenge, this paper presents a SPL approach for FSW SPLs that manages variability at a higher level of granularity using software architectural design patterns and requires less modeling during the SPL engineering phase. Specifically it describes how variable design patterns can be interconnected to form FSW SPL software architectures. The design patterns are tailored to individual FSW applications during application engineering. The paper describes in detail the application and validation of this approach.

References

  1. Bellebia, D., Douin, J., 2006. “Applying patterns to build a lightweight middleware for embedded systems,” 2006 Conference on Pattern Languages of Programs, Portland, Oregon, USA.
  2. Buschmann, F., Henney, K., Schmidt, D., 2007. Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages. Hoboken, NJ: John Wiley & Sons.
  3. Clements, P., Northrop, L., 2002. Software Product Lines: Practices and Patterns. Addison-Wesley.
  4. Douglass, B., 2003. Real-Time Design Patterns. AddisonWesley.
  5. Dupire, B., Fernandez, E., 2001. “The Command Dispatcher Pattern,” 8th Conference on Pattern Languages of Programs, Monticello, Illinois, USA.
  6. Fant, J., 2011. “Building Domain Specific Software Architectures from Software Architectural Design Patterns,” presented at the 33rd International Conference on Software Engineering (ICSE) ACM Student Research Competition (SRC) 2011, Honolulu, Hawaii USA.
  7. Fant, J., Gomaa, H., Pettit, R., 2011. “Architectural Design Patterns for Flight Software,” in 2nd IEEE Workshop on Model-based Engineering for Real-Time Embedded Systems, Newport Beach, California.
  8. Fant, J., Gomaa, H., Pettit, R., 2013. “Modeling Executable Architectural Design Patterns for Software Product Lines,” Proc. 6th International Workshop on Model Based Architecting and Construction of Embedded Systems-ACESMB 2013, Miami, Florida, USA.
  9. Fliege, I., Geraldy, A., Gotzhein, R., Kuhn, T., Webel, C., 2005. “Developing safety-critical real-time systems with SDL design patterns and components,” Computer Networks, vol. 49.
  10. Gamma, E., Helm, R., Johnson, R., John, V., 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  11. Gomaa, H., 2005. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, Addison-Wesley.
  12. Gomaa, H., 2011. Software Modeling and Design: UML, Use Cases, Architecture, and Patterns. Cambridge University Press.
  13. Harel, D., 1997. “Executable object modeling with statecharts,” 18th International Conference on Software Engineering (ICSE), Boston, MA.
  14. Herrmann, A., Schöning, T., 2000. “Standard Telemetry Processing - an object oriented approach using Software Design Patterns,” Aerospace Science and Technology, 4(4), pp. 289-297.
  15. Kalinsky, D., 2002. “Design Patterns for High Availability,” Embedded Systems Programming, August.
  16. Olimpiew, E., Gomaa, H., 2009. “Reusable Model-Based Testing,” 11th International Conference on Software Reuse, Falls Church, VA.
  17. Pettit, R. Gomaa, H., 2006. “Modeling Behavioral Design Patterns of Concurrent Objects,” Proc. ICSE 2006, Shanghai, China.
  18. Pohl, K., Böckle, G., van der Linden, F., 2005 Software Product Line Engineering Foundations, Principles, and Techniques. Springer.
  19. Selic, B., 2004. “Architectural Patterns for Real-Time Systems: Using UML as an Architectural Description Language,” in UML for Real, Springer, pp. 171-188.
  20. SNOE, 2010. Laboratory for Atmospheric and Space Physics at the University of Colorado at Boulder, “Student Nitric Oxide Explorer Homepage,” http://lasp.colorado.edu/snoe/, 21-Apr-2010.
  21. STEREO 2010. Johns Hopkins University Applied Physics Laboratory, “STEREO Web Site,” 26-Apr2010. http://stereo.jhuapl.edu/index.php.
  22. van Katwijk, J., Schwarz, J., Zalewski, J., 2001. “Practice of Real-time Software Architectures,” IFAC Conference on New Technologies for Computer Control, Hong Kong.
  23. Webber, D., Gomaa, H., 2004. “Modeling Variability in Software Product Lines with the Variation Point Model,” Journal of Science of Computer Programming, 53(3), pp. 305-331.
  24. Weiss, D., Lai, C., 1999. Software Product-Line Engineering: A Family-Based Software Development Process, Addison Wesley.
  25. Wilmot, J., 2005. “A core flight software system,” 3rd IEEE/ACM/IFIP International Conference on Hardware/software Codesign and System Synthesis, Jersey City, NJ, USA.
  26. Wilmot, J., 2006. “Implications of Responsive Space on the Flight Software Architecture,” 4th Responsive Space Conference, Los Angles, CA.
Download


Paper Citation


in Harvard Style

Street Fant J., Gomaa H. and G. Pettit R. (2015). Integrating and Applying Architectural Design Patterns in Space Flight Software Product Lines . In Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015) ISBN 978-989-758-114-4, pages 208-218. DOI: 10.5220/0005513102080218


in Bibtex Style

@conference{icsoft-ea15,
author={Julie Street Fant and Hassan Gomaa and Robert G. Pettit},
title={Integrating and Applying Architectural Design Patterns in Space Flight Software Product Lines},
booktitle={Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)},
year={2015},
pages={208-218},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005513102080218},
isbn={978-989-758-114-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)
TI - Integrating and Applying Architectural Design Patterns in Space Flight Software Product Lines
SN - 978-989-758-114-4
AU - Street Fant J.
AU - Gomaa H.
AU - G. Pettit R.
PY - 2015
SP - 208
EP - 218
DO - 10.5220/0005513102080218