Way of hiding details of a computing subsystem, allowing separation of concerns and interoperability.