Different applications require different execution models. Some programs are quick to execute, while others may take weeks or months. Some programs have very specific steps for execution with little or no room for deviation from its set path; other programs are more flexible, reacting to user actions...