A method for software change modeling for network devices provides dynamic
(on the device) and static (computer) change modeling. The same source
code and libraries are used for both modeling applications, allowing a
user to see the impact of activating or deactivating specific software
modules without affecting the actual node. A master node passes a node
the identity of the software package(s) to be updated and the
dependencies. The node notifies its running processes about the update.
If any of the processes determine that the update will degrade or have a
negative impact on the operation of the node, it returns a veto to the
node which sends a list of the processes that are impacted along with the
reasons why to the master node.