11 |
Conception par patrons des modèles à événements discrets : de la machine à états finis au DEVS / Design pattern of discrete event system : from FSM to DEVSMessouci, Rabah 12 May 2017 (has links)
Les modèles à événements discrets sont, souvent, réalisés afin d’être simulés et par conséquent exécutés sur ordinateur.Certains codeurs de simulation optent pour une programmation impérative pour implémenter les comportements décrits par leurs machines à états.D’autres codeurs optent plutôt pour une programmation orientée objet.Ce paradigme de programmation, basé sur la notion d’objet, décline une nouvelle façon de voir un programme et son architectureToutes les solutions proposées manquent de clarté.Elles sont extrêmement coûteuses en terme de maintenabilité du code implémenté.L’utilisation exclusive des instructions conditionnelles rend toute correction au niveau du code difficile à réaliser, voire impossible dans certains cas. Aussi, elles souffrent au niveau de la réutilisabilité d’une partie du code. En effet, l’utilisation de telles instructions produit un code compacte, avec une forte cohésion entre les variables et fonctions du modèle implémenté. Par conséquent, le concepteur pourra réutiliser ce code qu’en un seul bloc.Toute dislocation du code est impossiblePour toutes ces raisons, nous proposons une nouvelle conception des modèles à événements discrets afin d’améliorer les qualités du code produit. Cette solution est basée sur le paradigme objet pour exploiter pleinement ses avantages tout en contournant ses limites. A cet effet, la solution proposée et détaillée dans cette thèse est un nouveau patron. Dans ce patron, les états et les événements sont réifiés pour avoir plus d’abstraction et de clarté. La réification permettra aux événements d’encapsuler des données et des comportements. Ainsi, nous pouvons déléguer aux événements de nouvelles responsabilités / Discrete event systems (State machine or Discrete Event system Specification) are often modeled in order to be simulated and therefore executed on a computer. Some simulation designers choose for imperative programming to implement the behaviors described by their state machines and others. Whereas, few of them choose for object-oriented programming: this paradigm of computer programming, based on the notion of object, declines a new way of seeing a program and its architecture.All of the proposed solutions found in the litterature lack clarity. They are extremely expensive in terms of debugging, reusing and changing the implemented model. The exclusive use of conditional statements if-else or switch case makes any code correction difficult to perform, even impossible in some cases. They also suffer from the reusability of some parts of the code. Indeed, the use of such instructions produces a compact code, with a strong cohesion (coupling) between the variables and functions of the implemented model. Therefore, the designer can reuse the corresponding code only in one block. Any extraction of a a piece of code which corresponds to a piece of behavior is impossible.For all these reasons, we propose a new design of discrete event systems, from the state machine to the DEVS, in order to improve the producted code qualities. This solution is based on the object paradigm to fully exploit its advantages while circumventing its limits. To this end, the solution proposed and detailed in this thesis is a new State-Event Design Pattern and its variants. Thus, the designer of simulation models will have a library of patterns to choose in order to satisfy his design requirements.
|
12 |
Parallélisation massive de dynamiques spatiales : contribution à la gestion durable du mildiou de la pomme de terre / Massive scale parallelization of spatial dynamics : input for potato blight sustainable managementHerbez, Christopher 21 November 2016 (has links)
La simulation à évènements discrets, dans le contexte du formalisme DEVS, est en plein essor depuis quelques années. Face à une demande grandissante en terme de taille de modèles et par conséquent en temps de calcul, il est indispensable de construire des outils tel qu'ils garantissent une optimalité ou au mieux une excellente réponse en terme de temps de simulations. Certes, des outils de parallélisation et de distribution tel que PDEVS existent, mais la répartition des modèles au sein des noeuds de calculs reste entièrement à la charge du modélisateur. L'objectif de cette thèse est de proposer une démarche d'optimisation des temps de simulation parallèle et distribuée, en restructurant la hiérarchie de modèles. La nouvelle hiérarchie ainsi créée doit garantir une exécution simultanée d'un maximum de modèles atomiques, tout en minimisant le nombre d'échanges entre modèles n'appartenant pas au même noeud de calculs (i.e. au même sous-modèle). En effet, l'optimisation des temps de simulation passe par une exécution simultanée d'un maximum de modèles atomiques, mais dans un contexte distribué, il est important de minimiser le transfert d'évènements via le réseau pour éviter les surcoûts liés à son utilisation. Il existe différentes façons de structurer un modèle DEVS : certains utilisent une structure hiérarchique à plusieurs niveaux, d'autres optent pour une structure dite "à plat". Notre approche s'appuie sur cette dernière. En effet, il est possible d'obtenir un unique graphe de modèles, correspondant au réseau de connexions qui lient l'ensemble des modèles atomiques. À partir de ce graphe, la création d'une hiérarchie de modèles optimisée pour la simulation distribuée repose sur le partitionnement de ce graphde de modèles. En effet, la théorie des graphes offre un certain nombre d'outils permettant de partitionner un graphe de façon à satisfaire certaines contraintes. Dans notre cas, la partition de modèles obtenue doit être équilibrée en charge de calcul et doit minimiser le transfert de messages entre les sous-modèles. L'objectif de cette thèse est de présenter la démarche d'optimization, ainsi que les outils de partitionnement et d'apprentissage utilisés pour y parvenir. En effet, le graphe de modèles fournit par la structure à plat ne contient pas toutes les informations nécessaires au partitionnement. C'est pourquoi, il est nécessaire de mettre en place une pondération de celui qui reflète au mieux la dynamique individuelle des modèles qui le compose. Cette pondération est obtenue par apprentissage, à l'aide de chaînes de Markov cachées (HMM). L'utilisation de l'apprentissage dans un contexte DEVS a nécessité quelques modifications pour prendre en compte toutes ces spécificités. Cette thèse présente également toute une phase de validation : à la fois, dans un contexte parallèle dans le but de valider le comportement du noyau de simulation et d'observer les limites liées au comportement des modèles atomiques, et d'autre part, dans un contexte distribué. Pour terminer, cette thèse présente un aspect applicatif lié à la gestion durable du mildiou de la pomme de terre. Le modèle mildiou actuel est conçu pour être utilisé à l'échelle de la parcelle. En collaboration avec des agronomes, nous proposons d'apporter quelques modifications à ce dernier pour étendre son champ d'action et proposer une nouvelle échelle spatiale. / Discrete-event simulation, in a context of DEVS formalism, has been experiencing a boom over the recent years. In a situation of increasing demand in terms of model size and consequently in calculation time, it is necessary to build up tools to ensure optimality, or even better, an excellent response to simulation times.Admittedly, there exist parallelization and distribution tools like PDEVS, but the distribution of models within compute nodes is under the modeler s sole responsability.The Ph.D. main scope is to propose an optimization approach of parallel and distributed simulation times, restructuring the hierarchy of models. The new founded hierarchy can thus guarantee a simultaneous execution of a maximum quantity of atomic models while minimizing the number of exchanges between models, which are not associated with the same calculation node (i.e. with the same sub-model). Accordingly, optimizing simulation time goes through a simultaneous implementation of a maximum quantity of atomic models, but in a distributed context it is highly important to minimize the adaptation transfer via the network to avoid overcharges related to its use. Ther exist deifferent ways of structuring a DEVS model : some scientist use a multi-leveled hierarchical structure, and others opt for a "flat" structure. Our objective focuses on the latter. Indeed, it is possible to obtain a single graph of models, corresponding to the connection network linking all the atomic models. From this graph the creation of a model hierarchy optimized by the distributed simulation focuses on the partitioning of this model graph. In such cases, the graph theory reveals a certain numbers of tools to partition the graph to meet some constraints. In our study, the resulting model partition must not only balance calculation needs but also minimize the message transfer between sub-models. The Ph.D. main scope it to propose not only an optimization approach but also partitioning and learning tools to achieve full compliance in our processing methods. In such cases, the model graph using the flat structure does not provide us with all the necessary information related to partitioning. That is the reason whi it is highly necessary to assign a weighting in the graph that best reflects the individual dynamics of models composing it. This weighting comes from learning, using the Hidden Markov Models (HMM). The use of learning in DEVS context results in some adjustments ti consider all the specificities. The thesis also ensures the complete validation phase, either in a parallel context to validate the simulation node behavior and observe the limits of atomic model behavior, or in a distributed context. This dissertation in its final state also includes a pratice-oriented approach to sustainably manage potato blight. The current fungus Phytophthora infestans simulation model is conceived for a plot scale. In collacoration with agronomists, we provide a few changes to update the Phytophthora infestans model to extend the scope of action and propose a new scale of values.
|
13 |
XML-based DEVS Modeling and Interpretation / XML-basierte DEVS Modellierung und InterpretationMeseth, Nicolas 28 November 2011 (has links)
Diese Arbeit befasst sich mit der Modellierung von Simulationskomponenten mittels einer XML-basierten Sprache, die im Rahmen dieser Arbeit entwickelt wird und die für die Abbildung des DEVS Formalismus konzipiert ist. Es wird gezeigt, wie der DEVS Formalismus in XML modelliert werden kann. Durch die Verwendung von XML sowohl für die Struktur als auch für das Verhalten der Modelle wird eine Programmiersprachenunabhängigkeit erreicht, die eine Wiederverwendung bestehender Modelle vereinfacht. Um die Modelle ausführen zu können wird die Interpretation der XML-basierten Sprache vorgeschlagen und ein entsprechender Interpreter in Java implementiert. Am Beispiel des DEVSJAVA-Simulators wird demonstriert, wie die XML-Beschreibungen und der Interpreter mit wenig Aufwand von einem beliebigen Zielsimulator adaptiert werden können.
|
14 |
An Interactive Wildfire Spread and Suppression Simulation Environment Based on Devs-FireSong, Fei 21 November 2008 (has links)
Wildfires pose serious threats to the society and environment. Simulation of wildfire spread and fire suppression remains a challenging task due to the complexity of wildfire behavior and fire suppression tactics. In previous work, a wildfire spread and suppression simulation model called DEVS-FIRE has been developed. Based on that model, this thesis develops a graphic user interface to support an interactive simulation environment for surface wildfire spread and suppression simulation. The developed environment allows users to dynamically set up fire spread simulations, and to interacticaly deploy firefighting agents to experiment different fire suppression tactics. This graphic user interface is implemented using the Java Swing framework, and is intergrated with the DEVS-FIRE model in a well-designed manner. The software architecture is described and the simulation environment and experiment results with different fuel, terrain and weather data are presented.
|
15 |
Pokročilý simulátor mikrokontrolérů rodiny MSP430 / Advanced Simulator of MSP430 MicrocontrollersKaluža, Jan January 2014 (has links)
The goal of this master's thesis is to provide an introduction to MSP430 microcontrollers and to design a simulator of these microcontrollers, focusing on easy implementation of extensions using peripherals. After a short introduction, the MSP430 microcontrollers are briefly described, including their internal peripherals and the formats used to store the binary executable code. The thesis continues with a description of discrete event simulation using the DEVS formalism. Based on previous chapters, the new simulator (consisting of a simulation core, graphical user interface and library for MSP430 microcontroller simulation) is designed and implemented. The implementation is tested by comparison with real microcontroller and in the end of the thesis, there is a summary and evaluation of the implemented simulator.
|
16 |
Platformně nezávislá reprezentace simulačních modelů na bázi XML / Patform-Neutral Representation of Simualtion Models Based on XMLDurman, David January 2009 (has links)
The variety of platforms for describing models of discrete event systems brings about the problem of how these models should be represented in order to be easily shared across platforms (shared for the purposes of model validation, effective execution, model reusing, or model integration). This study develops and implements the language DEVSML for the representation of the DEVS models. For the description of these models components, I use state diagrams, which are represented by SCXML. Actions and guards of the state diagrams are described using the language Scheme. This study also presents a visual tool for creation of the state diagrams, which is incorporated in the SmallDEVS system. For the Adevs environment, a transformer of the models described by DEVSML is implemented.
|
17 |
Modélisation de systèmes complexes par composition : une démarche hiérarchique pour la co-simulation de composants hétérogènes / Complex System Modeling by Composition : A hierarchical approach for heterogeneous components co-simulationParis, Thomas 28 May 2019 (has links)
Le contexte de ce travail est la Modélisation et Simulation (M&S) de systèmes complexes. Leur étude nécessite de combiner plusieurs points de vue (échelles temporelles et spatiales, domaines scientifiques et formalismes, niveaux de résolution...). Le challenge est l'intégration rigoureuse de ces différentes perspectives sur un système au sein d'une démarche de M&S. La multi-modélisation et la co-simulation sont deux approches prometteuses pour cela. La difficulté sous-jacente est de fournir une démarche modulaire, hiérarchique, dotée d'une approche d'intégration de composants hétérogènes rigoureuse et associée à un environnement logiciel supportant l'ensemble du cycle de M&S pour la mettre en pratique. MECSYCO (Multi-agent Environment for Complex System CO-simulation) est un intergiciel de co-simulation se focalisant sur la réutilisation de modèles issus d'autres logiciels. Il se base sur une stratégie d'encapsulation logicielle et formelle fondée sur DEVS, fournit des mécanismes de gestion des hétérogénéités, et assure une co-simulation décentralisée et modulaire. MECSYCO répond au besoin d'intégration de composants hétérogènes au sein d'une co-simulation, mais ne propose pas de démarche complète comprenant l'ensemble des propriétés énoncées précédemment comme la possibilité de hiérarchiser. Pour pallier à ce manque, dans la continuité des travaux sur MECSYCO nous proposons une démarche de multi-modélisation et co-simulation descriptive autorisant la construction incrémentale de multi-modèles à partir de modèles issus d'autres logiciels. Notre démarche est décomposée en 3 étapes : l'intégration, la multi-modélisation et enfin l'expérimentation. Chaque élément produit lors de ces étapes est associé à une description permettant de le manipuler. L'utilisation de descriptions complète le processus d'intégration, permet la construction incrémentale et modulaire des multi-modèles, et isole l'expérimentation. Nous mettons ensuite en place un environnement de développement basé sur des langages dédiés aux descriptions, et nous automatisons le passage d'une description d'expérience à sa co-simulation effective. C'est une démarche d'Ingénierie Dirigée par les Modèles qui nous permet de mettre en pratique notre approche en facilitant le travail des modélisateurs et en évitant les erreurs d'implémentation. Nos contributions sont évaluées sur plusieurs expériences dont la reprise d’un multi-modèle d’autoroute hybride et un exemple de thermique des bâtiments. / This work deals with complex system Modeling and Simulation (M&S). The particularity of such systems is the numerous heterogeneous entities in interaction involved inside them. This particularity leads to several organization layers and scientific domains. As a consequence, their study requests many perspectives (different temporal and spatial scales, different domains and formalisms, different granularities...). The challenge is the rigorous integration of these various system perspectives inside an M&S process. Multi-modeling and co-simulation are promising approaches to do so. The underlying problem is to define a modular and hierarchical process fitted with a rigorous way to integrate heterogeneous components and which is supported by a software environment that covers the whole M&S cycle. MECSYCO (Multi-agent Environment for Complex SYstem CO-simulation) is a co-simulation middleware focusing on the reuse of existing models from other software. It relies on a software and formal DEVS-based wrapping, provides heterogeneity handling mechanisms and ensures a decentralized and modular co-simulation. MECSYCO deals with the heterogeneous component integration need but its M&S process does not have all the properties above-mentioned. Notably, the hierarchical modeling ability is missing. To overcome this, we propose to fit MECSYCO with a descriptive multi-modeling and co-simulation process that allows the hierarchical design of multi-models using models from other software. Our process is split into three steps: integration, multi-modeling and finally the experimentation. We adopt a descriptive approach where a description file is linked to each product of these steps, these documents enable to manipulate them. The use of description files completes the integration steps, allows a hierarchical and modular multi-model design and isolates the experiments. Then we set up a development environment based on Domain Specific Languages to support the description work, and we automate the transition from an experiment description to its effective co-simulation. This is a Model-Driven Engineering approach which allows us to put into practice our contribution by facilitating the work of modelers and by avoiding implementation mistakes. Our contributions are evaluated on several experiments including a hybrid highway model and a thermal regulation example.
|
18 |
An integrative process mining approach to mine discrete event simulation model from event data / Une approche intégrée de découverte de processus pour découvrir le modèle simulation d'événement discret depuis les données des événements du systèmeWang, Yan 12 October 2018 (has links)
L'inférence d’un système, par la reconstruction de la structure à partir de l’analyse de son comportement, est reconnue comme un problème critique. Dans la théorie des systèmes, la structure et le comportement se situent aux extrémités de la hiérarchie qui définit la connaissance du système. L'inférence d’un système peut être également considérée comme l’escalade de la hiérarchie depuis la connaissance de bas niveau vers la connaissance de plus haut niveau. Ceci n'est possible que sous des conditions maitrisées et justifiées. Dans cette thèse, une nouvelle méthode d'inférence de système est proposée. La méthode proposée étend la technique Process Mining pour extraire des connaissances depuis les données des événements du système. Les aspects de modularité, de fréquence et de synchronisation peuvent être extraits des données. Ils sont intégrés ensemble pour construire un modèle Fuzzy-Discrete Event System Specification (Fuzzy-DEVS). La méthode proposée, également appelée méthode D2FD (Data to Fuzzy-DEVS), comprend trois étapes: (1) l’extraction depuis des journaux d’évènements (registres) obtenus à partir des données générées par le système en utilisant une approche conceptuelle; (2) la découverte d'un système de transition, en utilisant des techniques de découverte de processus; (3) l'intégration de méthodes Fuzzy pour générer automatiquement un modèle Fuzzy-DEVS à partir du système de transition. La dernière étape est de l’implémenter cette contribution en tant que plugin dans l'environnement Process Mining Framework (ProM). Afin de valider les modèles construits, une approximation de modèle basée sur le morphisme et une méthode prédictive intégrée à Granger Causality sont proposées. Deux études de cas sont présentées dans lesquelles le modèle Fuzzy-DEVS est déduit à partir de données réelles, où l'outil SimStudio est utilisé pour sa simulation. Les modèles ainsi construits et les résultats de simulation sont validés par comparaison à d'autres modèles. / System inference, i.e., the building of system structure from system behavior, is widely recognized as a critical challenging issue. In System Theory, structure and behavior are at the extreme sides of the hierarchy that defines knowledge about the system. System inference is known as climbing the hierarchy from less to more knowledge. In addition, it is possible only under justifying conditions. In this thesis, a new system inference method is proposed. The proposed method extends the process mining technique to extract knowledge from event data and to represent complex systems. The modularity, frequency and timing aspects can be extracted from the data. They are integrated together to construct the Fuzzy Discrete Event System Specification (Fuzzy-DEVS) model. The proposed method is also called D2FD (Data to Fuzzy-DEVS) method, and consists of three stages: (1) extraction of event logs from event data by using the conceptual structure; (2) discovery of a transition system, using process discovery techniques; (3) integration of fuzzy methods to automatically generate a Fuzzy-DEVS model from the transition system. The last stage is implemented as a plugin in the Process Mining Framework (ProM) environment. In order to validate constructed models, morphism-based model approximation and predictive method integrated with Granger Causality are proposed. Two case studies are presented in which Fuzzy-DEVS model is inferred from real life data, and the SimStudio tool is used for its simulation. The constructed models and simulation results are validated by comparing to other models.
|
19 |
Logistikos sistemų formalus imitacinis modeliavimas / Formal simulation modeling for logistic systemsLiorenšaitytė, Vilma 16 August 2007 (has links)
Šiuo metu egzistuoja įvairiausių sudėtingų sistemų imitacinių modelių kūrimo technologijų ir priemonių. Šiame darbe aiškinama, kaip imitacinis modelis gali būti integruojamas į verslo valdymo sistemą. Taip pat įvertinama, kad verlo valdymo sistemos gali būti paskirstytos atskiruose kompanijose ar kompiutersiuose. Šiame darbe bus išanalizuota koncepcija, kaip apjungti atskirus imitacinius modelius. Išanalizuota modelių integravimo į informacinę sistemą technologija. Pateikiami gamybos ir paskirstymo imitacinių modelių matematiniai aprašai, naudojant DEVS(Discrete Event Simulation) ir PLA(Piece-Linear Aggregates) specifikacijų metodus. / At present, a large number of modeling and simulation techniques and tools have been developed to deal with complex business systems. In this paper, we concentrate on scenario illustrating, how simulation models can be integrated in to business management system. Different infrastructure forms are possible, because services may be implemented on single machine or distributed throughout several companies’ networks. In this paper a concept will be analyzed - how to combine different simulation models. The technology for involvement of simulation models in to information systems will be created. Also the problem of simulation model transformation in to program code will be solved. For model formalization we can use a method of Piece-Linear Aggregates (PLA) that belongs to the class of time automata model. PLA method is close to Discrete Event Simulation (DEVS) formalism, which is used to create wide purpose simulation models.
|
20 |
Application of Model-Driven Engineering and Metaprogramming to DEVS Modeling & Simulation / Application de l'ingénierie dirigée par les modèles et de la métaprogrammation à la modélisation & simulation DEVSTouraille, Luc 07 December 2012 (has links)
La multiplication des environnements logiciels pour la Modélisation & Simulation DEVS pose un problème de collaboration à la communauté scientifique. En effet, l'utilisation d'outils disparates rend l'échange, la réutilisation et la comparaison de modèles très difficiles, empêchant les scientifiques de s'appuyer sur des travaux précédents pour construire leurs modèles. L'interopérabilité des outils n'est pas le seul problème soulevé par le besoin de modèles toujours plus complexes. Au fur et à mesure que les modèles grossissent, leur développement devient plus difficile, notamment en termes de détection des erreurs de conception. D'autre part, la simulation de ces modèles demande de plus en plus de ressources. Par conséquent, il est nécessaire de concevoir des techniques pour améliorer la performance des simulateurs et pour fournir des fonctionnalités de vérification de modèle afin d'assister les scientifiques dans la conception de leurs modèles. Dans cette thèse, nous proposons deux approches innovantes pour la M&S DEVS qui s'attaquent aux problèmes susmentionnés. La première contribution décrite dans ce document est un environnement basé sur les modèles pour modéliser des systèmes avec le formalisme DEVS, intitulé SimStudio. Cet environnement repose sur l'Ingénierie Dirigée par les Modèles pour fournir un cadriciel de haut niveau dans lequel les scientifiques peuvent créer, éditer et visualiser des modèles, et générer automatiquement un ensemble d’artefacts, notamment des spécifications de modèles compatibles avec différents simulateurs DEVS. Le noyau de SimStudio est un métamodèle de DEVS, indépendant de toute plateforme, qui fournit un format pivot pour la représentation des modèles DEVS. En se basant sur ce métamodèle, nous avons développé plusieurs fonctionnalités de vérification de modèle ainsi que plusieurs transformations de modèle pouvant être utilisées pour générer automatiquement de la documentation, des diagrammes ou du code ciblant diverses plateformes DEVS. Ainsi, SimStudio fournit une preuve de concept des capacités d’intégration qu’un standard DEVS pourrait fournir ; en fait, le métamodèle présenté dans cette thèse pourrait potentiellement servir de base de réflexion pour un tel standard. La seconde contribution de cette thèse est DEVS-MetaSimulateur (DEVS-MS), une bibliothèque DEVS qui utilise la métaprogrammation pour générer des exécutables de simulation spécialisés et optimisés pour le modèle qu’ils traitent. Pour ce faire, la bibliothèque effectue un grand nombre d’opérations durant la compilation, résultant en un code de simulation où une grande partie de l’overhead de simulation a été éliminé. Les tests que nous avons effectués ont montré que les programmes générés étaient très efficaces, mais le gain de performance n’est pas la seule caractéristique intéressante de DEVS-MS. En effet, grâce à la métaprogrammation, DEVS-MS peut également partiellement vérifier à la compilation que les modèles sont corrects, c’est-à-dire que leurs caractéristiques sont bien conformes au formalisme DEVS. Les erreurs de modélisation sont ainsi détectées et signalées très tôt dans le cycle de développement, et avec un taux de détection bien meilleur que ne le permettrait des tests classiques. / The multiplication of software environments supporting DEVS Modeling & Simulation is becoming a hindrance to scientific collaboration. Indeed, the use of disparate tools in the community makes the exchange, reuse and comparison of models very difficult, preventing practitioners from building on previous works to devise models of ever-increasing complexity. Tool interoperability is not the only issue raised by the need for models of higher and higher complexity. As models grow, their development becomes more error-prone, and their simulation becomes more resource-consuming. Consequently, it is necessary to devise techniques for improving simulators performance and for providing thorough model verification to assist the practitioner during model design. In this thesis, we propose two innovative approaches for DEVS Modeling & Simulation that tackle the aforementioned issues. The first contribution described in this document is a model-driven environment for modeling systems with the DEVS formalism, named SimStudio. This environment relies on Model-Driven Engineering to provide a high-level framework where practitioners can create, edit and visualize models, and automatically generate multiple artifacts, most notably model specifications compatible with various DEVS simulators. The core of SimStudio is a platform-independent metamodel of the DEVS formalism, which provides a pivot format for DEVS models. Based on this metamodel, we developed several model verification features as well as many model transformations that can be used to automatically generate documentation, diagrams or code targeting various DEVS platforms. Thus, SimStudio gives a proof of concept of the integration capabilities that a DEVS standard would provide; as a matter of fact, the metamodel presented in this thesis could possibly serve as a basis for such a standard. The second contribution of this thesis is DEVS-MetaSimulator (DEVS-MS), a DEVS library relying on metaprogramming to generate simulation executables that are specialized and optimized for the model they handle. To do so, the library performs many computations during compilation, resulting in a simulation code where most overhead have been eliminated. The tests we conducted showed that the generated programs were very efficient, but the performance gain is not the only feature of DEVS-MS. Indeed, through metaprogramming, DEVS-MS can also assert the correctness of models by verifying model characteristics at compile-time, detecting and reporting modeling errors very early in the development cycle and with better confidence than what could be achieved with classical testing.
|
Page generated in 0.0327 seconds