Abstract
Software architecture is a software system’s earliest set of design decisions that are critical for the quality of the system desired by the stakeholders. The architecture makes it easier to reason about and manage change during different phases of complex software life cycle. The modeling of software architecture for System of Systems (SoS) is a challenging task because of a system’s complexity arising from an integration of heterogeneous, distributed, managerially and operationally independent systems collaborating to achieve global missions. SoS is essentially dynamic and evolutionary by design requiring suitable architectural patterns to deal with runtime volatility. Service-oriented architecture offers several architectural features to these complex systems; these include, interoperability, loose coupling, abstraction and the provision of dynamic services based on standard interfaces and protocols. There is some research work available that provides critical analysis of current software architecture modeling approaches for SoS. However, none of them outlines the important characteristics of SoS or provides detailed analysis of current service-oriented architecture modeling approaches to model those characteristics. This article addresses this research gap and provides a taxonomy of software architecture modeling approaches, comparing and contrasting them using criteria critical for realization of SoS. Additionally, research gaps are identified, and future directions are outlined for building software architecture for SoS to model and reason about architecture quality in a more efficient way in service-oriented paradigm.
Similar content being viewed by others
Notes
Software architecture style may be defined as a typical way to organize system components with a set of features suitable to formulate a particular type of system architecture providing guidelines for design. A software architecture style can also apply one or more architectural patterns to solve a system problem. It is worth noting that in academia and industry terms, software architecture styles and patterns are used interchangeably.
Complex Systems are systems which are essentially nonlinear, networked, emergent and self-adaptive. Compared to traditional monolithic systems which are essentially linear in nature, SoS is in contrast nonlinear systems with unstable changing states.
In a monolithic system. multiple functionalities, i.e., (data input/output, processing and error handling), all are packaged together under a single module to meet the system needs. A monolithic system is usually complex and difficult to maintain as it is not flexible enough to cope with rapid changes. On the other hand, non-monolithic system is designed in such a way that it has smaller functionalities/services, independent of each other, using simple communication, making it easy to deploy and maintain large distributed systems.
A software architecture topology is a typical arrangement of software components and connectors resulting from their interactions. It is also called architecture configuration and also referred to as system coalition resulting from interaction of CSs of an SoS.
References
Shaw M, DeLine R, Klein DV, Ross TL, Young DM, Zelesnik G (1995) Abstractions for software architecture and tools to support them. IEEE Trans Softw Eng
Shaw M, Garlan D (1996) Software architecture: perspectives on an emerging discipline, vol 1. Prentice Hall, Englewood Cliffs
Nielsen CB, Larsen PG, Fitzgerald J, Woodcock J, Peleska J (2015) Systems of systems engineering: basic concepts, model-based techniques, and research directions. ACM Comput Surv (CSUR) 48(2):18
Oquendo F (2016) Software architecture challenges and emerging research in software-intensive systems-of-systems. In: Tekinerdogan B, Zdun U, Babar A (eds) Software architecture. Springer, Cham, pp 3–21
Jansen A, Bosch J (2005) Software architecture as a set of architectural design decisions. In: 5th working IEEE/IFIP conference on software architecture (WICSA’05), pp 109–120. https://doi.org/10.1109/WICSA.2005.61
Boardman J, Sauser B (2006) System of systems—the meaning of of. In: 2006 IEEE/SMC international conference on system of systems engineering, pp 6. https://doi.org/10.1109/SYSOSE.2006.1652284
Klein J, van Vliet H (2013) A systematic review of system-of-systems architecture research. In: Proceedings of the 9th international ACM Sigsoft conference on quality of software architectures, QoSA ’13, pp 13–22. ACM, New York, NY, USA. https://doi.org/10.1145/2465478.2465490
Maier MW (1998) Architecting principles for systems-of-systems. Syst Eng J Int Counc Syst Eng 1(4):267–284
Oquendo F (2016) Formally describing the software architecture of systems-of-systems with sosadl. In: 2016 11th system of systems engineering conference (SoSE), pp 1–6
Woodcock J, Cavalcanti A, Fitzgerald J, Larsen P, Miyazawa A, Perry S (2012) Features of cml: a formal modelling language for systems of systems. In: 2012 7th International conference on system of systems engineering (SoSE), pp 1–6
Tao Z, Mei-e S, Shi Y, Peng Y, Zao-qing L (2005) Describing service-oriented architecture by extended darwin. Wuhan Univ J Nat Sci 10(6):971–976
Jia X, Ying S, Zhang T, Cao H, Xie D (2007) A new architecture description language for service-oriented architec. In: Sixth international conference on grid and cooperative computing (GCC 2007), pp 96–103. https://doi.org/10.1109/GCC.2007.18
Pannok P, Vatanawood W (2013) An xADL Extension for service oriented architecture design. In: 2013 International conference on information science and applications (ICISA), pp 1–3. Suwon
Zuniga-Prieto M, Gonzalez-Huerta J, Insfran E, Abrahao S (2018) Dynamic reconfiguration of cloud application architectures. Softw Pract Exp 48(2):327–344
Brogi A, Fazzolari M, Ibrahim A, Soldani J, Carrasco J, Cubo J, Durn F, Pimentel E, Nitto ED, Andria FD (2015) Adaptive management of applications across multiple clouds: The SeaClouds Approach. CLEI Electron J 18(1):2
Guessi M, Neto VVG, Bianchi T, Felizardo KR, Oquendo F, Nakagawa EY (2015) A systematic literature review on the description of software architectures for systems of systems. In: Proceedings of the 30th annual ACM symposium on applied computing, SAC ’15, pp 1433–1440. ACM, New York, NY, USA. https://doi.org/10.1145/2695664.2695795
Mohammadi M, Mukhtar M (2013) A review of soa modeling approaches for enterprise information systems. Procedia Technology
Sinha K (2014) Structural Complexity and Its Implications for Design of Cyber Physical Systems. Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, MA
Sammerville I (2016) Systems of systems in software engineering, 10th edn. Pearson Education limited, London
Sommerville I, Cliff D, Calinescu R, Keen J, Kelly T, Kwiatkowska M, Mcdermid J, Paige R (2012) Large-scale complex it systems. Commun ACM 55(7):71–77
Caffall D.S, Michael J.B (2005) Architectural framework for a system-of-systems. In: 2005 IEEE international conference on systems, man and cybernetics, vol 2, pp 1876–1881 Vol 2. https://doi.org/10.1109/ICSMC.2005.1571420
Thramboulidis K (2015) Service-oriented architecture in industrial automation systems—the case of IEC 61499: A Review. ArXiv e-prints
Vasilescu E, Mun SK (2006) Service oriented architecture (SOA) implications for large scale distributed health care enterprises. Distrib Diagn Home Healthc 2(1):91–94
Colombo AW, Karnouskos S, Bangemann T (2014) Towards the next generation of industrial cyber-physical systems. Springer, Cham, pp 1–22
Ingram C, Payne R, Perry S, Holt J, Hansen FO, Couto LD (2014) Modelling patterns for systems of systems architectures 2014: 146–153. https://doi.org/10.1109/SysCon.2014.6819249
Tsai Wt, Wei X, Paul R, Chung Jy, Huang Q, Chen Y (2007) Service-oriented system engineering (SOSE) and its applications to embedded system development. Serv Oriented Comput Appl 1(1):3–17
Bianco P, Kotermanski R, Merson P (2007) Evaluating a service-oriented architecture. Tech. Rep. CMU/SEI-2007-TR-015, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=8443
Zhang Y, Liu X, Wang Z, Chen L (2012) A service-oriented method for system-of-systems requirements analysis and architecture design. ISSN 1796-217X 7(2), 358
Kaur N, McLeod CS, Jain A, Harrisson R, Ahmad B, Colombo AW, Delsing J (2013) Design and simulation of a soa-based system of systems for automation in the residential sector. In: IEEE International conference on industrial technology: 25/02/2013-27/02/2013, pp 1976–1981. IEEE Communications Society
Stojanovic Z, Dahanayake A, Sol H (2004) Modeling and design of service-oriented architecture. In: 2004 IEEE International conference on systems, man and cybernetics. vol 5, pp 4147–4152. IEEE
Fiadeiro JL, Lopes A (2010) A model for dynamic reconfiguration in service-oriented architectures. In: European conference on software architecture, pp 70–85. Springer
Engelsberger M, Greiner T (2018) Dynamic reconfiguration of service-oriented resources in cyberphysical production systems by a process-independent approach with multiple criteria and multiple resource management operations. Future Gener Comput Syst 88:424–441
Srinivasulu P, Babu MS, Venkat R, Rajesh K (2017) Cloud service oriented architecture (CSoA) for agriculture through internet of things (IoT) and big data. In: Electrical, instrumentation and communication engineering (ICEICE) 2017, pp 1–6
Mohalik SK, Narendra NC, Badrinath R, Le DH (2017) Adaptive service-oriented architectures for cyber physical systems. In: 2017 IEEE symposium on service-oriented system engineering (SOSE, pp 57–62)
Clement SJ, McKee DW, Xu J (2017) Service-oriented reference architecture for smart cities. In: 2017 IEEE symposium on service-oriented system engineering (SOSE), pp 81–85. San Francisco, CA .41
Lewis G, Morris E, Simanta S, Smith D (2011) Service orientation and systems of systems. IEEE Softw 28(1):58–63
ISO/IEC/IEEE Systems and software engineering—architecture description. ISO/IEC/IEEE 42010:2011(E) (Revision of ISO/IEC 42010:2007 and IEEE Std 1471-2000) pp 1–46 (2011). https://doi.org/10.1109/IEEESTD.2011.6129467
Kruchten PB (1995) The 4+1 view model of architecture. IEEE Softw 12(6):42–50. https://doi.org/10.1109/52.469759
Bachmann F, Bass L, Clements P, Garlan D, Ivers J, Little M, Merson P, Nord R, Stafford J (2010) Documenting software architectures: views and beyond, 2nd edn. Addison-Wesley Professional, Boston
Papazoglou M (2008) Web services: Principles and technology. In: Pearson Education. Pearson pp 2, 14
Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93. https://doi.org/10.1109/32.825767
Ozkaya M, Kloukinas C (2013) Are we there yet? analyzing architecture description languages for formal analysis, usability, and realizability. In: 2013 39th EUROMICRO conference on software engineering and advanced applications (SEAA), pp 177–184. IEEE
Woods E, Hilliard R (2005) Architecture description languages in practice session report. In: null, pp 243–246. IEEE
Oquendo F (2008) Dynamic software architectures: formally modelling structure and behaviour with Pi-ADL. In: 2008 the third international conference on software engineering advances, pp 352–359. https://doi.org/10.1109/ICSEA.2008.47
Magee J, Kramer J (1996) Dynamic structure in software architectures. SIGSOFT Softw Eng Notes 21(6):3–14. https://doi.org/10.1145/250707.239104
Magee J, Kramer J (1999) State models and java programs. Wiley, Hoboken
Giannakopoulou D, Kramer J, Cheung SC (1999) Behaviour analysis of distributed systems using the tracta approach. Autom Softw Eng 6(1):7–35
Canal C, Pimentel E, Troya JM (1999) Specification and refinement of dynamic software architectures. Springer, Boston, pp 107–125. https://doi.org/10.1007/978-0-387-35563-4-7
Dan X, Shi Y, Tao Z, Xiang-Yang J, Zao-Qing L, Jun-Feng Y (2006) An Approach for Describing SOA. In: 2006 international conference on wireless communications, pp 1–4. Networking and Mobile Computing, Wuhan
Oquendo F (2008) Formal approach for the development of business processes in terms of service-oriented architectures using pi-adl. In: 2008 IEEE international symposium on service-oriented system engineering, pp 154–159. https://doi.org/10.1109/SOSE.2008.38
Miladi MN, Krichen I, Jmaiel M, Drira K (2010) An xADL extension for managing dynamic deployment in distributed service oriented architectures. In: Sirjani M, Arbab F (eds) Fundamentals of software engineering. FSEN 2009. Lecture notes in computer science, vol 5961. Springer, Berlin, Heidelberg
Dashofy EM, Hoek AVd, Taylor RN (2001) A highly-extensible, xml-based architecture description language. In: Proceedings of the working IEEE/IFIP conference on software architecture, WICSA ’01, pp 103–. IEEE Computer Society
Zuiga-Prieto M, Insfran E, Abraho S (2016) Architecture description language for incremental integration of cloud services architectures. In: 2016 IEEE 10th international symposium on the maintenance and evolution of service-oriented and cloud-based environments (MESOCA), pp 16–23. https://doi.org/10.1109/MESOCA.2016.10
Adjoyan S, Seriai AD (2015) An architecture description language for dynamic service-oriented product lines. In: 27th Int. Conference on Software Engineering and Knowledge Engineering, Pittsburgh, United States, pp 1–6
Adjoyan S, Seriai AD (2017) Reconfigurable service-based architecture based on variability description. In: Proceedings of the ACM symposium on applied computing, vol Part F1280, pp 1154–1161. https://doi.org/10.1145/3019612.3019767
Pinto M, Fuentes L, Troya JM (2011) Specifying aspect-oriented architectures In ao-adl. Information and software technology
Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677
Uviase O, Kotonya G (2018) Iot architectural framework: connection and integration framework for iot systems. arXiv preprint arXiv:1803.04780
Perez AN, Rumpe B (2013) Modeling cloud architectures as interactive systems. In: 2nd International workshop on model-driven engineering for high performance and cloud computing, pp 15–24
Haber A, Ringert JO, Rumpe B (2014) Montiarc-architectural modeling of interactive distributed and cyber-physical systems. arXiv preprint arXiv:1409.6578
Lushpenko M, Ferry N, Song H, Chauvel F, Solberg A (2015) Using adaptation plans to control the behavior of models@ runtime. In MoDELS@ Run pp 11–20
Ferry N, Chauvel F, Song H, Rossini A, Lushpenko M, Solberg A (2018) CloudMF: model-driven management of multi-cloud applications. ACM Trans Internet Technol 18(2):16:1–16:24. https://doi.org/10.1145/3125621
Becker B (2014) Architectural modelling and verification of open service-oriented systems of systems. Doctoral thesis, Universität Potsdam
Ilahi R, Admodisastro N, Ali NM, Sultan ABM (2017) Dynamic reconfiguration of web service in service-oriented architecture. Adv Sci Lett 23(11):11553–11557
Fiadeiro JL, Lopes A (2013) A model for dynamic reconfiguration in service-oriented architectures. Softw Syst Model 12(2):349–367. https://doi.org/10.1007/s10270-012-0236-1
Wang J, Peng Q, Hu X (2014) A modeling: Internetware-based dynamic architecture evolution applying to soa. In: Proceedings of the 2014 IEEE 18th international conference on computer supported cooperative work in design (CSCWD), pp 100–105. https://doi.org/10.1109/CSCWD.2014.6846824
Amir R, Zeid A (2004) An UML profile for service oriented architectures. In: Companion to the 19th annual ACM SIGPLAN conference on object-oriented programming, pp 192–193. Systems, languages, and applications, OOPSLA 2004
Schreier S (2011) Modeling restful applications. In: Proceedings of the second international workshop on RESTful design, WS-REST ’11, pp 15–21. ACM, New York, NY, USA. https://doi.org/10.1145/1967428.1967434
Muhammad WA, Radziah M, Dayang NAJ (2012) Soa4derts: a service-oriented uml profile for distributed embedded real-time systems. In: 2012 IEEE symposium on computers informatics (ISCI), pp 64–69. https://doi.org/10.1109/ISCI.2012.6222668
Rathod DM, Parikh SM, Buddhadev BV (2013) Structural and behavioral modeling of restful web service interface using uml. In: 2013 International conference on intelligent systems and signal processing (ISSP), pp 28–33. https://doi.org/10.1109/ISSP.2013.6526869
MacKenzie CM, Laskey K, McCabe F, Brown PF, Metz R, Hamilton BA (2006) Reference model for service oriented architecture 1.0. OASIS standard 12
Levine L, Morris EJ, Place PR, Plakosh D (2004) Sosi: system of systems interoperability. Tech. rep., Software Engineering Institute, Carnegie Mellon University. https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=20698
Sage AP, Cuppan CD (2001) On the systems engineering and management of systems of systems and federations of systems. Inf Knowl Syst Manag 2(4):325–345
Sommerville I, Cliff D, Calinescu R, Keen J, Kelly T, Kwiatkowska M, Mcdermid J, Paige R (2012) Large-scale complex it systems. Commun ACM 55(7):71–77. https://doi.org/10.1145/2209249.2209268 References [74, 75, 76] was provided in the reference list; however, this was not mentioned or cited in the manuscript. As a rule, if a citation is present in the text, then it should be present in the list. Please provide the location of where to insert the reference citation in the main body text. Kindly ensure that all references are cited in ascending numerical order
Uviase O (2016) IoT architectural framework: connection and integration framework for IoT systems In Proceedings ALP4IoT 2017M. In: Architecture description language for incremental integration of cloud services architectures, pp 16–23. Zuniga-Prieto, E Insfran and S Abrahao, 2016 IEEE 10th international symposium on the maintenance and evolution of service-oriented and cloud-based environments (MESOCA), Raleigh, NC
Zhang W, Zhang L (2015) Designing and modeling cyber physical systems by a service-based approach. In: 2015 6th IEEE international conference on software engineering and service science (ICSESS), pp 668–671
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Mohsin, A., Janjua, N.K. A review and future directions of SOA-based software architecture modeling approaches for System of Systems. SOCA 12, 183–200 (2018). https://doi.org/10.1007/s11761-018-0245-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-018-0245-1