Modeling Agent Based Systems With Uml Computer Science Essay

Published:

Many of the researches in the area of modeling agent based system have described various ways of how to design an agent based with Unified Modeling Language.Agent based systems consists of new techniques and concepts like agent migration, agent messaging, agency etc. To design these concepts which are given by agent base system, researchers have proposed different modeling and design techniques of modeling an agent based systems.To model these new concepts few new modeling techniques have been proposed but most of the proposed techniques are the extension to UML diagrams. In this paper we will discuss different agent base modeling techniques with UML, and also present their comparison.

Introductionand Background

Unified modeling language is widely accepted, as a designing language which represents designing of object oriented software systems [1]. As system software need different modeling tools and diagrams to model the software system, same is the case with agent based system, it also need modeling tools and techniques to model the agent base system design [2].

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

The agent researchers are very much interested in designing techniques of modeling the agent based software systems. Agents are small software programs, which helps us to solve various problems. Agent can work independently or with other agent's cooperation to help achieve a task.

UML:The unified programming language UML is used to design the object oriented software systems.UML is used to design the graphical representation of an object oriented system in the form of different diagrams. The main components of UML constitute actors, database schemas, activities etc. UML is used to model simple software systems, client server systems, and also distributed systems. The development of UML is going under Object Management Group (OMG).

UML diagrams can be automatically transferred in other diagrams while using the backend language as JAVA which the OMG also supports. Extensibility is the main feature that the UML supports, thus it is easy to extend with the help of the features like profiles and stereotyping.

UML is getting matured day by day, and the OMG is introducing new releases of UML. The latest is UML 2.3 which was released by the OMG in May 2010 [12]. This specification includes the superstructure that define the notation of the diagrams, the core meta-model, OCL for defining rules, and lastly the UML diagram interchange.[12]

There are many tools available for drawing of UML notations like ArgoUML, Umbrello, Magic draw UML etc.

Extensibility of UML:Agent based systems have used UML as a modeling language because it is easy to extend and provides most of the design elements for modeling of a system. The main features of UML that are used for extension are as follows.

Profile (UML):UML models can be extended and customized as per the user domain, with the help of profiling. The main aim of profile is to give the extensibility feature to the UML with which a user can extend the UML as per its specific requirement for the specific domain. Profiles can be applied to different classes, attributes etc.

Stereotype (UML):Stereotype is the UML feature which is used for the extensibility of UML in the specific user domains. This allows the programmer to extend the UML models thus using their predefined features and applying restrictions to fits the object and models with respect to specific domains. A stereotype is represented by "<<>>" and placed over the name of the element.

Agents and Multi-Agents: Agents are software programs that can work with the user defined steps or can also work autonomously to fulfill set of work and instructions. Agents can also work with artificial intelligence and also can learn from the environment. Agents can learn with the external environment with the help of sensors and other techniques, this can lead to working of the agent autonomously and it also helps the agents to take the decisions with regards to the environment. Decision making of the agent helps the agent to work autonomously, and agent can also predefined the things or can predict the behavior of the environment which is coming their way. Agent has also the feature of mobility where the agent also can migrate to other agencies and also work in the disconnected environment. Agent can work with the low bandwidth, and it also prefers the agent oriented software development over the client server base software development.

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

Agent can also learn from the environment with the help of sensors, thus reacting to the environment with the learned information and also predicting the environment's behavior with the data that it has obtained with the help of the sensors [13]. Intelligent agents are those which learn from the environment and perform the operation and take the decisions on behalf of the user needs, this also include some level of automaticity while doing the tasks [14].

Whereas the multi agent system consists of a set of agents there are working in coordination to achieve a user defined goal or a task [5]. Multi agent system also communicates with each other with some standardized communication language like ACL [5].

Section 2, define the UML based agent software development techniques. Section 3 outlines the parameters of survey; Section 4 describes the discussion section regarding the techniques and parameters while Section 5 describes the conclusion and future work.

UML based Agent Software Development Techniques

UML 2.0 and Agents: How to Build Agent-based Systems with new UML Standard

In this paper [6], the authors define how agents can be modeled in the UML. The authors focus on all the diagrams available in the UML. The author picks every diagram one by one starting from the structural diagram then the behavioral diagrams. The authors first explain UML diagram's original modeling then defines modeling for agent based software. The authors use examples to describe the agent based modeling.

