Firewalls in software prevent undesired effects from propogating. This includes malicious attacks from other computers or rogue software. In particular many systems have firewalls in networks to detect or prevent unusual patterns fo traffic; this anomaly detection may use machine learning to learn normal use and then highlight things that do not match this. Firewalls may also be used to create a software ring-fence around code that is trusted in terms of its intent, but may not be fully understood or trusted in terms of correctness due to its complexity; for example, we might use a neural network to manage a turbine, but with additional simpler software that prevents extremes of behaviour.
Used in Chap. 4: page 52