To see the other types of publications on this topic, follow the link: QBasic (Langage de programmation).

Dissertations / Theses on the topic 'QBasic (Langage de programmation)'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'QBasic (Langage de programmation).'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Cisneros, Gascon Maria del Pilar Jorrand Philippe. "Programmation parallèle et programmation fonctionnelle propositions pour un langage /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00311709.

Full text
APA, Harvard, Vancouver, ISO, and other styles
2

Moal, Frédéric. "Langage de biais en apprentissage symbolique." Orléans, 2000. http://www.theses.fr/2000ORLE2051.

Full text
Abstract:
L'extraction de connaissances dans les bases de données (ECD) est un domaine de recherche actuellement très actif. Une problématique importante pour l'ECD est l'apprentissage supervisé, dont le but est de trouver une définition en intension d'un concept représenté par un ensemble d'exemples étiquetés comme appartenant ou non à ce concept. Dans un contexte relationnel, cette tâche, pour des raisons à la fois théoriques et pratiques, nécessite l'utilisation de biais pour adapter l'algorithme d'apprentissage aux caractéristiques du problème considéré. Nous proposons un cadre unifié et déclaratif pour la spécification et l'exploitation des biais sur l'espace des hypothèses. Notre approche repose sur la définition d'un nouveau formalisme, qui raffine les grammaires d'arbres par un langage de contraintes. Nous montrons notamment que ce formalisme permet de définir l'espace des hypothèses par unions et intersections de biais. Nous nous intéressons ensuite à l'exploration d'un tel espace, en étudiant deux approches, l'une déterministe et l'autre stochastique. Dans la première, nous proposons une nouvelle définition des opérateurs de raffinement sur les clauses utilisés en programmation logique inductive. Cette définition utilise explicitement l'espace des hypothèses et les biais, ce qui permet un élagage optimal lors de la recherche. Nous appliquons cette approche à l'ECD, en utilisant la structure de la base de données pour optimiser la base de recherche. Notre deuxième approche repose sur les algorithmes d'évolution. Nous montrons que le formalisme des grammaires d'arbres avec contraintes est particulièrement adapté à la spécification des biais en programmation génétique. Il étend en effet l'expressivité des formalismes existants, permet de modéliser les biais sur la population initiale, et de contrôler la validité des descendants lors des opérations génétiques. Nous proposons d'appliquer ce nouveau cadre pour l'induction de concepts exprimés en algèbre relationnelle.
APA, Harvard, Vancouver, ISO, and other styles
3

Faucher, Colette. "Elaboration d'un langage extensible fondé sur les schémas : le langage Objlog+." Aix-Marseille 3, 1991. http://www.theses.fr/1991AIX30039.

Full text
Abstract:
L'objet de cette these est l'elaboration d'un langage extensible fonde sur les schemas et bati sur prolog, objlog+, dans lequel la notion de schema fait reference a une simple structure de donnees a trois niveaux champ-aspect-valeur, a laquelle aucune semantique du type schema generique/schema specifique n'est associee a priori. A chaque categorie du savoir peut etre associee une categorie de schemas dont la semantique est definie explicitement a posteriori. Les categories suivantes sont predefinies: schemas parametres, schemas non parametres, filtres, prototypes, instances, filtres parametres, etc. . . Objlog+ est entierement auto-referent, c'est-a-dire que toutes ses entites de base sont reifiees, en particulier les donnees specifiques de prolog, ce qui confere a objlog+ une certaine independance vis-a-vis de celui-ci. Objlog+ est extensible a la fois sur le plan structurel et sur le plan comportemental. Sur le plan structurel, il est possible de definir de nouvelles categories de schemas, ainsi que de nouveaux aspects dont la structure de controle est prise en charge automatiquement par le systeme. Sur le plan comportemental, la reification des messages permet de definir de nouveaux types d'envois de messages en tant que methodes. Enfin, objlog+ est implemente a l'aide d'un gestionnaire d'objets complexes ecrit en c, qui prend en charge le stockage et l'acces aux schemas d'objlog+, codifies sous forme d'objets du gestionnaire
APA, Harvard, Vancouver, ISO, and other styles
4

Dekoker, Sylvain. "Alma : un langage de programmation d'agents cognitifs." Paris 6, 2012. http://www.theses.fr/2012PA066076.

Full text
Abstract:
Cette thèse s'intéresse à la programmation d'agents cognitifs. Devant les grandes difficultés que l'on rencontre pour concevoir, réaliser et maintenir des systèmes informatiques de plus en plus complexes, nous pensons que ce paradigme peut apporter des réponses. Grâce à des concepts proches de notre manière de penser, cela ouvre la porte à de nouvelles solutions. L'état d'esprit dans lequel les systèmes multi-agents nous plongent, nous guide vers une modularité différente : plus explicite, plus déclarative, mieux adaptable et plus robuste. Nous pensons que ce paradigme ne se développera pas à sa juste valeur tant qu'un langage de programmation l'incarnant n'aura pas réussi à s'imposer. Et c'est pour aller dans ce sens que ce travail a été accompli. Il nous semble indispensable pour des agents cognitifs de pouvoir raisonner à partir d'informations incomplètes, de gérer des contradictions, et de raisonner sur les actions possibles dans ce contexte. Nous avons conçu une solution basée sur du raisonnement hypothétique. Nous montrerons dans cette thèse les impacts de ce choix sur les différentes composantes des agents : la révision de leurs croyances, l'écriture et génération automatique de leurs plans, la gestion des plans en cours d'exécution, et le rétablissement d'un comportement cohérent de l'agent. La contribution de cette thèse est le langage de programmation d'agents ALMA qui intègre ces différents aspects
This thesis is about cognitive agents programming. We think this paradigm is an answer to the issues raised in designing, implementing and maintaining complex software systems. Concepts used in multi-agents systems are close to our natural way of thinking. This leads us to some new kind of solutions which are more declarative, adaptable and robust. We believe this paradigm will reach its true value only with the help of dedicated programming languages. This is the underlying goal of this thesis. Cognitive agents need to have a reasoning based on incomplete information. They also need to be able to manage contradictions, and to anticipate the possible actions from this situation. We have designed a solution based on hypothetical reasoning. We will show the consequences of this choice on the components of the agent architecture. The first consequence is the integration of an assumption based belief revision process. Then, we will show how plans are programmed, managed and how a consistent behavior is restored when beliefs have changed. And lastly we will show how we integrate an automated planning mechanism relying on a dynamic belief base. The contribution of this thesis is this agent programming language ALMA that has all those features
APA, Harvard, Vancouver, ISO, and other styles
5

Jaber, Ghaleb. "Le Langage PASCAL/relationnel un langage de programmation de bases de données /." Grenoble 2 : ANRT, 1987. http://catalogue.bnf.fr/ark:/12148/cb37606132q.

Full text
APA, Harvard, Vancouver, ISO, and other styles
6

Jaber, Ghaleb. "Le langage pascal/relationnel : un langage de programmation de bases de donnees." Toulouse 3, 1987. http://www.theses.fr/1987TOU30222.

Full text
Abstract:
Presentation du langage pascal/relationnel construit a partir de pascal par adjonction de constructions venant du domaine des bases de donnees ainsi que la conception et l'implantation du traducteur du langage. Les instructions relationnelles sont inspirees du calcul des predicats et permettent les operations classiques offertes par les systemes de gestion de bases de donnees relationnelles
APA, Harvard, Vancouver, ISO, and other styles
7

El, Mokhtari Mounir. "Contribution à l'intégration de C++ et de Prolog à travers la machine abstraite de Warren : le système cop-compilé." Sherbrooke : Université de Sherbrooke, 1997.

Find full text
APA, Harvard, Vancouver, ISO, and other styles
8

Morel, Eric. "Environnement de programmation parallèle : application au langage Prolog." Phd thesis, Université Joseph Fourier (Grenoble), 1996. http://tel.archives-ouvertes.fr/tel-00346188.

Full text
Abstract:
Cette thèse présente l'étude de l'implantation d'un système Prolog parallèle sur une architecture sans mémoire commune dans le cadre du projet PLoSys (Parallel Logic System). L'exécution exploite le parallélisme de manière implicite. Le système repose sur un modèle OU multiséquentiel. Le partage de l'état d'exécution est assuré par copie des données. Le langage Prolog supporté est complet, et intègre les effets de bord classiques du langage. La gestion parallèle fait l'objet d'une étude complète pour préserver la compatibilité avec l'exécution séquentielle du langage Prolog. En particulier, une méthode originale est présentée pour la gestion parallèle des effets de bord. Enfin, ce document présente la réalisation d'un prototype portable, ainsi que l'analyse des résultats obtenus
APA, Harvard, Vancouver, ISO, and other styles
9

Dabrowski, Frederic. "Programmation Réactive Synchrone, Langage et Contrôle des Ressources." Phd thesis, Université Paris-Diderot - Paris VII, 2007. http://tel.archives-ouvertes.fr/tel-00151974.

