the business of today 's complex organizations such as 
 hospitals in a healthcare network relies on sophisticated information systems 
 which often inherit many weaknesses from the past . for instance , due to its 
 lack of flexibility , a legacy information system can not integrate the 
 ever - increasing requirements in order to assist the users or to free them from 
 many routine tasks . ( a legacy information system represents a 
 massive , long - term investment in the past 
 , with poor 
 system quality , design , and architecture . this weakness of legacy information systems is one 
 of many aspects of the  automation gap . many legacy information systems are 
 designed for users working at fixed client workstations in fixed offices . they 
 do not take into account recent advances in mobile technology such as pdas , 
 mobile phones , and smartphones . in many legacy information systems , the 
 information flow still requires human interaction between actors either 
 face - to - face or through the plain old telephone communication system to get things 
 done ( information delivery , alert sending , people search , feedback , etc . ) . automation gap , lack of mobility , and direct human interaction result in an 
 inefficient information flow and data processing :  
 nonautomated information search and retrieval 
 are time - consuming;errors may occur in data transmission by 
 humans;users must be physically present at either end 
 of the communication link to successfully establish a conversation ( i.e. , only 
 synchronous interaction);the lack of a systematic activity log makes it 
 difficult to determine the responsibilities of actors when problems or errors 
 occur during a business process . this research 
 aims at applying a systematic agent technology approach to overcome these 
 weaknesses . the design of a software agent layer on top of a legacy information 
 system offers many advantages to users : nonautomated information search and retrieval 
 are time - consuming ; errors may occur in data transmission by 
 humans ; users must be physically present at either end 
 of the communication link to successfully establish a conversation ( i.e. , only 
 synchronous interaction ) ; the lack of a systematic activity log makes it 
 difficult to determine the responsibilities of actors when problems or errors 
 occur during a business process . it adds interesting properties to the 
 information system : ubiquitousness , intelligence , scalability , systematic 
 management , logging of the information flows , and so forth;it helps humans to interact efficiently among 
 themselves and with the information system . indeed , human effort and time can 
 be saved by transferring routine tasks from humans to software . it adds interesting properties to the 
 information system : ubiquitousness , intelligence , scalability , systematic 
 management , logging of the information flows , and so forth ; it helps humans to interact efficiently among 
 themselves and with the information system . indeed , human effort and time can 
 be saved by transferring routine tasks from humans to software . after this first introductory part , section 2 provides 
 background information on software agents , agents platforms , and development 
 methodologies in general . section 3 presents a case study conducted at the 
 hcf laboratory ( hcf is the french acronym for hospital of the state of fibourg , switzerland ) . this section is further divided as follows : 
 the mission and the information system of the 
 hcf laboratory are presented;the weaknesses and potential problems of the 
 current information system are identified;finally , a software agent - based solution to 
 enhance the system is proposed . the mission and the information system of the 
 hcf laboratory are presented ; the weaknesses and potential problems of the 
 current information system are identified ; finally , a software agent - based solution to 
 enhance the system is proposed . section 4 focuses on the medical multiagent system 
 ( medimas ) prototype , which represents our first implementation of the proposed 
 agent - based solution . it simulates an end user 's ( lab personnel , physician ) 
 point of view by considering software agents as personal assistants and by 
 showing them in action . section 5 shows how it was possible to define the 
 requirements and to sketch the architecture of the prototype using a 
 well - defined and systematic approach , and this section also briefly describes 
 its main components . finally , section 6 concludes this paper by summarizing 
 the main achievements of our work and by discussing some extensions and 
 improvements planned for the future . it is out of the scope of this paper to offer full 
 background information on software agents and their related technologies . therefore , the three next subsections only provide a short introduction to the 
 domain and refer the interested reader to the abundant literature for further 
 details . the term  agent  appears in a wide spectrum of 
 research areas such as economics , physics , biology , mathematics , artificial 
 intelligence , and software engineering . therefore , a unified notion of agent is 
 difficult to extract from the research literature . in this section , we do not 
 aim to coin a new definition , but to highlight the fundamental properties of 
 agents from two published definitions . definition 1an autonomous agent is a system situated within and a part of an environment that senses that 
 environment and acts on it , over time , in pursuit of its own agenda and so as to effect what it 
 senses in the future . an autonomous agent is a system situated within and a part of an environment that senses that 
 environment and acts on it , over time , in pursuit of its own agenda and so as to effect what it 
 senses in the future . definition 2an agent is a small , autonomous , 
 or semiautonomous software program that performs a set of specialized functions 
 to meet a specific set of goals , and then provides its results to a customer 
 ( e.g. , human end - user , another program ) in a format readily acceptable by that customer . an agent is a small , autonomous , 
 or semiautonomous software program that performs a set of specialized functions 
 to meet a specific set of goals , and then provides its results to a customer 
 ( e.g. , human end - user , another program ) in a format readily acceptable by that customer . the first definition proposes the most general notion 
 of agent which may be a person , a robot , a piece of software , and so forth . the 
 second definition focuses on agents in the software domain which is of interest 
 to us . both definitions exhibit the following basic properties of software 
 agents : 
   autonomy : agents have some degree of control 
 over their actions and can work without intervention of humans ;   social ability : agents can coordinate their 
 actions and cooperate with other agents to achieve their goals , using a common 
 language to communicate with each other ;   reactivity : agents can perceive their 
 environment and respond to environmental changes ;   proactiveness : agents can act on their own 
 initiative to achieve their goals instead of simply reacting 
 with the environment . 
 for our 
 research purposes , we further characterize a software agent as a running program object , capable to initiate , receive , execute , or reject a message autonomously to attain its goals during its life cycle . autonomy : agents have some degree of control 
 over their actions and can work without intervention of humans ;    social ability : agents can coordinate their 
 actions and cooperate with other agents to achieve their goals , using a common 
 language to communicate with each other ;    reactivity : agents can perceive their 
 environment and respond to environmental changes ;    proactiveness : agents can act on their own 
 initiative to achieve their goals instead of simply reacting 
 with the environment . an agent platform is a software environment in which 
 agents are incarnated and operate to achieve their goals . the agent platform 
 must provide the following minimum set of functionalities [ 4 , 5 ] : 
   agent management ( creating , starting , 
 removing , migrating agents , etc . ) ,   agent communication ,   supervision of agents , error notification ,   security mechanism . agent management ( creating , starting , 
 removing , migrating agents , etc . ) ,    agent communication ,    supervision of agents , error notification ,    security mechanism . today , several platforms have been developed ( e.g. , 
 jade , jack 
 , agentbuilder 
 , aglet , etc . ) and researches are 
 being conducted to define new platforms for building agent systems . jade was 
 selected based on two criteria : 
   the selected platform is well - proven ;   it is scalable for our research and 
 experimental purposes . java agent 
 development framework ( jade ) is a software framework fully implemented in the 
 java language . it simplifies the implementation of multiagent systems through a 
 middleware that complies with the foundation for intelligent physical agents 
 ( fipa ) specifications and through a set of graphical tools that supports the 
 debugging and deployment phases . ( fipa is an ieee computer society standards 
 organization that promotes agent - based technology and the interoperability of 
 its standards with other technologies . ) this agent platform can be distributed across machines ( which 
 do not even need to share the same os ) and the 
 configuration can be controlled via a remote gui . jade has been developed by 
 the telecom italia lab , and the agent and object technology lab at the 
 university of parma . it is open - source , cost - free , and offers the 
 developer complete control over the framework . we refer the interested reader 
 to   for a good 
 introduction to the jade agent platform . the selected platform is well - proven ;    it is scalable for our research and 
 experimental purposes . however , the development of agent - based systems is a relatively new 
 domain of software engineering . today , several agent - oriented methodologies 
 have been developed ( e.g. , gaia , mase , and mas - commonkads ) . they are based on different theoretical foundations 
 : artificial 
 intelligence ( ai ) , object - oriented programming ( oop ) , combination of ai and oo , 
 as well as i * organization modeling framework ( tropos ) . these methodologies contribute significantly to the 
 rigorous and systematic development of agent - based systems . the 
 jade_methodology 
 is a new agent - oriented methodology that supports the ontology approach . it 
 encompasses the analysis and design phases to develop software agents on the 
 jade platform . this methodology proposes to build the ontology at the end of 
 the design phase in order to share the knowledge between software agents . the laboratory is located on several sites with different domains : 
 haematology , immuno - haematology , chemistry , and microbiology . it receives daily 
 hundreds of orders with specimens , analyzes the specimens , then delivers final 
 results to the requesters ( doctors , hospital departments , etc . ) . the method of 
 transmission of test results depends on their urgency level . besides the lab equipment for carrying out medical 
 analysis , the personnel of the hcf laboratory are supported in their daily 
 tasks by the windmlab multisite laboratory information system , coupled with a traditional 
 telephone communication system . they constitute two major components of the 
 current hcf laboratory information system ( clis ) . clis ensures the availability of medical results in a 
 centralized database and their transmission : 
   between departments and sites of the laboratory ,   between the laboratory and the hcf ,   between the laboratory and other requesters in 
 the province of fribourg . 
    between departments and sites of the laboratory ,    between the laboratory and the hcf ,    between the laboratory and other requesters in 
 the province of fribourg . each requester ( doctors , hospital departments , etc . ) 
 can access and review the test reports on their patients at any level of 
 detail . the windmlab multisite system and the traditional 
 telephone communication system must coexist to achieve all the functionalities 
 as clis was initially designed for . indeed , several scenarios still require the 
 telephone communication system to get things done , for example , in the 
 following circumstances : 
   a lab technologist calls a physician to 
 transmit patient 's test results ;   a physician calls the laboratory to obtain by 
 phone the test results ;   a lab technologist asks , by phone , his 
 director to make a decision in an emergency situation , and so forth . a lab technologist calls a physician to 
 transmit patient 's test results ;    a physician calls the laboratory to obtain by 
 phone the test results ;    a lab technologist asks , by phone , his 
 director to make a decision in an emergency situation , and so forth . figure 1 illustrates clis as a three - layer system in 
 which both the laboratory information system and the telephone communication system 
 coexist : 
   the first layer defines the information system 
 infrastructure , which is composed of servers running different operating 
 systems and application software in a computer network ;   the second layer is the windmlab multisite 
 system ;   the third layer provides the telephone 
 communication system which allows requesters and laboratory staff to exchange 
 test results via voice and fax . one can notice 
 that human actors interact with each other directly or indirectly through the 
 second and third layers . the first layer defines the information system 
 infrastructure , which is composed of servers running different operating 
 systems and application software in a computer network ;    the second layer is the windmlab multisite 
 system ;    the third layer provides the telephone 
 communication system which allows requesters and laboratory staff to exchange 
 test results via voice and fax . clis raises numerous potential problems : 
 even though the major part of results ( 80% ) 
 are transferred through automats and windmlab multisite system , the quality of 
 services provided by clis depends to a more or less extent on human factors , 
 for example , any mistake of a lab technologist in transferring test results to 
 a doctor may cause dramatic consequences on patients ;   clis does not allow the requesters to know 
 when results become available ;   the processes which take place in the 
 telephone communication system ( layer 3 ) can not be logged automatically in clis 
 for monitoring and tracking purposes ;   physicians who use clis spend a lot of time 
 searching , retrieving , consulting , and interchanging the test results ;   to establish a successful phone communication , 
 two actors must be present , therefore , time is wasted if either one can not 
 reach the other when needed ;   because of the time - consuming use of clis in 
 many scenarios , physicians and laboratory personnel have less time for their 
 real medical activities . the 
 above - identified problems , caused by human operations , often prevent 
 information to flow smoothly from clis to actors and vice versa . these problems 
 illustrate the so - called  automation gap  [ 22 , 23 ] . what is needed is a systematic , strategic approach 
 that automates error - prone human processes . even though the major part of results ( 80% ) 
 are transferred through automats and windmlab multisite system , the quality of 
 services provided by clis depends to a more or less extent on human factors , 
 for example , any mistake of a lab technologist in transferring test results to 
 a doctor may cause dramatic consequences on patients ;    clis does not allow the requesters to know 
 when results become available ;    the processes which take place in the 
 telephone communication system ( layer 3 ) can not be logged automatically in clis 
 for monitoring and tracking purposes ;    physicians who use clis spend a lot of time 
 searching , retrieving , consulting , and interchanging the test results ;    to establish a successful phone communication , 
 two actors must be present , therefore , time is wasted if either one can not 
 reach the other when needed ;    because of the time - consuming use of clis in 
 many scenarios , physicians and laboratory personnel have less time for their 
 real medical activities . the  automation gap  may be filled using different 
 software technologies , for example , javaspaces with sms message technology , web 
 services technology , multiagent technology , and so forth . our purpose is to propose a 
 methodology for allowing us to migrate from the legacy human agent - centered 
 clis toward an enhanced software agent - based system . in clis , actors 
 ( laboratory personnel , laboratory director , physicians , etc . ) a human agent is a professional characterized by experience , skills , 
 intelligence , reactiveness , proactiveness , and ability to work autonomously and 
 to cooperate with other human agents . our proposal aims at designing software agents which will work on 
 behalf of human agents with similar characteristics . in other words , our 
 solution delegates daily routine tasks performed by human agents to software 
 agents . in this new approach , each actor is assigned a personalized software 
 agent which acts as his personal assistant . when talking about these personal assistants , we could also 
 use the  virtual twin the assistant receives a list of things to do from its 
 owner , performs the assigned tasks in close cooperation with other software 
 agents , and delivers the final result to the owner . in our solution , the 
 software agents are designed on layer 3 , shifting the telephone communication 
 system up to the fourth layer ( cf . the software agent solution 
 offers significant advantages for clis : 
   the features and functionalities of windmlab 
 multisite are maintained , preserving the investment in this legacy laboratory 
 application ;   in the new software agent - based clis , the 
 delegation of routine tasks from human to software agents ( personal assistants ) 
 allows human actors to focus their attention on specimen analysis , test result 
 interpretation , medical decision making , and so forth ;   the new software agent - based clis , coupled 
 with mobile devices ( pdas , mobile phones , smartphones , etc . ) , allows the actors 
 to view the test results transmitted by personal assistants anywhere and 
 anytime ;   all events and actions are systematically 
 logged and centralized to support auditing of the system . traceability and 
 exception investigation , for example , to answer a patient 's complaint , is also 
 improved . the features and functionalities of windmlab 
 multisite are maintained , preserving the investment in this legacy laboratory 
 application ;    in the new software agent - based clis , the 
 delegation of routine tasks from human to software agents ( personal assistants ) 
 allows human actors to focus their attention on specimen analysis , test result 
 interpretation , medical decision making , and so forth ;    the new software agent - based clis , coupled 
 with mobile devices ( pdas , mobile phones , smartphones , etc . ) , allows the actors 
 to view the test results transmitted by personal assistants anywhere and 
 anytime ;    all events and actions are systematically 
 logged and centralized to support auditing of the system . traceability and 
 exception investigation , for example , to answer a patient 's complaint , is also 
 improved . the medimas prototype   is the first experimental 
 implementation of the proposed agent - based solution . a case study was conducted 
 at the hcf laboratory to test it in the real world , and to explore different 
 practical aspects . medimas has six agent categories : 
   physician agents ,   lab personnel agents ,   lab director agents ,   alert manager agent ,   integration agent , and   audit agent . figure 2 
 depicts their organization in which the agents assist different categories of 
 humans in their daily tasks . this figure also shows the social ability of 
 agents to cooperate with each other in order to automate the information flow 
 between the actors themselves , as well as between the actors and the clis . lab personnel agents ,    lab director agents ,    alert manager agent ,    integration agent , and in the environment of our medimas prototype , the 
 integration agent ( riagent ) plays a central role . therefore , it is launched 
 first with the jade platform before starting any other agent . when the setup is 
 complete , the agents are attached to the medimas 's containers ( a jade container 
 is a runtime environment for agents ): 
   riagent is the integration agent ,   amagent is the alert manager agent ,   adagent is the audit agent ,   pagents are the physician agents ,   lpagents are the lab personnel agents ,   ldagents are the lab director agents . riagent is the integration agent ,    amagent is the alert manager agent ,    adagent is the audit agent ,    pagents are the physician agents ,    lpagents are the lab personnel agents ,    ldagents are the lab director agents . in the medimas system , each human actor ( physician , 
 lab personnel , lab director ) is assigned an agent , and simultaneously , one or 
 more guiagents . for example , a single agent pagent tuanagent and two guiagents 
 are assigned to the physician tuan . we now setup our sample windmlab database by feeding 
 it with the fictitious test results of specimens nlab-007 , nlab-008 , and 
 nlab-009 in order to simulate the three test results which are recorded into 
 the database by the lab analysers , and validated by the lab technologist . let us introduce the actors who will play different 
 roles in our scenario : 
   tuan is a physician in the hcf and is assigned 
 the i d 3 ;   jacques is the lab director ;   patrik is a lab technologist in hcf 
 laboratory : he is working on the specimens : nlab-007 , nlab-008 , and nlab-009 , 
 ordered by a caregiver tuan . 
 in the 
 following scenario , starting with the notification of results availability , we 
 study in finer detail the human actors , tuan is a physician in the hcf and is assigned 
 the i d 3 ;    jacques is the lab director ;    patrik is a lab technologist in hcf 
 laboratory : he is working on the specimens : nlab-007 , nlab-008 , and nlab-009 , 
 ordered by a caregiver tuan . ( the 
 priority of an analysis is set by its requester and the degree of criticality 
 depends on its result and is set by the lab technologist.)at completion of the nlab-007 analysis , patrik 
 observes that the test results are noncritical ( see table 1 ) . in order to 
 notify the availability of the test results to tuan ( requester i d = 3 ) , patrik 
 enters nlab-007 and clicks on the button beside the nlab field to automatically 
 fill in the other fields ( figure 3 ) . action button to direct his lpagent to announce the availability of 
 test results to the requester.patrik further treats the other results in the 
 same manner.patrik's lpagent sends the announcements of 
 the results to tuan 's pagent.it also sends these announcements to amagent 
 which records the announcements and starts to monitor closely the read / unread 
 status of the new test results . ( the 
 priority of an analysis is set by its requester and the degree of criticality 
 depends on its result and is set by the lab technologist . ) at completion of the nlab-007 analysis , patrik 
 observes that the test results are noncritical ( see table 1 ) . in order to 
 notify the availability of the test results to tuan ( requester i d = 3 ) , patrik 
 enters nlab-007 and clicks on the button beside the nlab field to automatically 
 fill in the other fields ( figure 3 ) . finally , patrik clicks the  notify 
 result  action button to direct his lpagent to announce the availability of 
 test results to the requester . it also sends these announcements to amagent 
 which records the announcements and starts to monitor closely the read / unread 
 status of the new test results . concurrently with amagent , tuan 's pagent 
 receives the announcements and refreshes the list of pending results in the 
 upper pane of its window by adding the new announcements of nlab-007 , nlab-008 , 
 and nlab-009 test results , flagged as available  in the status of announced 
 result column ( figure 4).tuan clicks on the received announcement 
 nlab-007 in the list of pending results in order to preview the details of the 
 test results . tuan 's pagent requests riagent to retrieve the contents of the 
 nlab-007 test results and displays the contents of the nlab-007 test results in 
 the lower pane of its window ( figure 4).tuan clicks the confirm  button to 
 acknowledge receipt of the notified announcement of nlab-007 and thus directs 
 his pagent to send this acknowledgement to amagent.amagent updates the status of nlab-007 as 
  read  and removes the nlab-007 announcement from his own internal list . tuan 's pagent removes nlab-007 from the list of pending results ( figure 5).tuan further acknowledges the nlab-008 result . concurrently with amagent , tuan 's pagent 
 receives the announcements and refreshes the list of pending results in the 
 upper pane of its window by adding the new announcements of nlab-007 , nlab-008 , 
 and nlab-009 test results , flagged as tuan clicks on the received announcement 
 nlab-007 in the list of pending results in order to preview the details of the 
 test results . tuan 's pagent requests riagent to retrieve the contents of the 
 nlab-007 test results and displays the contents of the nlab-007 test results in 
 the lower pane of its window ( figure 4 ) . confirm  button to 
 acknowledge receipt of the notified announcement of nlab-007 and thus directs 
 his pagent to send this acknowledgement to amagent . amagent updates the status of nlab-007 as 
  read  and removes the nlab-007 announcement from his own internal list . tuan 's pagent removes nlab-007 from the list of pending results ( figure 5 ) . one notices that , in the pagent 's window , each 
 announcement is first flagged as  available  during a predefined time 
 interval , for example , 20 minutes for normal test results ; and 10 minutes for 
 critical ones . thanks to the close monitoring of pending announcements , amagent 
 alerts pagent as soon as an announcement has not been confirmed within the 
 predefined time interval . 2nd reminder ,  and so on in the status of announced 
 result column . for the nlab-009 , amagent has not yet received 
 an acknowledgment message from tuan 's pagent within the preset time interval . after three unsuccessful warnings , amagent escalates up the organizational 
 hierarchy by sending an alert to jacques ' ldagent.jacques ' ldagent receives the nlab-009 alert 
 from amagent and displays it in the ldagent 's window ( figure 6).jacques clicks on the nlab-009 alert in order 
 to preview it . jacques 's ldagent requests riagent to retrieve the contents of 
 the nlab-009 test result and displays the contents of the nlab-009 test results 
 in the lower pane of its window.jacques contacts tuan to manually transmit the 
 test results to him.jacques clicks the  confirm  button to 
 acknowledge receipt of the nlab-009 alert and thus directs his ldagent to send 
 this acknowledgment to amagent.amagent updates the status of nlab-009 as 
  read ,  and removes the nlab-009 announcement from his own internal list . jacques 's ldagent and tuan 's pagent remove nlab-009 from their respective 
 windows.throughout the above - simulated scenario , each 
 agent sends to the audit agent ( adagent ) the start and stop times of every 
 performed task along with its relevant information ( date and time , involved 
 actors , action , etc . ) . 
  for the nlab-009 , amagent has not yet received 
 an acknowledgment message from tuan 's pagent within the preset time interval . after three unsuccessful warnings , amagent escalates up the organizational 
 hierarchy by sending an alert to jacques ' ldagent . jacques ' ldagent receives the nlab-009 alert 
 from amagent and displays it in the ldagent 's window ( figure 6 ) . jacques 's ldagent requests riagent to retrieve the contents of 
 the nlab-009 test result and displays the contents of the nlab-009 test results 
 in the lower pane of its window . confirm  button to 
 acknowledge receipt of the nlab-009 alert and thus directs his ldagent to send 
 this acknowledgment to amagent . amagent updates the status of nlab-009 as 
  read ,  and removes the nlab-009 announcement from his own internal list . jacques 's ldagent and tuan 's pagent remove nlab-009 from their respective 
 windows . throughout the above - simulated scenario , each 
 agent sends to the audit agent ( adagent ) the start and stop times of every 
 performed task along with its relevant information ( date and time , involved 
 actors , action , etc . ) . we have simulated some specimens to demonstrate the 
 working of assistant agents in the medimas prototype and the benefits of a 
 software agent approach to enhance a legacy information system . in order to 
 fully grasp the power of our solution , one however must consider the real 
 laboratory , where hundred of specimen analysis are ordered everyday by dozen of 
 physicians . after a rather simple configuration process , each human actor will 
 be able to transparently rely on his software counterpart to be reminded what 
 he has to do next with respect to the hospital regulations . furthermore , all 
 communication exchanges and reminder warnings will be coordinated , timely 
 delivered to all the appropriate actors , and properly logged for further 
 references . at this stage , the attentive reader has certainly 
 noticed that we used a very high level approach in order to describe the concrete 
 run - time working of the medimas prototype . it is , however , very important for 
 her to understand that medimas components are not just plain objects , but 
 they are , indeed , software agents in the sense of 
 the definition given at the end of section 2.1 . because of that , the use of 
 agent technologies in general and of an agent platform in particular is a 
 necessity if one does not want to reinvent the wheel by implementing from 
 scratch many low - level services such as naming and yellow pages services , code 
 mobility support , debugging and monitoring / management facilities , security 
 mechanism , agent communication , or resource control . for example , the alert 
 manager agent , amagent introduced above , is a running program object , with its 
 own thread of control ( i.e. , having its own autonomy ) , which 
   reacts to physician and lab personnel agents 
 messages by updating its test results pending list ;   has an aim to 
 timely detect and to act upon test results with abnormal unread status ;   acts autonomously ( i.e. , without the necessity 
 of a special external event or method call ) in order to fulfill its goal . it 
 does so by constantly monitoring its test results pending list and by sending 
 warning messages to the appropriate agents ( physician and lab director ones ) 
 according to the hospital regulations . messages are 
 based on the fipa acl message standard , and the behaviors or agent  intelligence  are programmed 
 in java classes using either plain procedural code or declarative rules with 
 the help of the jess to jade toolkit developed by our research group . note that with the latter 
 technology , it is even possible to change the agent behavior by modifying rules 
 at run - time ( e.g. , escalating up the organizational hierarchy after two instead 
 of three unsuccessful warnings or warning another physician in the same group 
 if available instead of the lab director ) .    reacts to physician and lab personnel agents 
 messages by updating its test results pending list ;    has an aim to 
 timely detect and to act upon test results with abnormal unread status ;    acts autonomously ( i.e. , without the necessity 
 of a special external event or method call ) in order to fulfill its goal . it 
 does so by constantly monitoring its test results pending list and by sending 
 warning messages to the appropriate agents ( physician and lab director ones ) 
 according to the hospital regulations . we have designed our own  in - house  methodology , 
 inspired by the theoretical foundations mentioned in section 2.3 . more precisely , we adapted the jade _   methodology   to our own purposes by integrating the ontology in 
 the earlier phases of the modelling process . the next paragraphs present it in four phases 
 ( see figure 7 ) , while figure 8 summarizes it and put in evidence the 
 relationships between its different phases . the analyst perceives the current system in order to 
 understand its goals , problems , and its future requirements . this phase aims at 
 defining a common vocabulary and describing the current organization of 
 entities ( actors , human agents ) , use cases , and/or business processes of the 
 system . the deliverables of phase i consist in a well - defined set of goals and 
 requirements , the common vocabulary describing the entities with their 
 organization , a set of identified use cases , and 
 business processes . in our case study , the outputs of our real - world system 
 analysis are the three - layer information system structure of the hcf laboratory 
 ( figure 1 ) , and uml activity diagrams of its business processes ( figure 9 ) . the domain ontology definition phase takes the 
 deliverables of phase i as input and aims at defining the domain or application 
 terminology standards and semantics . to this end , the analyst focuses on 
 concepts , actions , predicates and relations between concepts . in medimas , we 
 adopt the following guidelines to build the ontology : 
   concepts are substantives ( e.g. , doctor , 
 patient , analysis , etc . ) . actions are verbs or verbal phrases ( e.g. , 
 sendresult , alert , sendavailablelist , etc . ) .   predicates are expressions that make 
 statements about something , which can be evaluated true , false or indeterminate 
 ( e.g. , istestresultcritical , isresultcomfirmed , etc . ) . . 
    concepts are substantives ( e.g. , doctor , 
 patient , analysis , etc . ) . actions are verbs or verbal phrases ( e.g. , 
 sendresult , alert , sendavailablelist , etc . ) .    predicates are expressions that make 
 statements about something , which can be evaluated true , false or indeterminate 
 ( e.g. , istestresultcritical , isresultcomfirmed , etc . ) . the output of this phase is the domain or application 
 ontology , that actors will use to understand each other in their 
 communications . in software engineering , ontology development tools , 
 such as protg , 
 topbraidcomposer , 
 etc . , have been developed in order to assist the ontologists to build the 
 domain or application ontology efficiently . the interested reader is refered to 
  for a graphical 
 overview of the ontology we defined using the protg suite of tools . the modelling phase consists in the following set of 
 tasks using the deliverables of phase i and ii as inputs : 
   identify and create eligible software agents 
 which will be assigned to actors ;   determine the tasks ( also called the responsibilities ) 
 of each agent ;   specify the workflow of elementary operations 
 in each task and the agent 's operational behavior ;   assign tasks , workflows , and behaviors to 
 agents according to their roles in the organization . identify and create eligible software agents 
 which will be assigned to actors ;    determine the tasks ( also called the responsibilities ) 
 of each agent ;    specify the workflow of elementary operations 
 in each task and the agent 's operational behavior ;    assign tasks , workflows , and behaviors to 
 agents according to their roles in the organization . figures 7 and 8 draw our attention to the iterative 
 nature of the tasks within phase iii on one side , and between phases ii and iii 
 on the other side . indeed , successive refinement steps are required in order to 
 enrich the domain ontology as new concepts , actions , predicates , and relations 
 between concepts are identified . the deliverables of this phase are the documents : 
   describing the agents in different categories , 
 and   specifying all the tasks , workflows , and 
 behaviours , and their assignment to agents . the agent 
 categories and their assigned tasks in medimas are summarized in table 2 .    describing the agents in different categories , 
 and    specifying all the tasks , workflows , and 
 behaviours , and their assignment to agents . iv , the selection of a platform closely impacts the implementation process . in 
 our case study , this phase involves the programmer team to implement 
 and test the agent - based system according to the model specifications . to this 
 end , the programmers use the deliverables of the previous phases as inputs , and 
 then translate them into system components which are extensions of the existing 
 classes in jade , namely : 
   designed agents are translated into classes of 
 agents according to the terminology used in jade ;   designed tasks , workflows , and behaviours are 
 converted into classes of behaviours in the sense of jade . the domain 
 ontology must also be implemented as extensions of the existing ontology in 
 jade . this task is achieved :    designed agents are translated into classes of 
 agents according to the terminology used in jade ;    designed tasks , workflows , and behaviours are 
 converted into classes of behaviours in the sense of jade . 
   either by manually coding vocabulary , bean 
 classes , conceptschema , agentactionschema , predicate - schema , and so forth , or   through the bean generator plug - in for protg 
 . 
 the completion 
 of phase iv results in a multiagent system that fulfils the defined user goals 
 and requirements and operates on the selected platform . it would be out of the 
 scope of this article to fully describe the software architecture of the 
 medimas prototype . ( the interested reader can find the class diagram of 
 medimas as implemented on the jade platform in   and its complete source 
 code is available at . )    either by manually coding vocabulary , bean 
 classes , conceptschema , agentactionschema , predicate - schema , and so forth , or    through the bean generator plug - in for protg 
 . a typical layered approach has been adopted ( see 
 figure 10 ) : the upper layer is an abstract layer providing the basic classes , 
 interfaces , and agent types , and it directly extends the jade platform . the 
 second layer offers the main functionalities and default behaviors for each 
 kind of identified agent type : resource integration for seamless interfacing 
 with legacy systems , audit agent for addressing logging issues , and alike system 
 supervisor agents which enhance the system with some new services and the 
 personnel assistant agents which embody the  virtual twin  paradigm . this 
 separation allows for a one - to - many relationship between a personal agent 's 
 core part and   several user interface agents which are deployed on the humans ' 
 computing devices ( desktops / laptops and/or smartphones and/or web 
 browsers , etc . ) . eventually , the lowest layer is dedicated for application 
 specific implementations of the agents . in the case of medimas , this layer 
 contains 
   the windmlab integration agent ,   the alert manager agent ,   the lab assistant , lab director and physician 
 personnel assistant agent . 
 beside these 
 blocks , there are two further components ( rightmost on figure 10 ) : one for 
 ontology related issues and one for miscellaneous tools and utilities .    the windmlab integration agent ,    the alert manager agent ,    the lab assistant , lab director and physician 
 personnel assistant agent . this layered architecture actually provides a general 
 framework that could be used for other application domains than our medical 
 laboratory use case . in order to reuse the framework , one could simply inject a 
 new ontology , attach the according behaviours to the personnel assistant agents , 
 and implement the business logic of the system supervisor agents . this research paper discusses major features and 
 benefits of our agent - based approach to enhance a hospital laboratory legacy 
 information system . such approach preserves the investment in the legacy system 
 and allows developers to seamlessly add new features , which aim at filling the 
 automation gap , satisfying the needs of growing user mobility , and providing 
 intelligent assistance to users . finally , a methodology to systematically adopt 
 and implement such a solution is proposed and it is validated with the 
 implementation of the concrete medimas prototype . the current version of the medimas prototype provides 
 physicians , lab personnel , and lab director with software agents running on 
 desktop computers . ( the whole source code and related documentation 
 are available for download from . ) these agents act as 
 personal assistants to free the actors from tedious and routine work so that 
 they can really concentrate on their medical activities . our research will extend the model to allow software 
 agents to run on mobile devices ( e.g. , pdas , mobile phones , smartphones , etc . ) . the agents that work for the same owner on different devices must collaborate 
 and synchronize their tasks to efficiently assist the owner who may work 
 anywhere and anytime . a first prototypal version of this extended model is 
 already available [ 32 , 33 ] , but still needs some fine 
 tuning . the development of a simulation tool for medimas is 
 another topic of our research . the tool offers the healthcare experts the 
 opportunity to visualize the working of medimas prototype by simulation , and to 
 get an insight in the properties of an agent - based system in the healthcare 
 domain ( ubiquitousness , intelligence , reactiveness , proactiveness , scalability , 
 etc . ) . a first version of the tool is now available   and has been extensively 
 used in order to debug and test the medimas prototype . withing another project , we developed the jess to jade 
 ( j2j ) toolkit , which 
 allows jade agents to seamlessly use the jess rule engine   in order to perform 
 appropriate behavior . this solution has been tested on our alert manager agent 
 and it allowed us to declaratively define and modify the agent behavior at 
 runtime . the light in - house agent - based system design 
 methodology has been defined , and applied in the medimas experimental project 
 in healthcare domain . future extensions will enhance the methodology with 
 additional modelling possibilities to design more complex real - world systems .
agent technology is an emerging and promising 
 research area in software technology , which increasingly contributes 
 to the development of value - added information systems 
 for large healthcare organizations . through the medimas prototype , 
 resulting from a case study conducted at a local 
 swiss hospital , this paper aims at presenting the 
 advantages of reinforcing such a complex e - health man - machine 
 information organization with software agents . 
 the latter will 
 work on behalf of human agents , taking care of routine tasks , 
 and thus increasing the speed , the systematic , and ultimately the 
 reliability of the information exchanges . 
 we further claim that the 
 modeling of the software agent layer can be methodically derived 
 from the actual  classical  laboratory organization and practices , 
 as well as seamlessly integrated with the existing information 
 system .