Execution Monitoring in Adaptive Mobile Agents - Springer Link

6 downloads 522 Views 387KB Size Report
execution monitoring capabilities in the mobile agents. 1 Introduction ... Network. Client. Where are you? My position is ... Go to ... OK. Remote place. Fig. 1.
Execution Monitoring in Adaptive Mobile Agents Walter Vieira

(1)(2)

L. M. Camarinha-Matos

(1)

(1)

Universidade Nova de Lisboa, DEE, Quinta da Torre, 2825-Monte Caparica, Portugal (2) Instituto Superior de Engenharia de Lisboa, DEEC, Portugal {wv, cam}@uninova.pt Abstract. Remote operation of equipment is progressively gaining importance due to its large range of potential application areas such as hazardous environments, spatial vehicles, remote telescopes, remote manufacturing systems, virtual laboratories, etc. The traditional approaches based on remote procedure calling mechanisms reveal several difficulties when dealing with non-ideal networks that exhibit high delays and poor availability and reliability. The authors have proposed a solution for remote operation and supervision based on adaptive mobile agents which has important advantages for this kind of networks. In this paper further work is described concerning the inclusion of execution monitoring capabilities in the mobile agents.

1

Introduction

In the last years considerable research effort has been put on issues related to remote operation and remote supervision what is due to the many potential applications, ranging from machines operating in hazardous or inaccessible environments to spatial vehicles operating with large autonomy. There has been also a considerable growth in the number of applications that make use of the Internet for a wide range of domains (remotely operated robots and telescopes, manufacturing systems, virtual laboratories, etc.). The traditional approaches taken in tele-robotics and tele-supervision assume a set of pre-defined services which a remote user can activate in a closed loop control way on simple machine and sensorial environments. This approach becomes inappropriate when there is a need to achieve remote operation of complex machinery or sensorial environments with high levels of flexibility, as in such cases it is not possible to stand on a set of pre-defined services and on simple monitoring/recovery procedures. Things become more complicated when dealing with large or variable time-delays and low availability of the communication channels, which turn remote closed loop control impracticable, and require that more sophisticated and more reliable solutions be found to adequately face these difficulties, allowing the increase of the autonomy of the equipment being operated, yet preserving a high degree of flexibility. The mobile agents paradigm [5] reveals interesting characteristics when these issues are considered [2], because: i) moving the code to the places where the machines and sensors are located enables real-time response without strong dependency on network reliability and delays; ii) since new mobile agents can be built and sent for remote execution whenever needed, higher levels of flexibility are achieved. M. Klusch, O.M. Shehory, and G. Weiss (Eds.): CIA’99, LNAI 1652, pp. 220-231, 1999  Springer-Verlag Berlin Heidelberg 1999

Execution Monitoring in Adaptive Mobile Agents

221

Flexibility may be further increased if we take into account that in many situations the same execution plan can be executed using different resources (machines), which is a very important aspect when we consider remote operation of many heterogeneously equipped execution environments. In order to take advantage of this possibility, in this paper a solution is proposed based on mobile agents that carry general execution plans, which must be refined/adapted when the agents reach their target places. Plan adaptation issues were considered in [2], while in this paper the focus is put on issues related to execution monitoring of the adapted plans and error recovery. Execution monitoring [11] and error recovery in the context of mobile agents is difficult since the exact configurations of the execution environments are not known in advance. Proposed solutions must be general enough to deal with this uncertainty and also must reveal enough effectiveness to be of practical interest. The rest of this paper is structured as follows: in section 2 some relevant issues related to the application of mobile agents in remote operation are discussed; section 3 describes an application scenario where remote operation based on adaptive mobile agents has been tested; in section 4 the proposed solution to execution monitoring in mobile agents is presented; finally, in section 5 some conclusions are presented and areas where further work is needed are pointed out.

2

Mobile agents for remote operation

