deliberative server for real-time agents

12
Deliberative Server for Real-Time Agents ? Carlos Carrascosa, Miguel Rebollo, Vicente Juli´ an, and Vicente Botti Dept. Sistemas Inform´ aticos y Computaci´ on Universidad Polit´ ecnica de Valencia Camino de Vera s/n - 46022 - Valencia (Spain) {carrasco,mrebollo,vinglada,vbotti}@dsic.upv.es Abstract. Over the last few years more complex and flexible techniques have been needed to develop hard real-time systems. The agent paradigm seems to be an appropriate approach to be applied in this area. ARTIS is an agent architecture suitable for hard real-time agents. This paper is focused on an extension of the control module of ARTIS agents that provides a soft real-time control architecture inside of a hard real-time agent. This extension incorporates a deliberative component that allows to change the control module policy depending on the data environment and the reactivity degree of the agent. Keywords : Intelligent Agents, control & real-time, meta-reasoning 1 Introduction This paper takes the application of agents technology to hard real-time envi- ronments as a starting point. In order to situate the topics, different definitions are presented. First, a Real-Time Environment is defined. This is an environ- ment with temporal restrictions that may have different features which affect its control. A Real-Time Environment is controlled by a Real-Time System (RTS), which is defined as a system in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced [21]. In a RTS, some tasks have deadlines. A deadline defines the greatest time interval in which the system can provide a response. If the response is obtained after this time, it will probably not be useful. The main feature of a RTS is not to always be interconnected or to be the fastest system. A RTS should guarantee its temporal restrictions and, at the same time, it should try to accomplish its goals. Researchers differentiate between two types of RTS. First, a Hard Real-Time System is a RTS where the execution of a task after its deadline is completely useless. Systems of this kind are critical systems, and severe consequences will result if the timing requirements are not satisfied. On the other hand, a Soft Real-Time System is characterized by the fact that the execution of a task after its deadline only decreases the quality of the task ? Work funded by grant number TAP98-0333-C03-01 of the Spanish government

Upload: upv

Post on 19-Jan-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Deliberative Server for Real-Time Agents ?

Carlos Carrascosa, Miguel Rebollo, Vicente Julian, and Vicente Botti

Dept. Sistemas Informaticos y ComputacionUniversidad Politecnica de Valencia

Camino de Vera s/n - 46022 - Valencia (Spain){carrasco,mrebollo,vinglada,vbotti}@dsic.upv.es

Abstract. Over the last few years more complex and flexible techniqueshave been needed to develop hard real-time systems. The agent paradigmseems to be an appropriate approach to be applied in this area. ARTISis an agent architecture suitable for hard real-time agents. This paperis focused on an extension of the control module of ARTIS agents thatprovides a soft real-time control architecture inside of a hard real-timeagent. This extension incorporates a deliberative component that allowsto change the control module policy depending on the data environmentand the reactivity degree of the agent.

Keywords: Intelligent Agents, control & real-time, meta-reasoning

1 Introduction

This paper takes the application of agents technology to hard real-time envi-ronments as a starting point. In order to situate the topics, different definitionsare presented. First, a Real-Time Environment is defined. This is an environ-ment with temporal restrictions that may have different features which affect itscontrol. A Real-Time Environment is controlled by a Real-Time System (RTS),which is defined as a system in which the correctness of the system dependsnot only on the logical result of computation, but also on the time at whichthe results are produced [21]. In a RTS, some tasks have deadlines. A deadlinedefines the greatest time interval in which the system can provide a response.If the response is obtained after this time, it will probably not be useful. Themain feature of a RTS is not to always be interconnected or to be the fastestsystem. A RTS should guarantee its temporal restrictions and, at the same time,it should try to accomplish its goals. Researchers differentiate between two typesof RTS. First, a Hard Real-Time System is a RTS where the execution of a taskafter its deadline is completely useless. Systems of this kind are critical systems,and severe consequences will result if the timing requirements are not satisfied.On the other hand, a Soft Real-Time System is characterized by the fact thatthe execution of a task after its deadline only decreases the quality of the task

? Work funded by grant number TAP98-0333-C03-01 of the Spanish government

result [21]. Different techniques are needed for hard and soft RTS. In this paper,only hard real-time systems are considered.

