
User's Manual DG100 IoT Gateway
Web user interface
After successful logging in, the user sees a grid of app icons. Clicking an icon will "launch" the
respective app.
Installed apps are deployed on DG100 in a form of packed directory called bundle. New apps
can be added simply by installing new bundles in "Bundles" app.
DG100 is based on macchina.io framework with OSP (Open Service Platform) architecture
providing Bundle Life Cycle Management which ensures that every bundle in the system
follows this life cycle, which is outlined in the following.
For every bundle that is found on DG100 the initial state is installed. Once all bundles have
been found, OSP tries to resolve each bundle. Resolving a bundle means checking whether all
required bundles of a bundle are available. Every bundle that has been successfully resolved
enters the resolved state. A resolved bundle will eventually be started. A bundle that is started
is first put into starting state. Then, all required bundles are started as well.
Once all required bundles have entered active state, the bundle's activator is invoked. When
the activator completes, the bundle is finally put into active state. Eventually, at least at
shutdown time, the bundle will be stopped. Stopping a bundle means putting the bundle into
stopping state, invoking the bundle's activator, then putting the bundle into resolved state. At
shutdown, OSP ensures that all bundles are shutdown in the correct order. A bundle in
resolved or installed state can be uninstalled, which means it is completely removed from the
system.
www.decode.rs
23/31
Fig. 17: Bundle Life Cycle Management