L'enorme espansione nell'uso del software in ogni campo della vita rende le richieste di installare e sviluppare sistemi software riutilizzabili, robusti, affidabili, flessibili e adattivi molto più veloci. Dato che queste richieste sono sempre più forti, la complessità dei processi che il software gestisce sta aumentando insieme alla richiesta di integrazione di processi da aree diverse. Di conseguenza, i programmi software sono sempre più grandi e complessi. Una delle sfide per gli sviluppatori di software è come controllare la conformità tra l'implementazione e la specifica, specialmente nell'ingegneria del software basata sui componenti. In questo libro, proporremo un metodo per controllare questa conformità.