Once a RTS is defined, it is possible to define a Real-Time Artificial Intelli-gence System (RTAIS) as a system that must accomplish complex and criticalprocesses under a probably dynamic environment with temporal restrictions byusing AI techniques. Previous approaches to RTAIS can be found in the lit-erature. Anytime algorithms [6] and approximate processing [8] are the mostpromising. One line of research in RTAIS has been to build large applicationsor architectures that embody real-time concerns in many components [8], suchas Guardian [11] and Phoenix [12]. All these applications are soft RTS becausethey do not assure the fulfillment of their temporal restrictions.

Within RTAIS research area, a Real-Time Agent (RTA) can be defined as anagent with temporal restrictions. In the same way as RTS, it is possible to talkabout ”hard” or ”soft” RTA. Almost all the existing approaches, like PRS [13],the CELLO agent model [17] and, more recently, DECAF [10], are designed assoft RTA (without critical temporal restrictions). On the other hand, CIRCA [15][9] [16] manages hard real-time restrictions, but in this case, the AI and the RTsubsystems are solving different problems: the AI subsystem builds RT systems,its knowledge is about RT system building, whereas the RT system knows aboutthe domain problem. In this way, RT subsystem has a high reactivity degree,but AI subsystem has a low reactivity degree.

It is very important to take into account the different activities the agent candedicate its time to. So, as it is commented in [18], they can be classified in:

– Domain activities: They are executable primitive actions which achieve thevarious high-level tasks.

– Control activities: They may be of two types:• Scheduling activities, which choose the high-level goals, set constraints

on how to achieve them and sequence the domain level activities;• Coordination activities, which facilitate cooperation with other agents

in order to achieve the high-level goals.– Meta-level control activities: They optimize the agent’s performance by allo-

cating appropriate amount of processor and other resources at appropriatetimes to the domain and control activities.

One of the subjects that should be addressed more frequently is the one re-lated with the meta-reasoning. This process tries that the agent does not wasteits resources (mainly process time in real-time systems) calculating actions thatare available too much late to be useful or their expected improvement do notoutweighs the expected cost. This process only could be flawless in a determinis-tic environment, where the effect of an action can be known before its execution.The problem of how to approximate this ideal of sequencing domain and controlactivities without consuming too many resources in the process, is called [18]the meta-level control problem for a resource bounded rational agent.

ARTIS [3] [20] is an agent architecture suitable for hard real-time agents.This architecture incorporates a Control Module to manage the agent behaviour

and to control the execution of the different agent components. From a functionalpoint of view, it is in charge of the cognitive behaviour of the agent.

This paper is focused on an extension of the control module of ARTIS agents.This new control module provides a control architecture able to manage softreal-time restrictions into a hard real-time agent architecture. This extensionincorporates a deliberative component that incorporates some meta-reasoningin the ARTIS agents allowing to change the control module policy depending onthe data environment and the reactivity degree of the agent.

The paper is structured as follows: section 2 focuses on the problem of devel-oping hard, real-time, intelligent agents. Section 3 presents an overview of theARTIS agent architecture for hard real-time environments. Section 4 goes into aspecific module of the architecture, the Deliberative Server, which is the controlmodule part in charge of managing the intelligence of the agent. Finally, someconclusions are mentioned in section 5.

2 Is a Hard, Real-Time, Intelligent Agent possible?

A real-time agent is situated at anytime in an environment, and it has to re-act to this environment. The basic architecture of a hard, real-time, intelligentagent should consist of three components: a set of sensors, a set of effectors,and a cognitive capability which computes what actions must be done on theenvironment to react to sensor perceptions of the environment in a boundedtime. More specifically, there must be a module that senses the current stateof the environment (perception) and updates the internal state of the agent, amodule of cognition which is in charge of computing the set of actions allowingthe agent to react to the environment and to reach its goals, and a module ofaction in charge of executing the set of actions on the environment (actions thatcould modify the environment). However, it is necessary for all of these modulesin a hard real-time agent to have a bounded worst-case execution time (wcet),in order to determine whether the system reacts in any situation according toits temporal restrictions. That is, to determine the schedulability of the system.It is usually easy to obtain the wcet of the methods employed in perceptionand action modules. Using classical analysis techniques in RTS, such as RateMonotonic [14], it is possible to analysis the schedulability of a set of RT tasks.

The main problem in this architecture in order to analysis the schedulabilityis related to the cognition module. This module uses AI techniques as problem-solving methods to compute more intelligent actions. In this case, it is difficult toextract the time required by this module because it can either be unbounded orif bounded, its variability is very high. When using AI methods, it is necessaryto provide techniques that allow their response times to be bounded. Thesetechniques are based on RTAIS techniques [8].

