Automatic differentiation (AD) has proven its interest in many fields of
applied mathematics, but it is still not widely used. Furthermore, existing
numerical methods have been developed under the hypotheses that computing
program derivatives is not affordable for real size problems. Exact derivatives
have therefore been avoided, or replaced by approximations computed by divided
differences. The hypotheses is no longer true due to the maturity of AD added
to the quick evolution of machine capacity. This encourages the development of
new numerical methods that freely make use of program derivatives, and will
require the definition and development of new AD strategies. AD tools must
be extended to produce these new derivative programs, in such a modular way
that the different sub-problems can be solved independently from one another.
Flexibility assures the user to be able to generate whatever specific
derivative program he needs, with at the same time the possibility to generate
standard ones. This paper sketches a new model of modular, extensible and
flexible AD tool that will increase tenfold the DA potential for applied
mathematics. In this model, the AD tool consists of an AD kernel named
KAD supported by a general program transformation platform.