A style of programming that logically organizes code into common functions, such as operational modes.