Framework is a layered structure indicating what kind of programs can or should be built and how they would interrelate. Some computer system frameworks also include actual programs, specify programming interfaces or offer programming tools for using the frameworks. A framework may be for:
* A set of functions within a system and how they interrelate
* The layers of an operating system
* The layers of an application subsystem
* How communication should be standardized at some level of a network
A framework is generally more comprehensive than a protocol and more prescriptive than a structure.