Skip to main content
Log in

A review and future directions of SOA-based software architecture modeling approaches for System of Systems

  • Special Issue Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. 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.

  2. 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.

  3. https://www.tareasos.eu/.

  4. http://www.road2sos-project.eu.

  5. http://www.compass-research.e.u.

  6. https://www.irisa.fr/fr/equipes/archware.

  7. https://www.darpa.mil/program/system-of-systems-integration-technology-and-experimentation.

  8. 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.

  9. http://www.omgsysml.org/.

  10. http://www.east-adl.info/.

  11. http://dodcio.defense.gov/Library/DoD-Architecture-Framework/.

  12. https://www.gov.uk/guidance/mod-architecture-framework.

  13. http://www.compass-research.eu/approach.html.

  14. https://www.omg.org/spec/SoaML/1.0.1/.

  15. http://www.omgsysml.org/.

  16. 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.

  17. http://www.seaclouds-project.eu/.

  18. https://www.oasis-open.org/standards.

  19. http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html.

  20. https://www.omg.org/spec/SoaML/.

References

  1. 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

  2. Shaw M, Garlan D (1996) Software architecture: perspectives on an emerging discipline, vol 1. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. 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

  6. 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

  7. 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

  8. Maier MW (1998) Architecting principles for systems-of-systems. Syst Eng J Int Counc Syst Eng 1(4):267–284

    Google Scholar 

  9. 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

  10. 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

  11. 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

    Article  Google Scholar 

  12. 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

  13. 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

  14. Zuniga-Prieto M, Gonzalez-Huerta J, Insfran E, Abrahao S (2018) Dynamic reconfiguration of cloud application architectures. Softw Pract Exp 48(2):327–344

    Article  Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

  17. Mohammadi M, Mukhtar M (2013) A review of soa modeling approaches for enterprise information systems. Procedia Technology

  18. Sinha K (2014) Structural Complexity and Its Implications for Design of Cyber Physical Systems. Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, MA

  19. Sammerville I (2016) Systems of systems in software engineering, 10th edn. Pearson Education limited, London

    Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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

  22. Thramboulidis K (2015) Service-oriented architecture in industrial automation systems—the case of IEC 61499: A Review. ArXiv e-prints

  23. 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

    Article  Google Scholar 

  24. Colombo AW, Karnouskos S, Bangemann T (2014) Towards the next generation of industrial cyber-physical systems. Springer, Cham, pp 1–22

    Google Scholar 

  25. 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

  26. 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

    Article  Google Scholar 

  27. 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

  28. 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

  29. 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

  30. 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

  31. Fiadeiro JL, Lopes A (2010) A model for dynamic reconfiguration in service-oriented architectures. In: European conference on software architecture, pp 70–85. Springer

  32. 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

    Article  Google Scholar 

  33. 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

  34. 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)

  35. 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

  36. Lewis G, Morris E, Simanta S, Smith D (2011) Service orientation and systems of systems. IEEE Softw 28(1):58–63

    Article  Google Scholar 

  37. 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

  38. Kruchten PB (1995) The 4+1 view model of architecture. IEEE Softw 12(6):42–50. https://doi.org/10.1109/52.469759

    Article  Google Scholar 

  39. 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

    Google Scholar 

  40. Papazoglou M (2008) Web services: Principles and technology. In: Pearson Education. Pearson pp 2, 14

  41. 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

    Article  Google Scholar 

  42. 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

  43. Woods E, Hilliard R (2005) Architecture description languages in practice session report. In: null, pp 243–246. IEEE

  44. 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

  45. 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

    Article  Google Scholar 

  46. Magee J, Kramer J (1999) State models and java programs. Wiley, Hoboken

    MATH  Google Scholar 

  47. Giannakopoulou D, Kramer J, Cheung SC (1999) Behaviour analysis of distributed systems using the tracta approach. Autom Softw Eng 6(1):7–35

    Article  Google Scholar 

  48. 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

    Book  Google Scholar 

  49. 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

  50. 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

  51. 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

  52. 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

  53. 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

  54. 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

  55. 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

  56. Pinto M, Fuentes L, Troya JM (2011) Specifying aspect-oriented architectures In ao-adl. Information and software technology

  57. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677

    Article  Google Scholar 

  58. Uviase O, Kotonya G (2018) Iot architectural framework: connection and integration framework for iot systems. arXiv preprint arXiv:1803.04780

  59. 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

  60. Haber A, Ringert JO, Rumpe B (2014) Montiarc-architectural modeling of interactive distributed and cyber-physical systems. arXiv preprint arXiv:1409.6578

  61. 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

  62. 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

    Article  Google Scholar 

  63. Becker B (2014) Architectural modelling and verification of open service-oriented systems of systems. Doctoral thesis, Universität Potsdam

  64. 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

    Article  Google Scholar 

  65. 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

    Article  Google Scholar 

  66. 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

  67. 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

  68. 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

  69. 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

  70. 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

  71. MacKenzie CM, Laskey K, McCabe F, Brown PF, Metz R, Hamilton BA (2006) Reference model for service oriented architecture 1.0. OASIS standard 12

  72. 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

  73. 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

    Google Scholar 

  74. 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

    Article  Google Scholar 

  75. 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

  76. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Naeem Khalid Janjua.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-018-0245-1

Keywords

Navigation