To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Quay cranes are particular transportation devices for which operation's safety and CRAMP parameters (Cost, Reliability, Availability, Maintainability, and Productivity) should be fulfilled with regard to a harbor maintenance strategy. The maintenance process is first considered within a holistic modeling framework in order to cope with the current practices of treating strategic, operational and engineering maintenance issues independently without taking into account their interactions within an entire Enterprise System. Proactive maintenance is then highlighted as a new model aiming to globally optimize the components operation parameters throughout three interacting prognosis, diagnosis and monitoring processes. Technical issues related to Intelligent Maintenance System are finally proposed in order to support proactive maintenance operations at the enterprise field level and applied to quay cranes in a particular site within the frame of the European Eureka ‘Robcrane' project.
In this paper distributed architectures for autonomous vehicles are addressed, with a special emphasis on its real-time control requirements. The interconnection of the distributed intelligent subsystems is a key factor in the overall performance of the system. To better understand the interconnection requirements, the main techniques and modules of a global navigation system are described. A special focus on fieldbuses properties and major characteristics is made in order to point out some potentialities, which make them attractive in autonomous vehicles real-time applications, either in terms of reliability as in terms of real-time restrictions.
When writing a program generator requires considerable intellectual effort, it is valuable to amortize that effort by using the generator to build more than one application. When a program generator serves multiple clients, however, the implementor must address pragmatic questions that implementors of single-use program generators can ignore. In how many languages should generated code be written? How should code be packaged? What should the interfaces to the client code look like? How should a user control variations? This paper elaborates on these questions by means of case studies of the New Jersey Machine-Code Toolkit, the $\lambda$-RTL Translator, and the ASDL program generator. It is hoped that the paper will stimulate the development of better techniques. Most urgently needed are a standard way to support multiple target languages and a simple, clear way to control interfaces to generated code.
This paper describes learning in a compiler for algorithms solving classes of the logic minimization problem MINSAT, where the underlying propositional formula is in conjunctive normal form (CNF) and where costs are associated with the True/False values of the variables. Each class consists of all instances that may be derived from a given propositional formula and costs for True/False values by fixing or deleting variables, and by deleting clauses. The learning step begins once the compiler has constructed a solution algorithm for a given class. The step applies that algorithm to comparatively few instances of the class, analyses the performance of the algorithm on these instances, and modifies the underlying propositional formula, with the goal that the algorithm will perform much better on all instances of the class.
Inlining and specialization appear in various forms throughout the implementation of modern programming languages. From mere compiler optimizations to sophisticated techniques in partial evaluation, they are omnipresent, yet each application is treated differently. This paper is an attempt at uncovering the relations between inlining (as done in production compilers) and staged computation (as done in partial evaluators) in the hope of bringing together the research advances in both fields. Using a two-level lambda calculus as the intermediate language, we show how to model inlining as a staged computation while avoiding unnecessary code duplication. The new framework allows us to define inlining annotations formally and to reason about their interactions with module code. In fact, we present a cross-module inlining algorithm that inlines all functions marked inlinable, even in the presence of ML-style parameterized modules.
An open ended list is a well known data structure in Prolog programs. It is frequently used to represent a value changing over time, while this value is referred to from several places in the data structure of the application. A weak point in this technique is that the time complexity is linear in the number of updates to the value represented by the open ended list. In this programming pearl we present a variant of the open ended list, namely an open ended tree, with an update and access time complexity logarithmic in the number of updates to the value.
With the fast development of the control theory and engineering, robotics and artificial intelligence have become the focus in the field of intelligent systems. But research in this field is based on a series of experiments and requires various robot platforms which are often unaffordable by the universities in developing countries. The intention of this paper is to present the idea of applying innovative control education and building a laboratory using low cost equipments. In this paper the architecture and control system of a new kind of low cost intelligent robot, “Ability Storm”, is introduced. It not only shows the technical aspect, but also illustrates the related applications in control education. The versatility and effectiveness of this affordable intelligent robot platform are demonstrated through a number of experiments, including both basic laboratory experiments and other innovative project-oriented design, such as robot fire fighting, which clearly show the practicality and robustness of this cost-effective robot platform.
Low cost automation often requires accurate positioning. This happens whenever a vehicle or robotic manipulator is used to move materials, parts or minerals on the factory floor or outdoors. In last few years, such vehicles and devices are mostly autonomous. This paper presents the method of sensor fusion based on the Adaptive Fuzzy Kalman Filtering. This method has been applied to fuse position signals from the Global Positioning System (GPS) and Inertial Navigation System (INS) for the autonomous mobile vehicles. The presented method has been validated in 3-D environment and is of particular importance for guidance, navigation, and control of mobile, autonomous vehicles. The Extended Kalman Filter (EKF) and the noise characteristic have been modified using the Fuzzy Logic Adaptive System and compared with the performance of regular EKF. It has been demonstrated that the Fuzzy Adaptive Kalman Filter gives better results (more accurate) than the EKF. The presented method is suitable for real-time control and is relatively inexpensive. Also, it applies to fusion process with sensors different than INS or GPS.
This paper presents a methodology for image-to-space path planning of a SCARA manipulator with a single static color camera. The method proposes a two step algorithm for estimating object position on the image plane and then mapping into space to find required angular values of the manipulator joints. Tests were carried with a computational routine to estimate position on the image plane of a set of different fruits under natural light conditions. Finally the method was tested using a robotic arm and similarly structured objects. Hardware and software implementation of the present method is of low cost when compared to current commercial technology, and operational results are promising but dependent on environmental illumination control and camera calibration accuracy. The methodology is intended to be applied in the automatic classification of fruits.
This paper presents new low-cost systems for the automation of some fish farm operations. Particularly, computer vision is applied to non-contact fish weight estimation. Stereo vision systems with synchronised convergent cameras are employed to perform fish 3-D segmentation in tanks and sea cages. Several pre-processing algorithms are applied to compensate for illumination local variations. The approach applied for fish 3-D segmentation consists in detecting in both images certain fish features. Once these points have been detected and validated in both images, the fish are 3-D segmented by applying stereo vision matching considerations. Fish weight is estimated by using simple length-weight relations well known in the aquaculture domain. The paper also briefly describes robotics systems for fish feeding and underwater pond cleaning, which can be also used to implement the above mentioned computer vision techniques for the fish estimation.
In this paper, development and implementation are presented of a client software package for remote process control. The proposed software is based on a client-server model under an Intranet architecture. The architecture is proposed for a telecontrol system of a real process, which includes the possibility of integrating I/O devices with data networks based on open protocols such as TCP/IP. This protocol allows the implementation of control systems using a low-cost alternative. Also, the Smith predictor is revised for remote control applications over an Ethernet network. Some experiences on a laboratory pasteurization plant are addressed to show both developed controllers and architecture performance.
Functional languages are particularly well-suited to the interpretive implementations of Domain-Specific Embedded Languages (DSELs). We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation. The technique uses a data type of syntax for basic types, a set of smart constructors that perform rewriting over those types, some code motion transformations, and a back-end code generator. Domain-specific optimization results from chains of domain-independent rewrites on basic types. New DSELs are defined directly in terms of the basic syntactic types, plus host language functions and tuples. This definition style makes compilers easy to write and, in fact, almost identical to the simplest embedded interpreters. We illustrate this technique with a language Pan for the computationally intensive domain of image synthesis and manipulation.
We show that database schema validation and update processing problems such as view updating, materialized view maintenance, integrity constraint checking, integrity constraint maintenance or condition monitoring can be classified as problems of either abductive or deductive nature, according to the reasoning paradigm that inherently suites them. This is done by performing abductive and deductive reasoning on the event rules (Olivé 1991), a set of rules that define the difference between consecutive database states. In this way, we show that it is possible to provide methods able to deal with all these problems as a whole. We also show how some existing general deductive and abductive procedures may be used to reason on the event rules. In this way, we show that these procedures can deal with all database schema validation and update processing problems considered in this paper.
Smart devices used in continuous system, benefit from the addition of microelectronics and software that runs inside the device to perform control and diagnostic functions. Very small components, such as inputs/outputs blocks and overload relays, are too small to integrate data processing for technical-economic reason. However, it's possible to develop embedded intelligence and control for the smallest factory floor devices. In the paper, a generic model of smart equipment with reconfiguration functions is proposed. The interest of this functional model is that it can be used for smart devices but it can also be developed in modules for the nearest possible of the inputs and outputs in manufacturing equipment. This solution is economic for a great number of applications because it allows one to realise modular design and to standardise part of system in order to re-use it.
We present a formal and general specification of lambda lifting and prove its correctness with respect to a call-by-name operational semantics. We use this specification to prove the correctness of a lambda lifting algorithm similar to the one proposed by Johnsson. Lambda lifting is a program transformation that eliminates free variables from functions by introducing additional formal parameters to function definitions and additional actual parameters to function calls. This operation supports the transformation from a lexically-structured functional program into a set of recursive equations. Existing results provide specific algorithms and only limited correctness results. Our work provides a more general specification of lambda lifting (and related operations) that supports flexible translation strategies, which may result in new implementation techniques. Our work also supports a simple framework in which the interaction of lambda lifting and other optimizations can be studied and from which new algorithms might be obtained.
In this paper the use of inexpensive standard hardware and software is proposed in place of high-cost commercial solutions to set up real-time control experiments with a human in the control loop, including graphical and haptic virtual reality (VR). For this purpose a generic simulation environment for the implementation of control experiments using VR with haptic feedback and their evaluation, has been developed. As an example, setups of a car simulator with a human in the control loop and an inverted pendulum as an experiment for student laboratories are presented.
This paper addresses the issue of safely combining computational effects and multi-stage programming. We propose a type system which exploits a notion of closed type, to check statically that an imperative multi-stage program does not cause run-time errors. Our approach is demonstrated formally for a core language called $\hbox{\sf MiniML}^{\sf meta}_{\sf ref}$. This core language safely combines multi-stage constructs and ML-style references, and is a conservative extension of $\hbox{\sf MiniML}_{\sf ref}$, a simple imperative subset of SML. In previous work, we introduced a closed type constructor, which was enough to ensure the safe execution of dynamically generated code in the pure fragment of $\hbox{\sf MiniML}^{\sf meta}_{\sf ref}$.