1,812 research outputs found
Model Checking Real Time Java Using Java PathFinder
The Real Time Specification for Java (RTSJ) is an augmentation of Java for real time applications of various degrees of hardness. The central features of RTSJ are real time threads; user defined schedulers; asynchronous events, handlers, and control transfers; a priority inheritance based default scheduler; non-heap memory areas such as immortal and scoped, and non-heap real time threads whose execution is not impeded by garbage collection. The Robust Software Systems group at NASA Ames Research Center has JAVA PATHFINDER (JPF) under development, a Java model checker. JPF at its core is a state exploring JVM which can examine alternative paths in a Java program (e.g., via backtracking) by trying all nondeterministic choices, including thread scheduling order. This paper describes our implementation of an RTSJ profile (subset) in JPF, including requirements, design decisions, and current implementation status. Two examples are analyzed: jobs on a multiprogramming operating system, and a complex resource contention example involving autonomous vehicles crossing an intersection. The utility of JPF in finding logic and timing errors is illustrated, and the remaining challenges in supporting all of RTSJ are assessed
Proceedings of the 3rd Workshop on Domain-Specific Language Design and Implementation (DSLDI 2015)
The goal of the DSLDI workshop is to bring together researchers and
practitioners interested in sharing ideas on how DSLs should be designed,
implemented, supported by tools, and applied in realistic application contexts.
We are both interested in discovering how already known domains such as graph
processing or machine learning can be best supported by DSLs, but also in
exploring new domains that could be targeted by DSLs. More generally, we are
interested in building a community that can drive forward the development of
modern DSLs. These informal post-proceedings contain the submitted talk
abstracts to the 3rd DSLDI workshop (DSLDI'15), and a summary of the panel
discussion on Language Composition
Safe and Secure Support for Public Safety Networks
International audienceAs explained by Tanzi et al. in the first volume of this book, communicating and autonomous devices will surely have a role to play in the future Public Safety Networks. The âcommunicatingâ feature comes from the fact that the information should be delivered in a fast way to rescuers. The âautonomousâ characteristic comes from the fact that rescuers should not have to concern themselves about these objects: they should perform their mission autonomously so as not to delay the intervention of the rescuers, but rather to assist them efficiently and reliably.</p
Teaching Concurrent Software Design: A Case Study Using Android
In this article, we explore various parallel and distributed computing topics
from a user-centric software engineering perspective. Specifically, in the
context of mobile application development, we study the basic building blocks
of interactive applications in the form of events, timers, and asynchronous
activities, along with related software modeling, architecture, and design
topics.Comment: Submitted to CDER NSF/IEEE-TCPP Curriculum Initiative on Parallel and
Distributed Computing - Core Topics for Undergraduate
Mapping and Optimizing Communication in ROS 2-based Applications on Configurable System-on-Chip Platforms
The robot operating system is the de-facto standard for designing and
implementing robotics applications. Several previous works deal with the
integration of heterogeneous accelerators into ROS-based applications. One of
these approaches is ReconROS, which enables nodes to be completely mapped to
hardware. The follow-up work fpgaDDS extends ReconROS by an intra-FPGA data
distribution service to process topic-based communication between nodes
entirely in hardware. However, the application of this approach is strictly
limited to communication between nodes implemented in hardware only. This paper
introduces gateways to close the gap between topic communication in hardware
and software. Gateways aim to reduce data transfers between hardware and
software by synchronizing a hardware-and software-mapped topic. As a result,
data must be transferred only once compared to a separate data transmission for
each subscribing hardware node in the baseline. Our measurements show
significant speedups in multi-subscriber scenarios with large message sizes.
From the conclusions of these measurements, we present a methodology for the
communication mapping of ROS 2 computation graphs. In the evaluation, an
autonomous driving real-world example benefits from the gateway and achieves a
speedup of 1.4
C-MOS array design techniques: SUMC multiprocessor system study
The current capabilities of LSI techniques for speed and reliability, plus the possibilities of assembling large configurations of LSI logic and storage elements, have demanded the study of multiprocessors and multiprocessing techniques, problems, and potentialities. Evaluated are three previous systems studies for a space ultrareliable modular computer multiprocessing system, and a new multiprocessing system is proposed that is flexibly configured with up to four central processors, four 1/0 processors, and 16 main memory units, plus auxiliary memory and peripheral devices. This multiprocessor system features a multilevel interrupt, qualified S/360 compatibility for ground-based generation of programs, virtual memory management of a storage hierarchy through 1/0 processors, and multiport access to multiple and shared memory units
Optimization of deep learning algorithms for an autonomous RC vehicle
Dissertação de mestrado em Engenharia InformåticaThis dissertation aims to evaluate and improve the performance of deep learning (DL)
algorithms to autonomously drive a vehicle, using a Remo Car (an RC vehicle) as testbed.
The RC vehicle was built with a 1:10 scaled remote controlled car and fitted with an
embedded system and a video camera to capture and process real-time image data. Two
different embedded systems were comparatively evaluated: an homogeneous system, a
Raspberry Pi 4, and an heterogeneous system, a NVidia Jetson Nano. The Raspberry Pi 4 with
an advanced 4-core ARM device supports multiprocessing, while the Jetson Nano, also with
a 4-core ARM device, has an integrated accelerator, a 128 CUDA-core NVidia GPU.
The captured video is processed with convolutional neural networks (CNNs), which
interpret image data of the vehicleâs surroundings and predict critical data, such as lane view
and steering angle, to provide mechanisms to drive on its own, following a predefined path.
To improve the driving performance of the RC vehicle, this work analysed the programmed
DL algorithms, namely different computer vision approaches for object detection and image
classification, aiming to explore DL techniques and improve their performance at the inference
phase.
The work also analysed the computational efficiency of the control software, while running
intense and complex deep learning tasks in the embedded devices, and fully explored the
advanced characteristics and instructions provided by the two embedded systems in the
vehicle.
Different machine learning (ML) libraries and frameworks were analysed and evaluated:
TensorFlow, TensorFlow Lite, Arm NN, PyArmNN and TensorRT. They play a key role to
deploy the relevant algorithms and to fully engage the hardware capabilities.
The original algorithm was successfully optimized and both embedded systems could
perfectly handle this workload. To understand the computational limits of both devices, an
additional and heavy DL algorithm was developed that aimed to detect traffic signs.
The homogeneous system, the Raspberry Pi 4, could not deliver feasible low-latency values,
hence the detection of traffic signs was not possible in real-time. However, a great performance
improvement was achieved using the heterogeneous system, Jetson Nano, enabling their
CUDA-cores to process the additional workload.Esta dissertação tem como objetivo avaliar e melhorar o desempenho de algoritmos de deep learning (DL) orientados Ă condução autĂłnoma de veĂculos, usando um carro controlado remotamente como ambiente de teste. O carro foi construĂdo usando um modelo de um veĂculo de controlo remoto de escala 1:10, onde foi colocado um sistema embebido e uma cĂąmera de vĂdeo para capturar e processar imagem em tempo real. Dois sistemas embebidos foram comparativamente avaliados: um sistema homogĂ©neo, um Raspberry Pi 4, e um sistema heterogĂ©neo, uma NVidia Jetson Nano. O Raspberry Pi 4 possui um processador ARM com 4 nĂșcleos, suportando multiprocessamento. A Jetson Nano, tambĂ©m com um processador ARM de 4 nĂșcleos, possui uma unidade adicional de processamento com 128 nĂșcleos do tipo CUDA-core. O vĂdeo capturado e processado usando redes neuronais convolucionais (CNN), interpretando o meio envolvente do veĂculo e prevendo dados cruciais, como a visibilidade da linha da estrada e o angulo de direção, de forma a que o veĂculo consiga conduzir de forma autĂłnoma num determinado ambiente. De forma a melhorar o desempenho da condução autĂłnoma do veĂculo, diferentes algoritmos de deep learning foram analisados, nomeadamente diferentes abordagens de visĂŁo por computador para detecção e classificação de imagens, com o objetivo de explorar tĂ©cnicas de CNN e melhorar o seu desempenho na fase de inferĂȘncia. A dissertação tambĂ©m analisou a eficiĂȘncia computacional do software usado para a execução de tarefas de aprendizagem profunda intensas e complexas nos dispositivos embebidos, e explorou completamente as caracterĂsticas avançadas e as instruçÔes fornecidas pelos dois sistemas embebidos no veĂculo. Diferentes bibliotecas e frameworks de machine learning foram analisadas e avaliadas: TensorFlow, TensorFlow Lite, Arm NN, PyArmNN e TensorRT. Estes desempenham um papel fulcral no provisionamento dos algoritmos de deep learning para tirar mĂĄximo partido das capacidades do hardware usado. O algoritmo original foi otimizado com sucesso e ambos os sistemas embebidos conseguiram executar os algoritmos com pouco esforço. Assim, para entender os limites computacionais de ambos os dispositivos, um algoritmo adicional mais complexo de deep learning foi desenvolvido com o objetivo de detectar sinais de transito. O sistema homogĂ©neo, o Raspberry Pi 4, nĂŁo conseguiu entregar valores viĂĄveis de baixa latĂȘncia, portanto, a detecção de sinais de trĂąnsito nĂŁo foi possĂvel em tempo real, usando este sistema. No entanto, foi alcançada uma grande melhoria de desempenho usando o sistema heterogeneo, Jetson Nano, que usaram os seus nĂșcleos CUDA adicionais para processar a carga computacional mais intensa
Comparative Analysis Of Fault-Tolerance Techniques For Space Applications
Fault-tolerance technique enables a system or application to continue working even if some fault /error occurs in a system. Therefore, it is vital to choose appropriate fault tolerant technique best suited to our application. In case of real-time embedded systems in a space project, the importance of such techniques becomes more critical. In space applications, there is minor or no possibility of maintenance and faults occurrence may lead to serious consequences in terms of partial or complete mission failure. This paper describes the comparison of various fault tolerant techniques for space applications. This also suggests the suitability of these techniques in particular scenario. The study of fault tolerance techniques relevant to real-time embedded systems and on-board space applications (satellites) is given due importance. This study will not only summarize fault tolerant techniques but also describe their strengths. The paper describes the future trends of faults-tolerance techniques in space applications. This effort may help space system engineers and scientists to select suitable fault-tolerance technique for their mission.
- âŠ