• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 54
  • 8
  • 8
  • 1
  • Tagged with
  • 87
  • 87
  • 87
  • 87
  • 26
  • 23
  • 16
  • 14
  • 13
  • 13
  • 12
  • 12
  • 12
  • 10
  • 9
  • 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.
61

Contribuição para a concepção de aplicações no paradigma orientado a notificações (PON) sob o viés de padrões

Ronszcka, Adriano Francisco 31 August 2012 (has links)
CAPES / A materialização original do Paradigma Orientado a Notificações (PON) implementada na linguagem de programação C++ possibilitou a criação de aplicações sob o domínio desse paradigma. Apesar de tais contribuições para com o paradigma, o desenvolvimento de aplicações no PON ainda apresenta baixo nível de maturidade e certo nível de dificuldade. Tais dificuldades advêm principalmente da nova forma de estruturar os programas, onde os mesmos seguem um fluxo de notificações, o que difere da programação convencional. Ademais, até o momento, apenas algumas aplicações foram desenvolvidas, com escopos relativamente pequenos, o que não contribui efetivamente para a consolidação do paradigma e, particularmente, para o aprendizado via um conjunto efetivo de exemplos. Neste sentido, primeiramente, a própria estrutura geral do framework foi relida e reapresentada sob o viés de padrões de projeto, assim como houve contribuições na própria implementação desse. Subsequentemente, este trabalho teve como objetivo principal de estudo o nortear do desenvolvimento de aplicações baseadas no PON de maneira mais simplificada e eficiente, usando os avanços aqui citados. Isso se deu particularmente pela apresentação de padrões de desenvolvimento de software voltados para esse paradigma e infraestrutura, os quais buscam uma implementação mais purista envolvendo quesitos como redução do uso de implementações multiparadigmas, simplificação no desenvolvimento, garantia de determinismo, entre outras. De modo geral, as novas funcionalidades/recursos para a concepção de aplicações através do Framework PON facilitaram e melhoraram seu uso. / The original materialization of Notification Oriented Paradigm (NOP) previously implemented in the C++ programming language allowed the creation of applications under the domain of this paradigm. Although these contributions to the paradigm, the development of NOP applications still has a low level of maturity and a certain degree of difficulty. Such difficulties arise essentially from the new form of structuring programs, in which such applications follow a notification flow, which differs from the conventional programming. Moreover, so far, only a few applications have been developed, with relatively small scope, which does not contribute effectively to the consolidation of the paradigm, and particularly for learning through an effective set of examples. Henceforth, firstly, the general structure of the framework has been reread and reintroduced under the bias of design patterns, even as there were contributions in its implementation. Subsequently, the main goal of this paper is to guide the development of applications based on NOP in a more streamlined and efficient manner, using the advances mentioned here. This was achieved particularly by the presentation of technical software implementations aimed to this paradigm and its infrastructure, which pursues a manner to conceive more purist implementations, involving issues such as reducing the use of multiparadigms implementations, simplifying the development, ensuring determinism, and so far. In general, the new features for conceiving applications based on the NOP Framework made easier and better its use.
62

Pricing exotic options using C++

Nhongo, Tawuya D R January 2007 (has links)
This document demonstrates the use of the C++ programming language as a simulation tool in the efficient pricing of exotic European options. Extensions to the basic problem of simulation pricing are undertaken including variance reduction by conditional expectation, control and antithetic variates. Ultimately we were able to produce a modularized, easily extend-able program which effectively makes use of Monte Carlo simulation techniques to price lookback, Asian and barrier exotic options. Theories of variance reduction were validated except in cases where we used control variates in combination with the other variance reduction techniques in which case we observed increased variance. Again, the main aim of this half thesis was to produce a C++ program which would produce stable pricings of exotic options.
63

Hardware-Software Co-design for Practical Memory Safety

