next_group up previous


Integration of Planning, Acting & Sensing

On the State of the Art in Planning and Acting

The generation of plans for autonomous systems like robots and sotware agents cannot be separated from their execution. Mostly, actions are intended to be performed within dynamic and unpredictable environments. This makes any plan extremely susceptible for failures. One approach to overcome this problem is described in another part of this document: The domain model explicitly represents uncertainties in the environment specification and provides strategies for all execution problems. However, the techniques for handling uncertainty depend on an explicit and accurate domain analysis, e.g. probability distributions.


A more pragmatic approach is to combine a classical plan generation process with the plan's execution. The execution component continuously reports the planning system about the progress being made, including action failures and unexpected world changes. The transferred information enables the planning system to adapt (partly) committed plans or to generate new (sub-)plans. All of the presented approaches agree, that this is neccessary for the flexibility and robustness of the overall system. Another benefit is the way domain models are created: Failures do not have to be foreseen explicitly.

Surprisingly, this technique was not adopted in many planning and execution systems. Only few up-to-date planners are capable of continuous interaction with their execution clients.


As a rule, the control of autonomous hard- or software agents is done today by reactive systems. We find architectures with symbolic represenations like reactive action packages in RAP[9] and that used in the procedural reasoning system PRS[16]. Also very popular in Robotics is SAPHIRA[29] with its fuzzy controllers and derivates of the subsumption architecture[5], which are characterized by layers of competence.

All these approaches have in common the notion of behaviours of the execution components. The term behaviours addresses fixed pre-compiled patterns of actions which are selected depending on the actual situation of the executor. As a first step towards the integration of a deliberative planning process into such a plan execution environment, there are systems where the executors send ``off-line'' queries to the built-in planners, e.g. [10], [15] or [30].


An alternative system design puts the execution control into the planner itself. Such systems typically generate plans to perform the entire task and monitor their realisation afterwards. One of the first planners following this approach was PLANEX[8]. It uses the STRIPS planning engine and controls plan execution by monitoring state changes at execution time. In case of an execution failure, it continues to execute independent, unaffected parts of the plan. If no such independent sub-plan is left, a new (complete) plan is generated. A more recent representative of this technique is the execution agent of O-Plan[6].

Many researchers argued that repair plans have to be provided to enhance performance. In the case of execution failures, they allow to complete the original task, starting from the current failed state. Unfortunately, planners in most frameworks typically get unspecific feedback information like ``action x has failed''. This means that computational expensive ``from-scratch'' re-planning has to be done. To make re-planning more tractable, some systems provide their execution layer with reactive plan repair capabilities, e.g. [31].


In [20] planning problems are regarded as specifications for complex actions. The generation of plans corresponds to their execution in form of logic programs.


IPEM [1] (Integrated Planning, Execution and Monitoring) was the first system to integrate non-linear planning and plan execution. Partial plans are completed stepwise using classical non-linear techniques. After every such step a sequence of executable actions is determined. Their execution leads to a new current state which is the basis for the next completion step in the planning sub-system.


The Continuous Planning and Execution Framework CPEF [21] is a system with emphasis on the interaction of planning and execution in an asynchronously working architecture. It relies on the planning system SIPE-2 [33] and PRS [16] for execution management. In this framework plans can be generated to arbitrary levels of refinement and then be manipulated at runtime by the executor component. Manipulating means translating into sequences of executable actions or repairing of flaws.


The SAGE-system [17] tightly integrates plan execution into the planning process. This is done by extending the non-linear planner UCPOP [26] by two new types of flaws: un-executed and executing. The latter is introduced to express the fact that actions are not instantaneous. An action cannot be executed until all of its preconditions have been satisfied and achieved by executing preceeding actions. After an action is marked executable, SAGE delays its execution as long as possible in order to avoid committing prematurely to a partially constructed plan. The planner runs continously and returns results as soon as they are obtained.

SAGE provides an advanced re-planning capability. It introduces user-defined and domain-specific failure handlers which remove a failed portion of the plan and update the domain model accordingly. This avoids repeating failures during re-planning and re-executing.


The reactive planning system BURTON [34] is developed for autonomous spacecraft control. It uses compiled temporal logical descriptions of state transition models of the various spacecraft components and generates from them reliably correct instruction sequences. It is the first system to use consequently symbolic representation of the application domain down to the lowest level of plan execution.

