previous_group previous up next next_group
Previous: 1. Levels and Problems Up: 3. Main Decisions Next: 3. Other Decisions

2. Structure Manager

It was decided that the interface does not permit to choose an implementation among several implementations or algorithms. It was also decided that exceptions are handled at level $0$ but not by the interface. Instead, a special structure called manager is designed.

This has an impact on the interface: exception handlers and several versions of an operator, including approximations, are hidden from the interface.

Since multi-algorithms are supported, we need a mechanism to choose different algorithms for an operator. We can specify a default algorithm, and then the fastest to the most precise algorithm are enumerated. As the number of available algorithms is different between domains, the enumeration can be surjective [*]. The selection of an algorithm is executed by means of the manager. The default one can depend on the domain or the operator in question, which means that the initialization is not generic. The timeout value has to be differently defined by the manager for each operator.

The manager is used for many purposes and it contains several flags. For example, when an operator returns a polyhedron, in order to know if the result is exact or not, we can test the flag that is designed for this purpose.


previous_group previous up next next_group
Previous: 1. Levels and Problems Up: 3. Main Decisions Next: 3. Other Decisions
Nguyen Que Duong
2006-09-16