
Contrairement aux systèmes logiciels traditionnels qui sont principalement créés à partir de zéro, les systèmes logiciels actuels sont conçus comme une jonction de systèmes déjà en service. Des exemples peuvent être trouvés dans des domaines tels que les villes intelligentes, les crises et les urgences, l'IdO, les mégadonnées, l'industrie 4.0 et les systèmes de santé connectés. La plupart d'entre eux peuvent être considérés comme des systèmes de systèmes (SoS), car ils se réfèrent à des alliances de systèmes à forte intensité logicielle indépendants opérationnels et managériaux, qui sont parfois répartis sur différents environnements. Par conséquent, les architectures logicielles SoS doivent être dynamiques, évoluer au fil du temps et prendre en charge l'exécution de comportements émergents pour accomplir des missions SoS. Ils doivent également être conçus pour permettre la connexion de systèmes hétérogènes, rendant possible leur interopérabilité, leur communication, leur coordination, leur coopération et leur collaboration, la plupart du temps, de manière transparente. Des défis similaires ont été relevés en utilisant des médiateurs logiciels en tant qu'entités architecturales. Cependant, l'application des médiateurs dans le SoS n'a pas été correctement explorée. Cet article présente MediArch, une architecture en couches qui considère les médiateurs comme des entités logicielles de première classe à utiliser dans la construction d'architectures SoS. Notre objectif est de présenter des preuves sur la façon dont MediArch peut soutenir la construction d'architectures SoS. Les quatre étapes suivantes ont été menées pour définir MediArch : (1) l'identification des exigences de médiation pour permettre les propriétés SoS ; (2) l'établissement et la catégorisation de douze types de médiateurs, pour permettre les capacités de communication et de contrôle des interactions des systèmes constitutifs et la conversion des messages hétérogènes échangés via une infrastructure de médiation ; (3) la spécification des devoirs, des comportements, des hypothèses et des garanties des médiateurs ; et (4) l'organisation de MediArch en trois couches, à savoir, la couche constituants et systèmes consommateurs ; la couche communication, conversion et coordination ; et la couche de contrôle. Cette architecture a été utilisée comme épine dorsale pour les architectures logicielles de deux SoS dans différents domaines, à savoir le système de systèmes de surveillance des inondations (FMSoS) et le système de systèmes de systèmes domestiques de soutien aux soins de santé (HSH-SoS), pour fournir des preuves sur la façon dont MediArch prend en charge le processus d'architecture du SoS. MediArch (1) prend en charge l'intégration de systèmes constitutifs indépendants, (2) fournit des stratégies pour gérer les comportements émergents, (3) définit différents schémas d'autorités de contrôle, (4) offre des éléments pour soutenir l'évolution du SoS et (5) favorise la résilience et l'adaptabilité des architectures SoS. Bien que MediArch contribue à la mise en place d'architectures SoS, certains défis liés aux performances, à la consommation des ressources, à la sécurité, à la sûreté et aux reconfigurations non perturbatrices doivent encore être surmontés.
A diferencia de los sistemas de software tradicionales, que en su mayoría se crean desde cero, los sistemas de software actuales se diseñan como una unión de sistemas que ya están en funcionamiento. Se pueden encontrar ejemplos en dominios como ciudades inteligentes, crisis y emergencias, IoT, big data, industria 4.0 y sistemas de salud conectados. La mayoría de ellos pueden considerarse sistemas de sistemas (SoS), ya que se refieren a alianzas de sistemas operativos y gerenciales independientes de software intensivo, que a veces se distribuyen en diferentes entornos. Por lo tanto, las arquitecturas de software de SoS deben ser dinámicas, evolucionar con el tiempo y apoyar la ejecución de comportamientos emergentes para cumplir las misiones de SoS. También deben diseñarse para permitir la conexión de sistemas heterogéneos, haciendo posible su interoperación, comunicación, coordinación, cooperación y colaboración, la mayoría de las veces, de manera fluida. Se han abordado desafíos similares mediante el uso de mediadores de software como entidades arquitectónicas. Sin embargo, la aplicación de mediadores en SoS no se ha explorado adecuadamente. Este artículo presenta MediArch, una arquitectura en capas que considera a los mediadores como entidades de software de primera clase que se utilizarán en la construcción de arquitecturas SoS. Nuestro objetivo es presentar evidencia sobre cómo MediArch puede apoyar la construcción de arquitecturas SoS. Se llevaron a cabo los siguientes cuatro pasos para definir MediArch: (1) identificación de los requisitos de mediación para permitir las propiedades de SoS; (2) establecimiento y categorización de doce tipos de mediadores, para habilitar las capacidades de comunicación y control de las interacciones de los sistemas constituyentes y la conversión de mensajes heterogéneos intercambiados a través de una infraestructura de mediación; (3) especificación de deberes, comportamientos, suposiciones y garantías de los mediadores; y (4) organización de MediArch en tres capas, a saber, la capa de sistemas constituyentes y de consumo; la capa de comunicación, conversión y coordinación; y la capa de control. Esta arquitectura se utilizó como columna vertebral para las arquitecturas de software de dos SoS en diferentes dominios, a saber, el sistema de sistemas de monitoreo de inundaciones (FMSoS) y el sistema de sistemas domésticos de apoyo a la atención médica (HSH-SoS), para proporcionar evidencia sobre cómo MediArch apoya el proceso de arquitectura de SoS. MediArch (1) apoya la integración de sistemas constituyentes independientes, (2) proporciona estrategias para gestionar comportamientos emergentes, (3) define diferentes esquemas de autoridades de control, (4) ofrece elementos para apoyar la evolución de SoS y (5) promueve la resiliencia y adaptabilidad de las arquitecturas de SoS. Aunque MediArch contribuye al establecimiento de arquitecturas SoS, aún deben superarse algunos desafíos relacionados con el rendimiento, el consumo de recursos, la seguridad y las reconfiguraciones no disruptivas.
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. 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. 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. 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. 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.
على النقيض من أنظمة البرمجيات التقليدية التي يتم إنشاؤها في الغالب من الصفر، يتم تصميم أنظمة البرمجيات الحالية كتقاطع للأنظمة العاملة بالفعل. يمكن العثور على أمثلة في المجالات، مثل المدن الذكية والأزمات والطوارئ وإنترنت الأشياء والبيانات الضخمة والصناعة 4.0 والأنظمة الصحية المتصلة. يمكن اعتبار معظمها أنظمة أنظمة (SoS)، لأنها تشير إلى تحالفات الأنظمة المستقلة كثيفة البرمجيات التشغيلية والإدارية، والتي يتم توزيعها أحيانًا على بيئات مختلفة. لذلك، يجب أن تكون بنيات برامج SoS ديناميكية، وتتطور بمرور الوقت، وتدعم تنفيذ السلوكيات الناشئة لإنجاز مهام SoS. يجب أن تكون مصممة أيضًا لتمكين اتصال الأنظمة غير المتجانسة، مما يجعل من الممكن تشغيلها البيني والتواصل والتنسيق والتعاون والتعاون، في معظم الأحيان، بطريقة سلسة. تمت معالجة تحديات مماثلة باستخدام وسطاء البرمجيات ككيانات معمارية. ومع ذلك، لم يتم استكشاف تطبيق الوسطاء في بيان الخدمة بشكل صحيح. تقدم هذه المقالة MediArch، وهي بنية متعددة الطبقات تعتبر الوسطاء ككيانات برمجية من الدرجة الأولى لاستخدامها في بناء هياكل SOS. هدفنا هو تقديم أدلة حول كيفية دعم MediArch لبناء هياكل SoS. تم إجراء الخطوات الأربع التالية لتحديد MediArch: (1) تحديد متطلبات الوساطة للسماح بخصائص SoS ؛ (2) إنشاء وتصنيف اثني عشر نوعًا من الوسطاء، لتمكين قدرات الاتصال والتحكم في تفاعلات الأنظمة المكونة وتحويل الرسائل غير المتجانسة المتبادلة من خلال بنية تحتية للوساطة ؛ (3) تحديد الواجبات والسلوكيات والافتراضات وضمانات الوسطاء ؛ و (4) تنظيم MediArch في ثلاث طبقات، وهي طبقة المكونات وأنظمة المستهلك ؛ طبقة الاتصال والتحويل والتنسيق ؛ وطبقة التحكم. تم استخدام هذه البنية كعمود فقري لبنى البرمجيات لاثنين من نظم الخدمة في مجالات مختلفة، وهي نظام أنظمة مراقبة الفيضانات (FMSoS)، ونظام الأنظمة المنزلية الداعمة للرعاية الصحية (HSH - SoS)، لتقديم دليل على كيفية دعم MediArch لعملية هندسة نظم الخدمة. يدعم MediArch (1) تكامل الأنظمة التأسيسية المستقلة، (2) يوفر استراتيجيات لإدارة السلوكيات الناشئة، (3) يحدد مخططات مختلفة لسلطات التحكم، (4) يقدم عناصر لدعم تطور SoS، و (5) يعزز مرونة وقابلية تكيف هياكل SoS. على الرغم من أن MediArch تساهم في إنشاء هياكل SoS، إلا أنه لا يزال يتعين التغلب على بعض التحديات المتعلقة بالأداء واستهلاك الموارد والأمن والسلامة وإعادة التشكيل غير التخريبية.
FOS: Computer and information sciences, System of systems, Computer engineering. Computer hardware, Artificial intelligence, Class (philosophy), Crisis and emergency systems, [INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], Mediator, QoS-Aware Web Services Composition and Semantic Matching, [INFO] Computer Science [cs], Autonomic Computing and Self-Adaptive Systems, TK7885-7895, Systems-of-systems, Engineering, Interoperation, Software Architecture, Service-Oriented Architecture, Artificial Intelligence, Flexibility in System Design, System of Systems Engineering and Design, Connector, Software engineering, Software architecture, QA75.5-76.95, Interoperability, Computer science, Distributed computing, Systems design, Programming language, World Wide Web, Architecting Complex Systems, Control and Systems Engineering, Electronic computers. Computer science, Computer Science, Physical Sciences, Service-Oriented Computing, Software system, Health-care supportive home systems, Software, Information Systems
FOS: Computer and information sciences, System of systems, Computer engineering. Computer hardware, Artificial intelligence, Class (philosophy), Crisis and emergency systems, [INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], Mediator, QoS-Aware Web Services Composition and Semantic Matching, [INFO] Computer Science [cs], Autonomic Computing and Self-Adaptive Systems, TK7885-7895, Systems-of-systems, Engineering, Interoperation, Software Architecture, Service-Oriented Architecture, Artificial Intelligence, Flexibility in System Design, System of Systems Engineering and Design, Connector, Software engineering, Software architecture, QA75.5-76.95, Interoperability, Computer science, Distributed computing, Systems design, Programming language, World Wide Web, Architecting Complex Systems, Control and Systems Engineering, Electronic computers. Computer science, Computer Science, Physical Sciences, Service-Oriented Computing, Software system, Health-care supportive home systems, Software, Information Systems
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 13 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
