تحقیق و توسعه زیرساخت های زمان واقعی برای سیستم های هوشمند - تکامل یک رویکرد یکپارچه
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|5551||2008||15 صفحه PDF||سفارش دهید||محاسبه نشده|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Robotics and Autonomous Systems, Volume 56, Issue 1, 31 January 2008, Pages 14–28
In this paper, we describe the principles and the methodologies that we have researched for the creation of a software infrastructure for bridging the gap from brain-like systems design to standard software technology. Looking at the brain, we constantly take inspiration and choose the relevant principles that our computer-base model should/could be based on. This ranges from the evolution of the brain (phylogenetically and ontogenetically), the inherent autonomy of the currently identified areas, the intrinsic synchronization through the most basic control mechanisms that regulates interaction, communication, and modulation. With these principles in mind, we started to make a subdivision of our system into instance, functional and computing architecture, modeling each sub-system with processes and tools in order to create a basic infrastructure that supports the research and creation of intelligent systems. The basic elements of our infrastructure are the BBCM (Brain Bytes Component Model) and BBDM (Brain Bytes Data Model), created to enable the modularization and reuse of our systems. Based on those, we have developed DTBOS (Design Tool for Brain Operating System), the design environment for supporting graphical design, RTBOS (Real-Time Brain Operating System), the middleware that supports real-time execution of our modular systems, and CMBOS (Control-Monitor Brain Operating System) to enable the monitoring of running modules. We will show the feasibility of the established environment by shortly describing some of the experimental systems in the area of cognitive robotics that we have created. This will serve to give a more concrete understanding of the dimensions and the type of systems that we have been able to create.
The main focus of our research is to create large scale biologically inspired intelligent systems capable of interaction in the real world with real-time constraints. The underlying assumptions are that major progress in brain-like computing can only be achieved if the systems aspect is a central point of research and that the real power of brain-like computing will only unfold if real world tasks are approached. The general concept is not defined as copying the brain, but as understanding and transferring brain-like processing principles to technical systems in order to solve problems of computational intelligence. Therefore, great care has to be taken in order to transfer the principles of biological processing and not the constraints present in biological systems. Such principles constitute the main focus of our research, and, as proof of concept, we implement them on our target platforms (ASIMO and automobile). With such a process, we try to enable fundamental research to deal with problems and allow usage of methods that may result in concrete applications realizable in real world conditions. The notion of a system comprises sensing, processing, and the generation of behavior in the real world by means of actuators, which close the loop to the sensors via the environment. We demand also a sufficient generality of the system with respect to the solution of several different tasks without a separate system-design for each task. Therefore, the spectrum of research topics ranges from biological models and processes via abstract system-theoretical aspects, simulation, and real-time processing environments to the engineering of hardware and software computing elements (see ). A large influence on the design of such intelligent systems comes from the area of real-time computing, since the systems must interact with the outside world by means of sensors and actuators. This demand for real-time execution exists in the sense of a defined upper limit of the time span from an (environmental) event to a system response. It is our strong belief that all those aspects have to be addressed concurrently in order to design a consistent overall system. Since the knowledge of biological neural systems is still continuously growing, an iterative analysis by synthesis approach is pursued: • Start the incremental design from the general to the specific; •Observe and analyze the behavior of the system; •Condense the gained knowledge into an increasingly dedicated architecture. In order to research brain-like systems, a critical mass of architecture, infrastructure, and implementation has to be established. This will allow previously isolated concepts about some functional mechanisms in the brain to be tested in a comprehensive environment. Standard computers and programming languages are, implicitly or explicitly, accepted as a general platform for researching and creating intelligent systems (very few researchers are building their own computing architectures like analog or neural computers). Our assumption here is that such technologies are sufficiently general and powerful, and that they do not represent a limitation for the targeted brain-like computing system we aim to build. But still, a set of generic tools and computers alone cannot solve all the issues that usually emerge in researching and creating intelligent systems. Current technologies, in the states are now available, are still too complex to be used for a large spectrum of researchers working in fields and having knowledge not closely related to the computer science domain. It is clearly necessary to research the hardware/software architectures and the methods and approaches towards the creation of such large-scale systems through a general research and development environment. Here, the effort is on the principles that regulate and organize the research work into a coherent and consistent design and implementation of the many parts that an intelligent system is composed of. Here, libraries, modules, components, and software infrastructures are necessary elements. Systems with a basic set of behaviors are also an indispensable part. But still, substantial work has to be carried out in defining a common set of data types, thereby identifying the language that the module’s interface would use. With it, the way towards representation will be pursued. Additionally, a set of basic synchronization principles has to be defined, governing the data flow of a complex system: when does a signal trigger a computation? When is it only modulatory? How many inputs are necessary for starting the computation of a module? How to align parallel streams of data? We are focusing on a research environment with seemingly contradictory requirements: • Provide the necessary freedom for exploration, but •make an interactive evaluation of the research possible. This means that issues like synchronization, communication, granularity etc. are not determined a priori, but must be realizable in different forms within the environment. The lessons we learned from the brain are as follows (some of them are not addressed for the first time, but according to our understanding they have not been addressed so coherently and comprehensively so far): (1)The brain has been modeled as several areas that act autonomously but can be coherently processing when necessary. As a consequence, we assume basically all processing units as autonomous, and allow for a synchronization by events, data streams, or grouping of processing units. Even more radically, our basic communication framework guarantees that units cannot block each other in processing, but data can always be read and written. (2)Our traditional understanding of units may finally not be applicable to the brain. Nevertheless, we start with some units (while acknowledging that the boundaries of those units may dissolve). As a consequence, we provide dedicated communication means at low computational cost for handling the massive amount of data to be communicated. This is done by considering interfaces between units that can become bigger and bigger. The technical requirements here are high bandwidth with low latency communication. (3) Developmental or incremental design: We pursue an analysis by the synthesis approach, which means that our environment has to evolve with the knowledge gained from the research results. It resembles, to some extent, the processes of phylogeny and ontogeny in biology. As a consequence, we provide only very basic means for organizing processing and communication, but allow for adding more mechanisms on top of those means. This underlying computing architecture should not impose constraints on the functional model of the systems architecture to be researched (see  and ). (4)The brain is the most complex structure known to man. Researching brain-like intelligence means that we have to be able to cope with large-scale systems. This applies to the design, to the execution, and to the evaluation of the experiments. There are three major consequences: • Design: GUIs and means for defining hierarchies are available now. Means for growing systems are under evaluation. •Execution: Deterministic distributed execution of large-scale systems (see  and  for an overview on distributed systems). •Evaluation: Means for observing large-scale systems with minimal interference with the processing inside these systems. (5)The brain is embedded in the real world and organizes interactions. We consider interaction in a sufficiently rich environment as crucial in order to ask the relevant research questions. As a consequence, our environment must support this interaction, which essentially means that it must be predictable in execution time. This is a major difference to other biologically oriented approaches, though of course not to traditional robotics oriented ones. (6)In the brain, the communication determines the control flow. How this works exactly is unknown. Therefore, we need to be able to investigate various communication topologies and patterns without changing any local processing. As a consequence, we introduced a strict separation between processing and communication. (7)Researchers should be able to experiment on the conceptual level without the burden of the concrete technical implementation. This was already partially addressed in the first point. As a consequence here, we consider an abstraction layer above the mechanisms for the necessary parallelization and synchronization. These points are the main driving forces for the work described in this paper. They will be referred to throughout this document when we describe our contributions to a research infrastructure. The paper is organized along the structure of the overall process we use in our software system research and the tools that support us in the creation of real-time distributed embodied intelligent systems. We have decided to support the research with the standard software engineering process: design, development, and testing. This means that for every cycle we may review our systems (see (3) in Section 1), consolidate and make a more coherent design and implementation (following an evolutionary approach–monotonically–and reusing the old part of the systems). The need for such a process comes from the inherent complexity of cutting an overall system into pieces (modules). In identifying the atomic parts and modeling them into software components for algorithms and components for data (see (6) in Section 1), we have made a clear distinction between processing and communication (see (6) in Section 1). All these concepts have been encapsulated into a uniform and fully integrated framework, reaching an infrastructure that is undoubtedly not common in computer science, and especially in the robotics domain.
نتیجه گیری انگلیسی
In this paper, we described the principles and the methodologies that we have researched for the creation of an integrated research and development environment, the base of our brain-like intelligent systems. We have described the process that governs the life-cycle of our systems research; through this process we have analyzed the main tools we use for integrating our software systems. The component models (BBCM and BBDM), the design tool (DTBOS), the execution engine (RTBOS) and the monitoring tool (CMBOS) constitute the main parts that an integrated software environment should have in order to ensure a certain level of quality and efficiency. In addition to the experience within the three different fields cited in Section 5, there are some general observations we would like to report on. We could experience that the limits of our tools are reached if we are close to the limits of the underlying operating systems and hardware. Those limits are mainly due to general purpose schedulers and limited network bandwidth. For us, this is a mild indicator that the overall overhead introduced by our tools is small. Major parts of our experiments have been contributed by non-systems programmers. With the aid of the offered tools, they were able to create and manage real-time multi-threaded parts of the systems. The overall reuse of components across the different fields depends on the level of granularity of the components. Generally speaking, the reuse is higher for finer-grained components. For example, there is a large overlap of the simple components between the visual components of the first and the third system, but exact numbers have to be determined. The chosen decomposition of the systems as well as the means for working visually and monitoring various systems’ properties allows for real research on the systems level. As pointed out in the paragraph on the auditory systems, different kinds of processing and communication paradigms can be created and managed with the same tools. For example, in the area of the active vision system, we could investigate different synchronization mechanisms without touching any of the processing modules. In the last four years, we have gained experience in using our integrated software environment, and we have clearly demonstrated that we are now able to setup large systems as the result of the work of several researchers in our lab.