A software system terminates software modules in the reverse order of
startup defined in a bundle start order list. Additionally, the software
modules can be terminated in the order obtained by representing a static
or dynamic reference relationship among the software modules as a tree
structure and by searching the tree structure on a depth-first basis.