The New Millennium Remote Agent NMRA [25], the predecessor of Burton, is the first AI planning system to be used in an autonomous spacecraft . The system controls Deep Space One, which has been launched in October 1998 to explore the asteroid 1992KD. NMRA does not have the elaborated modelling approach fo BURTON yet, but although some modules of the probe are controlled exclusively by an on-board execution module, the high-level control is the planning system itself and has been auccessfully tested several times during its mission.

On the State of the Art in Planning and Sensing

The last section addressed many problems concerning performing tasks in uncertain and changing domains and it proposed some solutions by integrating planning into execution control. However, the basic assumption of most of these systems is that at any time complete and correct knowledge is available for free, which of course does not hold in any realistic environment. Therefore, this section will deal with the aspect of acquiring information that is necessary for a successfull mission accomplishment.

It is of particular importance for robot planning systems to keep knowledge about the environment consistent and up to date. In this context abstract and artificial looking cost-models known from agent-literature get very concrete and obviously mission-critical. The costs for obtaining information are directly recognisable and understandable: It may take a robot many actions to perceive knowledge about its environment. Furthermore, some of the sensing actions may be irreversible. An example for information gathering is moving to a distant location and then using an optic sensor to check an object's presence. But the reader may also think of performing some chemical experiment to determine the concentration of a volatile toxin.

Two basic methodologies will be discussed in the following two sections: we will refer to them as Planning for Sensing and Sensing for Planning.

Planning for Sensing

This methodology uses planning to support the sensory actions of an agent or robot, and it can be found in most existing systems. The basic idea is to add knowledge gathering actions to a contingency planning approach. These sensing actions satisfy knowledge goals which are unknown domain variables in open preconditions. Such frameworks represent the outcome of sensing by conditional branching[*].

The semantics of action nodes and conditional branches are typically that of possible worlds in an epistemic modal logic. Unknown domain variables induce several successor worlds, one for each possible value. Sensory actions allow to separate the successor worlds, i.e. in terms of the logic to ``know'' that an expression has a given value.

An example: The planner inserts a sensing action for an unknown boolean-valued information in the current partial plan. This creates two conditional branches, representing a partitioning of the successor worlds: One in which the value of the fact is known to be true, and one in which it is known to be false. Execution of this sensing action enables the agent to know at execution time in which partition of the possible worlds it is and to pursue the correct plan path.


The logic based planner presented in [12] can be viewed as the implementation of the methodology described above. Actions are modelled in an epistemic description logic framework [11]. It distinguishes between moving actions and sensing actions. The moving actions are formalised as in classical planning by domain constraints and precondition, effect and frame axioms. The sensing actions are using additional axioms involving epistemic operators. Therefore, the formalism can express that after performing a sensing action an agent knows whether some property holds or not, as well as that the sensing itself has side effects.


Related to this point of view is the one taken up in SAGE [17]. It is based on UCPOP [26] and serves as a query planner for the SIMS information mediator [2], which aims at providing flexible and efficient access to large numbers of information sources. The domain is modelled in a KL-ONE type language to determine the relevant sources for a given query, i.e. the contents and characteristic features of a database or knowledge source are represented in a description logic. SAGE incorporates a mechanism called run-time variables [1]. These place holders are located in effects of operators to collect values returned by their actions at execution time. Once the values are bound to such variables by successfully executed sensing actions they can be used by the plan execution component in the following plan steps. SAGE delays working on any open condition that involves such run-time variables, and waits for sensed information to update its domain model.

A very important feature of SAGE is its ability to introduce ``unforced'' additional sub-goals to queries. Thus the system is actively seeking for new information [18], in order to adapt its formal cost model for information sources. This mechanism enables SAGE to compare query plans and to prune the sets of databases relevant to subsequent sub-goals more effectively.


PUCCINI [13] is another partial order planner that performs sensing. PUCCINI serves like its well known predecessor XII as a planning engine for an Internet soft-bot which has correct but massively incomplete information about its environment. The algorithms are based on the idea that a precondition is true either because it is observed to be true or it has been made true by an action. The authors introduce observational links that do not induce additional ordering constraints: this enables preconditions to be supported by prior observation or later verification.

