A language which is similar to a programming language. However, it is restricted to specifying a collection of data and functions which are implemented on a remote computer contained in a network. For example, the Common Object Request Broker Architecture has an interface definition language which defines the data and executable code associated with distributed objects defined by this architecture. Such languages are not confined to distributed object schemes; they are also associated with more conventional software technologies such as remote procedure call. Such languages are processed by programs which convert them into program code that is used when the entities described by the language are deployed: for example, if the language describes a distributed object the program produces the code required to communicate with it. Often abbreviated to IDL.