62 research outputs found

    Oil and Water? High Performance Garbage Collection in Java with MMTk

    Get PDF
    Increasingly popular languages such as Java and C # require efficient garbage collection. This paper presents the design, implementation, and evaluation of MMTk, a Memory Management Toolkit for and in Java. MMTk is an efficient, composable, extensible, and portable framework for building garbage collectors. MMTk uses design patterns and compiler cooperation to combine modularity and efficiency. The resulting system is more robust, easier to maintain, and has fewer defects than monolithic collectors. Experimental comparisons with monolithic Java and C implementations reveal MMTk has significant performance advantages as well. Performance critical system software typically uses monolithic C at the expense of flexibility. Our results refute common wisdom that only this approach attains efficiency, and suggest that performance critical software can embrace modular design and high-level languages.

    Two channel stepper motor controller

    Get PDF
    Cílem této práce je vývoj dvoukanálového kontroléru krokových motorů. V rámci práce je popsán jak vývoj elektroniky, tak vývoj příslušného software. Elektronika kontrolŕu je založena na mikrokontroléru STM32F405 a driverů krokových motorů vyráběných firmou Trinamic. Pro komunikaci s nadřazenými systémy je implementován protokol CANOpen a sběrnice I\textsuperscript{2}C a USB. Elektronika byla navržena v software KiCAD and využívá čtyřvrstvého plošného spoje a moderních výrobních technologií. Co se týká software, byl vyvinut jak firmware pro mikrokontrolér, tak software pro ovládání kontroléru. Obě části software využívají programovacího jazyka Rust, který se zaměřuje na bezpečnost práce s pamětí, rychlost a zero-cost abstrakce. Sekundárním cílem této práce je ukázat, jak lze tento programovací jazyk s výhodou použít pro programování nízkoúrovňového embedded software. Firmware kontroléru implementuje nezávislé řízení pohybu obou os kontroléru a to jak v rychlostním, tak v pozičním režimu a zároveň implementuje bezpečnostní funkce pro případy selhání komunikace. Výsledný kontrolér by měl být použit v rámcí výzkumné skupiny Robotiky a Umělé Inteligence a studenty na Ústavu Automatizace FEKT VUT.The goal of this thesis is the development of a dual-channel stepper motor controller. Both the development of electronics and software is described. The electronics of the controller is based on the STM32F405 microcontroller, and Trinamic manufactured stepper motor controller ICs. For communication with higher-level systems, the controller utilizes the CANOpen protocol, I\textsuperscript{2}C, and USB buses. The whole electronics was designed in the KiCAD EDA and utilizes a 4-layer PCB and contemporary manufacturing technologies. As for the software, both firmware and control software were developed. Both of these pieces of software utilize the Rust programming language, which focuses on memory safety, performance and provides useful zero-cost abstraction. The Secondary goal of this thesis is to show how the language can be utilized for low-level embedded software development. The firmware of the controller implements independent motion control for each of the axes with both velocity and position control and provides failsafe mechanisms for cases of communication failures. The controller is meant to be used by the Robotics and AI research group and by students of the DCI, FEEC BUT.

    Model for WCET prediction, scheduling and task allocation for emergent agent-behaviours in real-time scenarios

    Get PDF
    [ES]Hasta el momento no se conocen modelos de tiempo real específicamente desarrollados para su uso en sistemas abiertos, como las Organizaciones Virtuales de Agentes (OVs). Convencionalmente, los modelos de tiempo real se aplican a sistemas cerrados donde todas las variables se conocen a priori. Esta tesis presenta nuevas contribuciones y la novedosa integración de agentes en tiempo real dentro de OVs. Hasta donde alcanza nuestro conocimiento, éste es el primer modelo específicamente diseñado para su aplicación en OVs con restricciones temporales estrictas. Esta tesis proporciona una nueva perspectiva que combina la apertura y dinamicidad necesarias en una OV con las restricciones de tiempo real. Ésto es una aspecto complicado ya que el primer paradigma no es estricto, como el propio término de sistema abierto indica, sin embargo, el segundo paradigma debe cumplir estrictas restricciones. En resumen, el modelo que se presenta permite definir las acciones que una OV debe llevar a cabo con un plazo concreto, considerando los cambios que pueden ocurrir durante la ejecución de un plan particular. Es una planificación de tiempo real en una OV. Otra de las principales contribuciones de esta tesis es un modelo para el cálculo del tiempo de ejecución en el peor caso (WCET). La propuesta es un modelo efectivo para calcular el peor escenario cuando un agente desea formar parte de una OV y para ello, debe incluir sus tareas o comportamientos dentro del sistema de tiempo real, es decir, se calcula el WCET de comportamientos emergentes en tiempo de ejecución. También se incluye una planificación local para cada nodo de ejecución basada en el algoritmo FPS y una distribución de tareas entre los nodos disponibles en el sistema. Para ambos modelos se usan modelos matemáticos y estadísticos avanzados para crear un mecanismo adaptable, robusto y eficiente para agentes inteligentes en OVs. El desconocimiento, pese al estudio realizado, de una plataforma para sistemas abiertos que soporte agentes con restricciones de tiempo real y los mecanismos necesarios para el control y la gestión de OVs, es la principal motivación para el desarrollo de la plataforma de agentes PANGEA+RT. PANGEA+RT es una innovadora plataforma multi-agente que proporciona soporte para la ejecución de agentes en ambientes de tiempo real. Finalmente, se presenta un caso de estudio donde robots heterogéneos colaboran para realizar tareas de vigilancia. El caso de estudio se ha desarrollado con la plataforma PANGEA+RT donde el modelo propuesto está integrado. Por tanto al final de la tesis, con este caso de estudio se obtienen los resultados y conclusiones que validan el modelo

    PIC CONTROLLED ROBOTIC DEVICE DRIVE SYSTEM

    Get PDF
    The Final Year Project course is designed for students to perform research; design and development work in each discipline, to produce practical solutions. It provides opportunity for students to use the tools and techniques of problem-solving by engagement of the project. Under proper guidance of supervisor, the students will shape the direction in the field of interest as a preparation for approaching their desired career path in the near future, as well as gain better understanding of the responsibilities they have to shoulder when they undertake future projects. The objective ofthis project is to produce a storage/delivery autonomous robot which will operate ina production plant. The Scope of Study will cover areas of research done to fulfill design requirements ofproject with objective and its functionality. The areas of design requirements will include movement mechanism, electronic circuits, and programming. These subareas are developed and integrated for implementation ofthe workable robot. The project is divided into two phases; 1) intensive design research and 2) implementation and construction. Methodology and Project Work of this project is done by implementing a lot of research not only on the Internet but also literature review on scholars that have completed similar robotic design. The weekly Log Book and Progress Report is also compiled and summarized to present the author's progress so far. Consultation with supervisor and other FYP students had also aid in objective of completing the author's FYP. The author has also included flow chart ofactivities planned throughout the semester to ensure maximum progress ofher FYP. The research taken with the methodology mentioned allows the author to fulfill progress of design requirements planned in completion of the robot with reference to the scope of study for the project. Progress and modification made throughout project are discussed in detail, to reflect objective of project. Future improvisation and recommendations are also suggested atthe end for further research

    Engineering Automation for Reliable Software Interim Progress Report (10/01/2000 - 09/30/2001)

    Get PDF
    Prepared for: U.S. Army Research Office P.O. Box 12211 Research Triangle Park, NC 27709-2211The objective of our effort is to develop a scientific basis for producing reliable software that is also flexible and cost effective for the DoD distributed software domain. This objective addresses the long term goals of increasing the quality of service provided by complex systems while reducing development risks, costs, and time. Our work focuses on "wrap and glue" technology based on a domain specific distributed prototype model. The key to making the proposed approach reliable, flexible, and cost-effective is the automatic generation of glue and wrappers based on a designer's specification. The "wrap and glue" approach allows system designers to concentrate on the difficult interoperability problems and defines solutions in terms of deeper and more difficult interoperability issues, while freeing designers from implementation details. Specific research areas for the proposed effort include technology enabling rapid prototyping, inference for design checking, automatic program generation, distributed real-time scheduling, wrapper and glue technology, and reliability assessment and improvement. The proposed technology will be integrated with past research results to enable a quantum leap forward in the state of the art for rapid prototyping.U. S. Army Research Office P.O. Box 12211 Research Triangle Park, NC 27709-22110473-MA-SPApproved for public release; distribution is unlimited

    Applications Development for the Computational Grid

    Get PDF

    Development of Novel Imaging Modalities for Soft Matter

    Get PDF
    In the past 100 years, a plethora of new microscopy and spectroscopy techniques have been developed, allowing biologists to probe the inner workings of cells and organisms in greater detail than ever before. These techniques, many enabled by the application of fluorescent molecules, range from super-resolution, which reveals structures smaller than the physical limit of resolution to be viewed without resorting to electron microscopy, to techniques capable of detecting nanometre changes in the shape of individual molecules and many more. These approaches are not without drawbacks, however. Super-resolution often results in high levels of phototoxicity, presenting issues for live cell imaging and almost all modern techniques place high demands on hardware and software; if the hardware and software is not sufficiently well designed, these complexities are passed on to end users. This thesis outlines developments to the CairnFocal platform, a DMD based confocal microscope, capable of super-resolution and real-time modality switching. The creation of software to support the novel smfBox open-source confocal smFRET microscope is also described

    NASA Tech Briefs, April 1990

    Get PDF
    Topics: New Product Ideas; NASA TU Services; Electronic Components and Circuits; Electronic Systems; Physical Sciences; Materials; Computer Programs; Mechanics; Machinery; Fabrication Technology; Mathematics and Information Sciences

    Software quality assurance on a Student Satellite - The NTNU Test Satellite

    Get PDF
    The NTNU student test satellite project aims to launch a satellite into low earth orbit in 2014. Its goal is to make observations of atmospheric gravity waves with an infrared camera. The satellite is a interdisciplinary project where students from several departments have come together to build it. The work on the satellite software has not been on the forefront of this project and my thesis aimed aid in the development process. I split my thesis work into two areas of focus. The first area was to find methods to help developing software through planning and documentation. As such I created a Software Design Document(SDD) template based on an IEEE standard. I focused on making the template fit the NUTS project group. I wanted a template that could be applicable on any level of abstraction meaning that a SDD template can be used on high level software descriptions as well as very specific low level ones. This became a question of finding the common denominators for all software systems regardless of size and complexity. The final SDD template works in such a way that developers can document the whole system by splitting it up into separate SDD files that are logically linked together. The second area of focus was on creating a Software Support Service that would run seamlessly in the background and give developers valuable reports on the software. This service would work by analysing the source code at given time intervals and apply different tools to the source code. For the first version of this service I planned on implementing two tools: A code documentation system and a static code analysis tool. For code documentation I ended up choosing Doxygen and for static code analysis I ended up with Clang Static Analyser(CSA). Integrating Doxygen into my service proved to be a fairly easy task and it worked well with the NUTS source code. However getting CSA to work with the source code proved to be a much larger and more complex issue than I had anticipated. In the end I was forced to abandon the work on integrating it into my service. I however do still believe that a static analysis tool for the service would be of great help to the project and dedicated parts of this thesis report to elaborate on the subject. I did not fully reach my goals with this service, however it does run and is capable of generating documentation of the NUTS source code

    NASA Tech Briefs, December 1994

    Get PDF
    Topics: Test and Measurement; Electronic Components and Circuits; Electronic Systems; Physical Sciences; Materials; Computer Programs; Mechanics; Machinery; Fabrication; Mathematics and Information Sciences; Life Sciences; Books and Report
    corecore