The final entity is the device. Devices are named and, because they can only be defined in the global subsystem, their names must be globally unique. In the same way that external connections provide a way for subsystems to interact, devices provide a generic way for MASCOT systems to interact with the external world. Devices are composite structures that come complete with a reader and writer channel and may represent anything from a simple TCP/IP port to a database or connection to another MASCOT system. Like activities and IDAs, a device’s functionality is completely dependent on its underlying implementation and can be as simple or complex as a design requires.