141 research outputs found

    Approche générative conjointe logicielle-matérielle au développement du support protocolaire d’applications réseaux

    Get PDF
    Communications between network applications is achieved by using rulesets known as protocols. Protocol messages are managed by the application layer known as the protocol parsing layer or protocol handling layer. Protocol parsers are coded in software, in hardware or based on a co-design approach. They represent the interface between the application logic and the outside world. Thus, they are critical components of network applications. Global performances of network applications are directly linked to the performances of their protocol parser layers.Developping protocol parsers consists of translating protocol specifications, written in a high level language such as ABNF towards low level software or hardware code. As the use of embedded systems is growing, hardware ressources become more and more available to applications on systems on chip (SoC). Nonetheless, developping a network application that uses hardware ressources is challenging, requiring not only expertise in hardware design, but also a knowledge of the protocols involved and an understanding of low-level network programming.This thesis proposes a generative hardware-software co-design based approach to the developpement of network protocol message parsers, to improve their performances without increasing the expertise the developper may need. Our approach is based on a dedicated language, called Zebra, that generates both hardware and software elements that compose protocol parsers. The necessary expertise is deported in the use of the Zebra language and the generated hardware components permit to improve global performances.The contributions of this thesis are as follows : We provide an analysis of network protocols and applications. This analysis allows us to detect the elements which performances can be improved using hardware ressources. We present the domain specific language Zebra to describe protocol handling layers. Software and hardware components are then generated according to Zebra specifications. We have built a SoC running a Linux operating system to assess our approach.We have designed hardware accelerators for different network protocols that are deployed and driven by applications. To increase sharing of parsing units between several tasks, we have developped a middleware that seamlessly manages all the accesses to the hardware components. The Zebra middleware allows several clients to access the ressources of a hardware accelerator. We have conducted several set of experiments in real conditions. We have compared the performances of our approach with the performances of well-knownprotocol handling layers. We observe that protocol handling layers baded on our approach are more efficient that existing approaches.Les communications entre les applications réseaux sont régies par un ensemble de règles regroupées sous forme de protocoles. Les messages protocolaires sont gérés par une couche de l’application réseau connue comme étant la couche de support protocolaire. Cette couche peut être de nature logicielle, matérielle ou conjointe. Cette couche se trouve à la frontière entre le coeur de l’application et le monde extérieur. A ce titre, elle représente un composant névralgique de l’application. Les performances globales de l’application sont ainsi directement liées aux performances de la couche de support protocolaire associée.Le processus de développement de ces couches consiste à traduire une spécification du protocole, écrite dans un langage de haut niveau tel que ABNF dans un langage bas niveau, logiciel ou matériel. Avec l’avènement des systèmes embarqués, de plus en plus de systèmes sur puce proposent l’utilisation de ressources matérielles afin d’accroître les performances des applicatifs. Néanmoins, peu de processus de développement de couches de support protocolaire tirent parti de ces ressources, en raison notamment de l’expertise nécessaire dans ce domaine.Cette thèse propose une approche générative conjointe logicielle-matérielle au développement du support protocolaire d’applications réseaux, pour améliorer leur performance tout en restant ergonomique pour le développeur de l’application. Notre approche est basée sur l’exploitation d’un langage dédié, appellé Zebra pour générer les différents composants logiciels et matériels formant la couche de support. L’expertise nécessaire est déportée dans l’utilisation du langage Zebra et les composants matériels générés permettent d’accroître les performances de l’application.Les contributions de cette thèse sont les suivantes : Nous avons effectué une analyse des protocoles et applications réseaux. Cette analyse nous a permis d’identifier les composants pour lesquels il est possible d’obtenir des gains de performances.Nous avons conçu et exploité un langage dédié, Zebra, permettant de décrire les différentes entités de la couche de support protocolaire et générant les éléments logiciels et matériels la composant. Nous avons construit un système sur puce exécutant un système d’exploitation Linux afin d’étayer notre approche. Nous avons conçu des accélérateurs matériels déployables pour différents protocoles réseaux sur ce système et pilotables par les applicatifs. Afin de rendre l’accès aux accélérateurs matériels transparent pour les applications réseaux, nous avons développé un intergiciel gérant l’ensemble de ces accès. Cet intergiciel permet à plusieurs applications et/ou à plusieurs clients d’une même application d’utiliser les accélérateurs pour le traitement des messages protocolaires. Nous avons évalué les performances de notre approche dans des conditions réelles. Nous avons comparé ces performances à celles de couches de supports faisant référence dans le domaine. Nous avons constaté un gain de performance conséquent pour l’approche que nous proposons

    Nouvelles approches pour la conception d'outils CAO pour le domaine des systèmes embarqués

    Full text link
    Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal

    Contrôle de la fiabilité des logiciels à évoluer : un canevas pour le développement incrémental et itératif de logiciels à composants et orientés service

    Get PDF
    National audienceLes systèmes logiciels modernes se distinguent par un besoin d'évolution rapide et une complexité croissante, avec notamment l'apparition de nouveaux domaines d'applications, comme par exemple les logiciels destinés aux périphériques mobiles, c'est-à-dire les assistants mobiles tels que les téléphones ou encore les tablettes. Dans ces domaines, les utilisateurs réclament que les logiciels fournissent toujours plus de fonctionnalités. Ces logiciels ont alors besoin de prendre en compte ces nouvelles exigences demandées, tout en ayant conscience du nombre toujours croissant de périphériques hétérogènes

    Une approche basée sur les modèles pour le développement d'applications de simulation numérique haute-performance

    Get PDF
    Le développement et la maintenance d'applications de simulation numérique haute-performance sont des activités complexes. Cette complexité découle notamment du couplage fort existant entre logiciel et matériel ainsi que du manque d'accessibilité des solutions de programmation actuelles et du mélange des préoccupations qu'elles induisent. Dans cette thèse nous proposons une approche pour le développement d'applications de simulation numérique haute-performance qui repose sur l'ingénierie des modèles. Afin à la fois de réduire les couts et les délais de portage sur de nouvelles architectures matérielles mais également de concentrer les efforts sur des interventions à plus haute valeur ajoutée, cette approche nommée MDE4HPC, définit un langage de modélisation dédié. Ce dernier permet aux numériciens de décrire la résolution de leurs modèles théoriques dans un langage qui d'une part leur est familier et d'autre part est indépendant d'une quelconque architecture matérielle. Les différentes préoccupations logicielles sont séparées grâce à l'utilisation de plusieurs modèles et de plusieurs points de vue sur ces modèles. En fonction des plateformes d'exécution disponibles, ces modèles abstraits sont alors traduits en implémentations exécutables grâce à des transformations de modèles mutualisables entre les divers projets de développement. Afin de valider notre approche nous avons développé un prototype nommé ArchiMDE. Grâce à cet outil nous avons développé plusieurs applications de simulation numérique pour valider les choix de conception réalisés pour le langage de modélisation.The development and maintenance of high-performance scientific computing software is a complex task. This complexity results from the fact that software and hardware are tightly coupled. Furthermore current parallel programming approaches lack of accessibility and lead to a mixing of concerns within the source code. In this thesis we define an approach for the development of high-performance scientific computing software which relies on model-driven engineering. In order to reduce both duration and cost of migration phases toward new hardware architectures and also to focus on tasks with higher added value this approach called MDE4HPC defines a domain-specific modeling language. This language enables applied mathematicians to describe their numerical model in a both user-friendly and hardware independent way. The different concerns are separated thanks to the use of several models as well as several modeling viewpoints on these models. Depending on the targeted execution platforms, these abstract models are translated into executable implementations with model transformations that can be shared among several software developments. To evaluate the effectiveness of this approach we developed a tool called ArchiMDE. Using this tool we developed different numerical simulation software to validate the design choices made regarding the modeling language

    Langage contrôlé pour la spécification des règles métier dans le contexte de la modélisation des systèmes d'information

    Get PDF
    Our thesis focuses on controlled natural languages (CNL) for software engineering. It aims at facilitating the adoption of the business rule approach (BRA) by companies by creating a CNL in order to help business experts in the specification of their business rules. Our solution will allow reducing the semantic gap between business experts and system experts to meet not only the need for mutual understanding between them but also to achieve an automatic transfer of the description of business rules to information systems (IS). The CNL that we have created will also ensure the consistency and the traceability of these rules together with their implementationNotre thèse s’inscrit dans le cadre des langages contrôlés pour le génie logiciel. Elle a pour but de faciliter l’adoption de l’approche par règles métier (ARM) par les entreprises en créant un langage contrôlé en vue d’aider à la spécification des règles métier par les experts métier. Notre solution va permettre de réduire la distance sémantique entre les experts métier et les experts système afin de répondre non seulement au besoin d’intercompréhension entre ces derniers mais aussi pour réaliser un transfert automatique de la description des règles métier vers les systèmes d’information (SI). Ce langage contrôlé que nous avons créé permettra d’assurer en plus la consistance et la traçabilité de ces règles avec leur implantatio

    Scénarisation pédagogique pour des EIAH ouverts (une approche dirigée par les modèles et spécifique au domaine métier)

    Get PDF
    Dans cette thèse, nous nous sommes intéressés à l ouverture des EIAH (EnvironnementsInformatiques pour l'Apprentissage Humain), pour répondre à leur faible déploiement dansles établissements de formation, en facilitant leur appropriation par des usagers. Notre travailde recherche s'inscrit dans le cadre du projet REDiM (Réingénierie des EIAH Dirigée par lesModèles) mené au LIUM (Laboratoire d'Informatique de l'Université du Maine), dont un desobjectifs est d intégrer les enseignants dans le processus de conception des scénariospédagogiques d un EIAH.Nous proposons une approche d ingénierie et de réingénierie pour rendre un EIAH ouvertà la conception et à l adaptation de ses scénarios pédagogiques par les enseignantsutilisateurs. Nous avons défini un processus de conception basé sur la modélisationde scénarios pédagogiques ouverts (SPO), qui permet l instrumentation des enseignantspour les aider dans la conception continue (i.e. qui se poursuit dans l usage) d une activitéd apprentissage. Nous faisons trois propositions scientifiques :- Un modèle de représentation des SPO, qui permet de les structurer en variantes enfonction des contextes d exécution. Nous qualifions ce modèle de rationnel puisqu il s appuieprincipalement sur l approche du Design Rationale que nous avons adaptée à notreproblématique.- Un processus itératif et incrémental d ingénierie et de réingénierie qui guide lesenseignants pour concevoir et adapter des SPO conformes au modèle que nous avonsdéfini.- Une méthode dirigée par les modèles et spécifique au domaine métier pour instrumenterle processus d ouverture des scénarios pédagogiques d un EIAH existant. Cette méthoded instrumentation, reposant sur l IDM (Ingénierie Dirigée par les Modèles) et le DSM(Domain-Specific Modeling), implique les enseignants utilisateurs de l EIAH, considérés icicomme des experts du domaine. Elle est structurée en plusieurs phases qui amènentprogressivement à définir, de façon spécifique à l EIAH considéré, un langage d expressiondes SPO (ADSGEML - Adaptive Domain-Specific Graphical Educational ModelingLanguage) et un éditeur associé permettant la conception et l adaptation des SPO dansl univers métier de l EIAH.Afin d évaluer et de raffiner nos propositions, nous les avons appliquées sur l EIAH Hop3x , préalablement conçu au LIUM dans le cadre d un autre projet pour pratiquer laprogrammation orientée objet. Nous avons donc élaboré un ADSGEML et un environnementd édition graphique pour permettre aux enseignants de concevoir et d adapterdynamiquement des sessions ouvertes de Hop3x, à un niveau élevé d abstraction.In this thesis, we are interested in opening TEL systems (Technology EnhancedLearning) up in order to respond to the problem of their low deployment in teachinginstitutions, we need to facilitate their adoption by users. Our research work is part ofthe REDiM (French abbreviation which means Model-Driven Re-engineering of TELsystems ) project led by the LIUM Computer Science Laboratory of Le MansUniversity in France. One of the main objectives of this project is to involve teachersin the design process of learning scenarios of a TEL system.We propose an engineering and re-engineering approach for opening TEL systemsin order to facilitate for teachers the design and adaptation of pedagogical scenarios.We defined a design process based on the modeling of Open Pedagogical Scenarios(OPS), which allows the building of supports helping teachers in the continuousdesign of a learning activity (i.e. design which continues in the use process). Wemake three scientific proposals:- A model of OPS representation which defines a structure based on variantsaccording to execution contexts. We consider this model to be rational because it isbased mainly on the Design Rationale approach that we have adapted for ourresearch problem.- An iterative and incremental engineering and re-engineering process that guidesteachers to design and adapt OPS according to the rational model that we define inthis work.- A model-driven and domain-specific method for supporting the process of openingpedagogical scenarios of a legacy TEL system. This method, based on the MDE(Model-Driven Engineering) and DSM (Domain-Specific Modelling), involves teachersusing the TEL system, as they are considered to be domain experts. Our method isdivided into several phases that lead progressively to define the TEL system sADSGEML (Adaptive Educational Graphical Domain-Specific Modelling Language)and an associate editor allowing the design and adaptation of OPS in the businessfield of the TEL system to open for teachers.To evaluate and refine our proposals, we have applied them on the TEL system"Hop3x" which was designed at LIUM under another project for practicing objectorientedprogramming. We therefore developed an ADSGEML and a graphicalediting environment to enable teachers to design and adapt dynamically the openHop3x s learning sessions at a high level of abstraction.LE MANS-BU Sciences (721812109) / SudocSudocFranceF

    Kevoree (Model@Runtime pour le développement continu de systèmes adaptatifs distribués hétérogènes)

    Get PDF
    La complexité croissante des systèmes d'information modernes a motivé l'apparition de nouveaux paradigmes (objets, composants, services, etc), permettant de mieux appréhender et maîtriser la masse critique de leurs fonctionnalités. Ces systèmes sont construits de façon modulaire et adaptable afin de minimiser les temps d'arrêts dus aux évolutions ou à la maintenance de ceux-ci. Afin de garantir des propriétés non fonctionnelles (par ex. maintien du temps de réponse malgré un nombre croissant de requêtes), ces systèmes sont également amenés à être distribués sur différentes ressources de calcul (grilles). Outre l'apport en puissance de calcul, la distribution peut également intervenir pour distribuer une tâche sur des nœuds aux propriétés spécifiques. C'est le cas dans le cas des terminaux mobiles proches des utilisateurs ou encore des objets et capteurs connectés proches physiquement du contexte de mesure. L'adaptation d'un système et de ses ressources nécessite cependant une connaissance de son état courant afin d'adapter son architecture et sa topologie aux nouveaux besoins. Un nouvel état doit ensuite être propagé à l'ensemble des nœuds de calcul. Le maintien de la cohérence et le partage de cet état est rendu particulièrement difficile à cause des connexions sporadiques inhérentes à la distribution, pouvant amener des sous-systèmes à diverger. En réponse à ces défi scientifiques, cette thèse propose une abstraction de conception et de déploiement pour systèmes distribués dynamiquement adaptables, grâce au principe du Model@Runtime. Cette approche propose la construction d'une couche de réflexion distribuée qui permet la manipulation abstraite de systèmes répartis sur des nœuds hétérogènes. En outre, cette contribution introduit dans la modélisation des systèmes adaptables la notion de cohérence variable, permettant ainsi de capturer la divergence des nœuds de calcul dans leur propre conception. Cette couche de réflexion, désormais cohérente "à terme", permet d'envisager la construction de systèmes adaptatifs hétérogènes, regroupant des nœuds mobiles et embarqués dont la connectivité peut être intermittente. Cette contribution a été concrétisée par un projet nommé ''Kevoree'' dont la validation démontre l'applicabilité de l'approche proposée pour des cas d'usages aussi hétérogènes qu'un réseau de capteurs ou une flotte de terminaux mobiles.The growing complexity of modern IT systems has motivated the development of new paradigms (objects, components, services,...) to better cope with the critical size of their functionalities. Such systems are then built as a modular and dynamically adaptable compositions, allowing them to minimise their down-times while performing evolutions or fixes. In order to ensure non-functional properties (i.e. request latency) such systems are distributed across different computation nodes. Besides the added value in term of computational power (cloud), this distribution can also target nodes with dedicated properties such as mobile nodes and sensors (internet of things), physically close to users for interactions. Adapting a system requires knowledge about its current state in order to adapt its architecture to its evolving needs. A new state must be then disseminated to other nodes to synchronise them. Maintaining its consistency and sharing this state is a difficult task especially in case of sporadic connexions which lead to divergent state between sub-systems. To tackle these scientific problems, this thesis proposes an abstraction to design and deploy distributed adaptive systems following the Model@Runtime paradigm. From this abstraction, the proposed approach allows defining a distributed reflexive layer to manipulate heterogeneous distributed nodes. In particular, this contribution introduces variable consistencies in model definition and divergence in system conception. This reflexive layer, eventually consistent allows the construction of distributed adapted systems even on mobile nodes with intermittent connectivity. This work has been realized in an open source project named Kevoree, and validated on various distributed systems ranging from sensor networks to cloud computing.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Ingénierie dirigée par les modèles d'un pilotage robuste de la prise en charge médicamenteuse

    Get PDF
    L’un des principaux défis des établissements hospitaliers aujourd’hui est de maitriser les risques liés aux erreurs médicamenteuses au cours de la Prise En Charge Médicamenteuse (PECM) du patient. Afin d’accompagner les professionnels de santé dans cette voie, il existe plusieurs méthodes de gestion des risques et une culture attenante. L’utilisation de certaines d’entre elles est recommandée par la Haute Autorité de Santé, nous citons la méthode ALARM (Association of Litigation And Risk Management). Son analyse par la théorie et par la pratique nous a permis de dresser un constat de ses limites. En effet, ni elle, ni les autres méthodes connues ne qualifie la dynamique du risque, pas plus que l’explication fine des contextes générateurs de ce dernier. Pour progresser vers une approche plus performante, nous préconisons l’emploi d’une approche de gestion intégrée des risques et des processus métier. Dans cette optique, notre recherche vise à améliorer la méthode BPRIM (Business Process-Risk management – Integrated Method) mise au point par les travaux de thèse de M. A Sienou. Cette amélioration consiste à : (1) enrichir le méta-modèle de BPRIM, le langage de modélisation et les diagrammes associés ; (2) intégrer des techniques de navigation pour assurer la cohérence entre ces diagrammes ; et (3) intégrer des algorithmes de vérification de modèles, d’analyse, d’évaluation et de cartographie des risques. Notre travail a donné naissance à un logiciel de modélisation, appelé AdoBPRIM, la mettant en oeuvre à partir de techniques d’ingénierie dirigée par les modèles et en suivant une méthode de développement agile. Pour montrer l’utilité et les apports de l’approche proposée, nous l’avons mise à l’épreuve sur un cas d’études réel avec des professionnels qualifiés dans un établissement de santé. Cette étude a permis de positionner notre cadre intitulé e-BPRIM par rapport à la pratique en cours sur des réunions de retour d’expériences faisant suite à des évènements indésirables. Et ainsi de vérifier le bien-fondé de l’application de notre approche et de mesurer la valeur de l’idée de recourir à un emploi plus intensif de modèles du système

    Du laboratoire Ă  Jupyter

    Get PDF
    Cet article est une première version de l’histoire du projet Jupyter du 30/11/2023. Il a pour vocation d’initier une réflexion plus collective sur l’histoire des notebooks, qui se poursuit autour du dépôt https://github.com/emilienschultz/history_of_jupyter
    • …
    corecore