  The ability to independently deploy parts of a software system is one of the
cornerstones of modern software development, and allows for these parts to
evolve independently and at different speeds.
  A major challenge of such independent deployment, however, is to ensure that
despite their individual evolution, the interfaces between interacting parts
remain compatible. This is especially important for enterprise software
systems, which are often highly integrated and based on heterogenous IT
infrastructures.
  Although several approaches for interface evolution have been proposed, many
of these rely on the developer to adhere to certain rules, but provide little
guidance for doing so. In this paper, we present an approach for interface
evolution that is easy to use for developers, and also addresses typical
challenges of heterogenous enterprise software, especially legacy system
integration.