If the agent must operate in a hard real-time environment, the agent con-struction complexity is increased enormously. Evidently, different environmentsrequire different software structures. Therefore, in an agent context, it is nec-

essary to define an appropriate structure in order to use agent features in hardreal-time environments.

RTS tasks have temporal restrictions which must be previously guaranteed.This limitation in the system functionality mentioned above affects the featuresof an agent that tries to be modeled as a RTS. For example, the time-unboundedproblem-solving methods are a serious problem because their execution cannotbe temporally restricted. The real existence of a hard, real-time, intelligent agentdepends on the ability to overcome this problem and to be able to incorporatethe typical features of agency while maintaining the system’s real-time behavior.

The hard real-time ARTIS agent architecture [3] incorporates all the neces-sary aspects that the agency features provide to a software system (autonomy,proactivity, reactivity, ...), but adapted to hard real-time environments. Thisarchitecture includes techniques of RTAIS, which overcomes the problem. Thisapproach starts from the basic real-time architecture presented above, and itguarantees reacting on the environment in a dynamic and flexible way. The AR-TIS agent architecture guarantees an agent response that satisfies all the criticaltemporal restrictions and it tries to always obtain the best answer for the currentenvironment status. This is due to its capacities for problem-solving, adaptabilityand proactivity, which have been added to the architecture.

3 ARTIS Agent: A Hard, Real-Time, Intelligent Agent

This point provides a short description of the ARTIS Agent (AA) architecture,for hard real-time environments (a more detailed description can be found in[3] [20]). The AA architecture could be labelled as a vertical-layered, hybridarchitecture with added extensions to work in a hard real-time environment [3].

One of the main features of the AA architecture is its hard real-time beha-vior. It guarantees the execution of the entire system’s specification by meansof an off-line analysis of the specification. This analysis is based on well-knownpredictability analysis techniques in the RTS community, and it is defined in [7].

The off-line analysis only ensures the schedulability of real-time tasks. How-ever, it does not force the task sequence execution. The AA decides the next taskto be executed at run-time, allowing it to adapt itself to environment changes,and to take advantage of the tasks using less time than their wcet.

The AA reasoning process can be divided into two stages. The first one isa mandatory time-bounded phase. It obtains an initial result of satisfactoryquality. After that, if there is available time left (also called slack time in theRTS literature), the AA may use this time for the second reasoning stage. Thisis an optional stage and it does not guarantee a response. It usually produces ahigher quality result through intelligent, utility-based, problem-solving methods.This split reasoning process is described in detail in [3].

3.1 ARTIS Agent Architecture

The architecture of an AA can be viewed from two different perspectives: theuser model (high-level model) [3] and the system model (low-level model) [22].

The user model offers the developer’s view of the architecture, while the systemmodel is the execution framework used to construct the final version of the agent.

From the user model point of view, the AA architecture is an extension ofthe blackboard model which is adapted to work in hard real-time environments.It is formed from the following elements:

– A set of sensors and effectors to be able to interact with the environment.Due to the environment features, the perception and action processes aretime-bounded.

– A set of in-agents that models the AA behavior. The main reason to splitthe whole problem-solving method is to provide an abstraction which orga-nizes the problem-solving knowledge in a modular and gradual way.Each in-agent periodically performs an specific task. An in-agent is alsoan agent according to the Russell’s agent definition [19]. Each in-agent hasto solve a particular subproblem, but all the in-agents of a particular AAcooperate to control the entire problem, and an in-agent may use informationprovided by other in-agents.In-agents can be classified into critics and acritics. The first ones are in chargeof solving essential problems of the AA, so its execution is assured at least forcalculating a low-quality answer. The last ones are in charge of solving non-essential problems of the AA to improve its performance quality. A criticin-agent is characterized by a period and a deadline. The available time forthe in-agent to obtain a valid response is bounded. It must guarantee a basicresponse to the current environment situation. From a functional point ofview, an in-agent consists of two layers: the reflex layer and the real-timedeliberative layer. The reflex layer assures a minimal quality response (anoff-line schedulability analysis of the AA, considering all the in-agents inthe AA, guarantees that this reflex layer will be fully executed). On theother hand, the real-time deliberative layer tries to improve this response(this level will be executed in slack time). The reflex layer of all the in-agents make up the AA mandatory phase. On the other hand, the real-timedeliberative layers form the optional phase. An acritic in-agent only has thereal-time deliberative layer.

