Manifests

Some external unit of data specifies what is required to run a module.

LV2 uses an RDF Graph to relate properties and features of a plugin to a host. The manifest specifies what kinds of behaviors (capabilities) the module expects and supports. The manifest also specifies how those features are configured. A host reads the manifest to figure out what interfaces to use to interact with the plugin.

Android OS has similar functionality. XML documents specify an API version and what permissions are required of a program. The manifest is used to determine what compatibility modules should be loaded. For example security systems will have to behave in ways that shim old un-updated programs in to working on newer concepts.