Robust liveness enforcement of Petri nets with uncontrollable and unobservable transitions based on structural analysis