Full text
Abstract:
La notion de système réactif désigne des systèmes qui maintiennent une
interaction permanente avec un environnement donné. La famille des
langages synchrones regroupe un des langages de programmation
dédiés à la conception de tels systèmes. De manière générale, ces langages
permettent de décrire le comportement de composants parallèles qui
s'exécutent de manière synchrone, relativement à une horloge logique sur
laquelle repose un mécanisme de diffusion instantanée de l'information.
La conception de ces langages permet un ordonnancement statique des composants
parallèles et une compilation des programmes vers du code séquentiel, des
automates à états finis ou des circuits. En contrepartie, les contraintes
imposées sur ces langages limitent leur utilisation à des domaines très
spécifiques. La programmation réactive désigne un paradigme de programmation
qui repose sur une relaxation de ces contraintes. Ce paradigme de
programmation, inspiré plus particulièrement par le langage Esterel, propose
un type de programmation concurrente plus général ayant pour objectif la
réalisation, par exemple, de controleurs "event driven", d'interfaces graphiques
, de simulations physiques, de service web et de jeux multi-joueurs.
Ce document porte sur la notion de logiciel sur dans le cadre de la
programmation réactive.
Dans la première partie, nous nous intéressons à la question du
controle statique des ressources nécessaires à l'exécution d'un programme
pour une algèbre de processus synchrone inspirée par le paradigme réactif.
Dans la seconde partie, nous nous intéressons à la question de
l'utilisation de la programmation réactive pour le développement
d'applications adaptées aux architectures multicores.
Plus précisèment, nous nous reposerons sur une analyse statique
des programmes permettant d'étendre dans un cadre plus générale
(vrai concurrence) les avantages d'une approche purement coopérative
de l'ordonnancement des threads choisie par plusieurs implémentations
de langages basés sur le paradigme réactif.
APA, Harvard, Vancouver, ISO, and other styles
10

Morel, Eric Briat Jacques. "Environnement de programmation parallèle application au langage Prolog /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00346188.

Full text
APA, Harvard, Vancouver, ISO, and other styles
11

Dabrowski, Frédéric. "Programmation réactive synchrone : langage et contrôle des ressources." Paris 7, 2007. http://www.theses.fr/2007PA077140.

Full text
Abstract:
Les systèmes réactifs maintiennent une interaction permanente avec un environnement. Les langages synchrones (une famille de langages dédiée à la conception de ces systèmes) permettent la description de comportements parallèles s'exécutant de manière synchrone, relativement à une horloge logique associée à une diffusion instantanée de l'information. La conception de ces langages permet une compilation des programmes vers du code séquentiel, des automates à états finis ou des circuits. Toutefois, les contraintes imposées pour atteindre ce but limitent l'utilisation de ces langages à des domaines très spécifiques. La programmation réactive désigne un paradigme de programmation basé sur une relaxation de ces contraintes. Inspirée plus particulièrement par le langage Esterel, elle permet la programmation, e. G. , de contrôleurs "event driven", d'interfaces graphiques, de simulations physiques, de services web et de jeux multi-joueurs. Ce document, divisé en deux partie, porte sur la notion de logiciel sûr dans le cadre de la programmation réactive. Dans la première partie, nous traitons de la question du contrôle statique des ressources nécessaires à l'exécution des programmes d'une algèbre de processus synchrone inspirée par le paradigme réactif. Dans la seconde partie, nous nous intéressons à la programmation d'architectures multicores. Nous proposons une discipline de programmation, imposée par une analyse statique, qui permet d'étendre à un cadre plus général les avantages de l'approche purement coopérative (ordonnancement) choisie par plusieurs langages basés sur le paradigme réactif
Reactive System continuously interact with an environment. Synchronous languages (a family of languages dedicated to the design of such Systems) are used to describe parallel behaviours running in a synchronous way, with respect to a logical clock associated to an instantaneous broadcast of the information. The design of those languages enables a compilation of programs to sequentiel code, finite state automata or circuits. Yet the constraints set on their design to reach this goal restrict their use to very specific fields. Reactive programming is a paradigm based on a relaxation of those constraints. More precisely, il is inspired by the Esterel language and may be used for programming, e. G. , event driven controllers, graphical user interfaces, physical simulations, web services and multi-player games. This document, split into two parts, deals with the notion of safety in the framework of reactive programming. In the first part, we consider the issue of controlling, by means of a static analysis, the resources needed to run programs of a synchronous process algebra inspired by the reactive paradigm. In the second part, we are interested in programming multicore architectures. We propose a programming discipline, enforced by a static analysis, which extends to a more general framework the advantages of the purely cooperative approach (scheduling) used in various languages based on the reactive paradigm
APA, Harvard, Vancouver, ISO, and other styles
12

Hufflen, Jean-Michel Jorrand Philippe Bert Didier Verjus Jean-Pierre. "Fonctions et généricité dans un langage de programmation parallèle." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00335698.

Full text
APA, Harvard, Vancouver, ISO, and other styles
13

Blay-Fornarino, Mireille, and Anne-Marie Pinna. "Un modèle objet logique et relationnel : le langage Othelo." Nice, 1990. http://www.theses.fr/1990NICE4359.

Full text
Abstract:
Cette thèse a pour but d'intégrer dans un système unique certains résultats de la programmation par objets, de la programmation en logique et de la programmation par relations. Ce système est alors capable de modéliser les connaissances du monde extérieur dans un formalisme permettant de les manipuler symboliquement. Cette thèse est constituée de trois parties principales. Définition d'un modèle objet abstrait dans lequel les opérations élémentaires sous-jacentes aux mécanismes mis en œuvre dans un langage à objets (création, héritage, envoi de message) sont redéfinissables par un programmeur. Un langage issu de ce modèle peut autoriser : la création d'objets de structures internes différentes pouvant communiquer entre eux ; la définition de modes d'héritage complexes ; l'expression des exceptions et des cas particuliers. Apports d'inférence déclarative au modèle objet. Le langage Othello est une implantation en Prolog du modèle abstrait dans laquelle les principaux mécanismes ont été reconsidérés afin d'attribuer aux objets des comportements logiques. Citons : la définition de méthodes polymorphes, l'envoi de message à objets anonymes, des combinaisons et du contrôle sur les méthodes dans un graphe d'héritage et des capacités intrinsèques à raisonner. Aspect relationnel de la connaissance. L’idée est d'utiliser l'approche objet pour décrire un langage de relations et ainsi faciliter l'expression des relations de dépendance et le maintien automatique de leur cohérence. Une des originalités de cette proposition est la prise en compte des modifications intervenant sur l'objet maitre pour rétablir de façon incrémentale la cohérence. Les liens de la hiérarchie proposée permettent de décrire les relations d'héritage et d'implanter une interface graphique. Une quatrième partie illustre ce travail par une application en thermique
APA, Harvard, Vancouver, ISO, and other styles
14

Sidhoum, Hafid. "Conception et compilation du langage AMPERE 2 : langage modulaire pour la programmation en physique." Lyon, INSA, 1991. http://www.theses.fr/1991ISAL0053.

Full text
Abstract:
Le langage AMPÈRE 2, à l'instar d'Ampère, est destiné à accroître la clarté et la fiabilité des programmes scientifiques à dominante physique. Pour cela, il intègre la rigueur de l'analyse dimensionnelle, la gestion automatique des unités de mesure et la puissance du calcul en intervalles. Avec l'adoption des identificateurs éclatés, AMPÈRE 2 répond au problème de l'évolution du langage face aux demandes des utilisateurs. Pour favoriser les développements logiciels importants, nous avons inclus au langage Ampère 2 la notion de composant logiciel (module) ainsi qu'une généricité des types physiques. La combinaison de ces mécanismes rend réutilisable certaines parties d'une application sous forme de bibliothèques, en garantissant la fiabilité d'appel mais sans instanciation. Enfin, nous avons retenu pour AMPERE 2 le concept des environnements, grâce auquel l'utilisateur peut enrichir le contexte local, permettant le partage inter-projets d'une application, d'où une grande clarté au niveau conceptuel. Le langage a été défini en collaboration avec des physiciens pour mieux prendre en compte leurs desiderata. Le mémoire présenté est consacré d'abord à la discussion détaillée d'AMPÈRE 2. Il traite ensuite de la réalisation sous UNIX du compilateur correspondant ; son développement en LET a surtout facilité l'analyse sémantique
AMPERE 2 is a programming language following ampere,an older language devoted to clearness and reliability of scientific programs. For that purpose, amperes integrate dimensional analysis, automatic management of physical units and powerful intervals computation. To prevent the evolution problem introduced by a stiff definition facing various users needs and requests, AMPERE 2 implements the splitted identifiers. So, to define a new procedure is actually to introduce a new instruction. To support significant software developments, we include to AMPERE 2 language the software component notion (module) as well as a genericity for physical types. Combining these mechanisms makes some parts of an application reusable as libraries, insuring the call reliability without instantiation. Finally, we retained for AMPERE 2 language an environment concept, with which the user can enlarge the local context, which permits inter-projects sharing and conceptual clarification. The language was defined with physicians, to implement their needs. The present memory is devoted, first to the language presentation and discussion, second to its associated compiler achieved under UNIX: its development in LET highly facilitated the semantic analysis
APA, Harvard, Vancouver, ISO, and other styles
15

