Spelling suggestions: "subject:"languages dédiée"" "subject:"langage dédiée""
11 |
Analyse et compilation de langages de programmation parallèle / Analysis and Compilation of Parallel Programming LanguagesSusungi, Adilla 26 November 2018 (has links)
La compilation traditionnelle est confrontée à de nombreux défis face aux besoins d'optimisations de programmes pour architectures parallèles. Un défi particulier est la conception de langages et représentations intermédiaires (RIs) appropriés.Bien que différentes RIs aient été proposées pour repousser les limites de la compilation traditionnelle, la plupart ne sont toujours pas adaptées pour appliquer des transformations de programmes pertinentes.Différentes alternatives sont donc de plus en plus exploitées, telles que l'autotuning ou la compilation interactive. Ces dernières nécessitent l'usage de langages intermédiaires fondamentalement différents, par exemple, les méta-langages pour la transformation de programmes. Dans cette thèse, centrée sur les besoins en applications numériques, nous étudions ce type de meta-langages; nous adressons particulièrement quatre questions:(i) Comment introduire une expressivité spécifique à un domaine?(ii) Comment repenser leur conception pour améliorer leur flexibilité dans la composition de transformations et la génération de plusieurs variantes de programme?(iii) Jusqu'où pouvons-nous introduire du support pour le NUMA (Non-Uniform Memory Access)?(iv) En tant que nouvelle classe de méta-langages, comment formaliser leur sémantique? Nous répondons à ces questions au travers de la conception et la sémantique de TeML, un méta-langage pour l'optimisation d'applications tensorielles. / Traditional compilation faces numerous challenges with program optimizations for parallel architectures. A particular challenge is the design of proper intermediate languages and representations to enable the application of relevant optimization techniques.Various parallel intermediate representations and languages have been proposed.To overcome this issue, different alternatives are more and more exploitedsuch as empirical autotuning or interactive compilation. Such alernatives require fondamentally different typesof intermediates languages such as transformation meta-languages. In this thesis, we study transformation meta-languages for numerical applications: wa particularly address four questions:(i) How do we introduce domain-specific expressiveness?(ii) How do we rethink their design to enhance their flexibility in composing optimizations paths and generating multiple program variants?(iii) How far can we introduce NUMA (Non-Uniform Memory Access) awareness?(iv) As a new class of meta-languages, how do we formalize their semantics? We answer these questions through the design and semantics of TeML, a tensor optimizations meta-language.
|
12 |
A Design-Driven Methodology for the Development of Large-Scale Orchestrating Applications / Une methodologie dirigée par la conception pour le developpement d’applications d’orchestration à grande echelleKabac, Milan 26 September 2016 (has links)
Notre environnement est de plus en plus peuplé de grandes quantités d’objets intelligents. Certains surveillent des places de stationnement disponibles, d’autres analysent les conditions matérielles dans les bâtiments ou détectent des niveaux de pollution dangereux dans les villes. Les quantités massives de capteurs et d’actionneurs constituent des infrastructures de grande envergure qui s’étendent sur des terrains de stationnement entiers, des campus comprenant plusieurs bâtiments ou des champs agricoles. Le développement d’applications pour de telles infrastructures reste difficile, malgré des déploiement réussis dans un certain nombre de domaines. Une connaissance considérable des spécificités matériel / réseau de l’infrastructure de capteurs est requise de la part du développeur. Pour remédier à ce problème, des méthodologies et des outils de développement logiciel permettant de relever le niveau d’abstraction doivent être introduits pour que des développeurs non spécialisés puissent programmer les applications. Cette thèse présente une méthodologie dirigée par la conception pour le développement d’applications orchestrant des quantités massives d’objets communicants. La méthodologie est basée sur un langage de conception dédié, nommé DiaSwarm qui fournit des constructions déclaratives de haut niveau permettant aux développeurs de traiter des masses d’objets en phase de conception, avant de programmer l’application. La programmation générative est utilisée pour produire des cadres de programmation spécifiques à la conception pour guider et soutenir le développement d’applications dans ce domaine. La méthodologie intègre le traitement parallèle de grandes quantités de données collectées à partir de masses de capteurs. Nous introduisons un langage de déclarations permettant de générer des cadres de programmation basés sur le modèle de programmation MapReduce. En outre, nous étudions comment la conception peut être utilisée pour rendre explicites les ressources requises par les applications ainsi que leur utilisation. Pour faire correspondre les exigences de l’application à une infrastructure de capteurs cible, nous considérons les déclarations de conception à différents stades du cycle de vie des applications. Le passage à l’échelle de cette approche est évaluée dans une expérience qui montre comment les cadres de programmation générés s’appuyant sur le modèle de programmation MapReduce sont utilisés pour le traitement efficace de grands ensembles de données de relevés des capteurs. Nous examinons l’efficacité de l’approche proposée pour relever les principaux défis du génie logiciel dans ce domaine en mettant en oeuvre des scénarios d’application qui nous sont fournis par des partenaires industriels. Nous avons sollicité des programmeurs professionnels pour évaluer l’utilisabilité de notre approche et présenter des données quantitatives et qualitatives de l’expérience. / Our environment is increasingly populated with large amounts of smart objects. Some monitor free parking spaces, others analyze material conditions in buildings or detect unsafe pollution levels in cities. The massive amounts of sensing and actuation devices constitute large-scale infrastructures that span over entire parking lots, campuses of buildings or agricultural fields. Despite being successfully deployed in a number of domains, the development of applications for such infrastructures remains challenging. Considerable knowledge about the hardware/network specificities of the sensor infrastructure is required on the part of the developer. To address this problem, software development methodologies and tools raising the level of abstraction need to be introduced to allow non-expert developers program applications. This dissertation presents a design-driven methodology for the development of applications orchestrating massive amounts of networked objects. The methodology is based on a domain-specific design language, named DiaSwarm that provides high-level, declarative constructs allowing developers to deal with masses of objects at design time, prior to programming the application. Generative programming is used to produce design-specific programming frameworks to guide and support the development of applications in this domain. The methodology integrates the parallel processing of large-amounts of data collected from masses of sensors. We introduce specific language declarations resulting in the generation of programming frameworks based on the MapReduce programming model. We furthermore investigate how design can be used to make explicit the resources required by applications as well as their usage. To match the application requirements to a target sensor infrastructure, we consider design declarations at different stages of the application lifecycle. The scalability of this approach is evaluated in an experiment, which shows how the generated programming frameworks relying on the MapReduce programming model are used for the efficient processing of large datasets of sensor readings. We examine the effectiveness of the proposed approach in dealing with key software engineering challenges in this domain by implementing application scenarios provided to us by industrial partners. We solicited professional programmers to evaluate the usability of our approach and present quantitative and qualitative data from the experiment.
|
13 |
Langages dédiés au développement de services de communicationsPalix, Nicolas 17 September 2008 (has links) (PDF)
Les services de téléphonie IP automatisent le traitement des stimuli de communication en utilisant des ressources réseaux. Cependant, l'ajout de services rend vulnérable le système de téléphonie car certaines propriétés de fonctionnement des services déployés ne sont pas garanties. Aucune solution de développement de services ne permet de simultanément garantir des propriétés de fonctionnement et d'exploiter des ressources réseaux.<br />Cette thèse propose une approche fondée sur le concept des langages dédiés pour développer des services de communications. Deux nouveaux langages dédiés au domaine des communications ont été développés : SPL et Pantaxou. Le premier sert à router des messages de signalisation tandis que le second, plus généraliste, permet la coordination d'entités communicantes.<br />Dans cette thèse, nous démontrons, grâce à SPL et Pantaxou, que les services de communications peuvent être développés avec un langage de programmation expressif tout en préservant des propriétés critiques du domaine.
|
14 |
Approches langages pour la conception et la mise en oeuvre de programmesFradet, Pascal 10 November 2000 (has links) (PDF)
Par "approche langage" on entend désigner une approche qui s'exprime, soit dans un langage de programmation, soit par un langage de programmation.<br />Les approches qui s'expriment dans le langage ne font appel à aucun formalisme éloigné (e.g. sémantique). Le langage de programmation est l'unique cadre de travail pour exprimer le problème, le résoudre et appliquer la solution. Nous montrons :<br /><br />- comment la compilation des langages fonctionnels peut s'exprimer dans le langage lui-même par transformation de programme. Ce cadre unifié permet de décrire, prouver, comparer et classifier la plupart des mises en œuvre de langages fonctionnels,<br /><br />- deux optimisations de l'implémentation des langages fonctionnels (une analyse de globalisation et un GC étendu) qui reposent sur la syntaxe et le type des expressions.<br /><br /><br /> Pour les approches qui s'expriment par un langage de programmation, il s'agit de prévenir le problème ou d'assurer une propriété via l'utilisation d'un langage (ou d'une discipline de programmation). Nous illustrons ce style d'approche par trois exemples :<br /><br /><br />- les types graphes qui permettent de définir et vérifier le partage des structures de données à pointeurs,<br /><br />- un langage dédié au parallélisme qui garantit une analyse de coût précise et un choix automatique de la meilleure distribution,<br /><br />- un style de programmation par aspects qui permet d'imposer automatiquement des propriétés aux programmes.
|
15 |
Développement de composants Fractal adaptatifs : un langage dédié à l'aspect d'adaptationDavid, Pierre-Charles 01 July 2005 (has links) (PDF)
Les contextes toujours plus variés et dynamiques dans lesquels les logiciels actuels s'exécutent leurs imposent de s'adapter de façon autonome à ces changements. L'objectif de cette thèse est de faciliter le développement de telles applications adaptatives, en considérant l'adaptation comme un aspect qui doit être développé séparément du reste de l'application a fin de pouvoir y être intégré et modifié dynamiquement. Pour cela nous proposons Safran, une extension du modèle de composants Fractal permettant d'associer dynamiquement des politiques d'adaptation aux composants d'une application. Ces politiques sont programmées dans un langage dédié sous la forme de règles réactives. Leur exécution repose d'une part sur WildCAT, un système permettant de détecter les évolutions du contexte d'exécution (quand adapter ?), et d'autre part sur FScript, un langage dédié pour la reconfiguration dynamique consistante de composants Fractal (comment adapter ?).
|
16 |
Approche langage au développement logiciel : application au domaine des systèmes d'informatique ubiquitaireMercadal, Julien 10 October 2011 (has links) (PDF)
Face à l'augmentation de la taille et de la complexité des systèmes logiciels, il convient de les décrire à un plus haut niveau d'abstraction (\ie au-delà du code) avant de concrètement les implémenter. Toutefois, l'utilisation de ces descriptions de haut niveau dans les processus de construction et de vérification des systèmes reste très rudimentaire, ne permettant pas de véritablement guider et faciliter le développement logiciel. Cette thèse propose une nouvelle approche pour rendre plus simple et plus sûr le développement de systèmes logiciels. Cette approche repose sur l'utilisation de langages dédiés et sur un couplage fort entre une couche de spécification et d'architecture et une couche d'implémentation. Elle consiste tout d'abord à décrire à un haut niveau d'abstraction différents aspects, à la fois fonctionnels et non fonctionnels, d'un système dans la couche de spécification et d'architecture. Ces descriptions sont ensuite analysées et utilisées pour personnaliser la couche d'implémentation, afin de faciliter la construction et la vérification du système logiciel. Nous illustrons notre approche dans le domaine de l'informatique ubiquitaire. À la suite d'une analyse complète du domaine, nous avons conçu deux langages dédiés à l'orchestration d'objets communicants, Pantaxou et Pantagruel.
|
17 |
Développement d'Applications à Grande Echelle par Composition de Méta-ModèlesVega Baez, German Eduardo 08 December 2005 (has links) (PDF)
Parmi les approches de génie logiciel, l'Ingénierie Dirigée par les Modèles (IDM) vise à fournir un cadre qui permet de s'attaquer à la complexité croissante du développement des logiciels dans un paradigme unificateur : elle conçoit l'intégralité du cycle de vie du logiciel comme un processus de production, de raffinement itératif et d'intégration de modèles.<br />Les travaux de cette thèse se placent dans cette mouvance. Nous nous intéressons particulièrement à la problématique de la gestion de la complexité et de la diversité de domaines métier impliqués dans les applications de grande taille, et nous proposons de l'approcher sous une optique IDM.<br />Un domaine est un champ d'expertise, potentiellement partagé par de multiples applications. La connaissance et le savoir-faire développé au sein de ce domaine deviennent des atouts majeurs. Cette expertise peut être formalisée, et surtout réutilisé, sous la forme d'un langage de modélisation dédié, un Domain Specific Language (DSL).<br />Nous proposons une démarche basée sur la description d'un système par divers modèles exprimés dans des langages de modélisation dédiés différents. La composition de modèles permet de modéliser des applications complexes couvrant plusieurs domaines simultanément.<br />L'originalité de notre démarche est que, d'une part, chaque DSL est spécifié par un méta-modèle suffisamment précis pour pouvoir construire, de façon semi-automatique, une machine virtuelle spécialisée du domaine ; c'est cette machine virtuelle qui permet l'exécution des modèles associés. D'autre part, il est possible de composer ces méta-modèles pour définir de nouveaux domaines plus complexes. La composition de méta-modèles permet d'améliorer la modularité, d'obtenir de taux de réutilisation plus importants, et surtout d'obtenir des fonctionnalités plus vastes et sophistiquées que celles des domaines composés.
|
18 |
Composition and interoperability for external domain-specific language engineering / Composition et interopérabilité pour l'ingénierie des langages dédiés externesDegueule, Thomas 12 December 2016 (has links)
Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios. / Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios.
|
19 |
Adapting modeling environments to domain specific interactionsda Silva de Sousa, Vasco Nuno 12 1900 (has links)
Software tools are being used by experts in a variety of domains. There are numerous
software modeling environments tailored to a specific domain expertise. However, there is no
consistent approach to generically synthesize a product line of such modeling environments
that also take into account the user interaction and experience adapted to the domain. The
focus of my thesis is the proposal of a solution to explicitly model user interfaces and interaction
of modeling environments so that they can be tailored to the habits and preferences
of domain experts. We extend current model-driven engineering techniques that synthesize
graphical modeling environments to also take interaction models into account. The formal
semantics of our language framework is based on statecharts. We define a development process
for generating such modeling environments to maximize reuse through a novel statechart
refinement technique. / Les outils logiciels sont utilisés par des experts dans une variété de domaines. Il existe de nombreux environnements de modélisation logicielle adaptés á une expertise spécifique. Cependant, il n’existe pas d’approche cohérente pour synthétiser génériquement une ligne de produits de tels environnements de modélisation qui prennent également en compte l’interaction et l’expérience utilisateur adaptées au domaine. L’objectif de ma thése est la proposition d’une solution pour modéliser explicitement les interfaces utilisateur et l’interaction des environnements de modélisation afin qu’ils puissent étre adaptés aux habitudes et aux préférences des experts du domaine. Nous étendons les techniques d’ingénierie actuelles pilotées par un modéle qui synthétisent des environnements de modélisation graphique pour prendre également en compte les modèles d’interaction. La sémantique formelle de notre cadre linguistique est basée sur des statecharts. Nous définissons un processus de développement pour générer de tels environnements de modélisation afin de maximiser la réutilisation à travers une nouveau technique de raffinement de statecharts.
|
Page generated in 0.0544 seconds