OSGI is a standard for software components and execution environment based on the Java virtual machine that addresses issues with monolithic systems becoming large and complex by allowing for live deployment of modular bundles at runtime with support for multiple, concurrent versions of bundles.