Extending UML for Agents

In this paper [1], the authors focus on AUML, i.e., Agent based UML. The authors provide a layered approach to model behavioral protocols for the agent software. The authors first define extension in two UML main components, i.e., Packages and Templates; then the authors takes UML interaction diagrams one by one and provides extensions in it to make it workable for agent software modeling. In the end, the authors also provide extension in the deployment diagram to define the agent software deployment. The authors use examples to explain every extension.

Agent UML Class Diagrams Revisited

In this paper [2], the author focuses on UML class diagram for agent software modeling. The author first defines the existing UML class diagram then provides extension for the agent software. The author highly analysis the agent static model and provides useful compartments in UML class diagram to make it helpful for modeling agent software. In the end, the author also compares the work with the existing work[7] and shows how the paper's work is better than the existing.

A Systematic Approach for Mobile Agent Design Based on UML (Class and Sequence Diagrams)

In this paper [3], the authors use class and sequence diagram to model mobile based agent software. The authors propose a new UML profile which is used for agent modeling. The authors provide a comprehensive Book Search case study to explain their technique. In the end, the authors also evaluate their technique.

Agent UML: Formalism for Specifying Multiagent Software Systems

In this paper [7], the authors focus on both static and behavioral aspects of agent modeling with UML. The authors propose some extension in class diagram according to the requirements of the agent. The authors then relate the extended class diagram with state and sequence diagram for the actions implementation regarding agents. The authors provide a brief overview of the technique with the help of a case study. The authors also propose some extensions regarding different constructs of sequence diagram and state machine. In the end, the authors also evaluate their work.

Towards an extension of UML 2.0 to model mobile agent-based Systems

In the article[14], the author extended UML model and proposed extensions to model mobile agent based systems. According to the author the mobile systems have some important concepts that should also be incorporated in agent based UML models. These concepts include migration, cloning and the locations. Different UML models are used to represents these concepts through stereotyping. The UML model that represents these concepts are: use case diagram, sequence diagram, class diagram, state chart diagram, activity diagram and deployment diagram. Mobile electronic stock exchange is used as a case study to model migration, cloning and locations on the above mentioned UML diagrams.

Towards Development of Agent Class Diagrams as an Integrative Approach for AUML Extension

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Examples of our work

In the article [15], the authors provide extension to model multi agent system semantics by using agent class diagram. The agent class diagram use FIPA based AUML class diagram and provide extensions in class diagram that captures the semantics of agents and multi agents systems. Agent class diagrams abstract syntax was presented and their challenges and future research were also discussed.

A UML based approach for modeling and implementing multi agent system

In the paper [16], the authors present an agent-oriented modeling language known as MAS-ML (Multi Agent System Modeling Language) and proving its mapping implementation in JAVA. The Meta model based extension been proposed that extends class and sequence diagram using stereotypes. The extension atMeta model level generalizes the architecture of multi agent systems and helps to generate JAVA code from MAS-ML models specifically class and sequence diagram, Both the diagrams were specifically choose to represent both the static and behavioral aspects of the systems.

Exploiting UML in the design of Multi Agent Systems

In the paper [17], the authors present a multi agent system on modeling agent through class and collaborating diagrams as protocol and role diagrams. The diagrams were chosen to represent both the static and behavioral aspects of the agent. Ontological architecture of both the models was created and at Meta level stereotypes were applied.

UML for Agent-Oriented Software Development: The Tropas Proposal

In the paper [18], the authors present a multi agent system modeling methodology called Tropas. The Tropas support four phases of software development, early and late requirements, architectural and detailed design using i* framework. The concepts used to model all the four phases are actors and their roles. i* framework model the system using UML stereotype which later on transferred to class diagram, sequence diagram and state diagram.

Analysis Parameters

Type of Software Agent Represented

This parameter focuses on which software agent type is used. The possible values for this parameter are Social, Autonomy, Re-active, Pro-active, and Internal. If the technique focuses on all the diagrams then the value would be All.

Application of Agent

This parameter tells about the type of application for which agent is modeled. The possible values for this parameter are Agent, Mobile-agent, and Multi-agent.

UML Model(s) Used

This parameter provides the information about which UML diagrams are used in technique. The possible values for this parameter are Class, Object, Composite Structure, Component, Deployment, Use case, and Interaction (Interaction Overview, Sequence, Communication, State Machine, and Activity). If the technique focuses on all the diagrams then the value would be All. This parameter may have more than one values assigned.

