Abstract
Software for satellite control systems (SCS) domain performs a relevant role in space systems, being responsible for ensuring the functioning of the satellites, from the orbit launch to the end of their lifetime. Systems in this domain are complex and are constantly evolving due to technological advancement of satellites, the significant increase in controlled satellites, and the interoperability among space organizations. However, in order to meet such complexity and such evolution, the architectures of these systems have been usually designed in an isolated way by each organization and hence may be prone to recurrent efforts and difficulties of interoperability. In parallel to this scenario, reference architecture, a special type of software architecture that aggregates knowledge of a specific domain, has performed an important role for the success in development, standardization, and evolution of systems in several domains. Nevertheless, the usage of reference architecture has not been explored in the SCS domain. Thus, this article presents a reference architecture for satellite control systems (SCS-RA). Results achieved from usage of SCS-RA in the development of a microsatellite control system for National Institute for Space Research showed a significant reduction of effort, benefits of interoperability, scalability, and sharing of ground resources.
Similar content being viewed by others
Notes
For the sake of simplicity, henceforth, we use this acronym to express both singular and plural.
For the sake of simplicity, this acronym will be used interchangeably to express singular and plural forms.
Software architectures are often structured in views and viewpoints. A view is often materialized in a model and corresponds to one of facets of a software. For example, a logical view (usually represented in class diagrams in UML), or a physical view, often represented as a deployment diagram. In turn, a viewpoint corresponds to a collection of patterns, templates, and conventions for constructing one type of view [52, 53].
References
Dvorak T (2009) NASA study on flight software complexity. In: Proceedings of AIAA Infotech@Aerospace conference. American Institute of Aeronautics and Astronautics. https://doi.org/10.2514/6.2009-1882
Shames P, Yamada T (2003) Reference architecture for space data systems. In: Proceedings of the 5th international symposium on reducing the cost of spacecraft ground systems and operations. Jet Propulsion Lab, Pasadena
Sorensen T, Pilger E, Yost B, Nunes M, Differding J (2012) Plug and play mission operations. In: 2012 IEEE aerospace conference. https://doi.org/10.1109/AERO.2012.6187394
SpaceWorks Enterprises, Inc. (SEI) (2017) 2017 Nano/microsatellite market forecast. http://spaceworksforecast.com/docs/SpaceWorks_Nano_Microsatellite_Market_Forecast_2017.pdf. Accessed 26 June 2017
Consultative Committee for Space Data Systems (CCSDS) (2005) Cross support reference model—part 1: space link extension services. Recommended Standards CCSDS-910.4-B-2, Consultative Committee for Space Data Systems, Washington
Consultative Committee for Space Data Systems (CCSDS) (2006) Cross support concept—part 1: space link extension services. Informational Report 910.3-G-3. Consultative Committee for Space Data Systems, Washington
Shames P, Yamada T (2004) Tools for describing the reference architecture for space data systems. Jet Propulsion Laboratory, Pasadena. https://trs.jpl.nasa.gov/handle/2014/38436
Chamoun JP, Risner S, Beech T, Garcia G (2006) Bridging ESA and NASA worlds: lessons learned from the integration of Hifly ®/SCOS-2000 in NASA’s GMSEC. In: IEEE aerospace conference. https://doi.org/10.1109/AERO.2006.1656140
Sullivan T, Sather D, Nishinaga R (2009) A flexible satellite command and control framework. Crosslink Mag 10:24–29
Consultative Committee for Space Data Systems (CCSDS) (2013) Reference architecture for space information management. Informational report CCSDS-312.0-G-1, Washington
Smith D, Grubb T, Esper J (2008) Linking and combining distributed operations facilities using NASA’s “GMSEC” systems architectures. In: Proceedings of the international conference on space operations (SPACEOPS ’08), Heidelberg
Oussalah MC (2014) Software architecture, vol 2. Wiley, London
Martínez-Fernández S (2013) Towards supporting the adoption of software reference architectures: an empirically-grounded framework. In: Proceedings of the 11th international doctoral symposium on empirical software engineering, Baltimore
Nakagawa EY, Antonino PO, Becker M (2011) Reference architecture and product line architecture: a subtle but critical difference. In: Proceedings of the 5th European conference on software architecture (ECSA’11), pp 207–211
Cloutier R, Muller G, Verma D, Nilchiani R, Hole E, Bone M (2010) The concept of reference architectures. Syst Eng 13:14–27
Jones TC (1986) Programming productivity: steps toward a science. McGraw-Hill Education, New York
Tracz W (1998) Software reuse myths. ACM SIGSOFT Softw Eng Notes 13:17–21
Wentzel KD (1994) Software reuse-facts and myths. In: Proceedings of the 16th international conference on software engineering (ICSE ’94), pp 267–268
Panunzio M (2011) Definition, realization and evaluation of a software reference architecture for use in space applications. Ph.D. thesis, University of Bologna, Italy
Consultative Committee for Space Data Systems (CCSDS) (2013) Mission operations message abstraction layer; recommended standards CCSDS 521.0-B-2. Consultative Committee for Space Data Systems, Washington
Nakagawa EY, Ferrari FC, Sasaki MMF, Maldonado JC (2011) An aspect-oriented reference architecture for software engineering. J Syst Softw 84:1670–1684
Guessi M, Oliveira LBR, Garcés L, Oquendo F (2015) Towards a formal description of reference architectures for embedded systems. In: Proceedings of the 1st international workshop on exploring component-based techniques for constructing reference architectures (CobRA ’15), pp 17–20
Weyrich M, Ebert C (2016) Reference architectures for the internet of things. IEEE Softw 33:112–116
Martínez-Fernández S, Ayala CP, Franch X, Nakagawa EY (2006) A survey on the benefits and drawbacks of AUTOSAR. In: Proceedings of the 1st international workshop on automotive software architecture (WASA ’15), pp 19–26
Clement SJ, McKee D W, Xu J (2017) Service-oriented reference architecture for smart cities. In: Proceedings of the 11th IEEE symposium on service-oriented system engineering (SOSE ’17), pp 81–85
Klein J, Buglak R, Blockow D (2016) A reference architecture for big data systems in the national security domain. In: Proceedings of the 2nd international workshop on big data software engineering (BIGDSE ’16), pp 51–57
Consultative Committee for Space Data Systems (CCSDS) (2008) Reference architecture for space data systems. Recommended practice CCSDS-311.0-M-1, Washington
Panunzio M, Vardanega T (2013) On software reference architectures and their application to the space domain. In: Proceedings of the 13th international conference on software reuse (ICSR ’13), pp 144–159
Duro N, Moreira F, Rogado J, Reis J, Peccia N (2005) Technology harmonization-developing a reference architecture for the ground segment software. In: IEEE aerospace conference, pp 3968–3979
Nakagawa EY, Guessi M, Maldonado JC, Feitosa D, Oquendo F (20014) Consolidating a process for the design, representation, and evaluation of reference architectures. In: Proceedings of the 11th working IEEE/IFIP conference on software architecture (WICSA ’14), pp 143–152
United Nations Office for Outer Space Affairs (UNOOSA) (2017) Online index of objects launched into outer space. http://www.unoosa.org/oosa/osoindex/search-ng.jspx. Accessed 10 Aug 2017
Union of Concerned Scientists (UCS) (2017) UCS Satellite Database. http://www.ucsusa.org/nuclear-weapons/space-weapons/satellite-database. Accessed 08 May 2017
Wertz JR, Larson WJ (1999) Space mission analysis and design. Springer, Amsterdam
Arza M, Dreihahn H (2012) SLE Routing—simplified station access for mission operations. In: Proceedings of the international conference on space operations (SPACEOPS ’12), Stockholm
NASA (2014) NASA’s mission operations and communications services. Technical report, Washington. https://deepspace.jpl.nasa.gov/files/dsn/6_NASA_MOCS_2014_10_01_14.pdf. Accessed 27 May 2017
NASA (2015) Deep space network services catalog. Technical report 820-100. https://deepspace.jpl.nasa.gov/files/dsn/820-100-F1.pdf. Accessed 07 Apr 2017
Noguero J, Garcia GJ, Beech TW (2005) Mission control system for Earth observation missions based on SCOS-2000. In: IEEE aerospace conference, pp 4088–4099
Morel T, Lopez T, Casas N (2014) Deploying operational multi-satellite control centres on virtual environments. In: International conference on space operations (SPACEOPS ’14), Pasadena
Mayorga A (2006) An auto configuration system for the GMSEC architecture and API. In: Proceedings of the 2nd IEEE international conference on space mission challenges for information technology (SMC-IT’06), Pasadena
Gudmundsson V, Schulze C, Ganesan D, Lindvall M, Wiegand R (2015) Model-based testing of NASA’s GMSEC, a reusable framework for ground system software innovations in systems and software engineering (ISSE), 11:217-232
Kruchten P, Obbink H, Stafford J (2006) The past, present, and future for software architecture. IEEE Softw 23:22–30
Shaw M, Clements P (2006) The golden age of software architecture. IEEE Softw 23:31–39
Angelov S, Grefen P, Greefhorst D (2012) A framework for analysis and design of software reference architectures. Inf Softw Technol 54:417–431
Bayer J, Ganesan D, Girard J, Knodel J (2004) Definition of reference architecture based on existing systems. Technical report 034.04/E, Fraunhofer IESE. http://publica.fraunhofer.de/dokumente/N-21572.html. Accessed 07 Dec 2016
Cloutier R, Muller G, Verma D, Nilchiani R, Hole E, Mary Bone (2010) The concept of reference architectures. Syst Eng 13:1098–1241
Dobrica L, Niemelä E (2008) An approach to reference architecture design for different domains of embedded systems. In: International conference on software engineering research and practice (SERP ’08), pp 287–293
Nakagawa EY, Oquendo F, Becker M (2012) RAModel: a reference model for reference architectures. In: Joint working IEEE/IFIP conference on software architecture and European conference on software architecture (WICSA-ECSA), pp 297–301
Angelov S, Trienekens J, Grefen P (2008) Towards a method for the evaluation of reference architectures: experiences from a case. In: Proceedings of the 2nd European conference on software architecture (ECSA ’08), pp 225–240
Graaf B, van Dijk, H van, Deursen A (2005) Evaluating an embedded software reference architecture—industrial experience report. In: Proceedings of the 9th European conference on software maintenance and reengineering (CSMR ’05), pp 354–363
Gallagher B (2000) Using the architecture tradeoff analysis method to evaluate a reference architecture: a case study. Technical report CMU/SEI-2000-TN-007. Software Engineering Institute, Carnegie Mellon University, Pittsburgh
Santos JFM, Guessi M, Galster M, Feitosa D, Nakagawa EY (2013) A checklist for evaluation of reference architectures of embedded systems. In: 25th International conference on software engineering and knowledge engineering (SEKE ’13), pp 451–454
Kruchten P (1995) The 4+1 view model of architecture. IEEE Softw 12:42–50
Rozanski N, Woods E (2005) Software systems architecture: working with stakeholders using viewpoints and perspectives. Addison-Wesley Professional, Boston
Reid S (2012) European technology harmonisation on ground software systems: reference architecture and ICDs. In: Proceedings of the international conference on space operations (SPACEOPS ’12), Stockholm
European Cooperation for Space Standardization (ECSS)(2000) ECSS-E-ST-70C. Space engineering—ground systems and operations—part 1A: principles and requirements. ECSS Standards, ECSS Ground Systems and Operations Working Group, Noordwijk
Consultative Committee for Space Data Systems (CCSDS) (2010) Mission operations services concept. Informational report CCSDS-520.0-G-3. Consultative Committee for Space Data Systems, Washington
European Cooperation for Space Standardization (ECSS) (2009) ECSS-E-ST-40. Space engineering—software general requirements. ECSS Standards ECSS-E-ST-40 Working Group, Noordwijk
European Cooperation for Space Standardization (ECSS)(2008) ECSS-E-ST-70-31C. Space engineering—ground systems and operations—monitoring and control data. ECSS Standards, ECSS-E-ST-70-31 Working Group, Noordwijk
Consultative Committee for Space Data Systems (CCSDS) (2010) Mission operations reference model. Recommended practice CCSDS 520.1-M-1. Consultative Committee for Space Data Systems, Washington
Consultative Committee for Space Data Systems (CCSDS)(2009) Mission operations common object model. Draft recommendation CCSDS-521.1-R-1. Consultative Committee for Space Data Systems, Washington
Consultative Committee for Space Data Systems (CCSDS) (2008) Spacecraft monitor and control-core services. Draft recommendation CCSDS-522.0-R-2. Consultative Committee for Space Data Systems, Washington
Nakagawa EY, Maldonado JC (2008) Reference architecture knowledge representation: an experience. In: Proceedings of the 3rd international workshop on sharing and reusing architectural knowledge (SHARK ’08), pp 51–54
Guessi M, Bueno L, Oliveira R, Nakagawa EY (2011) Representation of reference architectures: a systematic review. In: 23 rd International conference on software engineering and knowledge engineering (SEKE ’11), pp 782–785
IEEE and ISO/IEC (2000) Systems and software engineering. In: IEEE recommended practice for architectural description of software-intensive systems (ISO/IEC 42010 IEEE Std 1471-2000), pp c1-24
European Cooperation for Space Standardization (ECSS) (2004) ECSS-E-10 Part 1B—system engineering—part 1: requirements and process. ECSS Standards, ECSS-E-10 Part 1 Working Group, Noordwijk
NASA (2007) NASA systems engineering handbook revision 2. Technical report SP-2016-6105 Rev2, Washington. https://www.nasa.gov/connect/ebooks/nasa-systems-engineering-handbook. Accessed 07 Nov 2017
Martínez-Fernández S, Ayala CP, Franch X (2013) REARM: a reuse-based economic model for software reference architectures. In: Proceedings of the13th international conference on software reuse (ICSR ’13), pp 97–112
Lau KK, Wang Z (2007) Software component models. IEEE Trans Softw Eng 33:709–724
Li J, Gupta A, Arvid J, Borretzen B, Conradi R (2007) The empirical studies on quality benefits of reusing software components. In: Proceedings of the 31st annual international computer software and applications conference (COMPSAC 2007), pp 399–402
Mili H, Mili F, Mili A (1995) Reusing software: issues and research directions. IEEE Trans Softw Eng 23:528–562
Graciano NVV, Garcés L, Guessi M, Oliveira LB, Oquendo F (2015) On the equivalence between reference architectures and metamodels. In: Proceedings of the 1st international workshop on exploring component-based techniques for constructing reference architectures, (CobRA ’15), pp 21–24
Acknowledgements
This work is supported by Brazilian National Council for Scientific and Technological Development - CNPq (Grant N. :300394/2017-9) and São Paulo Research Foundation - FAPESP (Grant N. 2017/06195-9).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Rohling, A.J., Neto, V.V.G., Ferreira, M.G.V. et al. A reference architecture for satellite control systems. Innovations Syst Softw Eng 15, 139–153 (2019). https://doi.org/10.1007/s11334-019-00322-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-019-00322-w