The diversity of robotic research areas along with the complex requirements of hardware and software for robotic systems have always presented a challenge for system developers. Many past robot control platforms were ...
详细信息
The diversity of robotic research areas along with the complex requirements of hardware and software for robotic systems have always presented a challenge for system developers. Many past robot control platforms were complex, expensive, and not very user friendly. Even though several of the previous platforms were designed to provide an open architecture system, very few of the previous platforms have been reused. To address previous disadvantages, this paper describes the design and implementation of the Robotic Platform, an object-oriented development platform for robotic applications. The Robotic Platform includes hardware interfacing, servo control, trajectory generation, 3D simulation, a graphical user interface, and a math library. As opposed to distributed solutions, the Robotic Platform implements all these components in a homogenous architecture that utilizes a single hardware platform (a standard PC), a single programming language (C++), and a single operating system (the QNX Real-Time Platform) while guaranteeing deterministic real-time performance. This design leads to an open architecture that is less complex, easier to use, and easier to extend. Particularly, the area of multiple cooperating robots benefits from this kind of architecture, since the Robotic Platform achieves a high integration of its components and provides a simple and flexible means of communication. The architecture of the Robotic Platform builds on the following state-of-the-art technologies and general purpose components to further increase simplicity and reliability: (i) PC technology, (ii) the QNX Real-Time Platform, (iii) the Open Inventor library, (iv) object-orienteddesign, and (v) the QMotor control environment.
Control software for astronomy matches the ever increasing complexity of new large instrumentation projects. In order to speed the development cycle, object-oriented techniques have been used to generate loosely coupl...
详细信息
ISBN:
(纸本)0819454281
Control software for astronomy matches the ever increasing complexity of new large instrumentation projects. In order to speed the development cycle, object-oriented techniques have been used to generate loosely coupled software objects and larger scale components that can be reused in future projects. Such object-orientedsystems provide for short development cycles which can respond to changing requirements and allow for extension. The Unified Modeling Language (UML) has been used for the analysis, design and implementation of this software. A distributed system is supported by the use of an object broker such as CORBA. These techniques are being applied to the development of an instrument control system for the UK spectrograph within FMOS (Fiber-fed Multi-object Spectrograph). This is a second generation instrument for the Subaru Telescope of the National Astronomical Observatory of Japan.
Encapsulation in object-oriented languages has traditionally been based on static type systems. As a consequence;dynamically-typed languages have only limited support for encapsulation. This is surprising, considering...
详细信息
Encapsulation in object-oriented languages has traditionally been based on static type systems. As a consequence;dynamically-typed languages have only limited support for encapsulation. This is surprising, considering that encapsulation is one of the most fundamental and important concepts behind object-oriented programming and that it is essential for writing programs that are maintainable and reliable, and that remain robust as they evolve. In this paper we describe the problems that are caused by insufficient encapsulation mechanisms and then present object-oriented encapsulation, a simple and uniform approach that solves these problems by bringing state of the art encapsulation features to dynamically typed languages. We provide a detailed discussion of our design rationales and compare them and their consequences to the encapsulation approaches used for statically typed languages. We also describe an implementation of object-oriented encapsulation in Smalltalk. Benchmarks of this implementation show that extensive use of object-oriented encapsulation results in a slowdown of less than 15 percent.
This article describes a planning approach based on the object representation. A planning domain in OAP (object-oriented Approach for Planning) consists of a dynamic set of objects. OAP provides a language for plannin...
详细信息
This article describes a planning approach based on the object representation. A planning domain in OAP (object-oriented Approach for Planning) consists of a dynamic set of objects. OAP provides a language for planning problems modeling and implementation. This approach can evolve a domain model from a literal (predicative) representation to an object based representation, as well as enhancing the development of planning problems. The goal of OAP is to offer the possibility to design and develop planning problems as any other software engineering problem, and to allow the application of planning to a larger class of domains by using methods (functions) that can be implemented within the world objects. Planning systems using OAP as language can be integrated into any existing object-oriented software with a slight additional effort to transform the system to a planning domain model, which allows the use of planning to solve generic tasks in existing software applications (Business, web,...). Therefore planning in real world systems will be easier to model and to implement using all the software engineering facilities offered by the object-oriented tools.
Encapsulation in object-oriented languages has traditionally been based on static type systems. As a consequence, dynamically-typed languages have only limited support for encapsulation. This is surprising, considerin...
详细信息
ISBN:
(纸本)1581138318
Encapsulation in object-oriented languages has traditionally been based on static type systems. As a consequence, dynamically-typed languages have only limited support for encapsulation. This is surprising, considering that encapsulation is one of the most fundamental and important concepts behind object-oriented programming and that it is essential for writing programs that are maintainable and reliable, and that remain robust as they evolve. In this paper we describe the problems that are caused by insufficient encapsulation mechanisms and then present object-oriented encapsulation, a simple and uniform approach that solves these problems by bringing state of the art encapsulation features to dynamically typed languages. We provide a detailed discussion of our design rationales and compare them and their consequences to the encapsulation approaches used for statically typed languages. We also describe an implementation of object-oriented encapsulation in Smalltalk. Benchmarks of this implementation show that extensive use of object-oriented encapsulation results in a slowdown of less than 15 percent.
Region-based memory management offers several important potential advantages over garbage collection, including real-time performance, better data locality, and more efficient use of limited memory. Researchers have a...
详细信息
Region-based memory management offers several important potential advantages over garbage collection, including real-time performance, better data locality, and more efficient use of limited memory. Researchers have advocated the use of regions for functional imperative, and object-oriented languages. Lexically scoped regions are now a core feature of the Real-Time Specification for Java (RTSJ)[5]. Recent research in region-based programming for Java has focused on region checking, which requires manual effort to augment the program with region annotations. In this paper, we propose an automatic region inference system for a core subset of Java. To provide an inference method that is both precise and practical, we support classes and methods that are region-polymorphic, with region-polymorphic recursion for methods. One challenging aspect is to ensure region safety in the presence of features such as class subtyping, method overriding, and downcast operations. Our region inference rules can handle these object-oriented features safely without creating dangling references.
In this paper we present the design and implementation of Tsinghua object Data Store (TODS), a cluster object storage system to support the building of scalable Internet services. TODS provides a unified, transparent ...
详细信息
In this paper we present the design and implementation of Tsinghua object Data Store (TODS), a cluster object storage system to support the building of scalable Internet services. TODS provides a unified, transparent and object-oriented view of the storage devices of the whole cluster, which greatly simplifies cluster service development. In the meantime, it is designed to be scalable and efficient. Services built on it can simply inherit these properties in a lot of cases. TODS supports ACID transactions. which facilitates the building of complex transactional services. TODS abstracts away from service logic most complexities of data management, which have often become major obstacles in developing high quality Internet services. The design principles, architecture and implementation of TODS are discussed. In our performance experiments, the system scales smoothly to a 36-node server cluster and achieves 11,160 in-memory reads per second and 396 transactions per second. We also demonstrate that the programming interface is significantly easier to use than that of RDBMS with a head-to-head comparative experiment. (C) 2003 Elsevier B.V. All rights reserved.
This paper presents an evolutionary prototyping methodology oriented to the model, design and implementation of concurrent distributed systems. This methodology use two several stages: a modeling language of concurren...
详细信息
This paper presents an evolutionary prototyping methodology oriented to the model, design and implementation of concurrent distributed systems. This methodology use two several stages: a modeling language of concurrent distributed systems LeMSiDiC (a graphical modeled language who provides UML-like structuring capabilities and a precise syntax and semantic for automatic source code generation for these types of systems);a source code generator GeCSiDiC (a code generator able to construct the objects associated to the model specified with LeMSiDiC using the object-oriented paradigm). The methodology allows to interrelate with one architecture oriented to concurrent distributed systems management or to interrelate with concurrent distributed systems without a specialized support.
This article reports on the design, implementation and testing of a mission management system for a small, electric powered UAV - the Codarra Avatar The system was designed and implemented using the agent-programming ...
详细信息
ISBN:
(纸本)0780388933
This article reports on the design, implementation and testing of a mission management system for a small, electric powered UAV - the Codarra Avatar The system was designed and implemented using the agent-programming paradigm, which is a powerful, scalable and flexible framework for building autonomous systems. Specifically, we have used the JACK Intelligent Agents programming language. The system was integrated with an existing autopilot and auto -stabilisation system that performs basic flight control on the UAV The mission management system performs without any human intervention, and represents a step forward in UAV autonomy. The use of agents as the design and development platform is particularly useful in view of future work involving teams, or perhaps swarms, of UAVs. Two agent designs inspired by different design principles will be described and compared. The simulation and actual flight tests will also be discussed. In addition to the experimental report, we provide a short conceptual discourse on autonomous agent and multi-agent systems, and how the proposed frameworks and concepts can apply to multi-bAV control.
Polyphonie C# is an extension of the C# language with new asynchronous concurrency constructs, based on the join calculus. We describe the design and implementation of the language and give examples of its use in addr...
详细信息
Polyphonie C# is an extension of the C# language with new asynchronous concurrency constructs, based on the join calculus. We describe the design and implementation of the language and give examples of its use in addressing a range of concurrent programming problems.
暂无评论