Principles and Implementation Techniques of Software-Based Fault Isolation