The document describes modeling self-replicating programs like computer viruses using Abstract State Machines (ASMs). It outlines modeling an operating system environment with modules, agents, and a user. A viral module is defined that copies itself to uninfected modules. The model was implemented in AsmL, with classes representing storage, operating system, and user. Executable files were modeled using an interface. The virus searches for uninfected files and modifies the file table to include itself when a file is infected.