To see the other types of publications on this topic, follow the link: C (programming languages).

Dissertations / Theses on the topic 'C (programming languages)'

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 'C (programming languages).'

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

Pichon-Pharabod, Jean Yves Alexis. "A no-thin-air memory model for programming languages." Thesis, University of Cambridge, 2018. https://www.repository.cam.ac.uk/handle/1810/274465.

Full text
Abstract:
Many hardware and compiler optimisations introduced to speed up single-threaded programs also introduce additional, sometimes surprising, behaviours for concurrent programs with shared mutable state. How many of these extra behaviours occur in practice depends on the combination of the hardware, compiler, runtime, etc. that make up the platform. A memory model, which prescribes what values each read of a concurrent program can read, allows programmers to determine whether a program behaves as expected without having to worry about the details of the platform. However, capturing these behaviours in a memory model without also including undesirable "out-of-thin-air" behaviours that do not occur in practice has proved elusive. The memory model of C and C++ allows out-of-thin-air behaviour, while the Java memory model fails to capture some behaviours that are introduced in practice by compiler optimisations. In this thesis, we propose a memory model that forbids out-of-thin-air behaviour, yet allows the behaviours that do occur. Our memory model follows operational intuitions of how the hardware and compilers operate. We illustrate that it behaves as desired on a series of litmus tests. We show that it captures at least some of the expected behaviours, that it forms an envelope around some common compiler optimisations, and that it is implementable on common hardware using the expected compilation schemes. We also show that it supports some established programming idioms.
APA, Harvard, Vancouver, ISO, and other styles
2

McNamara, Brian. "Multiparadigm programming novel devices for implementing functional and logic programming constructs in C++ /." Diss., Available online, Georgia Institute of Technology, 2004:, 2004. http://etd.gatech.edu/theses/available/etd-07122004-121450/unrestricted/mcnamara%5Fbrian%5Fm%5F200407%5Fphd.pdf.

Full text
Abstract:
Thesis (Ph. D.)--College of Computing, Georgia Institute of Technology, 2005. Directed by Yannis Smaragdakis.<br>Spencer Rugaber, Committee Member ; Olin Shivers, Committee Member ; Mary Jean Harrold, Committee Member ; Yannis Smaragdakis, Committee Chair ; Philip Wadler, Committee Member. Includes bibliographical references.
APA, Harvard, Vancouver, ISO, and other styles
3

Tonchev, Ognyan, and Mohammed Salih. "High-level programming languages translator." Thesis, Blekinge Tekniska Högskola, Avdelningen för för interaktion och systemdesign, 2008. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2560.

Full text
Abstract:
This paper discusses a high level language translator. If we divide translators of programming languages in two types: those working for two specific languages and universal translators that can be used for translation between different programming languages, the solution that will be presented in this work can be classified as both, specific language oriented and an universal translator. For the purpose of the research it was limited to translate only from Java to C++, but it can easily be extended to translate between any other high level languages. For simplifying the process of translation the project uses an intermediate step. All programs in the input language are first compiled to an abstract XML language and then to the desired output language. That way it is not necessary to translate directly from one programming language to another which is a very tricky and difficult task and could make the solution difficult to be maintained and extended. Hence the translator can also be used to translate from any high level language to XML. That gives another advantage to our solution: an XML representation of a computer program is valuable information by itself. We describe the design and implementation of the solution, demonstrate how it works and also give information on how it can be extended to work for any other programming language.<br>This paper discusses a high level language translator. If we divide translators of programming languages in two types: those working for two specific languages and universal translators that can be used for translation between different programming languages, the solution that will be presented in this work can be classified as both, specific language oriented and an universal translator. For the purpose of the research it was limited to translate only from Java to C++, but it can easily be extended to translate between any other high level languages. For simplifying the process of translation the project uses an intermediate step. All programs in the input language are first compiled to an abstract XML language and then to the desired output language. That way it is not necessary to translate directly from one programming language to another which is a very tricky and difficult task and could make the solution difficult to be maintained and extended. Hence the translator can also be used to translate from any high level language to XML. That gives another advantage to our solution: an XML representation of a computer program is valuable information by itself. We describe the design and implementation of the solution, demonstrate how it works and also give information on how it can be extended to work for any other programming language.
APA, Harvard, Vancouver, ISO, and other styles
4

Laos, Pontus, and Alexander Libot. "Comparing Conventional- and Modern Programming Languages for Developing a File System." Thesis, Malmö universitet, Institutionen för datavetenskap och medieteknik (DVMT), 2021. http://urn.kb.se/resolve?urn=urn:nbn:se:mau:diva-43451.

Full text
Abstract:
Most of the software stack is built upon C today. C is a very flexible language, but the flexibility also brings some safety risks, particularly when handling memory through pointers. Rust is a new programming language which can guarantee memory safety without performance-heavy runtime services such as garbage collection. In this article, two partial file systems are implemented based on the design of EXT2. One system is implemented in C — Nafs — and one system is implemented in Rust — Rufs. A number of benchmarks are also developed, with the purpose of testing the most common features of a file system. After running the benchmarks, the results showed that Nafs provided better performance for all but one feature. There could be many reasons for this, and some hypotheses are discussed. Aspects like different compiler optimizations, the use of pointer dereferencing vs. data structure representation, using dynamic memory, and using system calls are considered. Some optimizations to Rufs are also implemented, and their impact analyzed. Earlier research has shown that Rust can guarantee memory safety while still providing good performance. It has also shown that Rust can be used to implement system programs, such as operating system kernels. Over the course of this article, it is shown that safe Rust can be used to implement a file system — thereby guaranteeing a memory safe program. It is also shown that a file system implemented in safe Rust provides worse performance than a similar system written in C. Future work will have to tell whether a file system can be as performant in Rust as in C, by using different implementation methods or unsafe Rust for some of the most performance critical parts of the system.
APA, Harvard, Vancouver, ISO, and other styles
5

Concepcion, Rowen. "Introducing Non-Determinism to the Parallel C Compiler." CSUSB ScholarWorks, 2014. https://scholarworks.lib.csusb.edu/etd/22.

Full text
Abstract:
The Planguages project is the birthplace of the Planguage programmingapproach, which is designed to alleviate the task of writing parallelprograms and harness massively parallel computers and networks of workstations. Planguage has two existing translators, Parallel C (PC) and Pfortran,which is used for their base languages, C and Fortran77. The translatorswork with MPI (Message Passing Interface) for communications. SOS(ipStreams, Overlapping and Shortcutting), a function library that supportsthe three named functionalities, can be used to further optimize parallel algorithms. This project is the next step in the continuing project of updatingthe PC Compiler. The goal is to test the viability of using “shortcutting”functions. Parallel programs with the ability to shortcut can be generatedby the updated version of the PC Compiler. In addition, this project introducesthe ability of the PC Compiler to translate a race condition intoa non-deterministic solution. This document explores different phases of the project in detail. Thefollowing phases are included: software design, algorithm design, analysis,and results. The deliverables, source code, and diagrams are included asAppendices.
APA, Harvard, Vancouver, ISO, and other styles
6