Rogé, Sylvie Sifakis Joseph Jorrand Philippe. "Comparaison des comportements des processus communicants application au langage FP2 /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00322013.

Full text
APA, Harvard, Vancouver, ISO, and other styles
16

Pazat, Jean-Louis. "Génération de code réparti par distribution de données." [S.l.] : [s.n.], 1997. ftp://ftp.irisa.fr/techreports/habilitations/pazat.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
17

Dechamboux, Pascal. "Gestion d'objets persistants : du langage de programmation au système." Phd thesis, Grenoble 1, 1993. http://tel.archives-ouvertes.fr/tel-00005124.

Full text
Abstract:
Cette these decrit la definition et la mise en oeuvre dun langage de programmation pour bases de donnees : le langage a objets Peplom (PErsistent Programming Language for Object Management). Lapproche adoptee a pour but doffrir une su^rete importante du langage, une implementation efficace et de la flexibilite pour le schema des definitions (types, modules, etc...). Le langage propose nest pas totalement nouveau puisquil est syntaxiquement base sur le langage C/C++ ce qui lui confere une conformite avec les standards. La these presente dans un premier temps un etat de lart en deux parties. La premiere partie sattache a etudier les systemes de types sous langle des modeles de memoire necessaires a leur implantation. La deuxieme partie analyse les SGBD a objets existants et les compare suivant un certain nombre de criteres. Le langage Peplom est ensuite decrit en insistant surtout sur leffort dintegration de concepts. Un typage fort et lintroduction orthogonale des concepts bases de donnees dans le langage de programmation lui confere une grande su^rete. Par ailleurs, Peplom apporte une solution interessante au probleme de structuration des programmes qui seffectue a deux niveaux : les types abstraits structurent les definitions des entites modelisees alors que les modules structurent les donnees manipulees. La production de programmes avec le langage Peplom seffectue en deux phases. La premiere phase consiste a saisir les definitions composant lapplication. Celles-ci sont memorisees de maniere incrementale dans un dictionnaire gere par le compilateur. Le dictionnaire autorise les incoherences transitoires de la description des programmes, offrant ainsi une grande flexibilite pour le programmeur et une bonne base pour levolution de schemas. La deuxieme phase realise la generation dapplications executables. Le generateur produit du code supportant le modele structurel et semantique des donnees. Il sappuie sur la couche systeme consistant simplement en un gestionnaire de memoire (persistante et temporaire). Les performances du prototype implante sont comparables a celles des systemes C++ persistants offrant moins de fonctionnalites.
APA, Harvard, Vancouver, ISO, and other styles
18

Hufflen, Jean-Michel. "Fonctions et généricité dans un langage de programmation parallèle." Phd thesis, Grenoble INPG, 1989. http://tel.archives-ouvertes.fr/tel-00335698.

Full text
Abstract:
Fp2 (functional parallel programming) est un langage qui concilie programmation fonctionnelle et programmation parallèle a travers le formalisme des spécifications algébriques et des systèmes de réécriture. Dans le cadre du projet fp2, cette thèse a pour principal objectif de présenter la partie fonctionnelle, incluant la généricité et le traitement des exceptions. La généricité (paramétrisation d'une spécification) est traitée dans la première partie: nous rappelons les principes, étudions la sémantique, formalisons la compilation des opérateurs génériques en restant dans un cadre fonctionnel, et analysons les raccourcis de notation offerts aux utilisateurs. La deuxième partie est consacrée aux exceptions. Elles sont d'abord étudiées d'un point de vue opérationnel, puis nous en donnons une définition précise qui permet de ramener une présentation avec exceptions a une présentation avec sortes ordonnées. Cette définition assure l'existence d'une algèbre initiale et permet en outre de traiter les exceptions avec paramètres génériques. En troisième partie, sont présentées des méthodes de transformation de définitions fonctionnelles récursives en processus parallèles communicants. La généricité est utilisée pour formuler les hypothèses sur les définitions fonctionnelles, et nous montrons de plus comment simuler une pile de récursivité de profondeur arbitraire par des réseaux de processus dont la topologie est fixée statiquement
APA, Harvard, Vancouver, ISO, and other styles
19

Hufflen, Jean-Michel. "Fonctions et généricité dans un langage de programmation parallèle." Grenoble : ANRT, 1989. http://catalogue.bnf.fr/ark:/12148/cb37593857z.

Full text
APA, Harvard, Vancouver, ISO, and other styles
20

Dechamboux, Pascal Adiba Michel. "Gestion d'objets persistants du langage de programmation au système /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00005124.

Full text
APA, Harvard, Vancouver, ISO, and other styles
21

Grande, Johan. "Conception et implémentation d'un langage de programmation concurrente modulaire." Thesis, Nice, 2015. http://www.theses.fr/2015NICE4067/document.

Full text
Abstract:
La programmation concurrente à mémoire partagée est un modèle classique de concurrence qui permet notamment de tirer parti des processeurs multicoeurs aujourd'hui très répandus dans les ordinateurs personnels. Les programmes concurrents sont sujets au problème des interblocages, notoirement difficiles à prévoir et à éliminer, en particulier dans le cas de l'utilisation du mécanisme de synchronisation très populaire que sont les mutex. Dans cette thèse nous avons travaillé à rendre plus aisée la programmation avec des mutex en étudiant des méthodes d'évitement des interblocages. Nous avons d'abord étudié une méthode utilisant une analyse statique par un système de types et d'effets, puis une variante de cette méthode dans un langage à typage dynamique. La seconde méthode est celle que nous avons le plus développée. Elle combine prévention et évitement des interblocages pour fournir une fonction de verrouillage sans interblocages expressive et utilisable. Nous l'avons implémentée sous forme d'une bibliothèque Hop (dialecte de Scheme). Ce faisant, nous avons développé un algorithme sans famine pour l'acquisition simultanée d'un nombre arbitraire de mutex, et identifié le concept d'interblocage asymptotique. Nous avons également été amenés à proposer une optimisation des exceptions (blocs finally). Nos tests de performances semblent indiquer un impact négligeable de l'utilisation de notre bibliothèque sur des applications concurrentes réelles. La majeure partie de notre recherche pourrait être appliquée à d'autres langages de programmation structurée tels que Java
Shared-memory concurrency is a classic concurrency model which, among other things, makes it possible to take advantage of multicore processors that are now widespread in personal computers. Concurrent programs are prone to deadlocks which are notoriously hard to predict and debug. Programs using mutexes, a very popular synchronization mechanism, are no exception. In this thesis we studied deadlock avoidance methods with the aim of making programming with mutexes easier. We first studied a method that uses a static analysis by means of a type and effect system, then a variation on this method in a dynamically typed language. We developed more the second method. It mixes deadlock prevention and avoidance to provide an easy-to-use and expressive deadlock-free locking function. We implemented it as a Hop (dialect of Scheme) library. This lead us to develop a starvation-free algorithm to simultaneously acquire an arbitrary number of mutexes, and to identify the concept of asymptotic deadlock. While doing so, we also developped an optimization of exceptions(finally blocks). Our performance tests seem to show that using our library has negligible impact on theperformance of real-life applications. Most of our work could be applied to other structured programming languages such as Java
APA, Harvard, Vancouver, ISO, and other styles
22

Bonniot, Daniel. "Typage modulaire des multi-méthodes." Paris, ENMP, 2005. http://www.theses.fr/2005ENMP1337.

Full text
Abstract:
Cette thèse présente un système de types modulaire pour les langages à multi-méthodes, compatibles avec un noyau à la ML avec sous)-typage et inférence pour le langage noyau. Notre présentation est elle aussi modulaire, en posant un système de types algébriques comprenant un langage noyau avec des types entièrement abstraits. Un langage peut être construit par choix des constantes et du langage de types. Nous identifions les conditions sous lesquelles ce langage est statistiquement sûr. Cela facilite l’étude d’extensions dans deux directions, tout en partageant une partie de la preuve de sûreté : la formalisation des multi-méthodes comme des constantes du langage et un raffinement du système de types ML-Sub avec contraintes de kinding pour exprimer le type de méthodes « partiellement polymorphes ». Enfin, nous étudions le défi classique d « problème des expressions ». Nous donnons également un aperçu de la mise en œuvre de l’ensemble de ces idées dans un langage complet, Nice
This thesis presents a modular type system for languages with multi-methods, compatible with a core language a la ML with subtyping and type interference for the core language. Our presentation is modular as well, by defining an algebric type system that includes a core langage with fully abstract types. A language can be built by chosing constants and a language of types with an ordering. We identify conditions that guarantee the resulting language is statically safe. This presentation makes it possible to study more easily extensions in two directions while sharing a part of the safety proof : the formalization of our multi-methods as constants of the core language and the extension of the ML-Sub type system with kinding constraints to express modularly the type of « partially polymorphic » methods. Finally, we study the classical challenge of the « expression problem ». We also give an overview of the implementation of all those ideas in a complete language, Nice
APA, Harvard, Vancouver, ISO, and other styles
23