The action representation language SADL [14] is used, a derivate of ADL [24]. It supports universally quantified information goals and universally quantified, conditional, and observational effects. The effects are world state changes and world state reports, the latter assign values to run-time variables (see above). The use of a three-valued logic allows to model uncertainty explicitly, which is again described in terms of a possible world semantics.

The authors introduce three annotations for literals in preconditions and goals. One indicates classical goals with the intention to achieve them ``by whatever means possible''. If they contain run-time variables the agent has to learn the variable's truth value . The second annotation is used to describe so-called maintenance goals, i.e. fluents that must not be changed. The last annotation indicates to sense a fluent at the time the goal is introduced in the plan. Together with the first annotation this can formalise tidiness goals like ``restore the initial value''. Any un-annotated literal is marked to depend only on the state of the world and not on the agent's knowledge.

An important aspect of this work is the identification of a special, but large class of problem domains, wherein the presented formalism is regarded tractable, because actions can be encoded without knowledge preconditions: the knowledge-free Markov domains. In these domains the actions' effects only depend on the state of the world at the time of plan execution. Therefore, all knowledge sub-goals will be of the same form: The agent needs to know the value of a fluent exactly at the time the action is to be executed, and it does not matter if the agent affects the fluent by side effects of sensing.


CASSANDRA [28] is also based on the UCPOP [26] algorithm and is able to handle uncertainty about actions' outcomes. As in classical conditional planning, secondary preconditions represent context-dependent effects of the actions. Together with ``unknown'' preconditions this models uncertain effects. It introduces condition-action rules called decision steps and information gathering steps. The decision steps make the agent's choices explicit which conditional branches in the plan it should follow. The decisions are based on the knowledge provided by the execution of information gathering steps. Therefore, decision preconditions are treated as knowledge goals and are added to plans each time new sources of uncertainty are encountered. The rule base is built up incrementally during the planning process from those uncertainties that are used to establish preconditions in the given conditional branches.

CASSANDRA's labelling system for uncertainties in a plan is similar to that of PUCCINI (see above). Positive labels are propagated to denote plan elements that contribute to goal achievement in the current conditional branch and negative ones that for those which prevent goal achievement. Unlabelled elements mark ``context neutral'' actions which may or may not be executed on this path. Threat resolution is done in a classical manner by promotion, demotion, separation via non-codesignation, and preservation, i.e. generation of a sub-goal to disable the threatening effect by placing it in a separate conditional branch (conditioning in [27]). In contrast to most other conditional planners, CASSANDRA is able to reunify the proper conditional branches in partial plans.


Sensory Graph-Plan SGP [32] is an extension of the well-known GRAPH-PLAN system [4]. It handles planning problems with uncertain initial states and with actions that combine causal and sensory effects. The underlying semantics is again that of possible worlds which the system tries to make distinguishable for an plan-executing component. To this end, specific epistemic formulas are used to express that an agent knows in which world it currently is.

Each action has the usual causal effects plus zero or more observational effects denoted by arbitrary logical expressions composed of GRAPH-PLAN propositions. Such effects return one bit of information when executed: True if the logical expression is true in the world immediately prior to execution, and False otherwise. Consequently, action instances are linked to preconditions in two separate conditional contexts. This situation is mirrored in a layered planning graph with each layer representing one possible world.


Another planner that has been extended to handle contingencies and information acquisition is the probabilistic planner BURIDAN [19]. The resulting system [7], allows actions with causal and informational effects. The input is a probabilistic distribution over the initial states, a goal expression, a set of probabilistic action descriptions[*] and a probability threshold. The system produces a contingent plan that makes the goal expression true with a probability of at least the threshold. Again, the possible worlds produced by observations and uncertain action effects are divided in equivalence classes by a context-based labelling mechanism. Each action in the plan is annotated with a context label which is generated by observations and inherited by previous steps. Labels determine under which circumstances an action should be performed.

The methodologies used in this system differ in some way from conventional techniques. In particular, all operations on the plan aim at increasing the probability for goal satisfaction. Threat resolution in this context is done not only by the classical promotion and demotion mechanisms: Confrontation adopts the triggers of ``benign'' consequences as goals which has the effect of decreasing the probability of the threatening consequence. Conditioning is a technique from classical conditional planning [27]. It ensures the threatening step never to be executed in the same execution trace as the producer or consumer of the threatened link. This technique is used within branches that connect information producing actions to subsequent actions, indicating which observation labels of the first permit execution of the second: The system can separate the context of the threatening step from the context of either the link's producer or consumer.