– A set of believes comprising a world model (with all the domain knowledgewhich is relevant to the agent) and the internal state, that is the mentalstates of the agent. This set is stored in a frame-based blackboard [2].

– A control module that is responsible for the real-time execution of thein-agents that belong to the AA. The temporal requirements of the two in-agent layers (reflex and deliberative) are different. Thus, the control modulemust employ different execution criteria for each one.

The system model provides a software architecture for the AA that sup-ports all the high level features expressed in the user model. The main featuresof this model are [7]:

– Off-line schedulability analysis.

– Task Model that guarantees the critical temporal restrictions of the environ-ment.

– Slack extraction method to on-line calculate the available time for executingthe real-time deliberative layer.

– Set of extensions to the Real-Time Operating System incorporating featuresfor managing real-time capabilities.

To translate the user model’ specification into the system model a toolkit,called InSiDE [20], is used. This toolkit allows to define the AA’s user modeland to convert this model to the corresponding system model automatically [7].The result is an executable AA.

in-agent a

in-agent b

slack time

Fig. 1. AA execution timing diagram

Figure 1 shows a possible chronogram of the execution phase of an AA by atiming diagram. In this example, the AA is comprised by two in-agents (a and b).Black boxes represent the processor time intervals assigned to the in-agent reflexlayer execution. Between these executions there exists slack time (white boxes).This time is used by the AA in order to increase the execution time allocated tounbounded problem-solving methods. One of the tasks of the control module isthe management of this slack time. It will allocate this time among the real-timedeliberative layers of the in-agents in order to maximize the AA’s quality.

The integration of intelligence in an AA lies in the effective managementof the slack time by the control module as will be explained in the followingsections. So, the rest of the paper explains this module in detail.

3.2 Control Module: intelligence for RTA

The control module of an AA is the component in charge of controlling how andwhen the different components of the AA are executed.

The goal of the AA control module is to guarantee that the agent always re-acts to the environment and that from the knowledge that the agent has availablethis response is the best possible result according to the slack time. Therefore,an AA is an agent with a reflex level which is always guaranteed by means ofan off-line schedulability analysis [7]. This level provides a first time-boundedresponse with a minimum quality. Moreover, the AA has a second level, witha deliberative behavior using time-unbounded artificial intelligence techniques.The main goal of this second level is to provide a better response than the reflexone. The execution of this last level is conditioned by the available time that theagent has to run this level and for the real-time restrictions (period, deadline)

of the in-agents in the AA. Another condition for executing the second level isthat the agent considers it appropriate depending on the real situation (i.e. ifthe AA is in an emergency mode and decides to act as soon as it has an answer,not dedicating any time to improve it).

Therefore, the control module of an AA is divided in two submodules (thatcommunicate through events): the reflex server and the deliberative server.

– Reflex server (RS) This module is in charge of controlling the execution ofreactive components, that is, the components with critical temporal restric-tions. Due to these restrictions, it is part of a Real-Time Operating System(RTOS)1 [22]. It includes the First Level Scheduler (FLS) that must sched-ule the execution of all the reactive components, in order to guarantee theirtemporal restrictions. This scheduler is implemented according to a commonRTS scheduling policy, a Fixed-Priority, Pre-emptive Scheduling Policy [1].Once the execution of the critical parts is assured, there are slack time inter-vals between the execution of these critical parts. These slack times (calcu-lated using an algorithm based on the Dynamic Slack Stealing algorithm [5])can be employed by the second submodule of the control module in orderto do different functions, the goal of which is to refine the reactive responseand to improve its quality.This module carries out the following functions to accomplish its purpose:

• To schedule the execution of all in-agents with critical temporal restric-tions. This process must guarantee the fulfillment of these restrictions.

• To cede the agent control to the DS during the system idle time.• To inform the deliberative server of the execution state of the in-agent

reflex part and the time it has available to use. This slack time is calcu-lated just before informing the DS to take into account the tasks usingless time than their wcet.

– Deliberative server (DS) This module is in charge of controlling the exe-cution of the deliberative components. Therefore, this server is the intelligentelement of the control module, but with soft real-time restrictions.

4 Deliberative Server

As it has been stated in the previous point, the Deliberative Server is the AAcontrol module part in charge of managing the intelligence of this agent by meansof the slack time management. That is, it provides the soft real-time control inthe hard real-time agent.

