1. A method for constructing flight procedure criteria, comprising: generating a prototype; generating a dependency tree based on the prototype, wherein the dependency tree is comprised of one or more dependency tree nodes; maintaining dependency relationships between the one or more dependency tree nodes; translating the dependency tree into one or more construction steps, wherein there is a mapping between the one or more dependency tree nodes and the one or more construction steps; and generating one or more software specifications based on the one or more construction steps.