Hassan, Mohamed January 2022 (has links)
A vast amount of software, from low-level systems code to high-performance applications, is written in memory-unsafe languages such as C and C++. The lack of memory safety in C/C++ can lead to severe consequences; a simple buffer overflow can result in code or data corruption anywhere in the program memory. The problem is even worse in systems that constantly operate on inputs of unknown trustworthiness. For example, in 2021 a memory safety vulnerability was discovered in sudo, a near-ubiquitous utility available on major Unix-like operating systems. The vulnerability, which remained silent for over 10 years, allows any unprivileged user to gain root privileges on a victim machine using a default sudo configuration. As memory-safe languages are unlikely to displace C/C++ in the near future, efficient memory safety mechanisms for both existing and future C/C++ code are needed. Both industry and academia have proposed various techniques to address the C/C++ memory safety problem over the last three decades, either by software-only or hardware-assisted solutions. Software-only techniques such as Google’s AddressSanitizer are used to detect memory errors during the testing phase before products are shipped. While sanitizers have been shown to be effective at detecting memory errors with little effort, they typically suffer from high runtime overheads and increased memory footprint. Hardware-assisted solutions such as Oracle’s Application Data Integrity (ADI) and ARM’s Memory Tagging Extension (MTE) have much lower performance overheads, but they do not offer complete protection. Academic proposals manage to minimize the performance costs of memory safety defenses while maintaining fine-grained security protection. Unfortunately, state-of-the-art solutions require complex metadata that increases the program memory footprint, complicates the hardware design, and breaks compatibility with the rest of the system (e.g., unprotected libraries). To address these problems, the research within this thesis innovates in the realm of compiler transformations and hardware extensions to improve the state of the art in memory safety solutions. Specifically, this thesis shows that leveraging common software trends and rethinking computer microarchitectures can efficiently circumvent the problems of traditional memory safety solutions for C and C++. First, I present a novel cache line formatting technique, dubbed Califorms. Califorms builds on a concept called memory blocklisting, which prohibits a program from access- ing certain memory regions based on program semantics. State-of-the-art hardware-assisted memory blocklisting, while much faster than software blocklisting, creates memory fragmentation for each use of the blocklisted location. To prevent this issue, Califorms encodes the metadata, which is used to identify the blocklisted locations, in the blocklisted (i.e., dead) locations themselves. This inlined metadata can be then integrated into the microarchitecture by changing the cache line format. As a result, both the metadata and data are fetched together, eliminating the need for extra memory accesses. Hence, Califorms reduces the performance overheads of memory safety while providing byte-granular protection and maintaining very low hardware overheads. Secondly, I explore how leveraging common software trends can reduce the performance and memory costs of memory permitlisting (also known as base & bounds). Thus, I present No-FAT, a novel technique for enforcing spatial and temporal memory safety. The key observation that enables No-FAT is the increasing adoption of binning allocators. No-FAT, when used with a binning allocator, is able to implicitly derive an allocation’s bounds information (i.e., the base address and size) from the pointer itself without relying on expensive metadata. Moreover, as No-FAT’s memory instructions are aware of allocation bounds information, No-FAT effectively mitigates certain speculative attacks (e.g., Spectre-V1, which is also known as bounds checking bypass) with no additional cost. While No-FAT successfully detects memory safety violations, it falls short against physical attacks. Hence, I propose C-5, an architecture that complements No-FAT with strong data encryption. C-5 strictly uses access control in the L1 cache and encrypts program data at the L1-L2 cache interface. As a result, C-5 mitigates both in-process and physical attacks without burdening system performance. In addition to memory blocklisting and permitlisting, a cost-effective way to alleviate the memory safety threats is by deploying exploit mitigation techniques (e.g., Intel’s CET and ARM’s PAC). Unfortunately, current exploit mitigations offer incomplete security protection in order to save on performance. This thesis investigates potential opportunities to boost the security guarantees of exploit mitigations while maintaining their low overheads. Thus, I present ZeRØ, a hardware primitive that preserves pointer integrity at no performance cost, effectively mitigating pointer manipulation attacks such as ROP, COP, JOP, COOP, and DOP. ZeRØ proposes unique memory instructions and a novel metadata encoding scheme to protect code and data pointers from memory safety violations. The combination of instructions and metadata allows ZeRØ to avoid explicitly tagging every word in memory. On 64-bit systems, ZeRØ encodes the pointer type and location in the currently unused upper pointer bits. This way ZeRØ reduces the performance overheads of enforcing pointer integrity to zero while requiring simple hardware modifications. Finally, although current mitigation techniques excel at providing efficient protection for high-end devices, they typically suffer from significant performance and energy overheads when ported to the embedded domain. As a result, there is a need for developing new defenses that (1) have low overheads, (2) provide high security coverage, and (3) are especially designed for embedded devices. To achieve these goals I present EPI, an efficient pointer integrity mechanism that is tailored to microcontrollers and embedded devices. Similar to ZeRØ, EPI assigns unique tags to different program assets and uses unique memory instructions for accessing them. However, EPI uses a 32bit friendly encoding scheme to inline the tags within the program data. EPI introduces runtime overheads of less than 1%, making it viable for embedded and low-resource systems.
64

A portable C random number generator

Crunk, Anthony Wayne 15 November 2013 (has links)
Proliferation of computers with varying word sizes has led to increases in software use where random number generation is required. Several techniques have been developed. Criteria of randomness, portability, period, reproducibility, variety, speed, and storage are used to evaluate developed generation methods. The Tausworthe method is the only method to meet the portability requirement, and is chosen to be implemented. A C language implementation is proposed as a possible implementation and test results are presented to confirm the acceptability of the proposed code. / Master of Science
65

A C-based simulation framework for automated guided vehicle systems

