• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 354
  • 85
  • 42
  • 24
  • 11
  • 11
  • 11
  • 11
  • 11
  • 11
  • 9
  • 7
  • 4
  • 3
  • 2
  • Tagged with
  • 715
  • 715
  • 408
  • 303
  • 302
  • 213
  • 120
  • 106
  • 96
  • 95
  • 94
  • 84
  • 59
  • 58
  • 56
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
621

Formal specification of interactive graphics programming languages

Mallgren, William R. January 1900 (has links)
Thesis (Ph. D.)--University of Washington, 1981. / Includes bibliographical references (p. [259]-265) and index.
622

Action refinement in process algebras /

Aceto, Luca. January 1992 (has links)
Thesis (Ph. D.)--University of Sussex, 1990. / Includes bibliographical references (p. 265-271) and index.
623

Semantic Interoperability of Geospatial Ontologies: A Model-theoretic Analysis

Farrugia, James A. January 2007 (has links) (PDF)
No description available.
624

Agraphs: defini??o, implementa??o e suas ferramentas

Sena, Dem?stenes Santos de 19 May 2006 (has links)
Made available in DSpace on 2014-12-17T15:47:45Z (GMT). No. of bitstreams: 1 DemostenesSS.pdf: 468027 bytes, checksum: 7ef30fc93402336c75356410113f8a56 (MD5) Previous issue date: 2006-05-19 / Programs manipulate information. However, information is abstract in nature and needs to be represented, usually by data structures, making it possible to be manipulated. This work presents the AGraphs, a representation and exchange format of the data that uses typed directed graphs with a simulation of hyperedges and hierarchical graphs. Associated to the AGraphs format there is a manipulation library with a simple programming interface, tailored to the language being represented. The AGraphs format in ad-hoc manner was used as representation format in tools developed at UFRN, and, to make it more usable in other tools, an accurate description and the development of support tools was necessary. These accurate description and tools have been developed and are described in this work. This work compares the AGraphs format with other representation and exchange formats (e.g ATerms, GDL, GraphML, GraX, GXL and XML). The main objective this comparison is to capture important characteristics and where the AGraphs concepts can still evolve / Programas manipulam informa??es. Entretanto, as informa??es s?o essencialmente abstratas e precisam ser representadas, normalmente por estruturas de dados, permitindo a sua manipula??o. Esse trabalho apresenta os AGraphs, um formato de representa??o e transfer?ncia de dados que usa grafos direcionados tipados que permitem a simula??o de hiperarestas e de grafos hier?rquicos. Associado ao formato AGraphs existe uma biblioteca de manipula??o com uma interface simples de ser usada, mas dependente da linguagem. O formato AGraphs foi usado de maneira ad-hoc como formato de representa??o em algumas ferramentas desenvolvidas na UFRN, e, com a possibilidade de uso em outras aplica??es, tornou-se necess?ria uma defini??o precisa e o desenvolvimento de ferramentas de suporte. A defini??o precisa e as ferramentas foram desenvolvidas e s?o descritas neste trabalho. Finalizando, compara??es do formato AGraphs com outros formatos de representa??o e transfer?ncia de dados (ATerms, GDL, GraphML, GraX, GXL e XML) s?o realizadas. O principal objetivo destas compara??es ? obter as caracter?sticas significantes e em que conceitos o formato e a biblioteca AGraphs deve amadurecer
625

Uma Linguagem de Programação Paralela Orientada a Objetos para Arquiteturas Distribuídas / A Programming Language for Parallel Object-Oriented Distributed Architectures