Sensing for Planning

The systems described so far consider the execution component's knowledge only at the time the plan is actually executed. The approaches of the following section try to ``complete'' the integration of the planning system in the overall architecture by establishing a bi-directional flow of information and thereby providing the planner with domain knowledge acquired at run-time? This paradigm - sensing for planning - incorporates information producing processes into planners and is motivated by problem descriptions of realistic domains.

In general, search space for conventional conditional planning explodes for relatively small ranges of the contingencies. There are many examples, we give a simple one here: The robot has to get the right key for a door identifiable by an in advance unknown 5-digit number. Even a few doors make this problem combinatorically intractable. A pragmatic approach in this situation would abstract from the key's identification and solve the contingency by ``looking at'' the door lock at execution time. Then it could plan how to get the key - of course assumed, that this can all be done without getting stuck in dead-ends.

But there is made another assumption by all systems that is not trivial at all and very hard to relax: The sensory input is given as logical predicates. The question how to build symbolic information out of sensor readings is a wide field of research but out of the scope of this document.


In [3] the authors use constraint satisfaction techniques to determine the value of preconditions in a UCPOP-like planner [26]. The CSPs are formulated to ensure consistency of the partially ordered plan-sequences during the planning process.

The system incorporates interactive constraints for acquiring unknown domain values at run-time. Such binary constraints are treated as follows: If no variable is associated with a domain, then the constraint is suspended. If both are already associated, then the constraint is propagated as in a classical CSP. In case of only one variable being ``unknown'' knowledge acquisition is performed which leads either to some characterisation of the unknown variable's domain or to a failure. Finally, both variables can be instantiated and the boolean value of the constraint can be calculated.


BUMP [22] is an agenda-based planning system that follows a more classical planning paradigm. Sensing actions are represented in the same way as non-sensory processes. The preconditions of such sensor operators can be used for set-up actions. Following a STRIPS-style representation, Add-lists contain at least the sensed information and Delete-lists refer to additional side-effects of the sensors.

BUMP uses special dummy constants for values that will be acquired by sensor readings. Any subsequently processed goals that refer to one of these constants will be deferred until the executor has obtained the reading. Execution begins as soon as all goals in the partial plan have been either solved or deferred. When selecting the actions for execution the controller prefers sensor processes over other parallel plan steps. Once a requested sensor reading is obtained, BUMP is restarted immediately with the new information. The new plan is returned, and the process proceeds until BUMP has found a complete plan.

In this context the authors discuss the problems in finding a suitable and efficient sensing strategy: The planner has to select the appropriate goals for deferal at the appropriate time. Therefore, they present an execution cost-model for plans with sensing actions and its empirical evaluation [23].

Conclusion

Although much progress has been made in the field of integrating planning, sensing and acting into one common framework, there are many aspects still not addressed in this area: There exist only few formal models of the information gathering process during planning. The integration of new knowledge, that perhaps even rules out already made commitments in the plan, is an open question, especially when looking at correctness or even completeness of a given planning method. Another question is the executability of plan steps; today's systems rely on benign environments, heuristic information or make strong assumptions about the domains. A third aspect is the combination of all three concepts: planning, sensing and acting. The systems so far only deal with two of them. We think that an interleaving planning approach combined with information aquisition during plan generation would have strong synergetic effects towards stable and efficient autonomous systems.

Bibliography

1
Jose A. Ambros-Ingerson and Sam Steel.
Integrating Planning, Execution and Monitoring.
In Proceedings of the 7th National Conference of the American Association on Artificial Intelligence (AAAI-88), pages 83-88, Saint Paul, Minnesota, USA, August 1988. AAAI Press/MIT Press.

2
Y. Arens, C. Y. Chee, C. N. Hsu, and C. A. Knoblock.
Retrieving and Integrating Data from Multiple Information Sources.
International Journal of Intelligent and Cooperative Information Systems, 2(2):127-158, 1993.

