Software mediators as first-class entities of systems-of-systems software architectures

被引:10
作者
Garcés L. [1 ,2 ]
Oquendo F. [2 ]
Nakagawa E.Y. [1 ]
机构
[1] Department of Computer Systems, University of São Paulo, Av. Trabalhador São-carlense, 400 - Centro, São Carlos
[2] IRISA - University of Southern Brittany, Rue Yves Mainguy, Vannes
基金
巴西圣保罗研究基金会;
关键词
Connector; Crisis and emergency systems; Health-care supportive home systems; Mediator; Software architecture; Systems-of-systems;
D O I
10.1186/s13173-019-0089-3
中图分类号
学科分类号
摘要
Context: In contrast to traditional software systems that are mostly created from scratch, current software systems are engineered as a junction of systems already in operation. Examples can be found in domains, such as smart cities, crisis and emergency, IoT, big data, industry 4.0, and connected health systems. Most of them can be considered systems-of-systems (SoS), since they refer to alliances of operational and managerial independent software-intensive systems, which are sometimes distributed over different environments. Therefore, SoS software architectures must be dynamic, evolve over time, and support the execution of emergent behaviors to accomplish SoS missions. They must be also designed to enable the connection of heterogeneous systems, making possible their interoperation, communication, coordination, cooperation, and collaboration, most of the times, in a seamless way. Similar challenges have been addressed by using software mediators as architectural entities. However, the application of mediators in SoS has not been properly explored. Goal: This article introduces MediArch, a layered architecture that considers mediators as first-class software entities to be used in the construction of SoS architectures. Our objective is to present evidence about how MediArch’s can support the construction of SoS architectures. Methods: The following four steps were conducted to define MediArch: (1) identification of mediation requirements to allow SoS properties; (2) establishment and categorization of twelve types of mediators, for enabling capabilities of communication and control of constituent systems interactions and conversion of heterogeneous messages exchanged through a mediation infrastructure; (3) specification of duties, behaviors, assumptions, and guarantees of mediators; and (4) organization of MediArch in three layers, namely, the constituents & consumer systems layer; the communication, conversion, & coordination layer; and the control layer. This architecture was used as the backbone for the software architectures of two SoS in different domains, namely, flood monitoring system-of-systems (FMSoS), and health-care supportive home system-of-systems (HSH-SoS), for providing evidence on how MediArch supports the architecting process of SoS. Results: MediArch (1) supports the integration of independent constituent systems, (2) provides strategies to manage emergent behaviors, (3) defines different schemes of control authorities, (4) offers elements to support SoS evolution, and (5) promotes the resilience and adaptability of SoS architectures. Conclusions: Although MediArch contributes to the establishment of SoS architectures, some challenges related to performance, resource consumption, security, safety, and non-disruptive reconfigurations must still be overcome. © 2019, The Author(s).
引用
收藏
相关论文
共 73 条
  • [1] Abmann U., Gotz S., Jezequel J.M., Morin B., Trapp M., A reference architecture and roadmap for Models@run.time systems, Models@run.time. Lecture Notes in Computer Science, vol. 8378, pp. 1-18, (2014)
  • [2] Affonso F.J., Nakagawa E.Y., A Reference Architecture Based on Reflection for Self-Adaptive Software, VII Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS’2013), pp. 129-138, (2013)
  • [3] Amirat A., Oussalah M., First-class connectors to support systematic construction of hierarchical software architecture, J Object Technol, 8, 7, pp. 107-130, (2009)
  • [4] Avgeriou P., Zdun U., Architectural Patterns Revisited - A Pattern Language, The European Pattern Languages of Programming (Europlop), pp. 1-39, (2005)
  • [5] Barnes J.M., Garlan D., Schmerl B., Evolution styles: foundations and models for software architecture evolution, Softw Syst Model, 13, 2, pp. 649-678, (2014)
  • [6] de Barros Paes C.E., Neto V.V.G., Moreira T., Nakagawa E.Y., Conceptualization of a System-of-Systems in the Defense Domain: An Experience Report in the Brazilian Scenario, IEEE Systems Journal (Early Access), pp. 1-10, (2019)
  • [7] Beale D., Bonometti J., Chapter 2: systems engineering (SE) - the systems design process, Fundamentals of lunar and systems engineering for senior project teams, with application to a lunar excavator, (2012)
  • [8] Bennaceur A., Issarny V., Automated synthesis of mediators to support component interoperability, IEEE Trans Softw Eng, 41, 3, pp. 221-240, (2015)
  • [9] Benson T., Grieve G., Principles of health interoperability SNOMED CT, HL7 and FHIR, (2016)
  • [10] Blair G.S., Paolucci M., Grace P., Georgantas N., Interoperability in Complex Distributed Systems, Formal Methods for Eternal Networked Software Systems. SFM 2011. Lecture Notes in Computer Science, vol 6659, (2011)