Pinho, Eduardo Gurgel January 2012 (has links)
PINHO, Eduardo Gurgel. Uma Linguagem de Programação Paralela Orientada a Objetos para Arquiteturas Distribuídas. 2012. 71 f. : Dissertação (mestrado) - Universidade Federal do Ceará, Centro de Ciências, Departamento de Computação, Fortaleza-CE, 2012. / Submitted by guaracy araujo (guaraa3355@gmail.com) on 2016-06-21T19:17:42Z No. of bitstreams: 1 2012_dis_egpinho.pdf: 1247267 bytes, checksum: b2db45af231441771b82531797f8c819 (MD5) / Approved for entry into archive by guaracy araujo (guaraa3355@gmail.com) on 2016-06-21T19:19:30Z (GMT) No. of bitstreams: 1 2012_dis_egpinho.pdf: 1247267 bytes, checksum: b2db45af231441771b82531797f8c819 (MD5) / Made available in DSpace on 2016-06-21T19:19:30Z (GMT). No. of bitstreams: 1 2012_dis_egpinho.pdf: 1247267 bytes, checksum: b2db45af231441771b82531797f8c819 (MD5) Previous issue date: 2012 / In object-oriented programming (OOP) languages, the ability to encapsulate software concerns of the dominant decomposition in objects is the key to reaching high modularity and loss of complexity in large scale designs. However, distributed-memory parallelism tends to break modularity, encapsulation, and functional independence of objects, since parallel computations cannot be encapsulated in individual objects, which reside in a single address space. For reconciling object-orientation and distributed-memory parallelism, this work introduces OOPP (Object-Oriented Parallel Programming), a style of OOP where objects are distributed by default. As an extension of C++, a widespread language in HPC, the PObC++ language has been designed and protoyped, incorporating the ideas of OOPP / Em programação orientadas a objetos (POO) , a habilidade de encapsular interesses de software da dominante decomposição em objetos é a chave para alcançar alto nível de modularidade e diminuição de complexidade em projetos de larga escala. Entretanto, o paralelismo de memória distribuída tende a quebrar modularidade, encapsulamento e a independência de objetos, uma vez que as computações paralelas não podem ser encapsuladas em objetos individuais, os quais residem em um espaço de endereçamento único. Para reconciliar orientação a objetos e paralelismo em memória distribuída, esse trabalho introduz a PPOO (Programação Paralela Orientada a Objetos), um estilo de POO onde objetos são distribuídos por padrão. Como uma estensão do C++, uma linguagem consolidada em CAD, a linguagem PObC++ foi projetada e prototipada, incorporando as ideias da PPOO.
626

TIREX : une représentation textuelle intermédiaire pour un environnement d'exécution virtuel, échanger des informations du compilateur et d'analyse du programme / TIREX : A textual target-level intermediate representation for virtual execution environment, compiler information exchange and program analysis