Branski-Cazaban, Jacqueline. "La langue et les langages informatiques." Toulouse 2, 1987. http://www.theses.fr/1988TOU20007.

Full text
Abstract:
Cette these consite d'une part en l'etude de la creation lexicale dans une langue de specialite, l'anglais informatique et d'autre part en l'etude de l'anglais des langages de programmation, en particulier, du basic et du cobol. Elle est divisee en cinq parties qui sont: -l'historique de l'informatique -la creation lexicale -la presentation des langages de programmation -l'analyse linguistique du basic -l'analyse linguistique du cobol. Le probleme etant de savoir s'il y a des points communs au niveau de la creation lexicale entre un anglais de specialite qui permet aux informaticiens de communiquer entre eux ou avec d'autres personnes et les langages de programmation qui permettent de communiquer avec un ordinateur (c'est a dire une machine)
The aim of this study is to show what are the different techniques of lexical creation used in the english of computer science and in programming languages. This thesis is divided into five parts. The first part deals with the history of computing and shows the relationship between the development of a science and its consequence upon the formation of a language. The second part shows what are the techniques used in the terminology of computing. The history of programming languages is developed in the third part. The fourth and fifth parts are devoted to the linguistic study of the reserved words in basic and cobol
APA, Harvard, Vancouver, ISO, and other styles
24

Oros, Hernandez Miguel Angel. "Conception, implantation et optimisation d'un langage à objets logiques." Bordeaux 1, 1995. http://www.theses.fr/1995BOR10599.

Full text
Abstract:
En partant d'approches declaratives au probleme de l'extension de prolog a des objets, telles que les psi-termes de ait-kaci ou les termes a traits de backofen et smolka, nous proposons un nouveau langage d'acces logique incremental a des objets, qui est essentiellement une extension de datalog a des contraintes traduisant l'aspect objet. Nous etudions certains aspects d'optimisation, symbolique au niveau des contraintes, par rapport a une signature, physique au niveau des acces. Une restriction d'un langage ideal propose est implantee en common lisp sous le nom de u-log 3. Nous abordons egalement le probleme de la classification de predicats datalog, dans la perspective de pouvoir utiliser dans les contraintes des sortes ou des traits definis en logique, et pas simplement interpretes dans une base. Une methode exacte, basee sur la deduction naturelle, est proposee pour attaquer ce probleme indecidable, et implantee en prolog iii dans le prototype concept
APA, Harvard, Vancouver, ISO, and other styles
25

CAMP, OLIVIER. "Les contraintes en programmation logico-fonctionnelle : application au langage miles." Paris 6, 1994. http://www.theses.fr/1994PA066336.

Full text
Abstract:
Depuis les annees 80 on s'est souvent penche sur l'integration des styles de programmation en logique et fonctionnelle. Le langage miles est le resultat d'une telle fusion. Il est obtenu en ajoutant a un noyau lisp les concepts d'un langage de programmation en logique: le non-determinisme, les variables logiques et l'unification. L'ajout de variables logiques dans un langage applicatif fait apparaitre de nouveaux objets: les expressions gelees. Dans cette these nous montrons comment celles-ci permettent, grace a l'unification, de definir des contraintes semblables a celles des clp. De plus, nous voyons comment on peut definir, en miles, un systeme de resolution gerant les contraintes numeriques du langage. Dans un premier temps nous nous focalisons sur les contraintes d'egalite. Nous etudions les algorithmes traditionnels de resolution de systemes lineaires et montrons comment ils doivent etre modifies pour permettre le traitement de contraintes d'egalite sur les reels. Nous montrons comment nous pouvons implanter ces algorithmes en miles pour obtenir un langage de programmation logico-fonctionnelle autorisant une utilisation active des contraintes d'egalite numeriques. Nous nous interessons ensuite aux contraintes d'inegalite numeriques du langage. Apres avoir montre comment une version modifiee de l'algorithme du simplex pouvait etre utilisee pour resoudre un systeme d'inequations lineaires de maniere incrementale, nous en proposons une definition en miles pour gerer les contraintes d'inegalite. Muni de ces deux systemes de resolution le langage miles devient un langage de programmation logico-fonctionnelle avec contraintes sur les reels. Il permet d'adopter les styles de programmation en logique avec contraintes et fonctionnel
APA, Harvard, Vancouver, ISO, and other styles
26

Park, Seung Kyu Schoellkopf J. P. "Etude de langages interprétables par une machine langage de haut niveau." S. l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00300432.

Full text
APA, Harvard, Vancouver, ISO, and other styles
27

Janot, Stéphane. "Règles d'évaluation équitables en programmation logique." Lille 1, 1991. http://www.theses.fr/1991LIL10062.

Full text
Abstract:
Les interpréteurs Prolog ne sont pas complets en général pour les échecs et pour les succès car ils sont basés sur un parcours de l'arbre de résolution en profondeur d'abord associé à une gestion des buts en pile. Cependant, la résolution SLD sur laquelle Prolog est basé est correcte et complète. L'utilisation d'une règle d'évaluation équitable―tout sous-but qui apparaît dans une dérivation infinie est effectivement sélectionné―permet d'obtenir tous les échecs finis et tous les succès finis d'un programme: s'il existe un arbre de dérivation SLD fini pour un programme P et un but B, alors tout arbre de dérivation équitable pour P et B est fini. Un interpréteur Prolog équitable permet donc d'éviter toutes les boucles liées à l'ordre d'évaluation des sous-buts. Nous étudions l'utilisation de règles d'évaluation équitables en Prolog, des aspects théoriques aux aspects pratiques. Deux modèles de règles d'évaluation équitables, Pile-indicée et Arbres-de-buts-indicés sont proposés. Ces stratégies de dérivation sont basées sur l'utilisation d'indices de dérivation pour contrôler l'ordre d'évaluation des sous-buts. Des implémentations efficaces de ces règles ont été réalisées. Les problèmes pratiques liés à l'utilisation d'un ordre d'évaluation différent sont pris en compte et nos interpréteurs équitables sont effectivement utilisables
APA, Harvard, Vancouver, ISO, and other styles
28

Meysembourg-Männlein, Marie Laurence. "Modèle et langage à objets pour la programmation d'applications réparties." Phd thesis, Grenoble INPG, 1989. http://tel.archives-ouvertes.fr/tel-00333509.

Full text
Abstract:
Cette thèse a été effectuée dans le cadre du projet Guide mené conjointement par le laboratoire de génie informatique et le centre de recherche Bull de Grenoble depuis mi 86. Guide est le support d'un ensemble de recherches sur la programmation des applications reparties. Ces recherches sont entreprises sur la base du développement d'un système expérimental : le système Guide. Ce dernier est un système d'exploitation reparti à objets qui fournit un haut niveau d'intégration (invisibilité de la répartition notamment). Un premier prototype du système fonctionne depuis fin 88 et permet la programmation et la mise œuvre d'applications par l'intermédiaire d'un langage de programmation spécifique. La thèse contient une présentation et une évaluation du modèle de programmation par objets mis œuvre par ce langage: la présentation met en évidence les principaux choix de conception et les justifie; l'évaluation est basée sur une étude comparative des modèles d'objets de Guide, de Trellis/Owl, d'Emerald et d'Eiffel, et sur des expériences de programmation réalisées sur le prototype. Elle met en évidence les aspects caractéristiques du modèle d'objets de guide, ses apports et ses limites
APA, Harvard, Vancouver, ISO, and other styles
29

Garneau, Tony. "Langage de programmation pour les simulations géoréférencées à base d'agents." Thesis, Université Laval, 2011. http://www.theses.ulaval.ca/2011/27803/27803.pdf.

Full text
Abstract:
Lors des dix dernières années, les technologies basées sur les agents logiciels ont été appliquées dans plusieurs domaines tels que les jeux vidéo, les films où évoluent des personnages animés, en réalité virtuelle, dans le développement d’interfaces où sont fournis des agents « assistants », dans les applications Web éducatives utilisant des personnages virtuels, pour ne nommer que ceux-là. Dans plusieurs de ces domaines, les simulations à base d’agents nécessitent l’intégration de données géographiques. Celles-ci intègrent une dimension spatiale et permettent la simulation de divers phénomènes complexes tels que ceux qui sont liés aux dynamiques urbaines. Ce qui a mené à un nouveau domaine de recherche : les simulations géoréférencées à base d’agents (ou SGBA). Certaines plateformes logicielles développées pour les SGBA permettent à l’aide de différentes techniques, la spécification et l’implantation de simulations à base d’agents. Par contre, les comportements des agents qui peuvent y être spécifiés sont encore très limités, ce qui est insuffisant pour le développement de simulations géoréférencées de phénomènes sociaux. Dans ce type de simulations, les agents doivent agir de façon autonome et posséder des capacités d’appréhension de l’espace et de prise de décisions en rapport avec l’environnement géographique dans lequel ils évoluent. Pour posséder de telles caractéristiques, nous considérons que ces agents doivent au minimum posséder un mécanisme de perception autonome et individuel (de l’espace physique, des autres objets et agents), en plus d’être proactifs et posséder des comportements autonomes prenant en compte de leur connaissance du monde dans lequel ils évoluent (leur environnement virtuel). La spécification de ce type d’agents est une tâche très difficile et, à notre connaissance, aucun environnement de développement actuel n’offre de langage de programmation permettant de créer ce type d’agents. Dans le contexte du projet PLAMAGS (Programming LAnguage for MultiAgent GeoSimulations), nous avons développé un nouveau langage de programmation orienté-agent, une démarche de conception appliquée et un environnement de développement permettant la création et l’exécution rapide et simple de simulations géoréférencées à base d’agents. Les principales contributions du projet PLAMAGS sont : - Un langage de programmation descriptif, procédural et orienté-objet complet et utilisable à toutes les étapes du processus de développement et totalement dédié aux SGBA. Ce qui permet d’éliminer l’étape de transition et de transposition du modèle théorique en langage de programmation et ainsi éviter toutes les difficultés qui y sont rattachées. - Une démarche de conception appliquée où les étapes de modélisation, conception, implémentation, exécution et validation sont fusionnées et intégrées à chaque étape de la démarche. - Un modèle comportemental puissant (pour les agents), intuitif, modulaire, extensible et flexible permettant un développement itératif incrémental à l’aide d’abstractions prenant la forme de décompositions (sous-comportements). - Un modèle d’interactions spatialisées clairement défini et directement intégré dans les primitives du langage de programmation.
In the last decade, technologies based on software agents have been used in many domains such as video games, movies containing animated characters, virtual reality, in visual interfaces development where “wizards” are supplied and in educative Web applications using virtual characters, just to name a few. In many of these domains, agent-based simulations require the integration of geographic data. These add a spatial dimension and allow the simulation of many complex phenomena such as those included in urban dynamics. This has spawned a new research field: Multi-Agent- Geo-Simulation (MAGS for short). Some of the frameworks developed for MAGS use many different techniques to specify and implement tagent-based simulations. However, the agents’ behaviors that can be specified are usually very limited and are insufficient for the development of geo-referenced simulation of social phenomena. In this type of simulation, the agents must act autonomously and have the ability to perceive the environment in which they evolve, and then take decision based on these perceptions. To benefit from such characteristics, we consider that these agents must minimally have a perception mechanism that is autonomous and unique to each agent which need as well as to be proactive and have autonomous behavior in relation to their virtual environment. The specification of this type of agent is a difficult task and, to the best of our knowledge, none of the existing development environment offers a language able to fulfill it. In the context of the PLAMAGS (Programming LAnguage for Multi-Agent Geo-Simulations) Project, we developed a new agent-oriented programming language, an applied design methodology and an integrated development environment that allow a quick and simple design and execution cycle of agent-based geo-referenced simulations. The main contributions of this work are as follows: - A full-fledged descriptive programming language, procedural and object-oriented that is usable at every stage of the development cycle and that is dedicated to MAGS. This language eliminates the transition and transposition from the theoretical model to the programming language and thus avoids all the difficulties inherent to such a transposition task. - An applied development methodology where the modeling, design and implementation, execution and validation steps are merged and integrated throughout the development cycle. - A behavioral model that is powerful (agent wise), intuitive, modular, extensible and flexible and thus allows a sequential and iterative development using abstractions based on decomposition (sub-behaviors). - A spatialized interaction model that is clearly defined and directly integrated in the primitives of the programming language.
APA, Harvard, Vancouver, ISO, and other styles
30

Meysembourg-Männlein, Marie Laurence Mossière Jacques Krakowiak Sacha. "Modèle et langage à objets pour la programmation d'applications réparties." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00333509.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Besson, Michel. "Crop : un langage de programmation interactif en environnement distribue heterogene." Nice, 1994. http://www.theses.fr/1994NICE4813.

Full text
Abstract:
Le modele client/serveur est fonde sur un mode de communication simple, mis au point au debut des annees 80: l'appel de procedure a distance (rpc). Ce paradigme a fait l'objet de diverses mises en uvre, qui s'appuient toutes sur 3 elements: un langage de specification permettant de decrire les operations de service et les structures de donnees associees ; un ensemble de regles de representation permettant d'echanger les donnees entre entites heterogenes ; un protocole de gestion du dialogue question/reponse. Dans l'architecture osi, ces elements sont respectivement: le langage asn1, les regles d'encodage (ber par exemple), et le protocole ros. Malgre les diverses variantes introduites dans ces environnements, le protocole de dialogue est tres pauvre et il est frequemment necessaire de declencher plusieurs operations elementaires pour resoudre les besoins du client. Une extension naturelle de cette approche consiste a permettre au client de transmettre au serveur non pas simplement des appels de procedures primitifs, mais des structures de controle dont l'interpretation est realisee dans le contexte du serveur (lambda expression). Diverses propositions sont analysees et realisees dans la presente etude. Elaborees au dessus du langage asn1, elles visent a l'enrichir afin de lui offrir la puissance d'expression d'un veritable langage de programmation (crop). Le serveur est equipe d'un interpreteur qui parcourt les arbres de programme recus et en execute la semantique. Un probleme important se pose: celui du choix des structures de controle du langage. La premiere approche consiste a proposer un langage specifique. Puis deux nouvelles approches sont analysees, baties sur le principe de definition de syntaxes abstraites independantes pouvant etre combinees a la demande du client a l'ouverture de la connexion, afin de configurer le langage de dialogue en fonction des besoins
APA, Harvard, Vancouver, ISO, and other styles
32

Le, Maitre Jacques. "Le langage fonctionnel de programmation pour bases de données GRIFFON." Aix-Marseille 2, 1991. http://www.theses.fr/1992AIX22006.

Full text
Abstract:
Cette these decrit le langage fonctionnel, sans variable, de programmation pour bases de donnees griffon. Elle est divisee en cinq chapitres. Le premier chapitre contient une etude de quelques langages fonctionnels de programmation pour bases de donnees, choisis parmi les plus representatifs, et met en evidence leurs principales proprietes. Les trois chapitres suivants sont consacres a la description du langage griffon. Le deuxieme chapitre specifie le langage: les objets manipules, la notion de fonction, l'organisation modulaire d'une base de donnees enfin la facon de programmer. Le troisieme chapitre est une etude detaillee des operateurs predefinis et notamment tous ceux, fondamentaux pour les bases de donnees, qui manipulent les collections d'objets structures. Le quatrieme chapitre decrit le mecanisme de pattern-matching qui a ete introduit pour pallier au manque de lisibilite des programmes, considere comme un serieux desavantage des langages fonctionnels sans variables. Enfin, le cinquieme chapitre presente les travaux menes sur l'implantation de griffon et les prototypes qui ont ete realises
APA, Harvard, Vancouver, ISO, and other styles
33

Counilh, Marie-Christine. "LCH, un langage pour la programmation du calculateur multiprocesseur CHEOPS." Bordeaux 1, 1989. http://www.theses.fr/1989BOR10547.

Full text
APA, Harvard, Vancouver, ISO, and other styles
34

Lazure, Dominique. "Programmation géométrique à parallélisme de données : modèle, langage et compilation." Lille 1, 1995. http://www.theses.fr/1995LIL10021.

Full text
Abstract:
Le parallélisme de données permet l'exploitation efficace des machines massivement parallèles, en particulier lorsque le nombre d'unités de calcul dépasse le millier. Le programmeur manipule simultanément un grand nombre de données, en leur appliquant un traitement unique séquentiellement décrit. L'algorithmique scientifique accède au parallélisme par ce biais : la majorité des applications numériques intensives sont d'ores et déjà programmées en utilisant le paradigme du parallélisme de données. Nous proposons une approche géométrique de ce modèle de programmation. Les structures de données définies par l'utilisateur sont regroupées et alignées au sein d'une entité abstraite, référentiel de toute manipulation: l'hyper-espace. L'adoption d'une sémantique des expressions basée sur ce référentiel permet d'offrir au programmeur deux vues clairement distinctes : la vue microscopique permet l'expression du parallélisme de calcul ; la vue macroscopique permet les communications parallèles à travers l'hyper-espace par une modélisation à base de primitives géométriques. Cette séparation est importante pour la phase de génération de code. Nous montrons que l'hyper-espace est une information dont l'exploitation par le compilateur autorise l'introduction de nouvelles techniques d'optimisation du code exécutable. En particulier, l'allocation mémoire des objets est issue de l'attribution des ressources physiques aux points de l'hyper-espace. Le temps d'évaluation d'une expression est optimise par un abaissement sensible du temps d'accès aux données. La gestion de la boucle de virtualisation peut aussi profiter de la modélisation géométrique qui autorise la diminution du nombre d'itérations nécessaires au traitement d'une expression. Ces résultats sont illustres par des mesures de performances issues de l'atelier de développement produit durant cette thèse. Enfin, cette étude est étendue vers un domaine plus large. La problématique de la programmation hétérogène est abordée par l'association d'un hyper-espace à une machine du réseau hétérogène. L'étude de l'adéquation du modèle aux structures creuses a permis de proposer une approche originale du traitement de l'irrégularité des données, qui fournit au programmeur l'abstraction totale de la phase de compression.
APA, Harvard, Vancouver, ISO, and other styles
35

Zhao, Jie. "Une approche combinée langage-polyédrique pour la programmation parallèle hétérogène." Thesis, Paris Sciences et Lettres (ComUE), 2018. http://www.theses.fr/2018PSLEE062.

Full text
Abstract:
De nos jours, l'optimisation des compilateurs est de plus en plus mise à l'épreuve par la diversité des langages de programmation et l'hétérogénéité des architectures. Le modèle polyédrique est un puissant cadre mathématique permettant aux programmes d’exploiter la parallélisation automatique et l’optimisation de la localité, jouant un rôle important dans le domaine de l’optimisation des compilateurs. Une limite de longue date du modèle réside dans sa restriction aux programmes affines à contrôle statique, ce qui a entraîné une demande émergente de prise en charge d'extensions non affines. Cela est particulièrement aigu dans le contexte d'architectures hétérogènes où une variété de noyaux de calcul doivent être analysés et transformés pour répondre aux contraintes des accélérateurs matériels et pour gérer les transferts de données à travers des espaces mémoire. Nous explorons plusieurs extensions non affines du modèle polyhédral, dans le contexte d'un langage intermédiaire bien défini combinant des éléments affines et syntaxiques. D'un côté, nous expliquons comment les transformations et la génération de code pour des boucles avec des limites de boucle dynamiques non dépendantes des données et dynamiques sont intégrées dans un cadre polyédrique, élargissant ainsi le domaine applicable de la compilation polyédrique dans le domaine des applications non affines. D'autre part, nous décrivons l'intégration du pavage en recouvrement pour les calculs de pochoir dans un cadre polyhédral général, en automatisant les transformations non affines dans la compilation polyhédrique. Nous évaluons nos techniques sur des architectures de CPU et de GPU, en validant l'efficacité des optimisations en effectuant une comparaison approfondie des performances avec des frameworks et des librairies écrites à la pointe de la technologie
Nowadays, optimizing compilers are increasingly challenged by the diversity of programming languages and heterogeneity of architectures. The polyhedral model is a powerful mathematical framework for programs to exploit automatic parallelization and locality optimization, playing an important role in the field of optimizing compilers. A long standing limitation of the model has been its restriction to static control affine programs, resulting in an emergent demand for the support of non-affine extensions. This is particularly acute in the context of heterogeneous architectures where a variety of computation kernels need to be analyzed and transformed to match the constraints of hardware accelerators and to manage data transfers across memory spaces. We explore multiple non-affine extensions of the polyhedral model, in the context of a welldefined intermediate language combining affine and syntactic elements. On the one hand, we explain how transformations and code generation for loops with non-affine, data-dependent and dynamic loop bounds are integrated into a polyhedral framework, extending the applicable domain of polyhedral compilation in the realm of non-affine applications. On the other hand, we describe the integration of overlapped tiling for stencil computations into a general polyhedral framework, automating non-affine transformations in polyhedral compilation. We evaluate our techniques on both CPU and GPU architectures, validating the effectiveness of the optimizations by conducting an in-depth performance comparison with state-of-the-art frameworks and manually-written libraries
APA, Harvard, Vancouver, ISO, and other styles
36

Bertrand, Frédéric. "Un modèle de contrôle réactif pour les langages à objets concurrents." La Rochelle, 1996. http://www.theses.fr/1996LAROS005.

Full text
Abstract:
Dans une application distribuée, les objets peuvent être considérés comme des unités d'exécution. Ce concept existe déjà depuis plusieurs années, cependant une des difficultés consiste à contrôler le fonctionnement d'un objet en tant que composant d'un programme concurrent. La solution que nous avons étudiée consiste à utiliser une approche réactive pour réaliser ce contrôle. Le choix de cette approche est motivé par l'adéquation du modèle réactif au contrôle et à l'utilisation d'une approche formelle. Ce modèle est basé sur la présence d'une entité de contrôle, au sein de chaque objet, que nous avons appelée contrôleur d'exécution réactif. Ceci permet de dissocier ce qui est relatif aux traitements (exécution des méthodes) de ce qui est relatif au contrôle de ces exécutions. En raison de la distribution des objets, nous avons retenu un modèle d'exécution réactif asynchrone permettant de s'affranchir de la contrainte d'une horloge globale à l'ensemble des objets. Nous avons défini pour le contrôleur deux modèles réactifs d'exécution. Le premier modèle dit réactif pur, dans lequel l'activation d'une méthode ne dépend que de l'état d'exécution des autres méthodes, donc de leur ordonnancement. Le contrôleur est représenté par un système de transitions. Le second modèle dit réactif étendu, dans lequel l'activation d'une méthode peut dépendre de la valeur des attributs de l'objet. Nous étendons le modèle réactif pur en utilisant des automates à contraintes. Grâce à une base formelle dans les deux modèles, il est possible d'effectuer des vérifications sur le contrôleur, l'objet ou un groupe d'objets. Nous avons mis en œuvre ce modèle en utilisant des processus légers pour permettre une concurrence inter-méthodes. Le contrôleur est automatiquement compilé à partir d'une spécification. Notre approche permet de vérifier la présence d'interblocages au sein d'un objet ou d'un groupe d'objets. Le code correspondant au contrôleur de l'objet conserve une taille raisonnable.
APA, Harvard, Vancouver, ISO, and other styles
37

Canou, Benjamin. "Programmation Web Typée." Phd thesis, Université Pierre et Marie Curie - Paris VI, 2011. http://tel.archives-ouvertes.fr/tel-00640566.

Full text
Abstract:
Le but de cet thèse est de contribuer à rendre la programmation Web plus flexible et plus sûre qu'elle ne l'est avec les solutions répandues actuellement. Pour ceci, nous proposons une solution dans la lignée de la famille de langages ML, qui laisse un maximum de liberté au programmeur de part son côté multi-paradigmes, tout en offrant un degré de sûreté important grâce au typage statique. Dans une première partie, nous montrons qu'il est possible de programmer le navigateur sans se plier au style de JavaScript. Notre solution est OBrowser, une implantation en JavaScript de la machine virtuelle OCaml. L'implantation prend en charge l'ensemble du langage OCaml et de sa bibliothèque, y compris le modèle de concurrence préemptif. Nous présentons de plus un mécanisme d'inter-opérabilité entre les couches objet de JavaScript et d'OCaml, permettant d'utiliser de façon bien typée l'environnement du navigateur avec les objets d'OCaml. Dans une seconde partie, nous fournissons une API de manipulation du document plus sûre et de plus haut niveau que le DOM des navigateurs. En particulier, nous cherchons à éliminer les déplacements implicites effectués par le DOM pour maintenir la forme d'arbre, qui limitent les possibilités de typage statique. Nous donnons d'abord fDOM, un modèle formel minimal similaire au DOM. Puis nous proposons cDOM, un modèle alternatif ou les déplacements sont remplacés par des copies. Nous décrivons ensuite FidoML, un langage basé sur ML, permettant les manipulations bien typées du document grâce à l'utilisation de cDOM. Dans toute cette partie, nous faisons attention à ce que les solutions données soient aussi adaptables que possible. Dans une troisième partie, nous montrons comment les travaux, jusqu'ici principalement pré- sentés dans le cadre du navigateur, s'appliquent à un contexte multi-tiers. Nous donnons d'abord un tour d'horizon des plates-formes multi-tiers proches issues de la recherche. Nous décrivons en particulier les solutions qu'elles apportent à un ensemble de problématiques spécifiques à la pro- grammation Web. Puis nous concluons en présentant les grandes lignes d'un langage multi-tiers mettant à profit les travaux des deux premières parties dans les solutions à ces différentes problé- matiques.
APA, Harvard, Vancouver, ISO, and other styles
38

Even, Christian. "Autour du lambda-calcul partiel." Lille 1, 1993. http://www.theses.fr/1993LIL10045.

Full text
Abstract:
Cette thèse a pour objet l'étude des aspects syntaxiques, algébriques et catégoriques du lambda-calcul partiel, qui est un outil théorique pour étudier l'équivalence de programmes exécutées selon un mécanisme d'appel par valeur. En appliquant des techniques éprouvées dans le lambda-calcul pur et en les adaptant à ce calcul on a ainsi obtenu: 1) une preuve de la confluence pour un lambda-calcul partiel simplifie; 2) la caractérisation d'une classe de termes fortement normalisables par un système de types simples; 3) la caractérisation des termes égalisables à une valeur dans le lambda-calcul partiel comme conséquence de celle obtenue par un système de types dans le lambda-calcul par valeur, calcul antérieur et de même vocation que le précédent, mais moins expressif; 4) l'élaboration d'une notion d'algèbre combinatoire répondant à celle de modèle du lambda-calcul partiel et de la relation de cette notion avec la donnée d'une catégorie cartesienne fermée partielle munie d'un objet réflexif
APA, Harvard, Vancouver, ISO, and other styles
39