Wilson, Jeffrey K. 13 February 2009 (has links)
The purpose of this research was to develop and validate a simulation framework for automated guided vehicle systems (AGVSs). The framework that was developed, AGVSF, uses the discrete, next-event simulation method and the C programming language. AGVSF consists of an organizational structure that provides for control of the execution of the simulation and a set of modular C functions used to model the AGVS. The structure of AGVSF allows the user to organize the Simulation logic in a consistent manner. The modularity and flexibility of the code result from clearly defining the interdependencies of the functions that make up the various events and operations of the simulation. This enables the user to substitute functions where needed to represent new operational methods which are not directly provided in the original framework code set. A set of functions is provided within AGVSF for modeling basic AGVSs and AGVS layouts. The framework concept has been validated by simulating an AGVS under different operating conditions and control algorithms. / Master of Science
66

Connection management applications for high-speed audio networking

Sibanda, Phathisile 12 March 2008 (has links)
Traditionally, connection management applications (referred to as patchbays) for high-speed audio networking, are predominantly developed using third-generation languages such as C, C# and C++. Due to the rapid increase in distributed audio/video network usage in the world today, connection management applications that control signal routing over these networks have also evolved in complexity to accommodate more functionality. As the result, high-speed audio networking application developers require a tool that will enable them to develop complex connection management applications easily and within the shortest possible time. In addition, this tool should provide them with the reliability and flexibility required to develop applications controlling signal routing in networks carrying real-time data. High-speed audio networks are used for various purposes that include audio/video production and broadcasting. This investigation evaluates the possibility of using Adobe Flash Professional 8, using ActionScript 2.0, for developing connection management applications. Three patchbays, namely the Broadcast patchbay, the Project studio patchbay, and the Hospitality/Convention Centre patchbay were developed and tested for connection management in three sound installation networks, namely the Broadcast network, the Project studio network, and the Hospitality/Convention Centre network. Findings indicate that complex connection management applications can effectively be implemented using the Adobe Flash IDE and ActionScript 2.0.
67

Design and Implementation of a TRAC Processor for Fairchild F24 Computer

Chi, Ping Ray 08 1900 (has links)
TRAC is a text-processing language for use with a reactive typewriter. The thesis describes the design and implementation of a TRAC processor for the Fairchild F24 computer. Chapter I introduces some text processing concepts, the TRAC operations, and the implementation procedures. Chapter II examines the history and -characteristics of the TRAC language. The next chapter specifies the TRAC syntax and primitive functions. Chapter IV covers the algorithms used by the processor. The last chapter discusses the design experience from programming the processor, examines the reactive action caused by the processor, and suggests adding external storage primitive functions for a future version of the processor.
68

Distributed file systems in an authentication system

Merritt, John W January 2010 (has links)
Typescript (photocopy). / Digitized by Kansas Correctional Industries / Department: Computer Science.
69

Strategies utilized in computer problem solving and object-oriented programming

Zaman, Naeem 10 March 2003 (has links)
The purpose of this qualitative study was to describe how novice students solved computer programming problems in a beginning college level computer science (CS) course with an introduction to object-oriented programming (OOP) and what knowledge they obtained about OOP and computer problem solving (CPS) as a result of their experiences. Additionally, this descriptive study attempted to characterize the instruction provided to students in a beginning CS course as well as students' CPS strategies. An introduction to computer science class at the college level was selected for the sample. One experienced instructor and four students participated in this study. Data were collected through classroom observations, interviews with the instructor and students, classroom documents and researcher's journals. The analysis of the results revealed a teacher-centered instruction focused on syntactical details with an emphasis on the imperative paradigm and an introduction to object-oriented aspects of the C++ language. Results revealed that to develop the solution code for the given problems, students consistently approached them without a comprehensive written plan/design. The process students typically used in developing a solution for the given computer problem involved: (1) problem understanding, (2) preliminary problem analysis, (3) reliance on examples and (4) trial-and-error. Students typically approached debugging syntax and logic errors by (1) following the compiler generated messages, (2) using trial-and-error, (3) performing a desk-check strategy and (4) using the VISUAL C++ debugger. This study identified the features of CPS and OOP learning that can be studied for identifying how students approach CPS and OOP processes in other object-oriented languages (such as JAVA) and how their CPS and OOP processes develop as compared to C++. Differences in programming performances were found among males and females. Males in this study were more comfortable with the mechanical-orientation of programming as compared with their female counterparts. Future research is needed in CPS and OOP to explore gender issues in learning OOP languages. This study identified potential student CPS and OOP learning processes and factors using a qualitative approach. Future research should investigate the factors effecting introductory CS problem solving using a quantitative methodology or perhaps a combination of qualitative and quantitative approaches. / Graduation date: 2003
70

C♯ complier extension to support the object constraint language version 2.0 /

Arnold, David January 1900 (has links)
Thesis (M.C.S.)--Carleton University, 2004. / Includes bibliographical references (p. 205-208). Also available in electronic format on the Internet.

Page generated in 0.0651 seconds