Execution Monitoring in Adaptive Mobile Agents - Springer Link
Recommend Documents
different user devices, application platforms ... searchers use a client-server architecture [7] ..... to be trained, as predictions are based on past .... websphere.
XUL (eXtensible User interface definition Lan- guage [3]). .... of the wired network that we call proxy1. The SRS .... results that explain the advantages of using.
Dispatching Mobile Agents with Secure Routes in Parallel. Yan Wang and Kian-Lee Tan. Department of Computer Science. National University of Singapore.
May 28, 2009 - achieving guaranteed performance on the basis of the SLAs. The scheme ... is deployed within the framework that engages a ...... Thus, with high-speed network support (e.g., Java ... The Grid test bed is built with Globus. Fig.
tackled on the other hand by mobile agents. Some agents could run on standard platforms while others run on dedicated servers. From support of these various.
the shortest paths are computed on the basis of locally updated information and the costs of far links are all set to the same value. Daemon: is an ideal algorithm.
... Networks require efficient network management and monitoring tools for ... network devices employ Simple Network Management Protocol (SNMP) agents for ... Keywords: Network management, monitoring, SNMP, mobile agent, table ...
IIS Department, Univ. of Zaragoza, Maria de Luna 3, 50018 Zaragoza, Spain. {silarri ... and usually provide an inefficient performance. ... for monitoring continuous location-dependent queries (i.e., queries whose answer depends on location of ...
IIS Department, Univ. of Zaragoza, Maria de Luna 3, 50018 Zaragoza, Spain. {silarri ... for monitoring continuous location-dependent queries (i.e., queries whose ...
[email protected]. Computer Science and ...... tools such as a filter for noise words (Fox, 1992) and a stemmer based on Porter's algorithm. (Frakes, 1992). Finally ...
By model- free we mean that the monitoring is based only on ... networks, is shown to give a high performance in sev- .... energy performed best in fault isolation.
The Agent's passport is a mechanism that allows for some levels of security to protect TeleCARE ... The passport is also used for migration control (in a similar.
their hosting sites of execution should be protected and secure operations granted. ..... least one place for agent execution; places are grouped in domain ...
we distinguish the sender site (Sender), the Trusted Third-Party (TTP), and the ..... The Sender, when finally the agent returns back, has to verify the integrity of ...
active control and storage (called mobile agents) travel the network and perform tasks .... key encrypted data has only a 4 byte value if data is encrypted directly.
ad hoc mobile network user to select the security level and requirement .... communication specialists will decide their security policies in a simple manner. 2.
further 350 km of fencing) is demarcated by a veterinary fence, primarily designed ... The western fence varies in structural types and different sections can.
sophisticated mail deliverer; besides the e-mail delivery, it can also do some ... same work is that the mobile one gets the instructions from the sender ..... IBM's Tokyo Research Laboratory, initiated in early 1995. The goal has ... delivery and ag
to perform actions to further their goals based upon a reasoning scheme derived ... In addition, GOAL provides the means for agents to focus their attention.
in screen size between the devices the surface on the iPhone appears to .... Figure 7 A bisection of the face with lower subdivision depth will remove the crack ...
This finally leads to the adaptive Geographically Bound Mobile .... The observer defines the target zone as the geographic region he is interested in. The GBMA ...
Apr 1, 2009 - Feilong Tang received a Ph.D. degree in Computer Science from. Shanghai Jiao Tong University, China. Now, he works with the De- partment ...
Mar 30, 2015 - Langer Maternal Health, Neonatology, and Perinatology (2015) 1:19 ...... Shelton, CT: People's Medical Publishing House; 2015. 3. Langer O ...
Execution Monitoring in Adaptive Mobile Agents - Springer Link
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 (