Los principales problemas que surgen en la construcción de software son, por un lado, la naturaleza cambiante de las aplicaciones actuales que obliga a desarrollar componentes flexibles y adaptables y por otro, la falta de documentación adecuada para lograr esa adaptación. Por lo tanto es necesario un mejor soporte para documentar cómo rehusar componentes y cómo controlar cambios en la evolución. En [Giandini 98a] presentamos un mecanismo de especificación: contratos de reuso con semántica de comportamiento, que permite documentación estructurada de componentes reusables, tanto a nivel sintáctico como semántico y ayuda al desarrollador de software a entender cómo una componente puede ser reusada y cómo manejar su evolución.
En este trabajo, presentamos un modelo matemático para estudiar estos contratos y sus operadores de reuso sintáctico y semántico. Basándonos en este modelo expresamos propiedades de aplicabilidad para la combinación de operadores en la etapa de evolución. Desarrollamos también, un caso de estudio sobre el que instanciamos el modelo y que muestra cómo los contratos de reuso con semántica de comportamiento pueden ser útiles en el proceso de desarrollo de software.