Complex Cyber Physical Systems Co-Simulation with the Cosim20 Framework for Efficient and Accurate Distributed Co-Simulations Giovanni Liboni
Total Page:16
File Type:pdf, Size:1020Kb
Complex Cyber Physical Systems Co-Simulation With The CoSim20 Framework For Efficient And Accurate Distributed Co-Simulations Giovanni Liboni To cite this version: Giovanni Liboni. Complex Cyber Physical Systems Co-Simulation With The CoSim20 Framework For Efficient And Accurate Distributed Co-Simulations. Computer Science [cs]. Université Côte d’Azur, 2021. English. tel-03295443 HAL Id: tel-03295443 https://tel.archives-ouvertes.fr/tel-03295443 Submitted on 22 Jul 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE DE DOCTORAT Co-simulation de systemes complexes avec le framework CoSim20 Pour des co-simulations distribuées performantes et fidèles Giovanni LIBONI Inria Sophia Antipolis – Méditerranée, Équipe Kairos Safran Tech, Modélisation & Simulation Présentée en vue de l’obtention Devant le jury, composé de : du grade de docteur en Informatique Jean-Philippe Babau, Professeur, Université de Bretagne Occidentale – Rapporteur d’Université Côte d’Azur Frédéric Boulanger, Professeur, Centrale Supélec - Dirigée par : Frédéric Mallet Examinateur Co-encadrée par : Julien Deantoni Bernard Coulette, Professeur, Université Toulouse Jean Jaurès - Rapporteur Guy De Spiegeleer Julien Deantoni, Maître de conférence – Université Côte Date de soutenance: d’Azur - Co-Encadrant Virginie Galtier, Enseignante-chercheur , Centrale Supélec - 21 Avril 2021 Examinatrice Frederic Mallet, Professeur, Université Côte d’Azur – Directeur de thèse Maurice Theobald, Ingénieur chercheur, Safran Tech – Invité Résumé Les systèmes cyber-physiques sont des systèmes d’ingénierie complexe dans lesquels les parties computationnelles communiquent entre elles et avec les parties physiques décrivant l’environnement. Pour apprivoiser la complexité croissante de ces systèmes, ils sont généralement décomposés en différentes parties qui sont modélisées par différents experts, éventuellement issus de différentes organisations. Ces experts utilisent un langage adapté à leur problème, à la fois syntaxiquement et sémantiquement. À ce stade, d’une part on obtient des modèles exécutables des parties computationnelles et des modèles exécutables des parties physiques et, d’autre part, les modèles exécutables ne doivent pas violer les propriétés intellectuelles lorsqu’ils sont partagés et sont donc généralement partagés en tant qu’unités de simulation en boîte noire. Cependant, pour comprendre le comportement émergeant de l’ensemble du système, il est nécessaire de faire une simulation collaborative ; où les unités de simulation de différentes disciplines sont coordonnées pour échanger des données aux moments opportuns. Les problèmes avec les approches existantes sont multiples. Premièrement, les unités de simulation exposées sous forme de boîtes noires ne permettent pas de prendre en compte les spécificités sémantiques de chaque modèle. Deuxièmement, les co-simulations sont aujourd’hui principalement basées sur une interface de programmation dirigée par le temps, et il a été montré que de telles interfaces introduisaient, lorsqu’elles sont appliquées à des systèmes cyber-physiques, des «retards artificiels» dus à la co-simulation elle-même. De tels retards impliquent une mauvaise précision qui peut invalider les résultats de la co-simulation. De plus, réduire ces délais de co-simulation implique de mauvaises performances globales de co-simulation. Troisièmement, la définition d’un cadre de co-simulation précis et performant peut être complexe d’un point de vue algorithmique, de sorte qu’un support est nécessaire pour augmenter le niveau d’abstraction lors de la définition de la coordination. La thèse développée dans ce document est qu’il est possible 1) de fournir une interface de coordination de niveau modèle qui englobe à la fois les modèles cyber et les modèles physiques d’un système cyber-physique et 2) de définir un langage dédié à la coordination de tels modèles. Sur la base de ces artefacts et d’une interface de co-simulation originale, il est possible de générer automatiquement une infrastructure distribuée précise et performante pour la co-simulation. La thèse est soutenue par la mise en œuvre de deux langages dédiés. Un pour la définition de l’interface de coordination du modèle et un pour la définition de la spécification de la coordination. De plus, la thèse est également soutenue par un prototype d’API respectueux de la sémantique comportementale des modèles, qui est introduite comme une généralisation des API standard existantes. Enfin, un compilateur a été défini pour que les coordinations définies avec les langages proposés puissent être utilisées pour générer automatiquement un environnement de co-simulation distribué. Les différentes propositions sont appliquées sur une étude de cas où les avantages de l’approche sont clairement illustrés. Mots-clés: co-simulation; sémantique comportementale; coordination; algorithme maître; modèles hétérogènes; Langages de coordination; Abstract Cyber-Physical Systems are complex engineered systems where computational parts communicate together and with physical parts describing the environment. To tame the growing complexity of such systems, they are usually decomposed into different parts that are modeled by different experts, possibly from different organizations. These experts are using a language tailored to their problem, both syntactically and semantically. At this point, on the one hand, it results in executable models of the cyber parts and executable models of the physical parts and, on the second hand, executable models should preserve intellectual properties and are usually shared as black-box simulation units. However, to understand the behavior emerging from the whole system, it is required to do a collaborative simulation; where the simulation units from different disciplines are coordinated to exchange data when appropriate. The problems with the existing approaches are manifolds. First, simulation units exposed as black boxes do not allow taking into account the semantic specificities of each model. Second, co-simulations are nowadays mainly based on a time-driven application programming interface, which has been shown to introduce ’artificial delays’ when applied to cyber-physical systems. Such delays imply a bad accuracy that may invalidate the co-simulation results. Moreover, reducing such co-simulation delays implies bad overall co-simulation performances. Third, the definition of an accurate and performant co-simulation framework may be algorithmically complex so that support is required to increase the abstraction level when defining the coordination. The thesis developed in this document is that it is possible 1) to provide a model level coordination interface that encompasses both the cyber and the physical parts of a cyber-physical system and 2) to define a language dedicated to the coordination of such parts. Based on these artifacts and an original co-simulation programming interface it is possible to automatically generate an accurate and performant distributed infrastructure for co-simulation. The thesis is supported by the implementation of two domain-specific languages. One for the definition of the Model Coordination Interface and one for the definition of the Model Coordination Specification. Additionally, the thesis is also supported by the prototype of a semantic-aware API introduced as a generalization of existing standard APIs. Finally, a compiler has been implemented so that coordinations defined with the proposed languages can be used to automatically generate a distributed co-simulation framework. The different proposals are applied to a case study where the advantages of the approach are clearly illustrated. Keywords: co-simulation; behavioral semantics; coordination; master algorithm; heterogeneous models; coordination languages; Contents Résumé iii Abstract v Contents vii 1 Introduction 1 1.1 Motivation .....................................1 1.2 Main Challenges ..................................6 1.3 Limitations .....................................6 1.4 Structure ......................................7 2 Background 9 2.1 Complexity of Cyber-Physical Systems .......................9 2.2 Model-Driven Engineering ............................. 12 2.3 Model Integration .................................. 15 2.4 Conclusion ..................................... 18 3 State of the Art 19 3.1 Coordination Semantics ............................... 20 3.1.1 Continuous-Time Based Co-simulation ................... 20 3.1.2 Discrete-Event Based Co-simulation ..................... 24 3.1.3 Hybrid Co-simulation ............................ 30 3.2 DSLs for Co-simulation ............................... 35 3.2.1 Architecture Description Languages .................... 35 3.2.2 Coordination Languages .......................... 37 3.3 Co-Simulation Interfaces .............................. 42 3.3.1 Runtime Coordination Interface ....................... 42 3.3.2 Model Coordination Interface ........................ 47 3.4 Distributed Co-simulation ............................. 52 3.5 Conclusion ....................................