Made by :
Priyanka Dhawan
35/MBA/09
The term "agent" describes a software abstraction, an
idea, or a concept, similar to OOP terms such as
methods, functions, and objects.
The concept of an agent provides a convenient and
powerful way to describe a complex software entity that
is capable of acting with a certain degree of autonomy
in order to accomplish tasks on behalf of its user.
Characteristics of Agent are as follows:
•Persistence (code is not executed on demand but runs
continuously and decides for itself when it should perform
some activity)
•Autonomy (agents have capabilities of task selection,
prioritization, goal-directed behaviour, decision-making
without human intervention)
•Social ability (agents are able to engage other components
through some sort of communication and coordination, they
may collaborate on a task)
•Reactivity (agents perceive the context in which they
operate and react to it appropriately).
Stationary Agent
•A stationary agent can be seen as a piece of autonomous (or semi-
autonomous) software that permanently resides on a particular host.
• Such an agent performs tasks on its host machine such as accepting mobile
agents, allocating resources, performing specific computing tasks, enforcing
security policies and so forth.
Mobile Agent
•A mobile agent is a software agent that has the ability to transport itself
from one host to another in a network.
•The ability to travel allows a mobile agent to move itself to a host that
contains an object with which the agent wants to interact, and then to take
advantage of the computing resources of the object’s host in order to interact
with that object.
Messaging agent: an agent responsible for transporting messages between
different agent teams. A messaging agent has strong collaborative
characteristics and is by nature a mobile agent since the different agent
teams may function in a distributed environment.
Task agent: an agent that supports a specific project task. This agent
collaborates with other objective and facilitator functions to support a
specific task. Such an agent is commonly invoked by a PA agent to allow a
stakeholder to work on a specific task, and is continuously monitored by a
monitoring agent.
Monitoring agent: an agent responsible for monitoring tasks. A
monitoring agent is mobile, with intelligence, flexibility and strong
collaborative properties.
Team manager agent: an agent that is responsible for managing a team
of agents, ensuring coordination between the sub-tasks of the different
members of a team to accomplish the objective of the agent team.
A multi-agent system (MAS) is a system composed of multiple
interacting intelligent agents. Multi-agent systems can be used to
solve problems which are difficult or impossible for an individual
agent or monolithic system to solve.
The agents in a multi-agent system have several important
characteristics:
Autonomy: the agents are at least partially autonomous.
Local views: no agent has a full global view of the system, or the
system is too complex for an agent to make practical use of such
knowledge.
Decentralization: there is no designated controlling agent (or the
system is effectively reduced to a monolithic system).
Advantages
Agents overcome network latency by executing locally thereby reducing
network load as they allow distribution and communication over a
geographic area irrespective of its location.
They can incorporate large network systems and mobile [Link] can
be embedded into mobile agents which can traverse the network and work
asynchronously and autonomously without relying on continued operation.
Agents support the distributed retrieval and dissemination information and
documents.
Teams of agents can coordinate actions towards a common goal in a
distributed environment.
Agents are used for project planning and process management in a distributed
environment.
They are used to control and monitor activity execution at various sites in an open
source platform supporting distributed software engineering processes.
Agents are mainly utilised for the synchronisation of process instances executed
on different sites, the dynamic reconfiguration of software processes, process data
collection, monitoring of the processes, as well as artefact retrieval.
Agent technology has been more commonly applied to areas such as network and
system management decision and logic support data collection in distributed and
heterogenous environments, searching and filtering, negotiating, and monitoring.
Managing IT projects does not only entail classic management functions,
but it is more often perceived as a kind of art that most of all requires the
broad experience of managers and their abilities to optimise technologies
applied during the realisation of such projects.
It’s spoken that almost 70% of IT projects are unsuccessful due to
exceeding one of the basic limitations (the schedule, budget or scope of
the project).
The problem of choosing methods to manage IT projects is becoming a
more common managing ‘dilemma’.
It appears that the improper choice of methods very often causes the
failure of the project (by not fulfilling its conditions – the budget, scope or
schedule).
It must be deemed that support in decision-making regarding the
methods and devices applied in the realisation of the project is a basic
planning task of the project manager.
It is thus particularly worth focusing on the planning function, because
it is exactly within this function that decisions regarding the further
realisation of the project are made.
It seems appropriate to Indicate key parameters which influence the
decision of the project manager regarding the choice of a project
management method.
It is also worth adding that there are numerous formal methods of project
management (about 10 main methods, i.e. RUP, PRINCE, SCRUM, XP).
Apart from these, we can distinguish many methods individually created by
software producers for their own needs (as in SAP).
The concept of an agent system indicates a project management
method for managing I.T projects.
Globalisation and advances in computing technologies has changed
the software project management environment.
Currently software projects are developed and deployed in
distributed, pervasive and collaborative environments.
Agents are used to support the development of SPM systems in which
data, control, expertise, or resources are distributed.
Experiences gained during the realisation of many projects
enable the indication of three basic key variables for decision-
making regarding the choice of an IT project management
method. These variables include:
a) Client maturity
b) Organisation maturity
c) Project entropy
Client maturity means the level
of client preparation to
participate in a project.
Increasingly, IT project
management methods deal with
the client’s participation and their
influence on the changeability of
the project.
The necessity to modify the
itineraries of the conducted
projects is usually caused by
client interference.
Depending on the level of familiarity with a project management
field, we can distinguish 4 instances of client maturity:
•ADJUSTED AND PROPER – a situation when the client is familiar with
the project management field, understands its processes and is open for
cooperation. Project managers seek such client representatives.
•ADJUSTED AND IMPROPER - a situation when the client is open for
cooperation but is not familiar with the project field. It is often the case
that the client matures as the project develops.
•UNADJUSTED AND PROPER – a situation when the client is familiar
with the project field but is difficult in cooperation. This situation often
leads to endangering project finalisation.
•UNADJUSTED AND IMPROPER – a situation when the client is not
familiar with the project management field, does not understand the
conditions of the project and is barely engaged in it. This is the most
difficult scenario for a manager.
Organisation maturity relates to the
immanent features of the team
conducting the given project. It is
said that modern IT organisations
gain certain levels of maturity.
Depending on the maturity level, a
proper project management method
should be adjusted.
Soft methods requiring the self
organisation of work are much more
recommended for more experienced
teams (at ahigher maturity level) than
for young inexperienced teams.
An exemplary gradation of this parameter may be described as follows (as
in CMMI):
• LEVEL 1 – FUNCTIONING (processes engage the resources necessary to
create the final result).
• LEVEL 2 – MANAGING (processes of such an organisation are planned
and executed according to a given policy, the realisation of the project is
evaluated according to its coherency with the plan).
• LEVEL 3 – DEFINED (an organisation is able to obtain information on
indicators relating to the final result).
• LEVEL 4 – QUANTITATIVELY MEASURED (processes are controlled
using statistical and quantitative techniques, the quality of products and
services and process performance are measurable and controlled for all
projects).
• LEVEL 5 – OPTIMISING (the organisation focuses on continuous
improvement of process performance, all processes are controlled).
Project entropy is the measurement of the
disorganisation of information and therefore
measures the uncertainty of the realisation of
developing and managing processes in the project.
It is often the case that before commencing the
realisation of the project, a set of working,
organisational sessions are conducted directing
work and indicating the scope of activities.
Unfortunately, it is also common that at the
beginning, the final shape of the planned solution
is not known.
Regarding this uncertainty connected with the lack of knowledge
and lack of precise expectations or inability to obtain the possible
full scope of expectations from the client, the project should be
divided into:
• LOW ENTROPY PROJECTS – small projects with their aims and
basic assumptions stated very clearly.
• MEDIUM ENTROPY PROJECTS – projects where the basic
assumptions need to be verified a few times.
• HIGH ENTROPY PROJECTS - uncertainty regarding the level of
changeability in the project dominates; expectations towards the
project are not clearly stated.
For the needs of implementing the management decisions of the
support system, hierarchy dependencies between the agents of the
system were adopted:
3 main categories of agents were defined:
• Intermediary agent(s) – responsible for communication with the user,
• Searching agent(s) – responsible for searching the system resources
(including communication with the expert system),
• Managing agent – responsible for supervising other agents.
There is possibility of using some others agents like ontology agent (to
communicate with ontology that is one of system component) or
evaluating agents. The scope of their activity is equivalent to separate
functionalities of the system (such as obtaining information, processing,
sending results, etc.).
Depending on the of input parameters (relating to project complexity,
organisation maturity and client maturity) the evaluation process is
activated by the agent system.
As a result of evaluation, the person inquiring (the user) receives an
indication of which IT project realisation method should be applied for
the needs of creating a corporate architecture.
At the first stage of system activity, the intermediary agent obtains
information entered by the user in the inquiry field. Such information is
transferred to the managing agent.
Based on such information, the managing agent makes a decision about
using the resources possessed by the system. Such a flow of activities
results from the adopted organisation of the system whereby agents are
gathered according to their functions and hierarchy.
Based on the knowledge base, the managing agent analyses the
received inquiry.
In the event of a search, the managing agent activates the searching
agent and forwards the order to search the knowledge resources
available in the system (the fact base).
In the event of an inquiry requiring calculations, the managing agent
activates the particular calculating module (the expert system, neuron
net) and orders the searching agent to download the results.
After that, the results are forwarded to the managing agent. Results
obtained through calculations are submitted to the client via the
intermediary agent.
Agents are used to support the development of SPM systems in which data,
control, expertise, or resources are distributed.
Software agent technology provides a natural metaphor for support in a
distributed team environment, where software agents can support the project
manager and team members to monitor and coordinate tasks, apply quality control
measures, validation and verification, as well as change control.
The use of software agents is regarded as a potential tool to improve the
management of related SPM processes.
Agents support the distributed retrieval and dissemination information and
documents.
Agent technology has the advantage of sophisticated patterns of interaction,
namely cooperation, coordination and negotiation.