3 resultados para Driver errors.

em Bucknell University Digital Commons - Pensilvania - USA


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Nanoindentation is a valuable tool for characterization of biomaterials due to its ability to measure local properties in heterogeneous, small or irregularly shaped samples. However, applying nanoindentation to compliant, hydrated biomaterials leads to many challenges including adhesion between the nanoindenter tip and the sample. Although adhesion leads to overestimation of the modulus of compliant samples when analyzing nanoindentation data using traditional analysis techniques, most studies of biomaterials have ignored its effects. This paper demonstrates two methods for managing adhesion in nanoindentation analysis, the nano-JKR force curve method and the surfactant method, through application to two biomedically-relevant compliant materials, poly(dimethyl siloxane) (PDMS) elastomers and poly(ethylene glycol) (PEG) hydrogels. The nano-JKR force curve method accounts for adhesion during data analysis using equations based on the Johnson-Kendall-Roberts (JKR) adhesion model, while the surfactant method eliminates adhesion during data collection, allowing data analysis using traditional techniques. In this study, indents performed in air or water resulted in adhesion between the tip and the sample, while testing the same materials submerged in Optifree Express() contact lens solution eliminated tip-sample adhesion in most samples. Modulus values from the two methods were within 7% of each other, despite different hydration conditions and evidence of adhesion. Using surfactant also did not significantly alter the properties of the tested material, allowed accurate modulus measurements using commercial software, and facilitated nanoindentation testing in fluids. This technique shows promise for more accurate and faster determination of modulus values from nanoindentation of compliant, hydrated biological samples. Copyright 2013 Elsevier Ltd. All rights reserved.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

This project addresses the unreliability of operating system code, in particular in device drivers. Device driver software is the interface between the operating system and the device's hardware. Device drivers are written in low level code, making them difficult to understand. Almost all device drivers are written in the programming language C which allows for direct manipulation of memory. Due to the complexity of manual movement of data, most mistakes in operating systems occur in device driver code. The programming language Clay can be used to check device driver code at compile-time. Clay does most of its error checking statically to minimize the overhead of run-time checks in order to stay competitive with C's performance time. The Clay compiler can detect a lot more types of errors than the C compiler like buffer overflows, kernel stack overflows, NULL pointer uses, freed memory uses, and aliasing errors. Clay code that successfully compiles is guaranteed to run without failing on errors that Clay can detect. Even though C is unsafe, currently most device drivers are written in it. Not only are device drivers the part of the operating system most likely to fail, they also are the largest part of the operating system. As rewriting every existing device driver in Clay by hand would be impractical, this thesis is part of a project to automate translation of existing drivers from C to Clay. Although C and Clay both allow low level manipulation of data and fill the same niche for developing low level code, they have different syntax, type systems, and paradigms. This paper explores how C can be translated into Clay. It identifies what part of C device drivers cannot be translated into Clay and what information drivers in Clay will require that C cannot provide. It also explains how these translations will occur by explaining how each C structure is represented in the compiler and how these structures are changed to represent a Clay structure.