Pietrek, Artur 02 October 2012 (has links)
Certains environnements ont besoin de plusieurs compilateurs, par exemple un pour le système d'exploitation, supportant la norme C/C++ complète, et l'autre pour les applications, qui supporte éventuellement un sous-ensemble de la norme, mais capable de fournir plus de performance. Le maintien de plusieurs compilateurs pour une plateforme cible représente un effort considérable. Il est donc plus facile d'implémenter et de maintenir un seul outil responsable des optimisations particulières au processeur ciblé. Il nous faut alors un moyen de relier ces compilateurs à l'optimiseur, de préférence, en gardant au passage certaines structures de données internes aux compilateurs qui, soit prendraient du temps, soit seraient impossible à reconstruire à partir du code assembleur par exemple. Dans cette thèse, nous introduisons Tirex, une représentation textuelle intermédiaire pour échanger des informations de bas niveau, déjà dépendantes de la cible, entre les compilateurs, les optimiseurs et les autres outils de la chaîne de compilation. Notre représentation contient un flot d'instructions du processeur cible, mais garde également la structure explicite du programme et supporte la forme SSA (Static Single Assignment). Elle est facilement extensible et très flexible, ce qui permet de transmettre toute donnée jugée importante à l'optimiseur. Nous construisons Tirex par extension de MinIR, une représentation intermédiaire elle-même basée sur un encodage YAML des structures du compilateur. Nos extensions de Tirex comprennent: l'abaissement de la représentation au niveau du processeur cible, la conservation du flot de données du programme, ainsi que l'ajout d'informations sur les structures de boucles et les dépendances de données. Nous montrons que Tirex est polyvalent et peut être utilisé dans une variété d'applications différentes, comme par exemple un environnement d'exécution virtuel (VEE),et fournit une base forte pour un environnement d'analyse du programme. Dans le cadre d'un VEE, nous présentons un interprèteur de la forme SSA et un compilateur just-in-time (JIT). Nous montrons comment l'interprétation d'une représentation au niveau du processeur cible élimine la plupart des problèmes liés à l'exécution en mode mixte. Nous explorons également les questions liées à l'interprétation efficace d'une représentation de programme sous la forme SSA. / Some environments require several compilers, for instance one for the operating system, supporting the full C/C++ norm, and one for the applications, potentially supporting less but able to derive more performance. Maintaining different compilers for a target requires considerable effort, thus it is easier to implement and maintain target-dependent optimizations in a single, external tool. This requires a way of connecting these compilers with the target-dependent optimizer, preferably passing along some internal compiler data structures that would be time-consuming, difficult or even impossible to reconstruct from assembly language for instance. In this thesis we introduce Tirex, a Textual Intermediate Representation for EXchanging target-level information between compilers, optimizers an different tools in the compilation toolchain. Our intermediate representation contains an instruction stream of the target processor, but still keeps the explicit program structure and supports the SSA form(Static Single Assignment). It is easily extensible and highly flexible, which allows any data to be passed for the purpose of the optimizer. We build Tirex by extending the existing Minimalist Intermediate Representation (MinIR), itself expressed as a YAML textual encoding of compiler structures. Our extensions in Tirex include: lowering the representation to a target level, conserving the program data stream, adding loop scoped information and data dependencies. Tirex is currently produced by the Open64 and the LLVM compilers, with a GCC producer under work. It is consumed by the Linear Assembly Optimizer (LAO), a specialized, target-specific, code optimizer. We show that Tirex is versatile and can be used in a variety of different applications, such as a virtual execution environment (VEE), and provides strong basis for a program analysis framework. As part of the VEE, we present an interpreter for a Static Single Assignment (SSA) form and a just-in-time (JIT) compiler. We show how interpreting a target-level representation eliminates most of the complexities of mixed-mode execution. We also explore the issues related to efficiently interpreting a SSA form program representation.
627

Contribuição para materialização do paradigma orientado a notificações (PON) via framework e wizard

Valença, Glauber Zárate 23 August 2012 (has links)
O emergente Paradigma Orientado a Notificações (PON) está materializado em um Framework desenvolvido na linguagem de programação C++. Este foi projetado para fornecer uma Application Programming Interface (API) e estruturas de alto nível que facilitasse o desenvolvimento de software segundo sua orientação. Entretanto, isto induz a uma sobrecarga de processamento computacional em cada aplicação PON. Ainda, uma embrionária interface amigável denominada Wizard foi concebida para prover recursos de alto nível para o desenvolvimento de certas aplicações PON. Assim, este trabalho propõe uma nova materialização do Framework PON e a evolução de sua interface Wizard. Ao final, estes são validados por meio de comparações quantitativas e qualitativas em relação aos seus artefatos precedentes. A comparação quantitativa diz respeito a desempenho de instâncias de Framework, enquanto que a qualitativa sobre facilidades de suas composições em relação ao conjunto interface e Framework PON. / The Emerging Notification Oriented Paradigm (NOP) is materialized in a Framework developed in the C++ language programming. The NOP Framework was designed to provide an Application Programming Interface (API) and high-level structures that would facilitate the development of software according to their orientation. However, this implies to a computational processing overhead of each NOP application. Still, an embryonic friendly Interface called Wizard was designed to provide high-level resource for the development of certain NOP applications. Thus, this work proposes a new version of materialization of NOP Framework and the evolution of its Wizard Interface. At the end, these are validated by quantitative and qualitative comparisons, in a relation to its previous artifacts. The quantitative comparisons are referent of the performance to the Framework instances, whereas the qualitative comparisons are about the facilities of yours compositions.
628

