<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Modeling co-simulation: a first experiment</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Renan</forename><surname>Leroux</surname></persName>
							<email>renan.leroux@irt-saintexupery.com</email>
							<affiliation key="aff0">
								<orgName type="institution">IRIT / University of Toulouse</orgName>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">Institute of Research and Technology (IRT) Saint Exupery</orgName>
								<orgName type="institution">Seconded from Altran</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ileana</forename><surname>Ober</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">IRIT / University of Toulouse</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marc</forename><surname>Pantel</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">IRIT / University of Toulouse</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jean-Michel</forename><surname>Bruel</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">IRIT / University of Toulouse</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Modeling co-simulation: a first experiment</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">FAC4C8FFB9D857B3803CDDB36C2DA2BC</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:17+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Model-Based Systems Engineering plays a key role in managing the complexity in the development of modern cyber-physical systems. Model simulation allows conducting early validation and verification activities. In the context of Extended Enterprises, systems are built out of components developed in different companies as black boxes to protect the company Intellectual Property. Simulation activities then rely on co-simulation that combines the black box simulation of each component to assess the quality of the whole system. Such activities are difficult to harness as the simulation results depend on black box co-simulation frameworks that coordinate the simulations of each component. Our work targets the modeling of these simulations including the co-simulation framework in order to: a) make explicit all the simulation choices and have a better understanding of the simulation results and b) benefit from model-driven engineering facilities including automatic code generation. This contribution describes an early experiment based on the classical bouncing ball game example.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Nowadays the development of an important number of real-life applications is done by organizations structured as EE (Extended Enterprise). In an EE, a contracting authority and several subcontractors cooperate in complex work-flows for the development of complex systems such as cars, airplanes, power plants, etc. A key issue is the protection of the IP (Intellectual Property) of the various partners. SE (System Engineering) <ref type="bibr" target="#b0">[1]</ref> is an interdisciplinary approach used to harness the development of such systems early in the V cycle, aiming at correct by construction processes. MDE (Model Driven Engineering) <ref type="bibr" target="#b1">[2]</ref> relies on formal models to abstract the complexity of such systems using domain specific languages. On a wider scope, MBSE (Model-Based Systems Engineering) can be seen as the collection of related processes, methods, and tools used to support the discipline of systems engineering with an intensive use of models.</p><p>In the context of EE, MBSE allows the use of various kinds of models as core artifacts during the product development. The exchanges between the various collaborators are based on models, whose nature and content have to be defined beforehand and properly included in a holistic systems engineering methodology while protecting the IP of all the partners. Thus, full models will never be available to all partners but only the minimal amount of data required to conduct an efficient development.</p><p>Simulation is often used to help the system architect assessing the adequacy of his/her architecture. In an EE, partners only develop parts of the whole system and must thus provide a simulator for each part. Then, all these simulation components are integrated in a co-simulation in order to assess the whole system. Such frameworks rely on co-simulation framework that integrate the components in a black box manner to protect the partners IP. The FMI (Functional Mockup Interface) <ref type="bibr" target="#b2">[3]</ref> 2.0 co-simulation standard and the associated tools are currently the most advanced technologies for building such co-simulators taking into account the constraints of EE including IP protection during the integration of FMU (Functional Mockup Unit) simulation components. The framework provides a so called master algorithm that coordinates the various simulation components.</p><p>We target the development of complex cyber physical systems for the transportation domain. We rely on heterogeneous simulations (cross-domains, involving different kinds of models, possibly mixing continuous and discrete execution models, . . . ) to verify that the various functions in an architecture are activated according to the expected scenarios. Each function simulator is given as a black box FMU to protect the provider IP. A master algorithm is then used to coordinate the execution of these function simulators during each simulation step relying on the very restricted data provided to describe the FMU. Most FMI frameworks provide a generic black box master algorithm that drives the simulation according to the architecture of the simulator and the properties of each component. But, the various frameworks make different undocumented choices that may lead to quite different simulation results. Indeed, the precise management of time and function simulators execution order plays a key role in the quality of the simulation of such systems. For example, in hybrid systems that involve discrete behaviors, if the state of an FMU changes between two simulation steps, it may be important to compute the precise date when the state changed and to restart the simulation at this exact date (rollback).</p><p>Our work targets a system modeling and simulation methodology that takes into account concerns related to the EE, in particular the IP protection, and ensures precise and deterministic simulation results. This paper contributes questions and some model based preliminary answers derived from a simple bouncing ball example implemented with the JavaFMI framework <ref type="bibr" target="#b3">[4]</ref>:</p><p>• When are rollback required in simulation?</p><p>• Should the rollback be managed inside or outside the FMU?</p><p>• In which order should the function simulators be executed in case of algebraic loops (data dependence loops)?</p><p>• How can a simulation model ease the management of these issues?</p><p>• Can the master algorithm be generated easily from such simulation model?</p><p>The remaining of this paper is as follows. In section 2, we provide a short description of the use case. In section 3, we explore some existing practices and state of the art for building simulators. In section 4, we explain the need for distinguishing the system model and the simulation model to provide a clear separation of concern. We conclude in section 5 and provide future work directions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">A simple example: the bouncing ball</head><p>We rely on a very simple example to illustrate the need for a simulation model and its relation with the system model. This example should comprise several parts that could be provided by several stakeholders and requires the use of co-simulation frameworks. We consider a simple bouncing ball where one part is the free fall of the ball and the other part is the collision with the ground. When the ball is left free above the surface, it accelerates due to gravitational forces. When the ball eventually comes in contact with the surface, it bounces off the surface, at a velocity that is a fraction of the velocity prior to contact. The up and down movement will continue several times until the ball reaches eventually a resting position. This use case is a classic example of hybrid dynamic systems, that involves both continuous dynamics (the up and down movement of the ball), as well as discrete transitions where the system dynamics can change and the state values can change in a discrete manner (during the bouncing). A bouncing ball is one of the simplest models that can exhibit the Zeno phenomenon -an infinite number of events occurring in a finite time interval -if it is not well handled. Thus, it is inherently difficult to simulate on a computer, yet obviously present in real life.</p><p>For the sake of simplicity, we provide a single model for the bouncing ball. The velocity is the core parameter of the simulation of the physical behaviour. We adapted the example to our needs and consider that:</p><p>• the velocity parameter is protected by intellectual property -Thus, it cannot be exchanged between the two simulation components ;</p><p>• the bouncing ball model is split into two functions -(i) Each function is dedicated to a subcontractor, (ii) this separation should highlight the difficulties of the coordination for the co-simulation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Current practices and related works</head><p>The FMI is an industry standard for co-simulation that provides a tool-independent approach for model exchange and cross-company collaboration <ref type="bibr" target="#b4">[5]</ref>. FMI-CO (Functional Mockup Interface for Co-simulation) is designed for the coupling of simulation components for subsystem models, which have been exported from their modeling toolsets together with their solvers as executable software <ref type="bibr" target="#b2">[3]</ref> as illustrated by the following figure. A master algorithm is then used to coordinate all the FMUs. Generic master algorithms are usually provided in closed source by tool vendors providing the know-how of the company participating in the popularity of the simulation software. Very little information and control about what is going on inside is given to the user. The same simulation driven by different master algorithms may produce different simulation results. It is thus sometime difficult for a systems engineer to understand the results of a co-simulation with respect to the simulation of the same system executed in a single tool. These differences can come from the values of parameters used to perform the co-simulation, the absence or not of a rollback mechanism, how the algorithm handles the hybrid continuous/discrete time model, or how the algorithm works with algebraic loops in model. These key-points are not always enough documented.</p><p>In order to overcome these issues, we propose to model explicitly the expected behaviour of the master algorithm for each system model simulation.</p><p>MDE provides several open frameworks for heterogeneous co-simulation like Ptolemy II <ref type="bibr" target="#b5">[6]</ref>, ModHel'X <ref type="bibr" target="#b6">[7]</ref> or GEMOC <ref type="bibr" target="#b7">[8]</ref> that experimented the connection with FMI/FMU. The first one allows to program in Java various models of computation (called actors) and their combination (called directors). The second provides a more componentaware framework still relying mainly on programming languages. The last one targets the definition of xDSML (eXecutable Domain Specific Modeling Language). Our proposal could be implemented using these frameworks especially the BCOoL (Behavioral Coordination Operator Language) proposal from GEMOC <ref type="bibr" target="#b8">[9]</ref>. This will be the purpose of future work.</p><p>The Distributed Architecture for Controlled CO-SIMulation, DACCOSIM, <ref type="bibr" target="#b9">[10]</ref> is an FMI-compatible Master Algorithm generator. DACCOSIM targets FMI-based simulation and the cooperation of multiple FMI simulation units. To support variable step size, the necessary error control and rollbacks are achieved through a hierarchical and distributed control architecture. At each step, simulation data communications also occur, but directly between FMU pairs in a fully decentralized fashion. With respect to this approach, we feel the need for a few improvements: (i) integrate the co-simulation in a wider model-based systems engineering approach; (ii) make explicit the parameters of the simulation and (iii) isolate the rollback and have it controlled by the master algorithm.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Modeling co-simulation</head><p>In this section we present a modeling of the bouncing ball example that distinguishes between the system model and the simulation model in a manner that complies to the FMI/FMU standard directives, while allowing for a clean separation of concerns between the system related issues and the co-simulation concerns.</p><p>We start with the design of the system model that contains the description of the bouncing ball behaviour. This model is split into two functions : the "Flying Ball" and the "Ground Detection". Further on, we overview the simulation model, that embeds components that give a fine description of the various phases of the bouncing ball behaviour, and rises the need for a master algorithm that coordinates the simulation and ensures the coherent information exchanges between the various components, even in the presence of IP protection.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">System model</head><p>From the point of view of the systems engineer, the bouncing ball movement is composed of two simple functions: (i) the Flying Ball (up or down) and (ii) the Ground Detect.</p><p>The coordination between both is such that : (i) The Flying Ball function sends the ball position to the Ground Detect function. (ii) The Ground Detect function receives the ball position and detects if it touches the ground. In response, the Ground Detect function returns a rebound flag at true if there is still enough energy or false otherwise. In that last case, the ball enters the "StayOnGround" state, as illustrated in the following figure Fig. <ref type="figure" target="#fig_1">2</ref>.</p><p>At the system level, the actual behaviour corresponding to states such as Free Fly or Rebound is not important. We are only focusing in this paper on the overall (system) view of this behaviour.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Simulation model</head><p>In this section, we start with the system model described previously and we aim at building the operational simulation model. The purpose is to make explicit all the elements needed to conduct a co-simulation that are usually hidden in the co-simulation frameworks. The simulation model provided in Fig. <ref type="figure" target="#fig_2">3</ref> is constructed based on the functions issued from the system model. All these functions are directly written with the help of the JavaFMI framework <ref type="bibr" target="#b3">[4]</ref>. We would therefore need to express the Flying Ball and Ground Detect functions. However, as the simulation has to handle the heterogeneous nature of the movement corresponding to these two functions, we need to combine the two behaviour models. In order to do so, we define a Master Algorithm, whose role is to drive the switch between the two movement modes corresponding to each of these functions.</p><p>Moreover, the hybrid nature of the overall system (continuous during the Free Fly phase and discrete at Rebound) requires a dedicated mechanism to manage the time according to the expected simulation data precision. This mechanism should allow the Master Algorithm to properly adjust the size of the simulation step, based on the characteristics of the movement while avoiding the Zeno effect. In  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.2.">Ground Detection.</head><p>Given that we simulate the bouncing ball -which is a continuous process -in a discrete manner, it may lead to situations where the ball appears to be under the ground if the ball crossed the ground between two simulation instants. The ground detection behaviour identifies whether the ball touches the ground or not, based on the ball position. For the simulation, we consider that the ball touches the ground if its position is lower than a predefined parameter, that defines a rebound zone, as opposed to the free fly zone located above it as shown in the following figure. During the simulation, the activation of the ground detection is discretized. If the rebound zone is very large with respect to the simulation step, then the ball would prematurely rebound, and the ball would never actually touch -or get really close to -the ground. On the other side, if the rebound zone is narrow with respect to the simulation step, it may happen quickly that the ground detection is activated while the theoretical ball position is under the ground. In reality, a good compromise between the two values is needed, and anyway the size of the simulation step is rarely only depending on this part of the system. As a consequence, we need a mechanism capable of handling the "under the ground" situation of the ball. One way to do it, is through a rollback process. This is a general strategy that can be applied in any simulation in which the simulation step size may vary: perform a simulation step and check whether the system state is coherent or not. If not go back to the previous step and re-run the simulation with a smaller step until the system state is coherent.</p><p>In our case, with a new step, one of the followings may happen as shown in the previous figure <ref type="figure">:</ref> • the ball is underground -we have to go back again and consider an even smaller simulation step;</p><p>• the ball is in the rebound zone -the master algorithm will have to take care of the rebound;</p><p>• the ball is in the free fly zone.</p><p>In order to avoid the Zeno effect, we need to introduce constraints on the physical model. More precisely, the derivative of the position (i.e., the speed) must be bounded which is the case with finite energy systems. In our case, energy is not bounded as we consider uniform gravity which Figure <ref type="figure">6</ref>. Overview of the Master Algorithm is a coarse approximation at the level of the ground of the real gravity behavior. But, as the ball will reach the ground, the maximum speed is the one at ground level and thus the derivative is bounded. For a given precision, we can compute iteratively the simulation step value in a finite number of iteration and thus avoid the Zeno effect. 4.2.4. Master Algorithm. The master algorithm orchestrates the calls towards the components handling the flying ball, the ground detection, and the rollback. These components are implemented as FMUs whose execution is managed by this algorithm. The data flows describing the exchanges taking place at this level are described by the activity diagram in Fig. <ref type="figure">6</ref>.</p><p>Beyond the obvious goal of having a master algorithm that works correctly we aim at (i) keeping this master algorithm as simple as possible and investigate whether it is possible to automatically generate it (completely or partially), and (ii) considering IP protection concerns. At this level, the IP protection is ensured by the fact that a FMU is an executable code. Although it is in principle possible to reverse engineering this executable code. This is both expensive and hard to exploit, given the important size of such applications. Moreover it would lead to structure flattening that would make it practically impossible to exploit.</p><p>The master algorithm is specific to each system, in particular ours is specific to the example of the bouncing ball. Nevertheless, the need to orchestrate rollbacks is present in most of the systems and through it the example helped us to gain experience on this aspect.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Future work and conclusion</head><p>In this work-in-progress paper we have illustrated, through a simple case study, some of the difficulties that arise when building co-simulations as required in the development of a complex system. Even when a dedicated framework such as FMI/FMU is available a number of questions remain: (i) how to model the simulation components; (ii) how to define the master algorithm; (iii) how to take into account the rollback function.</p><p>This proposal illustrates that it is possible to include the co-simulation in a holistic, model-based, systems engineering approach. In particular, it is possible to go from the system model to the co-simulation model by adding two main functions: Master algorithm -for orchestrating the individual simulations; and the Rollback -for adjusting the simulation step size of the various isolated simulations.</p><p>In addition, we have explored the possibility to export the rollback function outside the concerned model (i.e., the Flying ball function). We have also created a specific and efficient code for the Master algorithm function. Finally, we had the ability to choose the execution order of the different functions.</p><p>Based on these results, there are several paths where this work will be taken over. One direction would be to go further with the integration of the requirements specific to the EE and eventually allow for the existence of two (or more) master algorithms that cooperate. In order to do so, beyond the necessity to enable communication mechanisms between the master algorithms, there needs to be a way to coordinate the rollbacks performed in various parts. Coordinating several rollbacks could induce major performance increases at simulation time, as it could avoid performing useless rollbacks. Some of the co-simulations are done in the context of the development of applications that are subject to certification. Currently the certification process related to aeronautics systems does not look into the preliminary results obtained through simulation. One of the reason for this is that there is no formal link between the simulated model and the generated code. One of our future work directions is to establish traceability links between the system model, the co-simulation model and the execution code. This would be a first step towards including the simulation into the certification process.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. A schematic view of an FMU [3].</figDesc><graphic coords="2,315.00,290.89,243.00,130.38" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. System side, Functional view with data flow and State Machine</figDesc><graphic coords="3,114.90,71.22,382.20,124.95" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 .</head><label>3</label><figDesc>Figure 3. Model Simulation side, Functional view with data flow</figDesc><graphic coords="4,154.20,71.22,303.60,137.10" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4 .</head><label>4</label><figDesc>Figure 4. Bouncing Ball, Model Simulation side, State Machine Ball</figDesc><graphic coords="4,65.88,293.71,219.24,103.32" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 5 .</head><label>5</label><figDesc>Figure 5. Bouncing Ball, Ground Detection zones</figDesc><graphic coords="4,315.00,359.57,243.00,65.20" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="5,76.25,71.22,459.50,228.00" type="bitmap" /></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>The authors would like to thank the MOISE project members for its support as well as the French Commissariat Général à l'Investissements (CGI) and the Agence Nationale de la Recherche (ANR) for their financial support in the frame of the Programme d'Investissement d'Avenir (PIA).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<idno>I. 24765</idno>
		<title level="m">Systems and Software Engineering -Vocabulary</title>
				<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Guest Editor&apos;s Introduction: Model-Driven Engineering</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">C</forename><surname>Schmidt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer</title>
		<imprint>
			<biblScope unit="volume">39</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="25" to="31" />
			<date type="published" when="2006-02">Feb 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Functional Mock-up Interface for Model Exchange and Co-Simulation</title>
		<author>
			<persName><forename type="first">M</forename><surname>Association</surname></persName>
		</author>
		<ptr target="http://fmi-standard.org" />
		<imprint>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">S U</forename><surname>Of</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Las</forename><surname>Palmas</surname></persName>
		</author>
		<ptr target="https://bitbucket.org/siani/javafmi/wiki/Home" />
		<title level="m">Java Functional Mock-up Interface for Co-Simulation</title>
				<meeting><address><addrLine>SPAIN</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">The Functional Mockup Interface -seen from an industrial perspective</title>
		<author>
			<persName><forename type="first">C</forename><surname>Bertsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Ahle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Schulmeister</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 10th International Modelica Conference 2014</title>
				<meeting>the 10th International Modelica Conference 2014<address><addrLine>Lund, Sweden</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Taming heterogeneitythe Ptolemy approach</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">W</forename><surname>Janneck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">A</forename><surname>Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ludvig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Neuendorffer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">R</forename><surname>Sachs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Xiong</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the IEEE</title>
				<meeting>the IEEE</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">91</biblScope>
			<biblScope unit="page" from="127" to="144" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Modhel&apos;x: A component-oriented approach to multi-formalism modeling</title>
		<author>
			<persName><forename type="first">C</forename><surname>Hardebolle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Boulanger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Models in Software Engineering, Workshops and Symposia at MoDELS 2007</title>
				<meeting><address><addrLine>Nashville, TN, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2007-10-05">September 30 -October 5, 2007. 2007</date>
			<biblScope unit="page" from="247" to="258" />
		</imprint>
	</monogr>
	<note>Reports and Revised Selected Papers</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models</title>
		<author>
			<persName><forename type="first">B</forename><surname>Combemale</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Brun</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Champeau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Crégut</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Deantoni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">L</forename><surname>Noir</surname></persName>
		</author>
		<ptr target="https://hal.inria.fr/hal-01258358" />
	</analytic>
	<monogr>
		<title level="m">8th European Congress on Embedded Real Time Software and Systems (ERTS 2016)</title>
				<meeting><address><addrLine>Toulouse, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A behavioral coordination operator language (bcool)</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">E V</forename><surname>Larsen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Deantoni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Combemale</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Mallet</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MoDELS 2015</title>
				<meeting><address><addrLine>Ottawa, ON, Canada</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2015-10-02">September 30 -October 2, 2015, 2015</date>
			<biblScope unit="page" from="186" to="195" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">FMI-based distributed multi-simulation with DAC-COSIM</title>
		<author>
			<persName><forename type="first">V</forename><surname>Galtier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Vialle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Dad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Tavella</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lam-Yee-Mui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Plessis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Symposium on Theory of Modeling &amp; Simulation: DEVS Integrative M&amp;S Symposium, part of the</title>
				<meeting>the Symposium on Theory of Modeling &amp; Simulation: DEVS Integrative M&amp;S Symposium, part of the</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m">Spring Simulation Multiconference, SpringSim &apos;15</title>
				<meeting><address><addrLine>Alexandria, VA, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2015">April 12-15, 2015, 2015</date>
			<biblScope unit="page" from="39" to="46" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
