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.
Formal methods have finally come of age! Specification languages, theorem provers, and model checkers are beginning to be used routinely in industry. Mathematical logic is basic to all of these techniques. Until now textbooks on logic for computer scientists have not kept pace with the development of tools for hardware and software specification and verification. For example, in spite of the success of model checking in verifying sequential circuit designs and communication protocols, until now I did not know of a single text, suitable for undergraduate and beginning graduate students, that attempts to explain how this technique works. As a result, this material is rarely taught to computer scientists and electrical engineers who will need to use it as part of their jobs in the near future. Instead, engineers avoid using formal methods in situations where the methods would be of genuine benefit or complain that the concepts and notation used by the tools are complicated and unnatural. This is unfortunate since the underlying mathematics is generally quite simple, certainly no more difficult than the concepts from mathematical analysis that every calculus student is expected to learn.
Logic in Computer Science by Huth and Ryan is an exceptional book. I was amazed when I looked through it for the first time. In addition to propositional and predicate logic, it has a particularly thorough treatment of temporal logic and model checking.
The methods of the previous chapter are suitable for verifying systems of communicating processes, where control is the main issue, but there are no complex data. We relied on the fact that those (abstracted) systems are in a finite state. These assumptions are not valid for sequential programs running on a single processor, the topic of this chapter. In those cases, the programs may manipulate non-trivial data and – once we admit variables of type integer, list, or tree – we are in the domain of machines with infinite state space.
In terms of the classification of verification methods given at the beginning of the last chapter, the methods of this chapter are
Proof-based. We do not exhaustively check every state that the system can get in to, as one does with model checking; this would be impossible, given that program variables can have infinitely many interacting values. Instead, we construct a proof that the system satisfies the property at hand, using a proof calculus. This is analogous to the situation in Chapter 2, where using a suitable proof calculus avoided the problem of having to check infinitely many models of a set of predicate logic formulas in order to establish the validity of a sequent.
Semi-automatic. Although many of the steps involved in proving that a program satisfies its specification are mechanical, there are some steps that involve some intelligence and that cannot be carried out algorithmically by a computer. As we will see, there are often good heuristics to help the programmer complete these tasks. This contrasts with the situation of the last chapter, which was fully automatic.
There is a great advantage in being able to verify the correctness of computer systems, whether they are hardware, software, or a combination. This is most obvious in the case of safety-critical systems, but also applies to those that are commercially critical, such as mass-produced chips, mission critical, etc. Formal verification methods have quite recently become usable by industry and there is a growing demand for professionals able to apply them. In this chapter, and the next one, we examine two applications of logics to the question of verifying the correctness of computer systems, or programs.
Formal verification techniques can be thought of as comprising three parts:
a framework for modelling systems, typically a description language of some sort;
a specification language for describing the properties to be verified;
a verification method to establish whether the description of a system satisfies the specification.
Approaches to verification can be classified according to the following criteria:
Proof-based vs. model-based. In a proof-based approach, the system description is a set of formulas Γ (in a suitable logic) and the specification is another formula ϕ. The verification method consists of trying to find a proof that Γ ⊢ ϕ. This typically requires guidance and expertise from the user.
The aim of logic in computer science is to develop languages to model the situations we encounter as computer science professionals, in such a way that we can reason about them formally. Reasoning about situations means constructing arguments about them; we want to do this formally, so that the arguments are valid and can be defended rigorously, or executed on a machine.
Consider the following argument:
Example 1.1 If the train arrives late and there are no taxis at the station, then John is late for his meeting. John is not late for his meeting. The train did arrive late. Therefore, there were taxis at the station.
Intuitively, the argument is valid, since if we put the first sentence and the third sentence together, they tell us that if there are no taxis, then John will be late. The second sentence tells us that he was not late, so it must be the case that there were taxis.
Much of this book will be concerned with arguments that have this structure, namely, that consist of a number of sentences followed by the word ‘therefore’ and then another sentence. The argument is valid if the sentence after the ‘therefore’ logically follows from the sentences before it. Exactly what we mean by ‘follows from’ is the subject of this chapter and the next one.
This paper deals with the controllability of biologically inspired snake-like mechanisms. Motion equations of the generic snake-like mechanism and investigations on its controllability lead to extremely complicated mathematical representations. The authors establish a physical analogy between the undulatory snake locomotion and object grasping. Based on this analogy, they propose a controllability criterion concerning the motion of the mobile mechanism. Results of dynamic simulations of the controlled system systematically point to the validity of the analogy-based controllability criterion. The purpose of this work is to achieve an understanding of the undulatory motion which constitutes the basis of a biologically motivated experimental setup.
This paper deals with the problem of the dynamic stress optimisation for manipulator robots. The maximum dynamic stress search is a challenging problem, insofar the dynamic stresses change in a very complex manner and they are strongly influenced by the payload, internal parameters of the robot, and instantaneous values of the articular variables (positions, velocities, and accelerations). This problem is solved using a hybrid simplex-genetic algorithm. This algorithm allows solving the dilemma of exploration vs. exploitation in the search space. A simulation study shows the greater performance of the proposed approach as compared to a classical approach of the configuration space inverse sweeping.
A survey of the field of control for flexible multi-link robots is presented. This research area has drawn great attention during the last two decades, and seems to be somewhat less “attractive” now, due to the many satisfactory results already obtained, but also because of the complex nature of the remaining open problems. Thus it seems that the time has come to try to deliver a sort of “state of the art” on this subject, although an exhaustive one is out of scope here, because of the great amount of publications. Instead, we survey the most salient progresses – in our opinion – approximately during the last decade, that are representative of the essential different ideas in the field. We proceed along with the exposition of material coming from about 119 included references. We do not pretend to deeply present each of the methods quoted hereafter; however, our goal is to briefly introduce most of the existing methods and to refer the interested reader to more detailed presentations for each scheme. To begin with, a now well-established classification of the flexible arms control goals is given. It is followed by a presentation of different control strategies, indicating in each case whether the approach deals with the one-link case, which can be successfully treated via linear models, or with the multi-link case which necessitates nonlinear, more complex, models. Some possible issues for future research are given in conclusion.
The accuracy of pose of industrial robots is often unsatis-factory for advanced applications. Particularly regarding off-line programming, exchangeability and high precision tasks problems may occur which can be very time-consuming and costly to solve. Therefore a calibration system ROSY has been developed in order to increase the accuracy of standard robots and parallel-kinematic structures, like the Tricept robots.
When modeling the dynamics of robotic systems containing electric motors, the force generated by the motor is generally considered only as an applied torque or force that is independent of mechanical state variables such as velocity. Due to the electromechanical coupling effects in the motors, this approach leads engineers working on a robotic system to designing faulty controllers. In this paper, we propose a dynamics analysis model in which DC motor dynamics are embedded into a mechanical dynamics model such that the electromechanical coupling effects are included in the overall model. A model for the DC motor is developed based on its equivalent circuit model and incorporated into the generalized recursive dynamics formula previously developed by our group. The resulting dynamic numerical simulation program provides an effective and realistic approach for analyzing the electromechanical dynamics of robotic systems driven by DC motors. The developed numerical simulation tool is evaluated by applying to an industrial robot and a flexible antenna system driven by DC motors for a satellite.
The paper presents research on the APF approach for solving the GNRON and local minima problems. The repulsive potential function is modified in order to solve the GNRON problem. A simulated annealing algorithm integrated into the APF has solved the local minimum problem. The improved APF is applied to the path-planning problem of soccer robots. The simulated experiments show the validity of this approach.