Roback, Joseph Anthony. "Gossamer: A Lightweight Approach to Using Multicore Machines." Diss., The University of Arizona, 2010. http://hdl.handle.net/10150/194468.

Full text
Abstract:
The key to performance improvements in the multicore era is for software toutilize the newly available concurrency. Consequently, programmers will have tolearn new programming techniques, and software systems will have to be able tomanage the parallelism effectively. The challenge is to do so simply, portably,and efficiently.This dissertation presents a lightweight programming framework called Gossamerthat is easy to use, enables the solution of a broad range of parallelprogramming problems, and produces efficient code. Gossamer supports task andrecursive parallelism, iterative parallelism, domain decomposition, pipelinedcomputations, and MapReduce computations. Gossamer contains (1) a set ofhigh-level annotations that one adds to a sequential program to specifyconcurrency and synchronization, (2) a source-to-source translator that producesan optimized program, and (3) a run-time system that provides efficient threadsand synchronization. The annotation-based programming model simplifies writingparallel programs by allowing the programmer to concentrate on the applicationand not the extensive bookkeeping involved with concurrency and synchronization;moreover, the annotations never reference any particulars of the underlyinghardware.
APA, Harvard, Vancouver, ISO, and other styles
7

Li, Bin. "An interface between single assignment C and vector pascal." Connect to e-thesis, 2007. http://theses.gla.ac.uk/107/.

Full text
Abstract:
Thesis (Ph.D.) - University of Glasgow, 2007.<br>Ph.D. thesis submitted to the Department of Computing Science, Faculty of Information and Mathematical Sciences, University of Glasgow, 2007. Includes bibliographical references. Print version also available.
APA, Harvard, Vancouver, ISO, and other styles
8

Karlbäck, Rasmus, and Anton Orö. "Holistic View on Alternative Programming languages for Radio Access Network Applications in Cloud and Embedded Deployments." Thesis, Linköpings universitet, Programvara och system, 2021. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-176307.

Full text
Abstract:
With the emergence of cloud based solutions, companies such as Ericsson AB have started investigating different means of modernizing current implementations of software systems. With many new programming languages emerging such as Rust and Go, investigating the suitability of these languages compared to C++ can be seen as a part of this modernization process. There are many important aspects to consider when investigating the suitability of new programming languages, and this thesis makes an attempt at considering most of them. Therefore both performance which is a common metric as well as development efficiency which is a less common metric, were combined to provide a holistic view. Performance was defined as CPU usage, maximum memory usage, processing time per sequence and latency at runtime, which was measured on both x86 and ARM based hardware. Development efficiency was defined as the combination of the productivity metric, the maintainability index metric and the cognitive complexity metric. Combining these two metrics resulted in two general guidelines: if the application is constantly under change and performance is not critical, Go should be the language of choice. If instead performance is critical C++ should be the language of choice. Overall, when choosing a suitable programming language, one needs to weigh development efficiency against performance to make a decision.
APA, Harvard, Vancouver, ISO, and other styles
9

Shear, Raymond F. "Implementation of a Modula 2 subset compiler supporting a "C" language interface using commonly available UNIX tools /." Online version of thesis, 1989. http://hdl.handle.net/1850/10505.

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

Masliah, Ian. "Méthodes de génération automatique de code appliquées à l’algèbre linéaire numérique dans le calcul haute performance." Thesis, Université Paris-Saclay (ComUE), 2016. http://www.theses.fr/2016SACLS285/document.

Full text
Abstract:
Les architectures parallèles sont aujourd'hui présentes dans tous les systèmes informatiques, allant des smartphones aux supercalculateurs en passant par les ordinateurs de bureau. Programmer efficacement ces architectures en fonction des applications requiert un effort pluridisciplinaire portant sur les langages dédiés (Domain Specific Languages - DSL), les techniques de génération de code et d'optimisation, et les algorithmes numériques propres aux applications. Dans cette thèse, nous présentons une méthode de programmation haut niveau prenant en compte les caractéristiques des architectures hétérogènes et les propriétés existantes des matrices pour produire un solveur générique d'algèbre linéaire dense. Notre modèle de programmation supporte les transferts explicites et implicites entre un processeur (CPU) et un processeur graphique qui peut être généraliste (GPU) ou intégré (IGP). Dans la mesure où les GPU sont devenus un outil important pour le calcul haute performance, il est essentiel d'intégrer leur usage dans les plateformes de calcul. Une architecture récente telle que l'IGP requiert des connaissances supplémentaires pour pouvoir être programmée efficacement. Notre méthodologie a pour but de simplifier le développement sur ces architectures parallèles en utilisant des outils de programmation haut niveau. À titre d'exemple, nous avons développé un solveur de moindres carrés en précision mixte basé sur les équations semi-normales qui n'existait pas dans les bibliothèques actuelles. Nous avons par la suite étendu nos travaux à un modèle de programmation multi-étape ("multi-stage") pour résoudre les problèmes d'interopérabilité entre les modèles de programmation CPU et GPU. Nous utilisons cette technique pour générer automatiquement du code pour accélérateur à partir d'un code effectuant des opérations point par point ou utilisant des squelettes algorithmiques. L'approche multi-étape nous assure que le typage du code généré est valide. Nous avons ensuite montré que notre méthode est applicable à d'autres architectures et algorithmes. Les routines développées ont été intégrées dans une bibliothèque de calcul appelée NT2.Enfin, nous montrons comment la programmation haut niveau peut être appliquée à des calculs groupés et des contractions de tenseurs. Tout d'abord, nous expliquons comment concevoir un modèle de container en utilisant des techniques de programmation basées sur le C++ moderne (C++-14). Ensuite, nous avons implémenté un produit de matrices optimisé pour des matrices de petites tailles en utilisant des instructions SIMD. Pour ce faire, nous avons pris en compte les multiples problèmes liés au calcul groupé ainsi que les problèmes de localité mémoire et de vectorisation. En combinant la programmation haut niveau avec des techniques avancées de programmation parallèle, nous montrons qu'il est possible d'obtenir de meilleures performances que celles des bibliothèques numériques actuelles<br>Parallelism in today's computer architectures is ubiquitous whether it be in supercomputers, workstations or on portable devices such as smartphones. Exploiting efficiently these systems for a specific application requires a multidisciplinary effort that concerns Domain Specific Languages (DSL), code generation and optimization techniques and application-specific numerical algorithms. In this PhD thesis, we present a method of high level programming that takes into account the features of heterogenous architectures and the properties of matrices to build a generic dense linear algebra solver. Our programming model supports both implicit or explicit data transfers to and from General-Purpose Graphics Processing Units (GPGPU) and Integrated Graphic Processors (IGPs). As GPUs have become an asset in high performance computing, incorporating their use in general solvers is an important issue. Recent architectures such as IGPs also require further knowledge to program them efficiently. Our methodology aims at simplifying the development on parallel architectures through the use of high level programming techniques. As an example, we developed a least-squares solver based on semi-normal equations in mixed precision that cannot be found in current libraries. This solver achieves similar performance as other mixed-precision algorithms. We extend our approach to a new multistage programming model that alleviates the interoperability problems between the CPU and GPU programming models. Our multistage approach is used to automatically generate GPU code for CPU-based element-wise expressions and parallel skeletons while allowing for type-safe program generation. We illustrate that this work can be applied to recent architectures and algorithms. The resulting code has been incorporated into a C++ library called NT2. Finally, we investigate how to apply high level programming techniques to batched computations and tensor contractions. We start by explaining how to design a simple data container using modern C++14 programming techniques. Then, we study the issues around batched computations, memory locality and code vectorization to implement a highly optimized matrix-matrix product for small sizes using SIMD instructions. By combining a high level programming approach and advanced parallel programming techniques, we show that we can outperform state of the art numerical libraries
APA, Harvard, Vancouver, ISO, and other styles
11

