def __init__(self, server, app, label):
        try:
            if not IDroneModelServer.providedBy(server):
                e = '%s is not a L{IDroneModelServer} provider' % str(server)
                raise AssertionError(e)
            if not IDroneModelApp.providedBy(app):
                e = '%s is not a L{IDroneModelAppVersion} provider' % \
                        str(appversion)
                raise AssertionError(e)
        except __HOLE__:
            AppInstance.delete(self)
            raise

        #internal information
        self.shouldBeRunning = False

        #model information
        self._label = label
        self._app = IDroneModelApp(app)
        self._server = IDroneModelServer(server)

        #serializable information
        self.info = {}
        #volitile data, unserializable
        self.context = {}
dataset/ETHPy150Open OrbitzWorldwide/droned/droned/lib/droned/models/app.py/AppInstance.__init__