3
Rosy Barruffi and Michela Milano.
Interactive constraint satisfaction techniques for information gathering in planning.
In Henri Prade, editor, Proceedings of the 13th European Conference on Artificial Intelligence (ECAI-98), pages 514-515, Brighton, UK, 1998. John Wiley & Sons, Chichester, UK.

4
Avrim L. Blum and Merrick L. Furst.
Fast Planning Through Planning Graph Analysis.
In C. S. Mellish, editor, Proceedings of the 14th International Joint Conference on Artificial Intelligence (IJCAI-95), pages 1636-1642. Morgan Kaufmann, 1995.

5
Rodney A. Brooks.
Intelligence without Representation.
Artificial Intelligence, 47:139-159, 1991.

6
K. Currie and A. Tate.
O-Plan: The Open Planning Architecture.
Artificial Intelligence, 52(1):46-86, 1991.

7
Denise Draper, Steve Hanks, and Daniel S. Weld.
Probabilistic Planning with Information Gathering and Contingent Execution.
In K. Hammond, editor, Proceedings of the 2nd International Conference on Artificial Intelligence Planning Systems (AIPS-94), pages 31-36, Menlo Park, California, 1994. American Association for Artificial Intelligence, AAAI Press.

8
Richard E. Fikes, Peter E. Hart, and Nils J. Nilsson.
Learning and executing generalized robot plans.
Artificial Intelligence:251-288. Reprinted in ``Tutorial on robotics'', Ed. C.S.G. Lee, R.C.Gonzalez et al, IEEE Computer Society Press, 3:433-470, 1972.

9
R. Firby.
An Investigation into Reactive Planning in Complex Domains.
In Proceedings of the 6th National Conference of the American Association on Artificial Intelligence (AAAI-87), pages 202-206, 1987.

10
E. Gat.
Integrating Planning and Reacting in a Heterogenous Asynchronous Architecture for Controlling Real-world Mobile Robots.
In Proceedings of the 10th National Conference of the American Association on Artificial Intelligence (AAAI-92). AAAI Press, 1992.

11
G. De Giacomo, L. Iocchi, D. Nardi, and R. Rosati.
Moving a Robot: the KR&R Approach at work.
In Luigia Carlucci Aiello, Jon Doyle, and Stuart Shapiro, editors, Proceedings of the 5th International Conference on Principles of Knowledge Representation and Reasoning (KR-96), pages 198-209, San Francisco, November 5-8 1996. Morgan Kaufmann.

12
G. De Giacomo, L. Iocchi, D. Nardi, and R. Rosati.
Planning with sensing for a mobile robot.
In S. Steel and R. Alami, editors, Proceedings of the 4th European Conference on Planning (ECP-97), volume 1348 of Lecture Notes in Artificial Intelligence, pages 156-168, Toulouse, France, 1997. Springer.

13
Keith Golden.
Leap before You Look: Information Gathering in the PUCCINI Planner.
In Proceedings of the 4th International Conference on Artificial Intelligence Planning Systems (AIPS-98), pages ??-?? AAAI Press, 1998.

14
Keith Golden and Daniel Weld.
Representing Sensing Actions: The Middle Ground Revisited.
In Luigia Carlucci Aiello, Jon Doyle, and Stuart Shapiro, editors, Proceedings of the 5th International Conference on Principles of Knowledge Representation and Reasoning (KR-96), pages 174-185, San Francisco, November 5-8 1996. Morgan Kaufmann.

15
B. Hayes-Roth.
An Architecture for Adaptive Intelligent Systems.
Artificial Intelligence, 72, 1995.

16
F. F. Ingrand, R. Chatila, R. Alami, and F. Robert.
PRS: A high level supervision and control language for autonomous mobile robots.
In Proc. of the IEEE Int. Conf. on Robotics and Automation, pages 43-49, Minneapolis, April 1996.

17
Craig A. Knoblock.
Planning, Executing, Sensing, and Replanning for Information Gathering.
In Chris Mellish, editor, Proceedings of the 14th International Joint Conference on Artificial Intelligence (IJCAI-95), pages 1686-1693, San Francisco, 1995. Morgan Kaufmann.

18
Craig A. Knoblock and Alon Y. Levy.
Exploiting Run-Time Information for Efficient Processing of Queries.
In AAAI Spring Symposium on Information Gathering in Heterogeneous, Distributed Environments, Paolo Alto, CA, 1995.

