I am interested in how MDS would work for a goal like "find a rock" in which the steps to completing the goal are unknown. So, all the possible subgoals would have to be defined in some gel file right?
Yes. All possible subgoals would have to be defined in the gel file. Actually, finding a rock is one of the tougher goals to execute since there are so many constraints and state variables to consider. For example, you may need a state variable to store the terrain of the environment. And then you could analyze the information stored in the terrain state variable to identify a rock. But then after identifying a rock, you may want to move to the rock which could require a PositionAndHeading State Variable which would be used to identify your current location and the location of the rock.