<p>A threefold strategy incorporating formal modeling, structural decomposition and functional abstraction, and reachability analysis is described, and the role of each part in managing complexity is examined. Formal modeling helps weed out extraneous detail so that later work on decomposition and abstraction is easier. Decomposition and abstraction help divide complexity into manageability parts that the reachability algorithm can solve. Examples of the use of each are given.</p>