Using petri nets to specify and execute missions for autonomous underwater vehicles