Contribuição para materialização do paradigma orientado a notificações (PON) via framework e wizard

Valença, Glauber Zárate 23 August 2012 (has links)
O emergente Paradigma Orientado a Notificações (PON) está materializado em um Framework desenvolvido na linguagem de programação C++. Este foi projetado para fornecer uma Application Programming Interface (API) e estruturas de alto nível que facilitasse o desenvolvimento de software segundo sua orientação. Entretanto, isto induz a uma sobrecarga de processamento computacional em cada aplicação PON. Ainda, uma embrionária interface amigável denominada Wizard foi concebida para prover recursos de alto nível para o desenvolvimento de certas aplicações PON. Assim, este trabalho propõe uma nova materialização do Framework PON e a evolução de sua interface Wizard. Ao final, estes são validados por meio de comparações quantitativas e qualitativas em relação aos seus artefatos precedentes. A comparação quantitativa diz respeito a desempenho de instâncias de Framework, enquanto que a qualitativa sobre facilidades de suas composições em relação ao conjunto interface e Framework PON. / The Emerging Notification Oriented Paradigm (NOP) is materialized in a Framework developed in the C++ language programming. The NOP Framework was designed to provide an Application Programming Interface (API) and high-level structures that would facilitate the development of software according to their orientation. However, this implies to a computational processing overhead of each NOP application. Still, an embryonic friendly Interface called Wizard was designed to provide high-level resource for the development of certain NOP applications. Thus, this work proposes a new version of materialization of NOP Framework and the evolution of its Wizard Interface. At the end, these are validated by quantitative and qualitative comparisons, in a relation to its previous artifacts. The quantitative comparisons are referent of the performance to the Framework instances, whereas the qualitative comparisons are about the facilities of yours compositions.
629

On the semantics of disjunctive logic programs / Sémantique des programmes logiques disjonctifs

Tsouanas, Athanasios 02 July 2014 (has links)
Cette thèse s’intéresse à la sémantique dénotationnelle (en théorie desmodèles et en théorie des jeux) de quatre langages de programmation logique: - LP, le plus restrictif de tous, - DLP, une extension de LP aux disjonctions, - LPN, une extension de LP aux négations, et - DLPN, qui inclut les deux.Ce manuscrit apporte trois contributions principales:(1) Un cadre abstrait pour la sémantique de la programmation logique yest défini, et toutes les approches sémantiques que nous étudions par lasuite prennent place dans ce cadre.Nous définissons la notion générale d'espace de valeurs de vérité commeune structure algébrique spécifique, satisfaisant un certain ensembled'axiomes. Les booléens forment l'exemple canonique d'un tel espace,mais nous devons étudier des cas plus généraux si nous voulonsconsidérer la "négation par l'échec". Pour cela, nous définissons etétudions une famille infinie d'espaces, paramétrée par un ordinal.(2) Une sémantique des jeux pour LP a été définie en 1986, et son étudea été approfondie en 1998. Elle a ensuite été étendue au cas desprogrammes LPN en 2005.Ici nous développons en détails une sémantique pour les programmes DLP.Nous prouvons qu'elle est correcte et complète par rapport aux modèlesminimaux de Minker.(3) Nous définissons un opérateur sémantique qui, étant donnée une sémantique abstraite d'un langage non disjonctif, la transforme en une sémantique disjonctive associée.La correction de cette transformation découle du fait qu'elle conserveles équivalences de sémantiques.Nous en présentons ensuite quelques applications qui permettent, entre autres, d'obtenir la première sémantique des jeux pour DLPN. / In this thesis, we study denotational semantics (model-theoretic andgame-theoretic) of four logic programming languages:- LP which is the most restrictive one;- DLP which extends LP by allowing disjunctions;- LPN which extends LP by allowing negations; and- DLPN which allows both.The three main contributions of this dissertation can be summarized as follows:(1) An abstract framework for logic programming semantics is definedand all semantic approaches that we study are placed within this framework.We define the general notion of a truth value space as an appropriate algebraicstructure that satisfies a set of axioms.The booleans form the canonical example of such a space, but we need toconsider much more general ones when dealing with negation-as-failure. Forthis we define and study an infinite family of spaces, parametrized over anordinal number.(2) A game semantics for LP was defined in 1986 and further studied in 1998.Then in 2005 it was extended for the case of LPN programs.Here a game semantics for DLP programs is developed in full detail; we provethat it is sound and complete with respect to the standard, minimal modelssemantics of Minker.(3) We define a semantic operator which transforms any given abstractsemantics of a non-disjunctive language to a semantics of the"corresponding" disjunctive one. We exhibit the correctness of thistransformation by proving that it preserves equivalences of semantics,and we present some applications of it, obtaining new game semantics forDLPN, among others.
630

