A loose coupled modular application composed of separate, interchangeablecomponents called modules. And components can be easily reused by other system. Butmost of the programming languages doesn t support modularization completely. Accessviolation may occur in the process of collaboration between modules. In Java, OSGidefine a framework running on JVM, which manages the dependencies betweenmodules and ensure the collaborations. While in C++, there is no such a framework tosupport modular application.In this work, we design and implement a C++based modular framework. First ofall, requirement analysis is made by using literal description and use case view, and thenwe define the logic design of the framework base on it. We divide the framework intofour parts and discuss the implement in detail. In module loading part we define thestructure of a module as well as the process of installing a module. In module resolvingpart we describe the algorithm used in module resolving. In life cycle part weimplement the processes of some operations which manage the module state in runtime.We have experiment with deploying two modular applications. The result showsthat the modular applications work well on the C++based modular framework we vedesigned. In addition, the framework can provide access control between modules asexpected. |