Agent Application Coverage

This parameter focuses on the coverage of agent application. The possible values for this parameter are Static and Behavioral.

UML Version

This parameter tells about the version of UML considered in the modeling of agent. The possible values for this parameter are the available UML versions, i.e., 1.0, 1.1, 1.2, 2.0, 2.2.

Extension/Profile

This parameter tells about whether the technique provides some extension in the existing UML diagram for agent modeling or proposes new profile for the agent modeling using UML. The possible values for this parameter are Extension and Profile.

Automated

This parameter tells whether the technique is automatable or not. The term automatable means that the paper already provides information about it automation. The possible values for this parameter are Yes and No.

Case Study

This parameter tells whether the paper presents any case study to describe the presented technique or not. The possible values for this parameter are Yes and No.

Software Life Cycle Phase

This parameter tells about which software life cycle phase is addressed which modeling agent using UML. Some of the technique focuses on design phase while some always provides the implementation details. The possible values for this parameter are Inception, Design, Implementation, Deployment, Testing, and Maintenance. The parameter may have more than one value assigned.

Discussion

This paper presents the comparative analysis of the agent based software modeling techniques. In reference 1,3,6,14,15,17,18 the type of software agent representation is not mentioned while in reference 2 type of agent represented is Internal, Proactive, Reactive, in 7 it is proactive and reactive , in 16 it is only proactive. In 6, 1, 7,15,16,18 application of agent is multi-agent, while in 2 it is mobile agent and in 14 both multi-agent and mobile agents. 6,14 techniques defines all UML diagrams, while the other techniques define small set of diagrams like interaction, deployment, class, sequence etc. Most of the techniques like 6, 3, and 7,16,17,18define the agent coverage as both static and behavioral. Most of the techniques are based on UML version 2.0 and are mostly extensions to it based on stereotypes and profiles. All techniques except 14 define some case study. Techniques 2,16 are automated regarding the agent based UML modeling.

Conclusion and Future Work

Agent are software programs, which are designated to do a specific piece of work, similarly multi-agents too are software programs that composed of multiple interacting intelligent agent. Agents have some important characteristics which includes autonomy, local views, decentralization etc. In order to model agents these characteristics need to be modeled precisely and meaningfully both in term of abstract syntax and semantics. UML is a modeling language, which in its current form doesn't able to model agents meaningfully. Though the extension in current UML has beenan ongoing research and quite active these days as shown in Table 1, but still its lacks in completeness and need to be investigated more.

The areas that can be truly revisited includes: agent application coverage, extensions at meta-level using stereotypes and automation.

Ref.No

Type of Software Agent Represented

Application of Agent

UML Model(s) Used

Agent Application Coverage

UML Version

Extension/Profile

Automated

Case Study

Software Life Cycle Phase

[6]

Not Mentioned

Multi-agent

All diagrams

Static & Behavioral

2.0

Extension

No

Yes

Design & Implementation

[1]

Not Mentioned

Multi-agent

Interaction, Deployment

Behavioral

2.0

Extension

No

Yes

Design & Deployment

[2]

Internal, Pro-active, Re-active

Agent

Class

Static

1.5

Extension

Yes

Yes

Design & Implementation

[3]

Not Mentioned

Mobile-agent

Class, Sequence

Static & Behavioral

2.0

Profile

No

Yes

Design

[7]

Pro-active, Re-active

Multi-agent

Class, State Machine, Sequence

Static & Behavioral

1.3

Extension

No

Yes

Design

[14]

Not Mentioned

Multi Agent Mobile

All diagrams

Static

2.0

Extension

No

Yes

Design

[15]

Not Mentioned

Multi-agent

Class diagram

static

Not UML based

Extension in AUML

No

No

Design

[16]

Pro active

Multi-agent

Sequence and class diagram

Static & Behavioral

2.0

Extension through stereotypes

Yes

Yes

Design

[17]

Not Mentioned

Multi-agent

Sequence and class diagram

Static & Behavioral

2.0

Extension through stereotypes

No

Yes

Design

[18]

Not Mentioned

Multi-agent

Sequence, class and state diagram

Static & Behavioral

2.0

Extension through stereotypes through i* framework

No

Yes

Requirement and Design

Table 1: Comparative Study Summary on Modeling agent Based Systems with UML