Define Objects Implementation with

Abdul Samad Shibghatullah 76 30052008 Ontology Virtual World Multi - Agent Engine Software Interface Human Computer Interface Figure 4.2: AgentPower Architecture Source: Rzevski, 2002 There are several steps in developing a MAS in AgentPower. First, objects and their attributes in AgentPower an agent is called object are defined, then the supply and demand agents and virtual relations between them in the virtual world are identified. Finally, the demands agents and resources agents are created, the attributes are filled in and the simulation is run to experiment with the agents’ negotiations to find a match between them. The next subsections discuss the steps in detail.

4.3.1 Define Objects

In AgentPower, an agent is called an object in the ontology library but in the virtual world it is called an agent. Although the name is different, its purpose and function are the same. Based on the proposed approach in Chapter Three Section 3.4.2, two types of agents are defined - crew agent and duty agent. In AgentPower, we implement crew agent as crew object, and duty agent as duty object. Details of its attributes, description and data type are shown in Tables 4.8 crew and 4.9 duty. Almost all the attributes are the same as presented in Section 3.4.2 but with a few additions. In object crew there a few attributes added: route no. 2, ready time, X, Y and self nexus. In object duty, the additions are X, Y and self nexus. The additions are required because of requirements of crew schedules, rescheduling rules and AgentPower. For example, AgentPower requires attributes X, Y and self nexus for the purpose of the matching process. Figure 4.2 shows a screen shot from AgentPower that illustrates the visual representation of object crew and object duty and their attributes. Abdul Samad Shibghatullah 77 30052008 Table 4.8: Attributes for Object Crew Name Description Data Type Crew ID Identification number for a crew String Route No. 1 The first route assigned to the crew String Route No. 2 The second route assigned to the crew String Duty Number The duty number assigned to the crew Integer Sign-on Time The time the crew should sign-on at garage. Time Start Work 1 Time The starting time for the crew’s first piece of work. Time Finish Work 1 Time The finishing time for the crew’s first piece of work. Time Start Relief Time The starting time for the break. Time Finish Relief Time The finishing time for the break. Time Ready Time Time calculated for the purpose of rescheduling 45 minutes after “Start Relief Time”. Time Start Work 2 Time The starting time for the crew’s second piece of work. Time Finish Work 2 Time The finishing time for the crew’s second piece of work. Time Sign-off Time The sign-off time for the crew at garage. Time Status To indicate the status of a crew for the purpose of reassignment, 0 if not available and 1 if available. Integer X Object position in the scene relative to X-direction Integer Y Object position in the scene relative to Y-direction Integer Self Nexus A unique identifier of the project crew agent used for agent identification in the scene Agent Reference Table 4.9: Attributes for Object Duty Name Description Data Type Route No Number for the route String Duty No Number of the duty Integer Start Time The starting time for the duty to be covered. Time Minimum Required Time A minimum required time to cover the duty. Time Late Crew Ready Time The time when the late-crew is ready. Time X Object position in the scene relative to X-direction Integer Y Object position in the scene relative to Y-direction Integer Self Nexus A unique identifier of the project crew agent used for agent identification in the scene Agent Reference Abdul Samad Shibghatullah 78 30052008 Figure 4.3: Network Representation of Objects and its Attributes in AgentPower

4.3.2 Virtual World