The epidemics of programming language adoption

BARREIROS, Emanoel Francisco Spósito 29 August 2016 (has links)
Submitted by Irene Nascimento (irene.kessia@ufpe.br) on 2016-10-17T18:29:55Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) phd_efsb_FINAL_BIBLIOTECA.pdf: 7882904 bytes, checksum: df094c44eb4ce5be12596263047790ed (MD5) / Made available in DSpace on 2016-10-17T18:29:55Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) phd_efsb_FINAL_BIBLIOTECA.pdf: 7882904 bytes, checksum: df094c44eb4ce5be12596263047790ed (MD5) Previous issue date: 2016-08-29 / FACEPE / Context: In Software Engineering, technology transfer has been treated as a problem that concernsonly two agents (innovation and adoption agents) working together to fill the knowledge gap between them. In this scenario, the transfer is carried out in a “peer-to-peer” fashion, not changing the reality of individuals and organizations around them. This approach works well when one is just seeking the adoption of a technology by a“specific client”. However, it can not solve a common problem that is the adoption of new technologies by a large mass of potential new users. In a wider context like this, it no longer makes sense to focus on “peer-to-peer” transfer. A new way of looking at the problem is necessary. It makes more sense to approach it as diffusion of innovations, where there is an information spreading in a community, similar to that observed in epidemics. Objective: This thesis proposes a paradigm shift to show the adoption of programming languages can be formally addressed as an epidemic. This focus shift allows the dynamics of programming language adoption to be mathematically modelled as such, and besides finding models that explain the community’s behaviour when adopting programming languages, it allows some predictions to be made, helping both individuals who wish to adopt a new language that might seem to be a new industry standard, and language designers to understand in real time the adoption of a particular language by a community. Method: After a proof of concept with data from Sourceforge (2000 to 2009), data from GitHub (2009 to January 2016), a well-known open source software repository, and Stack Overflow (2008 to March 2016), a popular Q&A system for software developers, were obtained and preprocessed. Using cumulative biological growth functions, often used in epidemiological contexts, we obtained adjusted models to the data. Once with the adjusted models, we evaluated their predictive capabilities through repeated applications of hypothesis testing and statistical calculations in different versions of the models obtained after adjusting the functions to samples of different time frames from the repositories. Results: We show that programming language adoption can be formally considered an epidemiological phenomenon by adjusting a well-known mathematical function used to describe such phenomena. We also show that, using the models found, it is possible to forecast programming languages adoption. We also show that it is possible to have similar insights by observing user data, as well as data from the community itself, not using software developers as susceptible individuals. Limitations: The forecast of the adoption outcome (asymptote) needs to be taken with care because it varies depending on the sample size, which also influences the quality of forecasts in general. Unfortunately, we not always have control over the sample size, because it depends on the population under analysis. The forecast of programming language adoption is only valid for the analysed population; generalizations should be made with caution. Conclusion: Addressing programming languages adoption as an epidemiological phenomenon allows us to perform analyses not possible otherwise. We can have an overview of a population in real time regarding the use of a programming language, which allows us, as innovation agents, to adjust our technology if it is not achieving the desired “penetration”; as adoption agents, we may decide, ahead of our competitors, to adopt a seemingly promising technology that may ultimately become a standard. / Contexto: Em Engenharia de Software, transferência de tecnologia tem sido tratada como um problema pontual, um processo que diz respeito a dois agentes (os agentes de inovação e adoção) trabalhando juntos para preencher uma lacuna no conhecimento entre estes dois. Neste cenário, a transferência é realizada “ponto a ponto”, envolvendo e tendo efeito apenas nos indivíduos que participam do processo. Esta abordagem funciona bem quando se está buscando apenas a adoção da tecnologia por um “cliente” específico. No entanto, ela não consegue resolver um problema bastante comum que é a adoção de novas tecnologias por uma grande massa de potenciais novos usuários. Neste contexto mais amplo, não faz mais sentido focar em transferência ponto a ponto, faz-se necessária uma nova maneira de olhar para o problema. É mais interessante abordá-lo como difusão de inovações, onde existe um espalhamento da informação em uma comunidade, de maneira semelhante ao que se observa em epidemias. Objetivo: Esta tese de doutorado mostra que a adoção de linguagens de programação pode ser tratada formalmente como uma epidemia. Esta mudança conceitual na maneira de olhar para o fenômeno permite que a dinâmica da adoção de linguagens de programação seja modelada matematicamente como tal, e além de encontrar modelos que expliquem o comportamento da comunidade quando da adoção de uma linguagem de programação, permite que algumas previsões sejam realizadas, ajudando tanto indivíduos que desejem adotar uma nova linguagem que parece se apresentar como um novo padrão industrial, quanto ajudando projetistas de linguagens a entender em tempo real a adoção de uma determinada linguagem pela comunidade. Método: Após uma prova de conceito com dados do Sourceforge (2000 a 2009), dados do GitHub (2009 a janeiro de 2016) um repositório de projetos software de código aberto, e Stack Overflow (2008 a março de 2016) um popular sistema de perguntas e respostas para desenvolvedores de software, from obtidos e pré processados. Utilizando uma função de crescimento biológico cumulativo, frequentemente usada em contextos epidemiológicos, obtivemos modelos ajustados aos dados. Uma vez com os modelos ajustados, realizamos avaliações de sua precisão. Avaliamos suas capacidades de previsão através de repetidas aplicações de testes de hipóteses e cálculos de estatísticas em diferentes versões dos modelos, obtidas após ajustes das funções a amostras de diferentes tamanhos dos dados obtidos. Resultados: Mostramos que a adoção de linguagens de programação pode ser considerada formalmente um fenômeno epidemiológico através do ajuste de uma função matemática reconhecidamente útil para descrever tais fenômenos. Mostramos também que é possível, utilizando os modelos encontrados, realizar previsões da adoção de linguagens de programação em uma determinada comunidade. Ainda, mostramos que é possível obter conclusões semelhantes observando dados de usuários e dados da comunidade apenas, não usando desenvolvedores de software como indivíduos suscetíveis. Limitações: A previsão do limite superior da adoção (assíntota) não é confiável, variando muito dependendo do tamanho da amostra, que também influencia na qualidade das previsões em geral. Infelizmente, nem sempre teremos controle sob o tamanho da amostra, pois ela depende da população em análise. A adoção da linguagem de programação só é válida para a população em análise; generalizações devem ser realizadas com cautela. Conclusão: Abordar o fenômeno de adoção de linguagens de programação como um fenômeno epidemiológico nos permite realizar análises que não são possíveis de outro modo. Podemos ter uma visão geral de uma população em tempo real no que diz respeito ao uso de uma linguagem de programação, o que nos permite, com agentes de inovação, ajustar a tecnologia caso ela não esteja alcançando o alcance desejado; como agentes de adoção, podemos decidir por adotar uma tecnologia aparentemente promissora que pode vir a se tornar um padrão.

Page generated in 0.0414 seconds