Its main purposes are: to improve the quality of the agent responses, to adaptthe agent to important environment changes and to pursue its own objectivestaking into account the real-time restrictions of in-agents in the AA. In orderto achieve its goals, some functionalities, that are described in section 4.2, havebeen implemented.

1 The current version of the AA architecture uses RT-Linux as its RTOS

4.1 Internal Structure

It can be said that the DS is implemented following a control blackboard archi-tecture. This architecture is an event-driven module. More specifically, it imple-ments a variation of the so-called ”satisfacing cycle” [11]. This cycle has beenadapted to be used with temporal restrictions and bounded execution time dueto the DS is executed in slack time (figure 1).

Moreover, the DS control cycle has been implemented through two mod-ules, the Event Manager (EM) and the Second Level Scheduler (SLS). The firstone receives significant events and reacts to them. It comprises the trigger andcondition testing phases of the ”satisfacing cycle”. The second one is in chargeof scheduling the use of the slack time and comprises the rating, schedule andinterpret phases.

In this way, when the DS begins to work, the Event Manager looks for newevents and takes the appropriate measures to react to them (trigger phase). Theevents are sorted by their contribution to system quality to be able to respondto the most appropriate event at each moment.

Next, it checks what is available to be scheduled in its available time (con-dition testing phase). When the Event Manager ends, it is time for the SLS towork. First of all, it rates all the deliberative in-agent parts that it has avail-able for scheduling (rating phase). After this, it makes an schedule for the slacktime that it has available (schedule phase). Lastly, it makes the execution of thisschedule possible (interpret phase).

At this point, an overview of the control schema can be made. It follows aschema with two schedulers (FLS and SLS) as can be seen in Figure 2. TheFLS schedules the reflex parts of the in-agents assuring the fulfillment of hardtemporal restrictions. In the slack time, it cedes the control to the DS, wherethe SLS schedules the Real-Time Deliberative (RTD) parts of the in-agents.

Reflex Server

RTOS

FLS

SLS

DS

Reflex RTD

In-agent

Reflex RTD

In-agent

Reflex RTD

In-agent

Reflex RTD

In-agent

EM

Control

Module

Event Manager

SLS

Agendas

SLS Policy

Execution Plan

In-Agent’s

deliberative part

Event

Activate

Deactivate

Attention Focus

Attention Degree

Reactivity

Degree

Fig. 2. a) Two Schedulers Control Schema (left). b) DS Interactions (right)

The main purpose of the SLS is to decide what to execute to improve theagent’s response. The decision may be to execute the optional part of a critic

in-agent, or to execute an acritic in-agent previously activated by the eventmanager. To make this decision, the SLS has a set of scheduling policies withdifferent features which are appropriated for different situations. The availablescheduling policies [4] can be classified into two types: Greedy Policies (theyrate all the items in the agenda and choose the best one for execution, that isthe one providing the most quality system response) and Deliberative Policies(they construct several plans with the sequence of items to execute and selectthe best one). Both types of scheduling policies has bounded planning time,that is controlled by the RTOS. In this way, both kinds of policies must takeinto account the slack time available to execute the agenda items and their owncomputing time.

The SLS fixes the maximum execution time available for each item it sendsto execution. This time will be the minimum between the item’s wcet and theslack time still available to the SLS. If the item doesn’t end its execution beforethis time, it is suspended and inserted back at the agenda so that it may beresumed in the future if its computation is still useful (its relevant input datahas not significatively changed).

4.2 Describing EM Functionalities

The two deliberative server modules and their interactions can be seen in Figure2. The main functionalities which are implemented in the Event Manager toachieve the main goals of the DS are shown in this figure:

– To activate and to deactivate acritic in-agents: The EM may activate / de-activate deliberative processes that are independent of the in-agents whosereflex part has just been processed.

– To manage the Attention Degree: The DS divides its execution time betweenits two modules. This time assignment does not have to be equitable. Infact, one of the ways to make the agent adaptive is to control the percentageof execution time provided to event management. This percentage is theAttention Degree and may be modified by the event manager. The timeassigned to the event manager allows it to receive all the events or onlysome of them. This variation is gradual, when the extreme situations arethe following: all the events are attended (the deliberative server is totallyfocused on the environment) and no event is attended (the deliberative serveris totally focused on its own objectives).