Hrabcová, Petra. "Propojení simulační knihovny SIMLIB s jazykem Prolog." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2007. http://www.nusl.cz/ntk/nusl-412786.

Full text
Abstract:
This MSc Thesis is focused on the multimodeling area, especially on the cooperation of the C++ language and the Prolog language. The recent research is established on my semester study, which also dealt with the multimodeling area. During this research a prototype of interconnection library for cooperation of above mentioned programming languages was developed. This prototype of the library was finished within the scope of this thesis and some case-studies were created, too, using also another simulation library - SIMLIB/C++. These case-studies have their focus in the problems of artificial intelligence. The main benefit of this thesis is the confrontation of methods with and without using artificial intelligence.
APA, Harvard, Vancouver, ISO, and other styles
12

Obermiller, Dan. "High Performance Portability with RAJA and Agency." Scholarship @ Claremont, 2017. http://scholarship.claremont.edu/cmc_theses/1557.

Full text
Abstract:
High performance and scientific computing take advantage of high-end and high-spec computer architectures. As these architectures evolve, and new architectures are created, applications may be able to run at greater and greater speeds. These changes persent challenges to implementors who wish to take advantage of the newest features and machines. Portability layers such as RAJA and Agency seek to abstract away machine-specific details and allow scientists to take advantage of new features as they become available. We enhance RAJA with a lower-level framework, Agency, to determine if these layered abstractions provide performance or maintainability benefits.
APA, Harvard, Vancouver, ISO, and other styles
13

Nelson, Andrew P. "Funqual: User-Defined, Statically-Checked Call Graph Constraints in C++." DigitalCommons@CalPoly, 2018. https://digitalcommons.calpoly.edu/theses/1848.

Full text
Abstract:
Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own restrictions on the call graph based on these type qualifiers. We demonstrate that this tool, when used with hand-crafted rules, can catch certain types of errors which commonly occur in the wild. We claim that this tool can be used in a production setting to catch certain kinds of errors in code before that code is even run.
APA, Harvard, Vancouver, ISO, and other styles
14

Gratien, Jean-Marc. "A Domain Specific Embedded Language in C++ for lowest-order methods for diffusive problem on general meshes." Phd thesis, Université de Grenoble, 2013. http://tel.archives-ouvertes.fr/tel-00926232.

