1,103 research outputs found

    Master of Science

    Get PDF
    thesisDirect equivalence testing is a framework for detecting errors in C compilers and application programs that exploits the fact that program semantics should be preserved during the compilation process. Binaries generated from the same piece of code should remain equivalent irrespective of the compiler, or compiler optimizations, used. Compiler errors as well as program errors such as out of bounds memory access, stack over ow, and use of uninitialized local variables cause nonequivalence in the generated binaries. Direct equivalence testing has detected previously unknown errors in real world embedded software like TinyOS and in di fferent compilers like msp430-gcc and llvm-msp430

    Application Memory Isolation on Ultra-Low-Power Mcus

    Get PDF
    The proliferation of applications that handle sensitive user data on wearable platforms generates a critical need for embedded systems that offer strong security without sacrificing flexibility and long battery life. To secure sensitive information, such as health data, ultra-low-power wearables must isolate applications from each other and protect the underlying system from errant or malicious application code. These platforms typically use microcontrollers that lack sophisticated Memory Management Units (MMU). Some include a Memory Protection Unit (MPU), but current MPUs are inadequate to the task, leading platform developers to software-based memory-protection solutions. In this paper, we present our memory isolation technique, which leverages compiler inserted code and MPU-hardware support to achieve better runtime performance than software-only counterparts

    The Advanced Educational Robot

    Get PDF
    Existing literature in the field of computer science education clearly demonstrates that robots can be ideal teaching tools for basic computer science concepts. Likewise, robots are an ideal platform for more complicated CS techniques such as evolutionary algorithms and neural networks. With these two distinct roles in mind, that of the teaching tool and that of the research tool, in collaboration with customers in the CS department we have developed a new robotics platform suitable for both roles that provides higher performance and improved ease-of-use in comparison to the robots currently in use at Union. We have successfully designed and built a medium-sized robotics platform for classroom and research use that provides better maneuverability, increased flexibility, and is easier to use than commercial equivalents at significantly lower cost. In particular, our robot provides a platform with human-level mobility suitable for use in human-machine interaction (HMI) research and testing. Using a combination of easily available off-the-shelf parts, newly available sensors, and open-source software, we have built a platform that is both easy enough for beginners to use but also powerful enough for advanced users to customize and adapt to their specific needs

    WCET of OCaml Bytecode on Microcontrollers: An Automated Method and Its Formalisation

    Get PDF
    Considering the bytecode representation of a program written in a high-level programming language enables portability of its execution as well as a factorisation of various possible analyses of this program. In this article, we present a method for computing the worst-case execution time (WCET) of an embedded bytecode program fit to run on a microcontroller. Due to the simple memory model of such a device, this automated WCET computation relies only on a control-flow analysis of the program, and can be adapted to multiple models of microcontrollers. This method evaluates the bytecode program using concrete as well as partially unknown values, in order to estimate its longest execution time. We present a software tool, based on this method, that computes the WCET of a synchronous embedded OCaml program. One key contribution of this article is a mechanically checked formalisation of the aforementioned method over an idealised bytecode language, as well as its proof of correctness

    Mobile Solar PV Trainer

    Get PDF
    The aim of the Mobile Solar PV Trainer Project was to design, construct and test a versatile and robust laboratory training rig for the Cal Poly Electrical Engineering department. This project was inspired by the desire of one or more California Polytechnic State University electrical engineering professors to add laboratory components to two established upper division electrical engineering courses in photovoltaic panels and solar power. This report contains a detailed description of the trainer’s desired specifications, our ideation process, a thorough description of the selected trainer design including part drawings, assembly documentation and a bill of materials as well as manufacturing documentation, testing results and operating instructions

    Four-Wheel Steering

    Get PDF
    This prototype Four-Wheel Steering system is designed for a Formula SAE racecar. Multiple steering geometries can be applied to optimize the handling across a range of speeds. Ackermann steering geometry at low speeds improves the car’s agility in tight, technical race courses. At high speeds the steering transitions to parallel steering geometry, improving stability and giving the driver more precise control over the vehicle. The system fits seamlessly within the rear suspension packaging of the existing WashU Racing vehicle design and minimizes addition of weight by using compact and lightweight electronic linear actuators to steer the rear wheels. In testing of the system on the WashU Racing racecar, a successful prototype was rendered. It was found in order to eliminate error in the actuator movement, a more developed control system is needed to be designed. Testing of the turning radii for standard steering, low speed Ackerman, and high speed in-concert steering yielded successful results. For a left-handed turn, standard steering resulted in a 20’ radius, the low speed Ackerman resulted in a 15’ radius, and the high speed in-concert resulted in a 24’ radius. Overall, the successful prototype gives hope for the system to be fully implemented within the next couple of years. Full testing of the system can be completed once a safer, and more accurate control system is implemented
    corecore