– To manage the Attention Focus: The Event Manager may change the agentattention focus. That is, the belief subset which updates will direct the de-liberative process. Changes in this subset will produce the events that theEM is interested in. This feature has two extreme situations: the EM is inter-ested in the whole belief set, controlling all the modifications, and the EM isinterested in variations of only one belief (any other belief data modificationwill be transparent for the DS).

– To change the SLS Policy: The EM will control the SLS policy to be usedby this scheduler. It will make a change when the environment state and

/ or schedule quality make it necessary. For instance, if the SLS policy isa deliberative one, and there is very little execution time available, then itseems appropriate to adopt a greedy SLS policy.

– To manage the Reactivity Degree: The Reactivity Degree is the percentageof slack time dedicated to cognition processes. This parameter allows theEM to control the slack time that it can use for its execution.The usual working of an AA delays the execution of its actions on the envi-ronment as late as possible for trying to improve them as much as possible.This behavior leaves the maximum time for the cognition process. Neverthe-less, sometimes it might be interesting to execute an action even if there isslack time left. This feature has two extreme situations: all the slack timemay be used to deliberate (this is the default mode and the agent has thelowest Reactivity Degree), and there is no cognition process (the agent be-haves as a reflex agent and it has the highest Reactivity Degree).

4.3 DS Goal Achievement

The DS is responsible for the fulfillment of almost all the AA agency featuresthrough the use of this set of functionalities:

– Improvement of the agent answer quality: The Reflex Server is in charge ofobtaining a low-quality first response from the AA (which is implementedas the mandatory time-bounded phase). The DS is responsible for using theavailable time to improve the quality of this response. This process is carriedout by controlling the AA reasoning capability at two levels:

• It decides at each moment what subject to focus its attention on in theslack time. Thus, it decides what to run from the active items storedin the agenda (real-time deliberative layers of the critic in-agents andacritic in-agents). These items are what really solve the problem.

• Meta-reasoning: it decides when to change the SLS scheduling algorithm,the reasoning process focus or the Attention Degree. This improves thereasoning process and, thus, the agent response quality obtained

– Adapting to important environment changes: The adaptability of the agentis expressed in its ability to change dynamically. Actually, any functionalitychange that the Event Manager triggers as a reaction to an event helps toadapt the AA to new situations. For instance, if the agent is very focused onthe changes in the environment (the Attention Degree is very high) and theevent rate is also very high, a greedy scheduling policy should work betterthan a deliberative one. If the SLS is working with a deliberative policy, theEM would change it.

– Pursuing its own objectives: The Attention Focus allows the AA to focus itsreasoning process on different belief sets. Therefore, in some situations, theAA is able to focus its deliberation on its own initiatives and to ”avoid” theenvironment changes. This effect can be augmented by tuning the attentiondegree to dedicate all the available time to the SLS.

5 Implementation

There exists a toolkit called InSiDE (Integrated Simulation and DevelopmentEnvironment) [20] that allows the especification of an ARTIS Agent, buildingits system model. This model works over Linux/RT-Linux. In fact, it uses anspecific improvement of RT-Linux called Flexible RT-Linux [22] that offers allthe services and the low-level model task needed by the AA system model.

So, all the tasks with hard real-time restrictions are executed in FlexibleRT-Linux whereas the rest of tasks are executed as highest priority Linux tasks.Hence, the Reflex Server Control Module is executed in Flexible RT-Linux andthe Deliberative Server is executed in Linux.

Though the base language in which all the different architecture modules areimplemented is the C language, there is no restriction to the language the systemdesigner must use to implement the different parts of an in-agent.

6 Conclusions

ARTIS is an agent architecture suitable for hard real-time agents. The workpresented in this paper shows the control module of ARTIS agents and an ex-tension of it that provides the soft real-time control of this hard real-time agentarchitecture. This extension incorporates a deliberative component that allowsto change the control module behaviour depending on the data environment andthe reactivity degree of the agent. In fact, it is able to adapt the agent features(such as the scheduling policy, the attention focus or the attention degree) tosignificative changes in the environment or in the agent’s internal state.

This architecture has been successfully applied to mobile robot control [20],by means of a prototype running over Flexible RT-Linux. Further investigation iscentered on social aspects of the AA architecture, by extending the architecturein order to develop real-time, multi-agent systems. This new feature will allowthe AA to offer services and to make them available to other agents throughthe control module. New examples are considered in order to study this newbehavior. More specifically, a train traffic control system is being developed,where each train is modelled as an AA. Moreover, it is planned to incorporatelearning capacities in the DS module to improve the adaptation capability.

