31.2. APPLICATION SCENARIOConsider a manufacturing plant where a large number of mobile devices, robots, and possibly "smart" artifacts (appliances for short) executes tasks to collaboratively manufacture goods, control quality, receive production schedules, and order sub-parts needed in the production process. The tasks the robots execute are broken down into basic (parametrizable) macros. Macros are available in the firmware of each robot and reflect its capabilities and functionality. They ensure a deterministic behavior of the robot (by taking into account input from various sensors). For example, to avoid relying on the precision of the motors, a macro may control the movements of a robot's wheels so that the robot follows a guidance line on the floor. A simplified setting of this type is illustrated in Figure 31-1. Assume that quality problems have been detected in production hall H2. To identify the source of a drop of quality in the production process, it is required to continuously monitor all activities within H2 (messages received or sent by robots, service calls, macro executions, sensor inputs, etc.). With a conventional application design, the ability to react to changes is encoded in the appliance before it is deployed. Hence, the flexibility of the appliance is limited to what designers could foresee and what is reasonable to embed within the application. Thus, conventional design implies taking the appliance of interest offline to add the necessary functionality (logging in this case). Figure 31-1. Mobile appliance traversing a production hall.The form of application awareness we describe addresses this problem by allowing any mobile device that enters the production hall to be adapted on the fly. Consider a mobile appliance M located in production hall H1. At this point, it does not have the monitoring functionality needed in H2, as the type of logging needed for quality assurance could not be foreseen when M was initially deployed. Upon entering production hall H2, the application-aware production hall detects M's presence and sends a run-time extension e that adds the necessary monitoring functionality in M. Extension e modifies M's execution during its presence in H2 such that all relevant activities are recorded in a base station associated with H2 and used by the functionality in e. When M leaves H2, the monitoring extension is discarded. Fixed devices are treated accordingly: they are detected by H2 at deployment time, and the monitoring extension remains until the corresponding appliance is redeployed in another production hall or monitoring is no longer required. The list of extensions that can be used in a similar manner includes the following:
|