One popular solution for remote operation assumes low level services available in the remote place being high level tasks composed of a sequence of calls to these services by means of the traditional remote procedure calling (RPC) mechanism, as is illustrated in Fig. 1. This solution is very flexible in what concerns functionality, since clients can easily achieve new functionality by composition of the low level commands the remote place recognizes. However, it is extremely dependent on the characteristics of the communication links, such as availability, reliability and delays. Where are you? Go to ...

Client

My position is ... OK

Network

Remote place

Fig. 1. Remote operation based on low-level commands

One possible solution for the network dependence is to increase the intelligence of the remote places, by implementing there high level commands which, when activated from the client side, execute almost entirely in the remote place (see Fig. 2). However, this solution is quite limited in what concerns flexibility, since it implies that any change in functionality requires the corresponding update of all remote places where that changed functionality has to be implemented. Mobile agents allow a solution where flexibility and network independence are conciliated. In this solution, remote places still implement a set of low level services but are augmented with the capability to run mobile agents. In the client side, mobile

222

W. Vieira and L.M. Camarinha-Matos

agents are implemented according to the desired functionality and sent to the remote places where they run independently of the characteristics of the network. Intelligent recovery strategies may be implemented in the agents, since they carry the overall execution plan. If command is assemble(P1) then get current position … Else If command is ... Assemble part P1

DONE

Client

Network

Remote place

Fig. 2. Remote operation with high-level commands

It is consensual that often the same desired functionality can be achieved using quite differently equipped execution environments. The concept of device driver popularized within the operating systems arena is paradigmatic of how this characteristic can be favorably used. However the concept of device driver is very limited in the extent of this exploitation. When one considers systems with planning skills [12] more effective strategies can be devised by thinking of plan refinement techniques that allow the adaptation of high level abstract plans to the specific capabilities of the execution environments. Essentially, a set of planning operators mirroring the functionality of the device drivers may be used to refine an abstract execution plan in order it can be executed with the specific capabilities (functionality) of each execution environment, thus allowing the same abstract plan to be executed using quite different sets of resources. Recognize local environment Adapt (refine) execution plan Execute refined plan

Remote places

Client Network Fig. 3. Remote operation based on adaptive mobile agents

The solution proposed in this paper is based on adaptive mobile agents with the ability to adapt the abstract plans they carry to the local execution environments, as illustrated in Fig. 3.

Execution Monitoring in Adaptive Mobile Agents

3

223

An application scenario

The concepts described in the previous section have been tested in a prototype system (called MobCare) to support elderly living alone at home, which is a multi-agent system [14] structured around a set of places interconnected through the Internet, as illustrated in Fig. 4. At the heart of a MobCare system we have the home places (HP) which are located at the homes where elderly people (the users) live. HPs may include a set of sensors (temperature, humidity, etc.), measurement devices (blood pressure, body temperature, etc.) and a set of robotized home appliances. This equipment may be operated both locally, by local monitoring agents, and remotely, from social care centers (care center places - CCP), health care centers (health center places - HCP), or from relative's jobs (relative's places - RP). Other places that may exist in a MobCare environment are leisure places which the user may visit to participate in some social activity (leisure places - LP), and commerce places which give support to some electronic supported trade (commerce places - CP). A more complete discussion of the MobCare system can be found in [3]. RP

HP

LP

Network CCP

CP HCP

Fig. 4. Structure of a MobCare System

For illustration purposes, in this paper only interaction between CCPs and HPs are considered. Mobile agents are sent from CCPs to run in HPs. For example, a mobile agent could be sent to a HP to help the user in some food preparation. This agent would carry an abstract plan considering abstract actions such as set the table, warmup the meal, serve the meal, etc. When in the destination HP, the agent would adapt its abstract plan to the local capabilities of the HP. For example, would the HP have a robotized microwave and the agent could perform the action warm-up the meal almost entirely automatically. Otherwise, if only a conventional gas-stove were present the agent would have to resort to a set of help messages sent to the user using some local capability (voice synthesizer, color lights, bell, TV screen, etc.).

4

Execution monitoring in adaptive mobile agents

