
Middleware generally consists of a library of functions, and enables a number of applications-simulations or federates in HLA terminology-to page these functions from the common library rather than re-create them for each application.

It is a layer of software that lies between the application code and the run-time infrastructure. In simulation technology, middleware is generally used in the context of the high level architecture (HLA) that applies to many distributed simulations.Game engine software such as Gamebryo and RenderWare are sometimes described as middleware, because they provide many services to simplify game development.

Android's middleware layer also contains the ARTvirtual machine and its core Java application libraries. Middleware libraries also implement device-specific functions, so applications and the application framework need not concern themselves with variations between various Android devices. Because the middleware libraries are compiled to machine language, services execute quickly. In addition, Android provides a middleware layer including libraries that provide services such as data storage, screen display, multimedia, and web browsing.