19
Nicholas Kushmerick, Steve Hanks, and Daniel S. Weld.
An algorithm for probabilistic planning.
Artificial Intelligence, 76(1-2):239-286, September 1995.

20
Drew McDermott.
Planning and Acting.
Cognitive Science, 2(2):78-109, 1978.

21
Karen L. Myers.
Towards a framework for continuous planning and execution.
In Proceedings of the AAAI Fall Symposium on Distributed Continual Planning, 1998.

22
Duane Olawsky and Maria Gini.
Deferred Planning and Sensor Use.
In Innovative Approaches to Planning, Scheduling and Control. Proceedings of the 1990 DARPA Workshop, pages 166-174. M. Kaufmann, San Mateo, Ca, 1990.

23
Duane Olawsky, Kurt Krebsbach, and Maria Gini.
An Analysis of Sensor-Based Task Planning.
Technical Report 95-51, Department of Computer Science, University of Minnesota, July 1995.

24
E. Pednault.
ADL: Exploring the Middle Ground Between STRIPS and the Situation Calculus.
In Proceedings of the 1st International Conference on Principles of Knowledge Representation and Reasoning (KR-89), pages 324-332. Morgan Kaufmann, 1989.

25
B. Pell, E. Gat, R. Keesing, N. Muscettola, and B. Smith.
Robust Periodic Planning and Execution for Autonomous Spacecraft.
In M. E. Pollack, editor, Proceedings of the 15th International Joint Conference on Artificial Intelligence (IJCAI-97), pages 1234-1239. Morgan Kaufmann, 1997.

26
J. S. Penberthy and Daniel S. Weld.
UCPOP A Sound, Complete, Partial Order Planner for ADL.
In Proceedings of the 3rd International Conference on Principles of Knowledge Representation and Reasoning (KR-92), pages 103-114, 1992.

27
M. Peot and D. Smith.
Conditional Nonlinear Planning.
In James Hendler, editor, Proceedings of the 1st International Conference on Artificial Intelligence Planning Systems (AIPS-92), pages 189-197, College Park, Maryland, June 15-17 1992. Morgan Kaufmann.

28
Louise Pryor and Gregg Collins.
Planning for contingencies: A decision-based approach.
Journal of Artificial Intelligence Research, 4:287-339, 1996.

29
A. Saffiotti, K. Konolige, and E. H. Ruspini.
A multivalued-logic approach to integrating planning and control.
Artificial Intelligence, 76(1-2):481-526, 1995.

30
M. Tambe, W. L. Johnson, R. M. Jones, F. Koss, J. E. Laird, P. S. Rosenbloom, and K. Schwamb.
Intelligent Agents for Interactive Simulation Environments.
AI Magazine, 16(1):15-39, 1995.

31
A. Tate.
Coordinating the activities of a planner and an execution agent.
In G. Rodriguez, editor, Proc. NASA conf. on space telerobotics, NASA JPL, 1989. JPL Publications.

32
Daniel S. Weld, Corin R.Anderson, and David E. Smith.
Extending GRAPHPLAN to Handle Uncertainty & Sensing Actions.
In Proceedings of the 15th National Conference of the American Association on Artificial Intelligence (AAAI-98), pages 897-904. AAAI Press, 1998.

33
David Edward Wilkins.
Practical Planning: Extending the AI Planning Paradigm.
Morgan Kaufmann, San Mateo, California, 1988.

34
B. C. Williams and P. P. Nayak.
A Reactive Planner for a Model-based Executive.
In M. E. Pollack, editor, Proceedings of the 15th International Joint Conference on Artificial Intelligence (IJCAI-97), pages 1178-1185. Morgan Kaufmann, 1997.

About this document ...

This document was generated using the LaTeX2HTML translator Version 99.1 release (March 30, 1999)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 2 -dir RP-Roadmap -local_icons -no_footnode RP-roadmap.tex

The translation was initiated by Bernd Schattenberg on 2000-07-18


Footnotes

... branching[*]
Please note, that the term conditional branching is used to distinguish alternative action sequences and the planning search tree. Many terms in this area are not uniform: E.g. some approaches call the root node of a conditional branch contingency, some do so for the paths along the branches.
... descriptions[*]
This makes it possible to define noisy sensors.



next_group up previous
Bernd Schattenberg
2000-07-18