Execution monitoring and error recovery in automation have been addressed by several authors [6], [8] but, very often, the proposed solutions have focused on very restricted domains (one such domain is execution monitoring and error recovery in flexible assembly cells [8]). The reason for that is that the delimitation of the

224

W. Vieira and L.M. Camarinha-Matos

application domain allows the enrichment of the knowledge about the domain and, so, eases the definition of execution monitoring and error recovery strategies. In the work described in this paper, the restricted domain assumption does not hold, and, therefore, several difficulties arise: i) a solution is searched for a very wide range of applications; ii) the actual composition of the execution environments is not known in advance; iii) the agents must run with a high degree of autonomy. As a consequence, an approach based on general monitoring and recovery methods and on an appropriate generation of annotated plans in order to help the execution monitoring and error recovery was adopted. A hierarchical plan structure was considered, since it allows the specification of monitors at various levels of detail which is very appropriate for complex domains. Furthermore, the hierarchical approach is a powerful mean to structure interesting monitoring strategies that range over a set of low level actions (for example, if some condition has to be verified during the execution of a set of actions, an action may be defined in the upper level which abstracts those lower level actions, and a monitor may be associated to the higher level action to observe the maintenance condition during its execution). The following types of monitors are considered: i) effect monitors check the expected effects upon termination of the actions; ii) maintenance monitors are used to guarantee the maintenance of some conditions during the execution of an action (either primitive, or abstract); iii) time-out monitors may be used to define some upper bound limit on the duration of an action; and iv) failure monitors are activated if a child of one abstract action fails execution after trying its recovery methods. At a first glance one could think of complex autonomous mobile agents to manage the adaptation mechanism referred to in the previous sections. These agents would have planning capabilities which allow them to achieve the high level goals they carry with them. However, in many situations, the planning process may be so complex that full automated planning systems would be impracticable due to either performance insufficiency or the associated complexity of the considered domain. For example, in complex domains, rich execution monitoring strategies may better be achieved with mixed initiative off-line planners than with local (and so limited in scope) planners embedded in the agents. In the approach taken in this work the mobile agents carry with them high level abstract plans obtained a priori, which are refined according to the capabilities found in each place visited by the agents. Finally the resulting refined plan is executed. The abstract plans may have special annotations (generated automatically or with the user support) intended to guide the local plan refinement process, the local execution monitoring process, or the local error recovery process. Previous work related to plan refinement in mobile agents was described elsewhere [2]. Basically, a least commitment strategy of the kind found in partial order causal link (POCL) [15] planners is followed. Each abstract action is refined according to the capabilities found in the local environment and the obtained refined sub-plan is merged with the current refined plan. Plan representation In the POCL abstract plan carried by the agent, two types of abstract actions (AA) exist: i) high level abstract actions (HLAA) whose refinements are specified in terms of other abstract actions, and ii) low level abstract actions (LLAA) that must be

Execution Monitoring in Adaptive Mobile Agents

225

refined locally in each site visited by the agent. A third type of action is generated by the refinement process which corresponds to executable procedures using local capabilities and are called executable actions (EA). Fig. 5 depicts a simplified version of the object model of the actions considered in an agent's plan, using the Unified Modeling Language (UML). ACTION Effects Pre-conditions Monitors

AA

EA

refines

refines

HLAA

Localfunction

LLAA

Fig. 5. Types of actions during execution of the agents

Currently, JAVA mobile agents (implemented in previous work [3]) act as shells which transport the abstract plans. An abstract plan specification always begins with one action (either an HLAA or an LLAA), whose refinement methods determine the agent’s behavior. The refinement procedure is recursively applied starting in the initial action until a plan composed only of executable actions is obtained. For the specification of the abstract plans, a preliminary version of a plan representation language, called mobile agents abstract plan language (MAAPL), was defined. An excerpt of its syntax in EBNF is shown in Fig. 6. ::= + ::= action (,,,,,, ,, , ,) ::= EFFECT () | default ::= (,) < maintenance monitors> ::= MAINTAIN () | nil < maintenance monitor> ::= (,) ::= TOUT (

Suggest Documents