Formal Methods For Components And Objects by