Full text
Abstract:
La spécificité des logiciels scientifiques développés par IFP Energies nouvelles tient avant tout à l'originalité des modèles représentant les situations physiques exprimés sous forme de systèmes d'EDPs assortis de lois de fermeture complexes. Le développement de ces logiciels, conçus pour être exécutés sur les super calculateurs parallèles modernes, nécessite de combiner des méthodes volumes finis robustes et efficaces avec des technologies informatiques qui permettent de tirer au mieux parti de ces calculateurs (parallélisme, gestion de la mémoire, réseaux d'interconnexion, etc). Ces technologies de plus en plus sophistiquées ne peuvent plus être maîtrisées dans leur ensemble par les chercheurs métiers chargés d'implémenter des nouveaux modèles. Dans ce rapport nous proposons un langage spécifique aux méthodes de discrétisation Volumes Finis permettant le prototypage rapide de codes industriels ou de recherche. Nous décrivons le cadre mathématique sur lequel nous nous basons ainsi que la mise au point du nouveau langage. Les travaux out été validés sur des problèmes académiques puis par le prototypage d'une application industrielle dans le cadre de l'axe ''CO2 maîtrisé''.
APA, Harvard, Vancouver, ISO, and other styles
15

CORREA, PAULO R. "Desenvolvimento de uma interface de comunicação para determinação da difusividade térmica em função da temperatura, por termografia no infravermelho." reponame:Repositório Institucional do IPEN, 2013. http://repositorio.ipen.br:8080/xmlui/handle/123456789/10504.

Full text
Abstract:
Made available in DSpace on 2014-10-09T12:41:14Z (GMT). No. of bitstreams: 0<br>Made available in DSpace on 2014-10-09T14:08:34Z (GMT). No. of bitstreams: 0<br>Dissertação (Mestrado)<br>IPEN/D<br>Instituto de Pesquisas Energeticas e Nucleares - IPEN-CNEN/SP
APA, Harvard, Vancouver, ISO, and other styles
16

Ding, Weiren. "Selsyn-C : a self-synchronizing parallel programming language." Thesis, McGill University, 1992. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=22494.

Full text
Abstract:
In thesis thesis we report the design and implementation of a new self-scheduling parallel programming language, SELSYN-C. As parallel processors become more accessible to a broad range of programmers, the development of simple to use and effective programming languages becomes increasingly important. Our approach to the challenge of parallel programming language design and implementation is two-fold: (1) the design of simple extensions to C that are both easy to use for the programmer, and useful for effective compilation, and (2) the design of efficient and effective scheduling strategies that can be automatically supported by a compiler and associated run-time environment.<br>We outline our approach by presenting: (1) our motivation, (2) an overview of the extensions to C that form the SELSYN-C programming language, and (3) the development of a new scheduling mechanism that can be used to effectively compile SELSYN-C programs for a real parallel processor, the BBN Butterfly GP-1000. Different scheduling strategies for this mechanism were studied via several experimental tests and the results of these experiments are reported.<br>A source-to-source compiler supporting the SELSYN-C language has been implemented. Included in this thesis is a description of both the compiler and associated run-time environment.
APA, Harvard, Vancouver, ISO, and other styles
17

Ramananandro, Tahina. "Les objets en C + + : sémantique formelle mécanisée et compilation vérifiée." Phd thesis, Université Paris-Diderot - Paris VII, 2012. http://tel.archives-ouvertes.fr/tel-00769044.

Full text
Abstract:
C++ est un des langages de programmation les plus utilisés en pratique, y compris pour le logiciel embarqué critique. C'est pourquoi la vérication de programmes écrits en C++ devient intéressante, en particulier via l'utilisation de méthodes formelles. Pour cela, il est nécessaire de se fonder sur une sémantique formelle de C++. De plus, une telle sémantique formelle peut être validée en la prenant comme base pour la spécication et la preuve d'un compilateur C++ réaliste, afin d'établir la confiance dans les techniques usuelles des compilateurs C++. Dans cette thèse, nous nous focalisons sur le modèle objet de C++. Nous proposons une sémantique formelle de l'héritage multiple en C++ comprenant les structures imbriquées à la C, sur laquelle s'appuie notre étude de la représentation concrète des objets avec optimisations des bases vides, à travers des conditions suffisantes que nous prouvons correctes vis-à-vis des accès aux champs et des opérations polymorphes. Puis nous spécifions un algorithme de représentation en mémoire fondé sur l'ABI pour Itanium, et une extension de cet algorithme avec optimisations des champs vides, et nous prouvons qu'ils satisfont nos conditions. Nous obtenons alors un compilateur vérifié et réaliste d'un sous-ensemble de C++ vers un langage à trois adresses et accès mémoire de bas niveau. Rajoutant à notre sémantique la construction et la destruction d'objets, nous étudions leurs interactions avec l'héritage multiple. Cela nous permet de formaliser la gestion de ressources, notamment le principe RAII (resource acquisition is initialization) via l'ordre de construction et destruction des sous-objets. Nous étudions aussi les effets sur les opérations polymorphes telles que la sélection de fonction virtuelle pendant la construction et la destruction, en généralisant la notion de type dynamique. Nous obtenons alors un compilateur vérifié pour notre sémantique étendue, notamment en prouvant la correction de l'implémentation des changements de types dynamiques. Toutes nos spécifications et preuves sont formalisées en Coq.
APA, Harvard, Vancouver, ISO, and other styles
18

Kerneis, Gabriel. "Continuation-Passing C : Transformations de programmes pour compiler la concurrence dans un langage impératif." Phd thesis, Université Paris-Diderot - Paris VII, 2012. http://tel.archives-ouvertes.fr/tel-00751444.

Full text
Abstract:
La plupart des programmes informatiques sont concurrents : ils doivent effectuer plusieurs tâches en même temps. Les threads et les événements sont deux techniques usuelles d'implémentation de la concurrence. Les événements sont généralement plus légers et efficaces que les threads, mais aussi plus difficiles à utiliser. De plus, ils sont souvent trop limités ; il est alors nécessaire d'écrire du code hybride, encore plus complexe, utilisant à la fois des threads ordonnancés préemptivement et des événements ordonnancés coopérativement. Nous montrons dans cette thèse que des programmes concurrents écrits dans un style à threads sont traduisibles automatiquement en programmes à événements équivalents et efficaces par une suite de transformations source-source prouvées. Nous proposons d'abord Continuation-Passing C, une extension du langage C pour l'écriture de systèmes concurrents qui offre des threads très légers et unifiés (coopératifs et préemptifs). Les programmes CPC sont transformés par le traducteur CPC pour produire du code à événements séquentialisé efficace, utilisant des threads natifs pour les parties préemptives. Nous définissons et prouvons ensuite la correction de ces transformations, en particulier le lambda lifting et la conversion CPS, pour un langage impératif. Enfin, nous validons la conception et l'implémentation de CPC en le comparant à d'autres bibliothèques de threads et en exhibant notre seeder BitTorrent Hekate. Nous justifions aussi notre choix du lambda lifting en implémentant eCPC, une variante de CPC utilisant les environnements, et en comparant ses performances à celles de CPC.
APA, Harvard, Vancouver, ISO, and other styles
19

Hammerquist, James D. (James Daniel). "A C Navigational System." Thesis, University of North Texas, 1989. https://digital.library.unt.edu/ark:/67531/metadc500702/.

Full text
Abstract:
The C Navigational System (CNS) is a proposed programming environment for the C programming language. The introduction covers the major influences of programming environments and the components of a programming environment. The system is designed to support the design, coding and maintenance phases of software development. CNS provides multiple views to both the source and documentation for a programming project. User-defined and system-defined links allow the source and documentation to be hierarchically searched. CNS also creates a history list and function interface for each function in a module. The final chapter compares CNS and several other programming environments (Microscope, Rn, Cedar, PECAN, and Marvel).
APA, Harvard, Vancouver, ISO, and other styles
20

Ferreira, Cleverson Avelino. "Linguagem e compilador para o paradigma orientado a notificações (PON): avanços e comparações." Universidade Tecnológica Federal do Paraná, 2015. http://repositorio.utfpr.edu.br/jspui/handle/1/1414.

Full text
Abstract:
Atuais paradigmas correntes de programação de software, mais precisamente o Paradigma Imperativo (PI) e o Paradigma Declarativo (PD), apresentam deficiências que afetam o desempenho das aplicações e a obtenção de “desacoplamento” (ou acoplamento mínimo) entre elementos de software. Com o objetivo de amenizar essas deficiências, foi desenvolvido o Paradigma Orientado a Notificações (PON). O PON se inspira nos conceitos do PI (e.g. objetos) e do PD (e.g. base de fatos e regras), mas altera a essência da execução ou inferência lógica-causal. Basicamente, o PON usa objetos para tratar de fatos e regras na forma de composições de outros objetos menores que, entretanto, apresentam características comportamentais de certa autonomia, independência, reatividade e colaboração por meio de notificações pontuais para fins de inferência. Isto dito, salienta-se que a materialização dos conceitos do PON se deu por meio de um arquétipo ou Framework elaborado em linguagem de programação C++. Tal materialização do PON vem sendo utilizada como uma alternativa para o desenvolvimento de aplicações sob o domínio desse paradigma e possibilitou, de fato, a criação de aplicações para ambientes computacionais usuais baseados na chamada arquitetura Von Neumann. Apesar destas contribuições para com a sua materialização, o desenvolvimento de aplicações no PON ainda não apresentava resultados satisfatórios em termos de desempenho tal qual deveria a luz do seu cálculo assintótico, nem a facilidade de programação que seria uma das suas características principais. Nesse âmbito, o presente trabalho propõe como evolução para o estado da técnica do PON a criação de uma linguagem e compilador para o paradigma. Sendo assim, este trabalho apresenta a definição da linguagem criada com a utilização de exemplos práticos guiados pelo desenvolvimento de aplicações. Subsequentemente são apresentados detalhes do compilador bem como sua estrutura. Para demonstrar a evolução do estado da técnica do paradigma, no tocante a desempenho (e.g. tempo de processamento) e facilidade de programação foram realizados estudos comparativos com a utilização da linguagem e compilador. Os estudos comparativos foram guiados com a elaboração de dois softwares denominados aplicação Mira ao Alvo e aplicação de Vendas. Essas aplicações foram desenvolvidas com base na linguagem PON e foram realizados experimentos simulando sequências de execução com o intuito de avaliar o tempo de processamento para o resultado gerado pelo compilador PON. Ainda, tais experimentos possibilitaram a avaliação de maneira subjetiva da linguagem de programação PON no tocante a facilidade de programação. Deste modo, foi possível observar com tais estudos comparativos que os resultados apresentados pelo compilador PON foram satisfatórios quando comparados aos resultados obtidos pelo Framework e por aplicações equivalentes desenvolvidas baseadas no Paradigma Orientado a Objetos (POO).<br>The current software development paradigms, specifically the Imperative Paradigm (IP) and the Declarative Paradigm (DP), have weaknesses that affect the applications performance and decoupling (or minimal coupling) between the software modules. In order to provide a solution regarding these weaknesses, the Notification Oriented Paradigm (NOP) was developed. NOP is inspired by the concepts of the IP (e.g. objects) and DP (e.g. base of facts and Rules). Basically, NOP uses objects to deal with facts and Rules as compositions of other, smaller, objects. These objects have the following behavioral characteristics: autonomy, independence, responsiveness and collaboration through notifications. Thus, it’s highlighted that the realization of these concepts was firstly instantiated through a Framework developed in C++. Such NOP materialization has been used as an alternative for Application development in the domain of this paradigm and made possible, in fact, the creation of applications for typical computing environments based on Von Neumann architecture. The development of the C++ materialization of NOP has not presented satisfactory results in terms of performance as it should when taking into account its asymptotic calculation and programming facility. In this context, this work presents an evolution of NOP by creating a specific programming language, and its respective compiler, for this paradigm. Therefore, this work presents the language definition and the details of the development of its compiler. To evaluate the evolution regarding to performance (e.g. processing time) and programming facility, some comparative studies using the NOP language and compiler are presented. These comparative studies were performed by developing two software applications called Target and Sales Application. These applications have been developed based on NOP language, and the experiments were performed simulating sequences of execution in order to evaluate the processing time for the generated results by NOP compiler. Still, these experiments allowed the evaluation of NOP programming language, in a subjective way, regarding to ease programming. Thus, with such comparative studies, it was possible to observe that the results presented by the compiler NOP were satisfactory when compared to the results achieved via Framework and for equivalent applications developed based on the Oriented Object Paradigm (OOP).
APA, Harvard, Vancouver, ISO, and other styles
21

Kuo, Yung-Li. "Developing a rule-based expert system with C programming language." Virtual Press, 1988. http://liblink.bsu.edu/uhtbin/catkey/552943.

Full text
Abstract:
Expert system techniques are now being incorporated successfully in commercial computer software packages. This thesis introduces the techniques of developing a rule-based expert system in a general-purpose programming language -- C. The topics of this thesis include significance of expert system shells and approaches used, structure of the knowledge base, loading of the knowledge base, manipulation of the probabilities of rule attributes, and implementation of the inference engine. The inference engine uses the information that users supply to find an object that matches. Today C language is one of the most popular programming languages in use and C compilers consistently produce extremely fast and efficient executable programs. Thisthesisdemonstrates that C language is an appropriate computer language for a rule-based expert system.<br>Department of Computer Science
APA, Harvard, Vancouver, ISO, and other styles
22

Martin, Walter E. "Cview, a graphical program generator for the C programming language /." Online version of thesis, 1988. http://hdl.handle.net/1850/10224.

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

Seetharamakrishnan, Devasenapathi P. 1970. "C@t : a language for programming massively distributed embedded systems." Thesis, Massachusetts Institute of Technology, 2002. http://hdl.handle.net/1721.1/62372.

Full text
Abstract:
Thesis (S.M.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2002.<br>Includes bibliographical references (p. 67-69).<br>This thesis presents c@t, a language for programming distributed embedded systems that are composed of thousands (even millions) of interacting computing devices. Due to the improvements in fabricating technologies, it is becoming possible to build tiny single-chip devices equipped with logic circuits, sensors, actuators and communication components. A large number of these devices can be networked together to build Massively Distributed Embedded Systems (MDES). A wide variety of embedded control applications are envisioned for MDES: responsive environments, smart buildings, wildlife monitoring, precision agriculture, inventory tracking, etc. These examples are compelling, however, developing applications for MDES remains complex due to the following issues: MDES consist of large number of resource constrained devices and the number of potential interactions between them can be combinatorially explosive. Systems with the combined issues of such scale complexity, interaction complexity and resource constraints are unprecedented and cannot be programmed using conventional technologies. Accordingly, this thesis presents cut, a language that employs the following techniques to address the issues of MDES: 1. To address the scale complexity, c@t provides tools for programming the system as a unit. 2. c@t offers a declarative style network programming interface so that network interactions can be implemented without writing any low-level networking code. 3. The applications developed using c@t are vertically integrated. That is, the compiler customizes the runtime environment to the suit the application needs. Using this integrated approach, efficient applications can be developed to fit the available resources. This thesis describes the design, features and implementation of c@t in detail. A sample application developed using c@t is also presented.<br>y Devasenapathi P. Seetharamakrishnan.<br>S.M.
APA, Harvard, Vancouver, ISO, and other styles
24

Hashim, Khairuddin. "A preprocessor building system for the C language." Thesis, University of Bath, 1989. https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.233580.

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

Guthrie, Thomas G. "Design, implementation, and testing of a software interface between the AN/SPS-65(V)1 radar and the SRC-6E reconfigurable computer." Thesis, Monterey, Calif. : Springfield, Va. : Naval Postgraduate School ; Available from National Technical Information Service, 2005. http://library.nps.navy.mil/uhtbin/hyperion/05Mar%5FGuthrie.pdf.

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

Mosca, Peter. "A study of Ada and C in concurrent programming." Instructions for remote access. Click here to access this electronic resource. Access available to Kutztown University faculty, staff, and students only, 1991. http://www.kutztown.edu/library/services/remote_access.asp.

Full text
Abstract:
Thesis (M.S.)--Kutztown University of Pennsylvania, 1991.<br>Source: Masters Abstracts International, Volume: 45-06, page: 3190. Abstract precedes thesis as [1] preliminary leaf. Typescript. Includes bibliographical references (leaf 54).
APA, Harvard, Vancouver, ISO, and other styles
27

Mehldau, Gerhard 1959. "A RULE-BASED PROGRAMMING LANGUAGE AND ITS APPLICATION TO IMAGE RECOGNITION." Thesis, The University of Arizona, 1986. http://hdl.handle.net/10150/276360.

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

Abbass, Nagim Kem. "Embedded warning systems in C language compare with Java." Thesis, University West, Department of Informatics and Mathematics, 2003. http://urn.kb.se/resolve?urn=urn:nbn:se:hv:diva-584.

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

LaPlante, John R., and Steve G. Barge. "High-Level Language Programming Environment for Parallel Real-Time Telemetry Processor." International Foundation for Telemetering, 1989. http://hdl.handle.net/10150/614649.

Full text
Abstract:
International Telemetering Conference Proceedings / October 30-November 02, 1989 / Town & Country Hotel & Convention Center, San Diego, California<br>The difficulty of incorporating custom real-time processing into a conventional telemetry system frustrates many design engineers. Custom algorithms such as data compression/conversion, software decommutation, signal processing or sensitive defense related algorithms, are often executed on expensive and time-consuming mainframe computers during post-processing. The cost to implement such algorithms on real-time hardware is greater, because programming for such hardware is usually done in assembly language or microcode, resulting in: * The need for specially trained software specialists * Long and often unpredictable development time * Poor maintainability * Non-portability to new applications or hardware. This paper presents an alternative to host-based, post-processing telemetry systems. The Loral System 500 offers an easy to use, high-level language programming environment that couples real-time performance with fast development time, portability and easy maintenance. Targeted to Weltek's XL-Serles 32 and 64 bit floating point processors, delivering 20 MFLOPS peak performance, the environment transparently integrates the C programming environment with a parallel date-flow telemetry processing architecture. Supporting automatic human interface generation, symbolic high-level debugging and a complete floating point math library the System 500 programming environment extends to parallel execution transparently. It handles process scheduling, memory management and data conversion automatically. Configured to run under UNIX, the system's development environment is powerful and portable. The platform can be migrated to PC's and other hosts, facilitating eventual integration with an array of standard off-the-shelf tools.
APA, Harvard, Vancouver, ISO, and other styles
30

Ampadu, Ebenezer. "Implementation of some finite difference methods for the pricing of derivatives using C++ programming." Link to electronic thesis, 2007. http://www.wpi.edu/Pubs/ETD/Available/etd-051807-164436/.

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

Parker, Rembert N. "An introduction to computer programming for complete beginners using HTML, JavaScript, and C#." CardinalScholar 1.0, 2008. http://liblink.bsu.edu/uhtbin/catkey/1465970.

Full text
Abstract:
Low student success rates in introductory computer programming classes result in low student retention rates in computer science programs. For some sections of the course a traditional approach began using C# in the .Net development environment immediately. An experimental course redesign for one section was prepared that began with a study of HTML and JavaScript and focused on having students build web pages for several weeks; after that the experimental course used C# and the .Net development environment, covering all the material that was covered in the traditional sections. Students were more successful in the experimental section, with a higher percentage of the students passing the course and a higher percentage of the students continuing on to take at least one additional computer science course.<br>Department of Computer Science
APA, Harvard, Vancouver, ISO, and other styles
32

Gupta, Davender Nath. "Expressing imaging algorithms using a C++ based image algebra programming environment /." Online version of thesis, 1990. http://hdl.handle.net/1850/11370.

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

Prastowo, Tadeus. "Toward C++ as a Platform for Language-Oriented Programming: On the Embedding of a Model-Based Real-Time Language." Doctoral thesis, Università degli studi di Trento, 2020. http://hdl.handle.net/11572/256168.

Full text
Abstract:
Cyber-physical systems are dynamic physical systems that are controlled by computers for their safe and sound operations (e.g., cars, satellites, robots, elevators, and many others). Consequently, the programs running cyber-physical systems have real-time requirements, which require the programs to compute not only correctly but also timely because dynamic physical systems need to move to correct positions within certain duration to ensure safe and sound operations. To satisfy real-time requirements in better ways, many real-time languages have been proposed in the literature. Nevertheless, the general-purpose non-real-time languages C and C++ have remained the de facto languages to program cyber-physical systems, including Mars rovers and F-35 jet fighters. Given this reality, the better ways to satisfy real-time requirements have been the use of model-based tools (e.g., MATLAB/Simulink) that allow cyber-physical systems to be designed by modeling and simulating them and the resulting models to be translated automatically to C programs. Model-based tools, however, leave the resulting C programs for manual integration with other C/C++ programs, such as legacy/third-party device drivers and libraries. Since manual integration could slip in some inconsistencies, which proved fatal in the maiden flight of Ariane-5 rocket, this work shows how the standard features of C++, which support active libraries, can be used to embed a model-based real-time language, called Tice, as a C++ active library that can be used to declaratively express models of real-time systems that are processable by off-the-shelf standard C++ compilers (e.g., GCC and Clang) that automatically not only translate the models into C/C++ programs but also check both the validity of the models and the consistency of the models with other C/C++ programs. Furthermore, being compilable by off-the-shelf standard C++ compilers also sets Tice apart from other real-time languages already proposed in the literature because the other languages require either their own special compilers/interpreters or non-standard C/C++ compilers. Consequently, while Tice itself either uses no C++ features that are unsuitable for cyber-physical systems (e.g., exception) or uses some in judicious manner (e.g., template instantiations to generate programs), Tice prevents no usage that is permitted by standard C++ compilers. Beside that, as C++ active libraries are indeed ordinary C++ libraries, C++ active libraries are seamlessly composable as ordinary C++ libraries, and therefore, as models play an increasingly important role in software engineering, this work shows the potential of C++ as a platform for language-oriented programming where different languages that express different kinds of models and are embedded as C++ active libraries could be composed seamlessly.
APA, Harvard, Vancouver, ISO, and other styles
34

Girimaji, Sanjay. "Data-parallel programming with multiple inheritance on the connection machine." FIU Digital Commons, 1990. https://digitalcommons.fiu.edu/etd/3940.

Full text
Abstract:
The demand for computers is oriented toward faster computers and newer computers are being built with more than one CPU. These computers require sophisticated software to program them. One such approach to program the multiple CPU machines is through the use of object-oriented programming techniques. An example of such an approach is the use of C* on the Connection Machine. Though C* supports many of the object-oriented concepts, it does not support the concept of software reuse through inheritance. This thesis introduces a new language called C*±+ , an extension of C* language to support inheritance. We also discuss the issues invloved in the implementation of multiple inheritance in programming languages. This thesis describes the differences between C** and C* . It also discusses the various issues involved in the design and implementation of the translator from C** to C* . It also illustrates the advantages of programming in C*++ through an example. Since C*++ is designed to support software reuse which allows the users to create quality software in shorter time, it is anticipated that C*+ will have widespread use in programming the Connection Machine.
APA, Harvard, Vancouver, ISO, and other styles
35

Melo, Luiz Carlos Viana. "Adaptação do paradigma orientado a notificações para desenvolvimento de sistemas fuzzy." Universidade Tecnológica Federal do Paraná, 2016. http://repositorio.utfpr.edu.br/jspui/handle/1/1814.

Full text
Abstract:
Este trabalho trata do tema de Paradigma Orientado a Notificações (PON) e sua adequação para prover suporte a conceitos fuzzy. O PON se inspira em elementos dos paradigmas imperativo e declarativo, buscando resolver inconvenientes de ambos. Ao decompor uma aplicação em uma rede de entidades computacionais menores que são executadas apenas quando necessário, o PON elimina a necessidade de realizar computações desnecessárias e alcança melhor desacoplamento lógico-causal facilitando o reaproveitamento e distribuição. Ademais, o PON permite expressar o seu conhecimento lógico-causal em alto nível, por meio de regras no formato SE-ENTÃO. Os sistemas fuzzy, por sua vez, realizam inferências em bases de conhecimento lógico-causal (regras SE-ENTÃO) que lidam com problemas que envolvem imprecisão. Uma vez que o PON utiliza regras SE-ENTÃO de uma forma alternativa, reduzindo avaliações redundantes e acoplamento, este trabalho foi realizado para identificar, propor e avaliar as mudanças necessárias a serem realizadas sobre o PON para que este possa ser utilizado no desenvolvimento de sistemas fuzzy. Após a realização da proposta, foram criadas materializações na forma de um framework em linguagem C++, e uma linguagem de programação própria (LingPONFuzzy) com suporte a inferência fuzzy. A partir delas foram criados casos de estudo e realizados diversos testes para validar a solução proposta. Os resultados dos testes mostram uma redução significativa no número de regras avaliadas em relação a um sistema fuzzy desenvolvido utilizando ferramentas convencionais (frameworks), o que poderia representar uma melhoria no desempenho das aplicações.<br>This work proposes to adjust the Notification Oriented Paradigm (NOP) so that it provides support to fuzzy concepts. NOP is inspired by elements of imperative and declarative paradigms, seeking to solve some of the drawbacks of both. By decomposing an application into a network of smaller computational entities that are executed only when necessary, NOP eliminates the need to perform unnecessary computations and helps to achieve better logical-causal uncoupling, facilitating code reuse and application distribution over multiple processors or machines. In addition, NOP allows to express the logical-causal knowledge at a high level of abstraction, through rules in IF-THEN format. Fuzzy systems, in turn, perform logical inferences on causal knowledge bases (IF-THEN rules) that can deal with problems involving uncertainty. Since PON uses IF-THEN rules in an alternative way, reducing redundant evaluations and providing better decoupling, this research has been carried out to identify, propose and evaluate the necessary changes to be made on NOP allowing to be used in the development of fuzzy systems. After that, two fully usable materializations were created: a C++ framework, and a complete programming language (LingPONFuzzy) that provide support to fuzzy inference systems. From there study cases have been created and several tests cases were conducted, in order to validate the proposed solution. The test results have shown a significant reduction in the number of rules evaluated in comparison to a fuzzy system developed using conventional tools (frameworks), which could represent an improvement in performance of the applications.
APA, Harvard, Vancouver, ISO, and other styles
36

Chandrasekaran, Arunkumar. "Building and Implementing an Inventory Database Model using Microsoft Access Database and C♯ Programming Language." Cincinnati, Ohio : University of Cincinnati, 2005. http://www.ohiolink.edu/etd/view.cgi?acc%5Fnum=ucin1131657662.

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

Purohit, Madhavi. "Multisensor integration for a robot." Ohio : Ohio University, 1989. http://www.ohiolink.edu/etd/view.cgi?ohiou1182456473.

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

Ernstsson, August. "SkePU 2: Language Embedding and Compiler Support for Flexible and Type-Safe Skeleton Programming." Thesis, Linköpings universitet, Programvara och system, 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-129381.

Full text
Abstract:
This thesis presents SkePU 2, the next generation of the SkePU C++ framework for programming of heterogeneous parallel systems using the skeleton programming concept. SkePU 2 is presented after a thorough study of the state of parallel programming models, frameworks and tools, including other skeleton programming systems. The advancements in SkePU 2 include a modern C++11 foundation, a native syntax for skeleton parameterization with user functions, and an entirely new source-to-source translator based on Clang compiler front-end libraries. SkePU 2 extends the functionality of SkePU 1 by embracing metaprogramming techniques and C++11 features, such as variadic templates and lambda expressions. The results are improved programmability and performance in many situations, as shown in both a usability survey and performance evaluations on high-performance computing hardware. SkePU’s skeleton programming model is also extended with a new construct, Call, unique in the sense that it does not impose any predefined skeleton structure and can encapsulate arbitrary user-defined multi-backend computations. We conclude that SkePU 2 is a promising new direction for the SkePU project, and a solid basis for future work, for example in performance optimization.
APA, Harvard, Vancouver, ISO, and other styles
39

Krejčová, Iva. "Prostředky paralelního programování a jejich implementace." Master's thesis, Vysoká škola ekonomická v Praze, 2011. http://www.nusl.cz/ntk/nusl-112944.

Full text
Abstract:
The aim of this Diploma thesis is to get acquitained with the approaches to parallel programming and possibilities of their practical implementation, including possibilities of their usage in management. An important part of the Diploma thesis is the practical implementation of parallel program in a PC cluster environment, which was implemented in computer laboratory of Faculty of Management VŠE. The practical part consists of an example of decision-making under uncertainty (risk) which is solved with the employment of the Monte Carlo method.
APA, Harvard, Vancouver, ISO, and other styles
40

Westman, Joakim, and Teodor Marinescu. "C, C++, Java och Python : En prestandajämförelse mellan fyra programmeringsspråk." Thesis, Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation, 2011. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2304.

Full text
Abstract:
In today’s society computers are getting a much more important role. To get a computer to work as intended it has to be programmed. A computer program is written with programming languages. There is an abundance of programming languages available today and there are many differences and similarities between them. The different languages have their advantages and their disadvantages where some of them are intended for fast performance, some to be cheap on memory usage, and some are developed to be easy to program on. In our thesis we have chosen to compare four of todays most common languages, C, C++, Java and Python. These languages were chosen because we have worked with three of them during our study period (C, C++ and Java). Python was chosen because it is an interpreted language and not a compiled one. It also have a very different syntax compared to the other languages which makes it interesting. Our comparison, which focuses on performance, has its foundation in the tests we have made, but also on results from a research survey that we also made. I this survey forty software developers, from Swedish companies, have participated. The tests we have made measure the languages performance, regarding time, by implementing and running two common algorithms. During these tests vi have also chosen to register the amount of memory these algorithms use during runtime. The results we have extracted from our tests and our survey are compiled, and these results are then analysed to be able to compare the four programming languages to each other. The tests that have been done show that Java is the language that performs best, with C and C ++ second best and then Python performing the worst. Our survey answers, on the other hand, indicates that C and C++ should have outperformed Java.
APA, Harvard, Vancouver, ISO, and other styles
41

Odrobinová, Lucia. "Návrh nástroje pro automatizované integrační testování." Master's thesis, Vysoké učení technické v Brně. Fakulta podnikatelská, 2021. http://www.nusl.cz/ntk/nusl-444621.

Full text
Abstract:
The diploma thesis focuses on the development of an automated integration testing tool for a company. The tool is employed to detect and report data changes that may have been caused by the modification of a database schema during the development of a software. This automation of recognizing data changes brings many advantages to the company. The tool has been developed using the C# programming language, which supports object-oriented programming, using the Microsoft Visual Studio Community 2019 software. Since the tool works with the Microsoft SQL Server database, Entity Framework, an object-relational mapping framework, has been used during the implementation of the tool.
APA, Harvard, Vancouver, ISO, and other styles
42

Karol, Sven. "Well-Formed and Scalable Invasive Software Composition." Doctoral thesis, Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden, 2015. http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-170162.

Full text
Abstract:
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect. Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps. Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions. Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions. All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
APA, Harvard, Vancouver, ISO, and other styles
43

Cahill, S. J. "A characterisation and some pedagogic aspects of the high-level language C in coding for multicontroller-based embedded targets." Thesis, University of Ulster, 1996. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.339339.

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

呂伯行 and Pak-hang Lui. "Distributed object-oriented C (DOC): a strongly distributed object-oriented language for message passingconcurrent architecture." Thesis, The University of Hong Kong (Pokfulam, Hong Kong), 1992. http://hub.hku.hk/bib/B31232711.

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

Kosík, Tomáš. "E-learningové výukové moduly." Master's thesis, Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií, 2010. http://www.nusl.cz/ntk/nusl-218713.

Full text
Abstract:
This master’s thesis is focused on description of e-learning by electronic form of teaching as a way of modern education. In theoretical part various forms, possibilities and basic structures of electronic education systems are described. It presents thorough analyses of positives and negatives of e-learning, both, from a technical perspective as well as from social point of view. In the second part of this thesis, the reader becomes familiar with e-learning system AI Tools used by UAMT FEEC VUT in Brno to support the teaching of basics of artificial intelligence. Furthermore, the work deals with the creation of three plug-in modules for this computer programme. These modules are programmed in C# and pursue matters of informed and uninformed state space search, and issues of forward and backward chaining used in expert systems. In conclusion, the results of theoretical and practical work are evaluated
APA, Harvard, Vancouver, ISO, and other styles
46

Chandrasekaran, Arunkumar. "Building and Implementing an Inventory Database Model for the Bearcat BRAT Using Microsoft Access Database and C# Programming Language." University of Cincinnati / OhioLINK, 2005. http://rave.ohiolink.edu/etdc/view?acc_num=ucin1131657662.

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

Dick, Andrew J. "Object-oriented distributed and parallel I/O streams." Thesis, National Library of Canada = Bibliothèque nationale du Canada, 1999. http://www.collectionscanada.ca/obj/s4/f2/dsk2/ftp03/MQ39189.pdf.

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

Demčák, Marek. "Programovací jazyk Objective C a účelnost jeho zařazení do výuky." Master's thesis, Vysoká škola ekonomická v Praze, 2009. http://www.nusl.cz/ntk/nusl-17458.

Full text
Abstract:
This thesis describes a programming language Objective-C, which is the primary programming language for Mac OS X, and assesses the suitability of language inclusion in education. The aim of the first part is to provide the reader with a basic explanation of the language syntax so as to be able to understand what is written for code. After reading this thesis, the reader should have enough information to decide whether he would enjoy programming in Objective-C or not. Thesis does not aim to teach the reader in Objective-C language to create custom applications, mainly due to very limited description of the class libraries (Cocoa, Cocoa Touch), whose knowledge is essential for building real applications. However, this thesis should be a good starting point for all people interested in Objective-C and should refer them to appropriate literature. In the second part, I assess the suitability of language inclusion in education from 10 points of view (criteria). The aim of this part is to provide enough arguments for a decision, whether it is the good idea to provide tuition of Objective-C language or not. Some of the points of view are: basic confrontation of Objective-C with other programming languages (mainly Java and C#), assessing compliance of Objective-C language with the principles of object-oriented programming, review of Xcode IDE, analysis of demand for Objective-C programmers in the Czech Republic and analysis of students' interest in learning Objective-C by online (only students at University of Economics, Prague). The conclusion summarizes the most important properties of the language, its greatest benefits and drawbacks. I have also described the profile of a "typical" programmer in Objective-C, based on evaluated criteria.
APA, Harvard, Vancouver, ISO, and other styles
49

Ševčík, Radek. "Pomocný nástroj pro programování mikrokontrolérů AVR v jazyce C." Master's thesis, Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií, 2008. http://www.nusl.cz/ntk/nusl-217675.

Full text
Abstract:
This article describes AVR Wizard programme that was developed for AVR Studio. This software simpliefies microcontrollers (MCUs) programming in a way of general peripheries settings and registers settings for varied MCUs. AVR Wizard is able to generate C language-based MCU main programme structure with chosen settings. User-friendly handling and no longer detailed studies of MCU datasheets are also main advantage.
APA, Harvard, Vancouver, ISO, and other styles
50

Johnson, Pontus, and Mathias Ekstedt. "Predicting the effort of program language comprehension : The case of HLL vs. Assembly." KTH, Industriella informations- och styrsystem, 2005. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-123555.

Full text
Abstract:
One important aspect of the quality of programming languages is the effort required by a programmer to understand code written in the language. A historical case where this issue was at the forefront was in the debate between the proponents of high-level languages (HLL) and Assembly languages, where the main argument for HLLs were that they were easier for people to understand. Being one out of a series of articles arguing for a unified theory for software engineering, this article proposes the use of a specific theoretical model from the discipline of cognitive psychology as a tool for predicting language comprehension effort. Describing human problem solving faculties, the ACT-R model [Anderson and Lebiere 1998] predicts that the effort of understanding a program written in C is only 36,5% of the effort of understanding a comparable program written in Assembly. In order to validate the theory, an experiment was performed where a number of engineering students were exposed to tasks of program comprehension. This empirical assessment demonstrated that the effort of understanding a program written in C is 32,5% of the effort of understanding a comparable program written in Assembly. Comparing the results of the theoretical predictions and the empirical assessments of program comprehension effort, we find that the theoretical model performs surprisingly well. The prediction error for the execution of an Assembly program was 5,1% while the error for C was 6,8%. The prediction error for the ratio between the two program languages amounted to 12,6%.<br><p>QC 20130618</p>
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!