50,952 research outputs found
Performance evaluation of a distributed integrative architecture for robotics
The eld of robotics employs a vast amount of coupled sub-systems. These need to interact
cooperatively and concurrently in order to yield the desired results. Some hybrid algorithms
also require intensive cooperative interactions internally. The architecture proposed lends it-
self amenable to problem domains that require rigorous calculations that are usually impeded
by the capacity of a single machine, and incompatibility issues between software computing
elements. Implementations are abstracted away from the physical hardware for ease of de-
velopment and competition in simulation leagues. Monolithic developments are complex, and
the desire for decoupled architectures arises. Decoupling also lowers the threshold for using
distributed and parallel resources. The ability to re-use and re-combine components on de-
mand, therefore is essential, while maintaining the necessary degree of interaction. For this
reason we propose to build software components on top of a Service Oriented Architecture
(SOA) using Web Services. An additional bene t is platform independence regarding both
the operating system and the implementation language. The robot soccer platform as well
as the associated simulation leagues are the target domain for the development. Furthermore
are machine vision and remote process control related portions of the architecture currently
in development and testing for industrial environments. We provide numerical data based on
the Python frameworks ZSI and SOAPpy undermining the suitability of this approach for the
eld of robotics. Response times of signi cantly less than 50 ms even for fully interpreted,
dynamic languages provides hard information showing the feasibility of Web Services based
SOAs even in time critical robotic applications
Communicating Java Threads
The incorporation of multithreading in Java may be considered a significant part of the Java language, because it provides udimentary facilities for concurrent programming. However, we belief that the use of channels is a fundamental concept for concurrent programming. The channel approach as described in this paper is a realization of a systematic design method for concurrent programming in Java based on the CSP paradigm. CSP requires the availability of a Channel class and the addition of composition constructs for sequential, parallel and alternative processes. The Channel class and the constructs have been implemented in Java in compliance with the definitions in CSP. As a result, implementing communication between processes is facilitated, enabling the programmer to avoid deadlock more easily, and freeing the programmer from synchronization and scheduling constructs. The use of the Channel class and the additional constructs is illustrated in a simple application
Study of Tools Interoperability
Interoperability of tools usually refers to a combination of methods and techniques that address the problem of making a collection of tools to work together. In this study we survey different notions that are used in this context: interoperability, interaction and integration. We point out relation between these notions, and how it maps to the interoperability problem.
We narrow the problem area to the tools development in academia. Tools developed in such environment have a small basis for development, documentation and maintenance. We scrutinise some of the problems and potential solutions related with tools interoperability in such environment. Moreover, we look at two tools developed in the Formal Methods and Tools group1, and analyse the use of different integration techniques
RELEASE: A High-level Paradigm for Reliable Large-scale Server Software
Erlang is a functional language with a much-emulated model for building reliable distributed systems. This paper outlines the RELEASE project, and describes the progress in the rst six months. The project aim is to scale the Erlang's radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines. Currently Erlang has inherently scalable computation and reliability models, but in practice scalability is constrained by aspects of the language and virtual machine. We are working at three levels to address these challenges: evolving the Erlang virtual machine so that it can work effectively on large scale multicore systems; evolving the language to Scalable Distributed (SD) Erlang; developing a scalable Erlang infrastructure to integrate multiple, heterogeneous clusters. We are also developing state of the art tools that allow programmers to understand the behaviour of massively parallel SD Erlang programs. We will demonstrate the e ectiveness of the RELEASE approach using demonstrators and two large case studies on a Blue Gene
- ā¦