Observability analysis of Boolean networks with biological applications