References

1. N.C. Audsley, A. Burns, Davis R.I, Tindell K.W., and A.J. Wellings. Fixed prioritypre-emptive scheduling: An historical perspective. Real-Time Systems, 8:173–198,1995.

2. F. Barber, V. Botti, E. Onainda, and A. Crespo. Temporal reasoning in reakt:An environment for real-time knowledge-based systems. AICOMM, 7(3):175–202,1994.

3. V. Botti, C. Carrascosa, V. Julian, and J. Soler. Modelling agents in hard real-timeenvironments. Proc. of the MAAMAW’99. LNCS, vol. 1647, pages 63–76, 1999.

4. V. Botti and L. Hernandez. Control in real-time multiagent systems. In Proceedings

of the Second Iberoamerican Workshop on DAI and MAS, pages 137–148, Toledo,Spain, 1998. Garijo, F., Lemaitre, C. (Eds.).

5. R.I. Davis, K.W. Tindell, and A. Burns. Scheduling slack time in fixed prioritypreemptive systems. In Proc. R-T Systems Symposium, North Carolina, pages222–231. IEEE Comp. Society Press, 1993.

6. T. Dean and M. Boddy. An analysis of time-dependent planning. Proceedings of

the seventh National Conference on Artificial Intelligence. St. Paul, Minessota,,pages 49–54, 1988.

7. A. Garcia-Fornes, A. Terrasa, V. Botti, and A. Crespo. Analyzing the schedula-bility of hard real-time artificial intelligence systems. EAAI, pages 369–377, 1997.

8. A. Garvey and V. Lesser. A survey of research in deliberative real-time artificialintelligence. The Journal of Real-Time Systems, 6:317–347, 1994.

9. R. P. Goldman, D. J. Musliner, and K. D. Krebsbach. Managing online self-adaptation in real-time environments. In Proc. of Second International Workshop

on Self Adaptive Software, Balatonfured, Hungary, 2001.10. John R. Graham. Real-Time Scheduling in Distributed Multi-agent Systems. PhD

thesis, Dept. of computer and Information Science. University of Delaware, 2001.11. B. Hayes-Roth, R. Washington, D. Ash, A. Collinot, A. Vina, and A. Seiver.

Guardian: A prototype intensive-care monitoring agent. AI in Medicine, 4:165–185,1992.

12. A. E. Howe, D. M. Hart, , and P. R. Cohen. Addressing real-time constraints in thedesign of autonomous agents. The Journal of Real-Time Systems, 2:81–97, 1990.

13. F. Ingrand, M. P. Georgeff, and A. Rao. An architecture for real-time reasoningand system control. IEEE Expert, pages 34–44, December 1992.

14. C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming ina hard-real-time environment. Journal of the ACM, 20(1):46–61, 1973.

15. D. Musliner, E. Durfee, and K. Shin. Circa: a cooperative intelligent real-timecontrol architecture. IEEE Transactions on Systems, Man and Cybernetics, 23(6),1993.

16. D. J. Musliner. Safe learning in mission-critical domains: Time is of the essence. InWorking Notes of the AAAI Spring Symposium on Safe Learning Agents, Stanford,California, 2002.

17. M. Occello and Y. Demazeau. Modelling decision making systems using agentssatisfying real time constraints. IFAC Proceedings of 3rd IFAC Symposium on

Intelligent Autonomous Vehicles, 1:51–56, 1998.18. Anita Raja and Victor Lesser. Real-time meta-level control in multi agent systems.

In Proceedings of Multi-Agent Systems and Applications - ACAI 2001 and EASSS

2001 Student Sessions. Also Adaptability and Embodiment Using Multi-Agent Sys-

tems: AEMAS 2001 Workshop. Prague, Czech Republic, 2001.19. S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach. Prentice

Hall International Editions, 1995.20. J. Soler, V. Julian, C. Carrascosa, and V. Botti. Applying the artis agent archi-

tecture to mobile robot control. In Proceedings of IBERAMIA’2000. Atibaia, Sao

Paulo, Brasil, volume I, pages 359– 368. Springer Verlag, 2000.21. J.A. Stankovic. Misconceptions about real-time computing. IEEE Computer,

12(10):10–19, 1988.22. A. Terrasa, A. Garca-Fornes, and V. Botti. Flexible real-time linux. Real-Time

Systems Journal, 2:149–170, 2002.