Loitsch, Florian. "Scheme to JavaScript compilation." Nice, 2009. http://www.theses.fr/2009NICE4066.

Full text
Abstract:
This thesis presents a Scheme to JavaScript compiler. Scheme and JavaScript are similar in many respects but differ in some major points. In the context of a Scheme to JavaScript compilation JavaScript's lack of proper tail recursion and continuations is especially noticeable. In this work we first show that without these two features our compiler produces efficient code that rivals with handwritten JavaScript code. However, this reduced input language is not compliant to the Scheme specification but represents a pragmatical sub-language. In this configuration {\sc{Scm2Js}} has been successfully used on a daily basis within our team. Even though not enabled by default, provides proper tail recursion and continuations too. We present a trampoline based technique for proper tail recursion that has the distinct advantage of efficiently integrating with existing JavaScript code. Our continuations implementation is an improvement over existing exception based continuations. We have adapted previous techniques that were designed for one-shot continuations (designed for check-pointing and migration). In order to capture the essence of our continuation algorithm we have developed, a canonic version of our implementation. Without dependencies on non-standard Scheme features, like exceptions, we advertise as an alternative to CPS. We have proved the correctness of on a simplified version of Scheme
Cette thèse présente un compilateur de Scheme vers JavaScript. Bien que très proches, ces deux langages diffèrent dans des points majeurs. En particulier, les continuations et la récursivité terminale, qui n'existent que dans Scheme, sont importantes dans le contexte d'une telle compilation. Dans ces travaux nous montrons que, sans ces deux fonctionnalités, produit du code aussi efficace que du code écrit à la main. Cependant, ce langage réduit n'est pas conforme à R5RS, la spécification de Scheme, mais représente un sous-langage pragmatique. Dans cette configuration est utilisé quotidiennement dans notre projet. Bien que désactivé par défaut, permet aussi la récursivité terminale et les continuations. Nous présentons dans cette thèse une implémentation de la récursivité terminale qui se base sur la technique des trampolines. Elle a la propriété intéressante de faciliter la coexistence d'un code généré et d'un code JavaScript existant. Notre implémentation des continuations est une amélioration des continuation à base d'exceptions. Nous avons adapté des techniques développées pour des continuations 'one-shot' (utilisées par exemple pour la migration). Pour capturer l'essence de notre algorithme de compilation des continuations nous avons développé, une version canonique de notre implémentation. Indépendant des fonctionnalités non-standard de Scheme, comme les exceptions, nous proposons comme alternative à CPS. Pour une version simplifiée de Scheme nous avons prouvé que est correct
APA, Harvard, Vancouver, ISO, and other styles
40

