21 |
Modèles, méthodes et outils pour les systèmes répartis multiéchelles / Models, methods and tools for multiscale distributed systemsRottenberg, Sam 27 April 2015 (has links)
Les systèmes informatiques sont des systèmes de plus en plus complexes, répartis sur plusieurs niveaux d’infrastructures des Technologies de l’Information et de la Communication (TIC). Ces systèmes sont parfois appelés des systèmes répartis multiéchelles. Le terme « multiéchelle » peut qualifier des systèmes répartis extrêmement variés suivant les points de vue dans lesquels ils sont caractérisés, comme la dispersion géographique des entités, la nature des équipements qui les hébergent, les réseaux sur lesquels elles sont déployées, ou encore l’organisation des utilisateurs. Pour une entité d’un système multiéchelle, les technologies de communication, les propriétés non fonctionnelles (en termes de persistance ou de sécurité), ou les architectures à favoriser, varient suivant la caractérisation multiéchelle pertinente définie ainsi que l’échelle à laquelle est associée l’entité. De plus, des architectures ad hoc de tels systèmes complexes sont coûteuses et peu durables. Dans cette thèse, nous proposons un framework de caractérisation multiéchelle, appelé MuSCa. Ce framework inclut un processus de caractérisation fondé sur les concepts de points de vue, dimensions et échelles, permettant de mettre en avant, pour chaque système complexe étudié, ses caractéristiques multiéchelles. Ces concepts constituent le cœur d’un métamodèle dédié. Le framework que nous proposons permet aux concepteurs de systèmes répartis multiéchelles de partager une taxonomie pour qualifier chaque système. Le résultat d’une caractérisation est un modèle à partir duquel le framework produit des artefacts logiciels qui apportent, à l’exécution, la conscience des échelles aux entités du système / Computer systems are becoming more and more complex. Most of them are distributed over several levels of Information and Communication Technology (ICT) infrastructures. These systems are sometimes referred to as multiscale systems. The word “multiscale” may qualify extremely various distributed systems according to the viewpoints in which they are characterized, such as the geographic dispersion of the entities, the nature of the hosting devices, the networks they are deployed on, or the users’ organization. For one entity of a multiscale system, communication technologies, non-functional properties (in terms of persistence or security) or architectures to be favored may vary depending on the relevant multiscale characterization defined for the system and on the scale associated to the entity. Moreover, ad hoc architectures of such complex systems are costly and non-sustainable. In this doctoral thesis, we propose a multiscale characterization framework, called MuSCa. The framework includes a characterization process based on the concepts of viewpoints, dimensions and scales, which enables to put to the fore the multiscale characteristics of each studied system. These concepts constitute the core of a dedicated metamodel. The proposed framework allows multiscale distributed systems designers to share a taxonomy for qualifying each system. The result of a characterization is a model from which the framework produces software artifacts that provide scale-awareness to the system’s entities at runtime
|
22 |
Modeling and verification in model-based software engineering : application to embedded systems / Modélisation et vérification dans l'ingénierie dirigée par les modèles : application aux systèmes embarquésBagnato, Alessandra 12 February 2013 (has links)
Les systèmes embarqués, y compris les dispositifs, l’intergiciel et le logiciel pour la création de sous-systèmes intelligents capables de gérer le contrôle d’appareils électroniques, font de plus en plus partie de nos vies quotidiennes : ils sont intégrés dans des infrastructures de base, (par exemple dans la gestion des routes et des chemins de fer) et sont désormais utilisés en tant que technologies-clés par des millions d'applications logicielles chaque jour. En outre, l'évolution rapide et continue des systèmes embarqués modernes a provoqué de nouveaux défis. Par exemple, la conception des processus complexes qui causent des retards dans le temps de commercialisation et la conséquente augmentation des coûts globaux. Ces systèmes sont plus enclins aux erreurs et par conséquence il devient prioritaire de fournir aux concepteurs des outils effectifs et efficaces pour les aider à surmonter les difficultés liées à la conception des systèmes globales, pour la vérification et pour la validation. Cette thèse est la définition et le développement d'une méthodologie de modélisation basée sur le profil de MARTE et sur le profil de SysML dans un contexte avionique, et orientée à la réutilisation des composantes logicielles et à leur vérification. Cette thèse vise à discuter et illustrer aussi l'efficacité d’une stratégie basée sur la combinaison d’UML, MARTE (Modeling and Analysis of Real Type and Embedded Systems) et des langages SysML sur des étapes différentes de la modélisation d'un système embarqué / Embedded Systems, including devices, middleware and software for the creation of intelligent sub-systems able of monitoring and controlling appliances, are more and more part of our world everyday lives; they are included in the basic infrastructure of society such as roads and railways and are key technologies used by millions of people every day. Moreover the continuous rapid evolution of modern embedded systems has given rise to new challenges: such as increasingly complex design processes that cause delays in time to market and cause escalation of overall design costs. Additionally, these systems are more prone to containing errors, and it becomes more relevant to provide designers with effective tools to aid them in overcoming the difficulties related to the overall system design, verification and validation. This thesis contributes to the definition and to the development of a model based methodology grounded on the OMG’s MARTE profile (Modeling and Analysis of Real Type and Embedded Systems) and on SysML profile to model requirements targeting an avionic case study, with a particular attention to the reuse of the modelled components and to the benefits of their verification. This thesis aims at discussing and illustrating the effectiveness of using a combination of UML, MARTE and SysML languages at the different steps of the embedded system modelling efforts and to provide within this thesis a set of methodological guidelines/steps and an approach to create design model, stores and verify them
|
23 |
Contribution à la prise en compte des plates-formes logicielles d'exécution dans une ingénierie générative dirigée par les modèlesThomas, Frédéric 21 November 2008 (has links) (PDF)
Face à la complexité inhérente des logiciels multitâches, une approche prometteuse est l'automatisation des développements. En pratique, cette automatisation se concrétise par des générateurs capables de produire des applications logicielles s'exécutant sur des plates-formes d'exécution multitâche (par exemple des systèmes d'exploitation multitâches). De tels générateurs constituent alors des ingénieries génératives dirigées par les modèles de ces plates-formes. Aujourd'hui, ces ingénieries décrivent implicitement ces plates-formes dans les générateurs eux-mêmes. Ces générateurs sont alors efficaces pour un ensemble de préoccupations homogènes, figées et répétitives. Dans le cas des systèmes multitâches, les besoins sont certes répétitifs, cependant, ils sont majoritairement hétérogènes et évolutifs. Les ingénieries mise en œuvre doivent alors être adaptables et flexibles. Pour y parvenir, cette étude consiste à modéliser explicitement les plates-formes logicielles d'exécution en entrée des générateurs afin de les capitaliser et de les réutiliser. Pour cela, elle définit un motif dédié à la modélisation des plates-formes logicielles d'exécution, une extension au langage UML destiné à la modélisation des plates-formes logicielles d'exécution multitâche (le profil Software Resource Modeling) et un style architecturale de transformation de modèle intégrant ces modèles de plates-formes explicites. Les deux premières contributions constituent l'extension UML de l'Object Management Group pour la modélisation et l'analyse des systèmes embarqués temps réel (MARTE).
|
24 |
Capitalisation de la sûreté de fonctionnement des applications soumises à des adaptations dynamiques : le modèle exécutable SatinOccello, Audrey 07 June 2006 (has links) (PDF)
Les technologies pour l'adaptation dynamique (composants, aspects, ...)<br />arrivent à maturité et permettent de modifier les applications durant leur<br />exécution. Si l'on considère que la sûreté de fonctionnement d'une<br />application est la propriété permettant aux utilisateurs d'un système de<br />placer une confiance justifiée dans le service qu'il leur délivre alors il<br />faut garantir lors d'une adaptation dynamique que cette propriété est<br />préservée. Autrement dit, une adaptation n'est pas "sûre" à partir du moment<br />où le service que fournit l'application après adaptation diverge du service<br />attendu par l'utilisateur.<br /><br />Actuellement, il n'existe pas de solution appropriée au problème de la<br />sûreté des adaptations dynamiques. En effet, un certain nombre de techniques<br />(typage, model-checking, ...) destinées à concevoir et implémenter les<br />systèmes informatiques de façon sûre peuvent être utilisées dans le cadre<br />des adaptations statiques mais pas directement pour valider des adaptations<br />dynamiques. De plus, la prise en charge de ces dernières doit tenir compte<br />du risque qu'une adaptation se produise à un moment inadéquat dans<br />l'exécution de l'application et implique de traiter les problèmes de sûreté<br />parallèlement à l'exécution de l'application sans perturbation. Bien que les<br />plates-formes permettant les adaptations dynamiques proposent des solutions,<br />il n'existe pas de consensus autour des vérifications à effectuer dans un<br />contexte dynamique. D'autre part, la mise en oeuvre de ces vérifications<br />reste souvent informelle ou à la charge du développeur d'applications.<br /><br />Nous proposons d'identifier la sûreté d'une adaptation indépendamment des<br />plates-formes, et de déterminer le moment où les modifications liées à une<br />adaptation peuvent être prises en compte de façon sûre dans l'exécution de<br />l'application. Cette approche est basée sur un modèle nommé Satin sur lequel<br />des propriétés de sûreté sont exprimées et validées. Le modèle Satin est mis<br />en oeuvre sous la forme d'un service de sûreté que les plates-formes peuvent<br />interroger pour déterminer si une adaptation donnée risque de briser la<br />sûreté de fonctionnement de l'application.
|
25 |
Déploiement Multiplateforme d'Applications Multitâche par la ModélisationEl Hajj Chehade, Wassim 04 April 2011 (has links) (PDF)
Face à la complexité des logiciels multitâches, liée aux contextes économique et concurrentiel très pressants, la portabilité des applications et la réutilisabilité des processus de déploiement sont devenues un enjeu majeur. L'ingénierie dirigée par les modèles est une approche qui aspire répondre à ces besoins en séparant les préoccupations fonctionnelles des systèmes multitâches de leurs préoccupations techniques, tout en maintenant la relation entre eux. En pratique, cela se concrétise par des transformations de modèles capables de spécialiser les modèles pour des plates-formes cibles. Actuellement, les préoccupations spécifiques à ces plates-formes sont décrites implicitement dans les transformations eux même. Par conséquence, ces transformations ne sont pas réutilisables et ne permettent pas de répondre aux besoins hétérogènes et évolutifs qui caractérisent les systèmes multitâches. Notre objectif est alors d'appliquer le principe de séparation de préoccupation au niveau même de la transformation des modèles, une démarche qui garantie la portabilité des modèles et la réutilisabilité des processus de transformation.Pour cela, cette étude propose premièrement une modélisation comportementale détaillée des plates-formes d'exécutions logicielles. Cette modélisation permet d'extraire les préoccupations spécifiques à une plate-forme de la transformation de modèle et les capturer dans un modèle détaillé indépendant et réutilisable. Dans un second temps, en se basant sur ces modèles, elle présente un processus générique de développement des systèmes concurrents multitâches. L'originalité de cette approche réside dans une véritable séparation des préoccupations entre trois acteurs à savoir le développeur des chaînes de transformation, qui spécifient une transformation de modèle générique, les fournisseurs des plates-formes qui fournissent des modèles détaillés de leurs plates-formes et le concepteur des applications multitâche qui modélise le système. A la fin de cette étude, une évaluation de cette approche permet de montrer une réduction dans le coût de déploiement des applications sur plusieurs plates-formes sans impliquer un surcoût de performance.
|
26 |
Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotationsNoguera, Carlos 25 November 2008 (has links) (PDF)
Les annotations, dans le langage de programmation Java, sont un moyen d'embarquer des méta-données dans le code source d'un programme. Elles peuvent être utilisées pour étendre le langage Java avec des concepts spécifiques à un domaine. Utilisées de cette manière, les annotations offrent un moyen de réduire le fossé sémantique entre les concepts du domaine et les concepts fournis par le langage de programmation. Pour l'utilisateur de ce cadre d'annotations (c.-à-d., le développeur d'applications), il est important de comprendre comment les différentes annotations se relient entre elles afin de les utiliser correctement et de détecter des erreurs d'utilisation au plus tôt. Des cadres d'annotation ont déjà été adoptés par l'industrie. Cependant, leur développe- ment demeure complexe et est fait, en grande partie, de façon ad-hoc. En développant un cadre d'annotations, le développeur doit s'assurer que le programme qui emploie les annotations est conforme aux contraintes définies pour elles. Telles contraintes sont souvent reléguées à la documentation du cadre logiciel, puisque les processeurs d'annotation existants ne fournissent pas une façon de les spécifier et vérifier. En plus de ceci, les processeurs d'annotations existants offrent comme entité de manipulation juste l'arbre de syntaxe abstraite (AST) du programme. Ceci force le développeur à réifier les annotations elles-mêmes s'il veut des éléments d'abstraction d'un plus haut niveau. Pour aider le réalisateur de cadre d'annotations, nous proposons deux cadres d'annotations. Le premier, appelé AVal, fournit un nombre de contraintes réutilisables, déclaratives et extensibles pour spécifier un cadre d'annotation. Les applications annotées peuvent ainsi être interprétées afin de les valider. Le deuxième cadre, appelé ModelAn, permet au réalisateur de cadre d'annotations de décrire un modèle qui correspond aux annotations définies dans cadre d'annotations. Par ce moyen, le réalisateur peut exprimer les contraintes en termes du modèle. Des programmes annotés sont alors représentés comme instances du modèle (d'annotation), et les contraintes sont vérifiées sur cette même instance. A partir de ce modèle d'annotations, les classes Java qui réifient les annotations sont pro duites. Les annotations réifiéess peuvent alors servir de point de départ à l'interprétation du programme annoté. Pour valider notre approche, nous avons construit le modèle d'annotation et décrit leurs contraintes à l'aide d'AVal et d'expressions OCL pour trois cadres d'annotation industriels: Fraclet, un cadre d'annotation pour le modèle composant de Fractal, JWS pour le développement de services Web dans Java, et l'API de persistance Java, une partie de la spécification Java de EJB3.
|
27 |
Spem4mde : un métamodèle et un environnement pour la modélisation et la mise en œuvre assistée de processus IDMDiaw, Samba 28 September 2011 (has links) (PDF)
L'avènement de l'IDM (Ingénierie Dirigée par les Modèles) a suscité beaucoup d'intérêt de la part des organisations qui de fait commencent à transformer leur processus de développement traditionnel en un processus de développement dirigé par les modèles, appelé aussi processus IDM.Au moment où ces processus commencent à émerger, nous notons l'absence d'un langage dédié pour les modéliser et les mettre en œuvre. Le standard SPEM 2.0 propose des concepts génériques qui sont supposés être capables de décrire tout type de processus logiciel. Cependant, les concepts de SPEM ne capturent pas la nature exacte des processus IDM. D'autre part, une autre insuffisance majeure de SPEM réside dans le fait qu'il n'intègre pas les concepts relatifs à la mise en œuvre des processus.L'objectif de cette thèse est triple : (1) proposer une extension de SPEM dans laquelle les concepts centraux des processus IDM sont réifiés ; (2) proposer un langage dédié à la modélisation comportementale des processus IDM ; (3) proposer une architecture conceptuelle d'un environnement logiciel d'aide à la modélisation et à la mise en œuvre des processus IDM.Pour valider notre approche, un prototype a été développé sous l'environnement TOPCASED. Ce prototype fournit d'une part un éditeur graphique pour la modélisation structurelle et comportementale des processus IDM et d'autre part un environnement de mise en œuvre s'appuyant sur les modèles comportementaux des processus. Nous avons également appliqué notre approche à une étude de cas significatif: le processus UWE (UML-based Web Engineering), qui est un processus IDM dédié au développement d'applications web.
|
28 |
Compilation optimisée des modèles UMLCharfi Smaoui, Asma 12 December 2011 (has links) (PDF)
Cette thèse s'inscrit dans le cadre de la mise en œuvre de l'ingénierie dirigée par les modèles (IDM) pour le développement des systèmes embarquées. Ces systèmes ayant généralement des ressources limitées (mémoire et/ou calculs), exigent que le code généré soit le plus optimisé possible. L'objectif de cette thèse est de produire à partir d'un modèle spécifié dans le langage UML, un code assembleur plus compact que le code assembleur produit par les compilateurs de code. Malgré l'évolution croissante des compilateurs optimisés, les compilateurs les plus répandus comme le GCC (Gnu Compiler Collection) sont incapables d'effectuer certains types d'optimisations qu'il est possible d'effectuer à un plus haut niveau d'abstraction dans une phase de pré-génération de code. En effet, certaines informations (liées à la sémantique d'exécution du langage UML) sont perdues lors de la génération de code. Ces informations, utiles pour les optimisations de haut niveau, sont invisibles par le compilateur de code vue qu'il prend toutes les informations liées au système modélisé à partir du code généré. Nous proposons ainsi une nouvelle approche dirigée par les modèles pour le développement des systèmes à ressources limitées, qui élimine l'étape de la génération de code en remplaçant cette étape par une compilation directe des modèles. Nous avons développé le premier compilateur de modèles UML (GUML : le front-end UML pour le compilateur GCC) qui génère directement de l'assembleur (sans passer par un langage de programmation) à partir des modèles UML. GUML permet de compiler les classes, les activités et les machines à états UML. Il permet de générer, en compilant certaines machines à états, un code assembleur plus compact que le code assembleur produit par GCC. Deux optimisations de GCC sont améliorées : l'élimination de code mort et l'élimination des expressions redondantes.
|
29 |
Modèles, systèmes, hétérogénéitéBoulanger, Frédéric 08 June 2011 (has links) (PDF)
Avec la complexité croissante des systèmes à analyser ou à concevoir, les modèles sont passés du statut de simple outil à celui d'objet complexe, considéré lui-même comme un système à analyser, concevoir et valider. Les travaux présentés s'inscrivent dans le cadre de l'ingénierie dirigée par les modèles, et ont pour objectif de décrire précisément le comportement des systèmes, tout en prenant en compte l'hétérogénéité des modèles utilisés. Cette hétérogénéité est due à la diversité des métiers et des méthodes de modélisation qui interviennent dans la conception de systèmes complexes. Une approche est proposée pour utiliser conjointement plusieurs méthodes de modélisation dans un même modèle.
|
30 |
Architecture logicielle et méthodologie de conception embarquée sous contraintes temps réel pour la radio logicielleTchidjo Moyo, Noël 20 April 2011 (has links) (PDF)
Cette étude répond au problème d'ordonnancement temps réel de composants logiciels s'exécutant sur un processeur de traitement du signal dans un contexte de radio logicielle. Elle vise ainsi à compléter l'offre en termes d'outillage de conception radio logicielle. Dans la pratique actuelle, l'ordonnancement temps réel des applications de traitement du signal flexibles s'exécutant sur un processeur donné, est effectué de manière manuelle, en utilisant des méthodes empiriques, et en prenant des marges non négligeables. Etant donnée l'augmentation pressentie du nombre de composants logiciels de la couche physique s'exécutant simultanément sur un même processeur dans les futures radios logicielles, ces méthodes seront sujettes à erreur, feront perdre beaucoup de temps et ne trouveront pas nécessairement de solutions d'ordonnancement valides même lorsqu'il en existera une. Pour cela, cette thèse définit un nouveau modèle de tâche représentant plus précisément le comportement des tâches dans certains contextes de radio logicielle : le modèle GMF (Generalized Multi-Frame) non cyclique. Pour ce modèle, nous présentons une formulation du calcul du temps de réponse des tâches, ainsi qu'un nouveau test de faisabilité suffisant pour des tâches s'exécutant sur un processeur avec la politique d'ordonnancement " Earliest Deadline First " (EDF). Nous fournissons aussi pour ce modèle de tâche un algorithme efficace, permettant la détermination exacte de la faisabilité temps réel. Nous présentons dans cette thèse un nouveau flot de conception IDM (Ingénierie Dirigée par les Modèles), permettant de spécifier les paramètres rendant possibles une analyse d'ordonnançabilité temps réel des composants logiciels s'exécutant sur un processeur dans une radio logicielle. Cette thèse propose des méthodes pour calculer les contraintes temporelles dans une radio logicielle. Elle présente les éléments du standard MARTE à utiliser pour renseigner les contraintes dans le modèle ainsi que les règles de transformations de modèles qui permettent d'obtenir un modèle exploitable par un outil d'analyse d'ordonnançabilité temps réel. Cette thèse présente une approche, implantée sous forme d'un outil de simulation, effectuant l'analyse d'ordonnancement temps réel des tâches de traitement du signal flexibles s'exécutant sur un processeur suivant une politique d'ordonnancement hybride. Cet outil est intégré au flot IDM proposé.
|
Page generated in 0.0405 seconds