Set of rules and methods that describe the functionality, organization, and implementation of computer systems