Abstract
The unmanned space flight software (FSW) domain contains a significant amount of variability within its required capabilities. Because of the large degree of architectural variability in FSW, it is difficult to develop a FSW software product line (SPL) architecture that covers all possible variations. In order to address this challenge, this paper presents a model-based SPL approach for FSW SPLs that manages variability at a higher level of granularity using executable software architectural design patterns and requires less modeling during SPL engineering but more modeling at the application engineering phase. The executable design patterns are tailored to individual FSW applications during application engineering. The paper describes in detail the application and validation of this approach to FSW.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Hecht, M., Buettner, D.: Software Testing in Space Programs. Crosslink 6(3), 58–64 (2005)
Dvorak, D. (ed.): NASA Study on Flight Software Complexity, NASA Office of Chief Engineer (2009)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2002)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston (2005)
Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison Wesley, Reading (1999)
Webber, D., Gomaa, H.: Modeling variability in software product lines with the variation point model. J. Sci. Comput. Program. 53(3), 305–331 (2004)
Herrmann, A., Schöning, T.: Standard telemetry processing – an object oriented approach using software design patterns. Aerosp. Sci. Technol. 4(4), 289–297 (2000)
van Katwijk, J., Schwarz, J.-J., Zalewski, J.: Practice of real-time software architectures. In: IFAC Conference on New Technologies for Computer Control, Hong Kong (2001)
Wilmot, J.: A core flight software system. In: 3rd IEEE/ACM/IFIP International Conference on Hardware/software Codesign and System Synthesis, Jersey City, NJ, USA (2005)
Wilmot, J.: Implications of responsive space on the flight software architecture. In: 4th Responsive Space Conference, Los Angles, CA (2006)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley Professional, Boston (2003)
Gomaa, H.: Software Modeling and Design: UML, Use Cases, Architecture, and Patterns. Cambridge University Press, New York (2011)
Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. Wiley, New York (1994)
Bennett, M., Dvorak, D., Hutcherson, J., Ingham, M., Rasmussen, R., Wagner, D.: An architectural pattern for goal-based control. In: IEEE Aerospace Conference. IEEE Computer Society (2008)
Bennett, M., Knight, R., Rasmussen, R., Ingham, M.: State-based models for planning and execution. In: 15th International Conference on Planning and Scheduling (ICAPS 2005). Jet Propulsion Laboratory, National Aeronautics and Space Administration (2005)
Selic, B.: Architectural patterns for real-time systems: using UML as an architectural description language. In: Lavagno, L., Martin, G., Selic, B. (eds.) UML for Real, pp. 171–188. Springer, New York (2004)
Douglass, B.: Real-Time Design Patterns. Addison-Wesley, Boston (2003)
Bellebia, D., Douin, J.-M.: Applying patterns to build a lightweight middleware for embedded systems. In: 2006 Conference on Pattern Languages of Programs, Portland, Oregon, USA (2006)
Fliege, I., Geraldy, A., Gotzhein, R., Kuhn, T., Webel, C.: Developing safety-critical real-time systems with SDL design patterns and components. Comput. Netw. 49, 689–706 (2005)
Gamma, E., Helm, R., Johnson, R., John, V.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Buschmann, F., Henney, K., Schmidt, D.C.: Pattern Oriented Software Architecture. On Patterns and Pattern Languages, vol. 5. Wiley, Hoboken (2007)
Pettit IV, R., Gomaa, H.: Modeling behavioral design patterns of concurrent objects. In: Proceedings of ICSE 2006, Shanghai, China (2006)
Kalinsky, D.: Design patterns for high availability. Embed. Syst. Prog., Aug 2002 [18]. Dupire, B., Fernandez, E.B.: The command dispatcher pattern. In: 8th Conference on Pattern Languages of Programs, Monticello, Illinois, USA (2001)
Fant, J., Gomaa, H., Pettit IV, R.: Architectural design patterns for flight software. In: 2nd IEEE Workshop on Model-Based Engineering for Real-Time Embedded Systems, Newport Beach, California (2011)
Fant, J.: Building domain specific software architectures from software architectural design patterns. In: Presented at the 33rd International Conference on Software Engineering (ICSE) ACM Student Research Competition (SRC) 2011, Honolulu, Hawaii USA (2011)
Olimpiew, E.M., Gomaa, H.: Reusable model-based testing. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 76–85. Springer, Heidelberg (2009)
Harel, D.: Executable object modeling with statecharts. In: 18th International Conference on Software Engineering (ICSE), Boston, MA (1997)
Laboratory For Atmospheric and Space Physics at the University of Colorado at Boulder. Student Nitric Oxide Explorer Homepage. http://lasp.colorado.edu/snoe/ 21 April 2010
Johns Hopkins University Applied Physics Laboratory. STEREO Web Site, 26 April 2010. http://stereo.jhuapl.edu/index.php
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Fant, J.S., Gomaa, H., Pettit, R.G. (2016). A Model-Based Approach for Integrating Executable Architectural Design Patterns in Space Flight Software Product Lines. In: Lorenz, P., Cardoso, J., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2015. Communications in Computer and Information Science, vol 586. Springer, Cham. https://doi.org/10.1007/978-3-319-30142-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-30142-6_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30141-9
Online ISBN: 978-3-319-30142-6
eBook Packages: Computer ScienceComputer Science (R0)