Jean, David. "CDL+CWS : un langage de prototypes et son environnement." Sherbrooke : Université de Sherbrooke, 1997.

Find full text
APA, Harvard, Vancouver, ISO, and other styles
41

Ezequel, Philippe. "Décomposition en programmation logique." Montpellier 2, 1990. http://www.theses.fr/1990MON20100.

Full text
Abstract:
On étudie dans cette thèse la décomposition de programmes logiques, c'est-à-dire le fait qu'un programme puisse être découpé en sous-programmes de telle sorte que le résultat de l'exécution indépendante de chacun des sous-programmes soit équivalent à l'exécution du programme entier. A cet effet, une nouvelle description des programmes logiques (en termes d'ensembles de buts, les comportements) est donnée. On prouve qu'elle est équivalente aux sémantiques classiques. On en déduit de nouvelles conditions nécessaires et suffisantes d'équivalence et de décomposabilité des programmes logiques. Une étude plus approfondie des comportements montre que certains de leurs buts, appelés donc générateurs, engendrent les autres, et qu'ils suffisent pour décrire opérationnellement le programme. L'existence d'une relation entre décomposabilité et buts générateurs est enfin examinée
APA, Harvard, Vancouver, ISO, and other styles
42

Ladret, Didier. "Construction multistyle de prototypes exploratoires en Prolog : apports de la programmation visuelle et application à la négation." Nice, 1989. http://www.theses.fr/1989NICE4324.

Full text
Abstract:
Le cadre de cette thèse est la manipulation de spécifications de logiciels sous la forme de prototypes exploratoires en Prolog. Un modèle multivue est introduit pour manipuler ce prototype de manière textuelle ou visuelle. L'utilisation des lois de la graphique de Bertin nous permet de proposer une représentation graphique qui se libère de beaucoup de contraintes textuelles et autorise une véritable programmation visuelle. La coopération entre les vues visuelle et textuelle est réalisée en adaptant à la structuration de prototypes Prolog des travaux de la structure mentale des images (théorie des codes duaux, théorie multicode). Chaque vue est proposée pour des classes de clauses Prolog ou son apport est optimal, mais une utilisation des deux vues en parallèle reste possible. Une approche multistyle de la négation permet la mise en œuvre d'une démarche pragmatique exploitant au mieux les résultats de différents travaux théoriques sur ce sujet. L’objectif est de permettre la construction d'un prototype Prolog au plus haut niveau d'expression. On autorise ainsi au programmateur de préciser de manière incrémentale une quantification universelle ou existentielle des variables libres d'un littéral nié
APA, Harvard, Vancouver, ISO, and other styles
43

Coste-Manière, Ève. "Synchronisme et asynchronisme dans la programmation des systèmes robotiques : apport du langage Esterel et de concepts objets." Paris, ENMP, 1991. http://www.theses.fr/1991ENMP0273.

Full text
Abstract:
Les applications robotiques rencontrées dans le domaine manufacturier, en robotique d'intervention ou encore en Téléopération Assistée par Ordinateur, mettent en œuvre des systèmes complexes composés de dispositifs physiques connectés (capteurs, manipulateurs,. . . ). Pour permettre la réalisation d'applications variées, le système robotique doit exécuter un ensemble d'actions dont l'évolution est guidée par des stimuli. La programmation de ces systèmes implique la mise en œuvre de commandes performantes au sein du contrôleur et nécessite également l'intégration correcte et faible d'informations liées à l'évolution de l'environnement et du système lui-même. Nous proposons dans ce mémoire une méthode de programmation de haut niveau des systèmes robotiques dans le cadre du développement d'un contrôleur ouvert pour la robotique. Cette approche est fondée sur deux concepts essentiels: la notion de fonction de tâche dont le rôle est d'exprimer les objectifs de commande et la programmation synchrone des systèmes réactifs (utilisation du langage ESTEREL) pour modéliser les aspects comportementaux de l'application et de ses actions élémentaires. Les différents composants algorithmiques utilisés dans la synthèse des lois de commande sont structurés sous forme de modèles objets. L'un d'entre eux, la tâche robot, définit par un objectif de commande, est un système réactif particulier. L'utilisation du langage synchrone ESTEREL permet de spécifier son comportement. La tâche robot est l'objet clé de notre approche: il s'agit d'un objet doté d'un comportement. L'enchaînement logique et temporel des tâches robots conduisant à l'élaboration d'une application robotique est décrit à l'aide d'un langage de programmation d'application dont les primitives sont traduites en ESTEREL. Les comportements locaux et globaux sont alors fusionnés, de façon cohérente, en un automate global. L'utilisateur bénéficie ainsi de tous les avantages de l'approche synchrone (environnement et validation) sans avoir à écrire le code ESTEREL correspondant. Il est nécessaire d'assurer une interface correcte entre l'automate synchrone de contrôle de l'application et l'environnement d'exécution des tâches asynchrones: pour cela, une «machine d'exécution» d'ESTEREL particulière a été réalisée à l'aide du logiciel de CAO-3D RHOMEO. Plusieurs exemples d'application empruntés au domaine manufacturier sont traités.
APA, Harvard, Vancouver, ISO, and other styles
44

Hao, Jin-Kao. "Combiner la programmation en logique et la résolution des contraintes par évaluation partielle : Conslog." Besançon, 1991. http://www.theses.fr/1991BESA2012.

Full text
Abstract:
Cette these est une contribution a la programmation en logique avec contraintes (clp). Dans un systeme clp, nous distinguons deux aspects: l'inference logique qui est domaine independant et la resolution des contraintes qui est domaine dependant. Dans les systemes clp existants, ces deux aspects sont etroitement lies (integration forte), ce qui pose des problemes d'implantation, d'extensibilite et de performance. Dans cette these, apres une analyse de ces problemes, nous etudions une approche visant a realiser une integration faible de l'inference logique et de la resolution des contraintes. Nous proposons dans ce cadre une architecture modulaire pour la construction de systemes clp, en faisant abstraction au niveau langage, des domaines de calcul. La modularite assure qu'un tel systeme est relativement facile a construire et extensible. L'architecture facilite la realisation d'implantations efficaces, en evitant des traitements repetitifs mais aussi en permettant l'utilisation de techniques de resolution de contraintes existantes. Le prototype conslog est presente pour valider l'approche proposee. Conslog est un systeme clp (extensible) dans les domaines finis entiers positifs. Il comporte deux composants independants: un evaluateur partiel qui effectue les inferences logiques et collecte les contraintes, et un solveur qui resout les contraintes collectees. Ce prototype operationnel, implante en prolog nous a permis d'experimenter differentes techniques de resolution de contraintes sur de nombreux exemples. Nos travaux apportent une vue nouvelle sur la construction des systemes clp
APA, Harvard, Vancouver, ISO, and other styles
45

Abbas, Issam. "Optimisation d'un langage fonctionnel de requêtes pour une base de données orienté-objet." Aix-Marseille 1, 1999. http://www.theses.fr/1999AIX11003.

Full text
Abstract:
Les techniques d'optimisation des requetes sont etroitement liees aux modeles et langages de requetes en question. Dans le cas de systemes relationnels par exemple, les techniques qui ont ete developpees s'appuient principalement sur le modele relationnel et l'algebre qui l'accompagne. Les limitations du modele relationnel, notamment pour modeliser des applications complexes, et le developpement du paradigme objet ont favorise l'emergence des systemes de bases de donnees oriente-objet (sgbdoo). A l'inverse du modele relationnel, il existe plusieurs modeles objets bien que l'on assiste aujourd'hui a une convergence vers le modele odmg. Cette multitude de modeles et leur complixite intrinseque, et l'absence d'une algebre objet unique, font que l'optimisation des langages declaratifs de requetes pour sgbdoo demeure une tache complique. Le travail que nous decrivons dans cette these concerne l'optimisation des langages de requetes pour sgbdoo. Nous nous sommes interesses a la definition d'une algebre qui sert de base a l'optimisation logique des langages fonctionnels de requetes. Nous voulons aussi fournir un langage algebrique intermediaire qui sert a la compilation et a l'optimisation d'un langage de requetes comme oql.
APA, Harvard, Vancouver, ISO, and other styles
46

Laville, Alain. "Évaluation paresseuse des filtrages avec priorité, application au langage ML... /." [Le Chesnay] : [Institut national de recherche en informatique et en automatique], 1988. http://catalogue.bnf.fr/ark:/12148/cb34961837h.

Full text
APA, Harvard, Vancouver, ISO, and other styles
47

Dubois, Patricia Laugier Christian Bolliet Louis. "LM-OBJ un langage de programmation des robots de niveau objet /." S.l. : Université Grenoble 1, 2008. http://dumas.ccsd.cnrs.fr/dumas-00335897.

Full text
APA, Harvard, Vancouver, ISO, and other styles
48

Cunin, Dominique. "Pratiques artistiques sur les écrans mobiles : création d’un langage de programmation." Thesis, Paris 8, 2014. http://www.theses.fr/2014PA080045/document.

Full text
Abstract:
Tout au long de ses évolutions, l'ordinateur n'a cessé de permettre autant la consultation que la création de médias. Mais contrairement à l'activité de consultation, la création de logiciels interactifs demande une certaine maîtrise de la programmation informatique, qui reste le seul moyen de produire des programmes agissant sur une machine numérique. Dans ce contexte, les pratiques artistiques engagées dans la création d'œuvres interactives ne peuvent se dispenser de recourir à la programmation informatique, c'est-À-Dire à la création logicielle. Mais dans quelles situations les artistes se placent-Ils face aux techniques du numérique et à la programmation en particulier ? Cette interrogation, qui trouve de multiples réponses, revient au premier plan lorsque le paysage des appareils numériques de grande consommation connaît un événement majeur. Notre recherche est issue d’une telle situation : à partir de 2007, l’apparition des écrans mobiles (smartphones et tablettes) a été pour nous l’occasion d’interroger le potentiel de ces nouveaux supports dans la création artistique œuvrant avec l’interactivité. Il s'agissait pour nous de faire œuvre avec les écrans mobiles autant que d’en définir les modalités de mise en œuvre esthétique et technique au moment même de leur introduction dans notre quotidien. Nous cherchons à situer une certaine pratique de l’interactivité dans l’art permise par les écrans mobiles et leurs spécificités techniques, en partant de l'hypothèse selon laquelle les écrans mobiles permettent des mises en œuvre artistiques de l’interactivité que d’autres supports numériques ne permettent pas, mais imposent également des créations logicielles spécifiques
Throughout its evolution, the computer never stopped allowing media consultation as well as media creation. Unlike the consultation activity, the creation of interactive software requires some computer programming skills, as it remains the only way to produce programs that acts on a digital machine. In this context, artistic practices involved in the creation of interactive works cannot avoid the use of computer programming and the creation of software. But what circumstances artists are facing when then work with digital technologies and software programming? This question, which has multiple answers, gain in importance when the landscape of massively produced digital devices experiences a major event.Our research is the result of such a situation: starting in 2007, the emergence of mobile screens (smartphones and tablets) was an opportunity to examine the potential of these new digital devices in the field of interactive arts. Our purpose was to create effective art works with mobile screens to be able to define their aesthetic and technical specificities at the very time of their introduction into our daily lives. We try to situate some interactive art practices that mobile screens makes possible thanks to their technical specifications. Our base hypothesis is that mobile screens allow the creation of interactive art work that other digital media cannot afford, but also require the creation of specifics softwares
APA, Harvard, Vancouver, ISO, and other styles
49

Henkouche, Djamel. "Pascal relationnel : un langage de programmation de relations à structure complexe." Toulouse 3, 1990. http://www.theses.fr/1990TOU30067.

Full text
Abstract:
Cette these traite de l'integration de concepts de bases de donnees et des objets a structure complexe dans les langages de programmation. On presente dans cet ouvrage un langage construit a partir du langage pascal par adjonctions de constructions inspirees du domaine des bases de donnees. Dans le premier chapitre sont enoncees les operations relationnelles a integrer dans un langage de programmation pour la prise en compte des relations et des objets a structure complexe. Le second et le troisieme chapitre decrivent le langage obtenu a partir de l'integration des outils relationnels et des outils de manipulation des objets complexes. Les instructions relationnelles sont inspirees du calcul des predicats. Dans le quatrieme chapitre sont presentes d'une part la methode de realisation du compilateur et d'autre part des algorithmes utilises. Enfin, en dernier chapitre est decrite une methode d'optimisation utilisee pour le traitement des operations relationnelles
APA, Harvard, Vancouver, ISO, and other styles
50

TALON, XAVIER. "Metatask, un langage de programmation oriente-tache pour des systemes robustes." Paris 11, 1999. http://www.theses.fr/1999PA112139.

Full text
Abstract:
Garantir la qualite du logiciel est presque banal en genie logiciel. Pour les systemes a base de connaissances, c'est moins habituel. Cette question n'a jusqu'ici pratiquement pas ete abordee pour des systemes de nouvelle generation bases sur un langage de tache. La base de connaissances comporte en plus des connaissances du domaine, une base de taches et de methodes. Pour des systemes flexibles deux autres composantes interviennent : une base de strategies et un meta-systeme de controle. Le travail presente dans cette these s'inscrit dans le cadre general de la garantie du logiciel pour de tels systemes. Pour des programmes classiques il est tout a fait naturel de s'assurer que les algorithmes utilises satisfont certaines bonnes proprietes. Nous nous sommes attaques a cette problematique pour des systemes a base de taches en choisissant de l'aborder au niveau de la semantique du langage. Le langage metatask, est un langage de programmation qui permet la realisation de systemes a base de taches flexibles, tout en garantissant les proprietes suivantes (i) la terminaison : le systeme s'arrete en un temps fini sur un echec ou sur un resultat, (ii) la correction : les resultats obtenus correspondent bien a des solutions aux problemes traites et (iii) la semi-completude : si une solution au probleme existe, elle sera obtenue par le systeme. Ces resultats reposent sur deux points cles. D'une part, la semantique des programmes ainsi que la dynamique des applications realisees sont rigoureusement definies grace a la specification formelle du langage, basee sur les types abstraits algebriques. D'autre part, nous avons sur-specifie le controle en imposant un noyau predefini pour le meta-controle. Ce noyau automatiquement ajoute a tout programme ecrit en metatask est lui-meme ecrit en metatask. Il permet la mise en uvre du principe de garde-fou qui, par la modification dynamique du controle en fonction du contexte de la resolution, evite des comportements indesirables.
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography