1.  Field
Embodiments relate to an image forming apparatus operating based on an open service gateway initiative (OSGI) framework and a method of installing a bundle in the image forming apparatus. 
2.  Description of the Related Art
An open service gateway initiative (OSGI) framework is a middleware framework that is independently operated in an operating system and a platform.  An OSGI framework implements a complete and dynamic component model that cannot be provided in standalone Java/Virtual Machine (VM) environments.  In the OSGI framework, a service is formed and operated in units of bundles.  In this instance, the bundle is a unit representing each component or application defined in the OSGI framework.  The application consisting of at least one bundle can be dynamically installed, started, updated, stopped, and uninstalled at any time in the OSGI framework.  As such, the OSGI framework can be used in various fields because of its functional convenience, for example, can also be used in an image forming apparatus.  The bundle can also be used by exporting/importing a function of another bundle.  Here, the exporting is an operation that opens a function so that another bundle can use the function, and the importing is an operation that refers to a function from another bundle.  Thus, functions of bundles can be extended by being reused and recombined among the bundles.  However, while a plurality of bundles refer to functions among one another, if an error is generated in one bundle and thus the bundle is not operated, all the connected bundles stop operating.  As such, a reference state of the bundle needs to be analyzed in order to find a reason why the bundle does not operate, and the reference state of the bundles can be analyzed through an extensible markup language (XML) file that declared a referring interface.  However, the XML file practically includes event information that is not required at runtime, and thus it is difficult to analyze the reference state between the bundles from the XML file.