Software Agents are very useful in coming Software development process. This ppt discuss introduction and use of Agents in Software development process.
3. Agent
An agent is an entity that:
acts on behalf of others in an autonomous fashion
performs its actions in some level of proactivity
and reactivity
exhibits some levels of the key attributes of
learning, co-operation, and mobility.
4. Introduction
Mid 50’s first ideas about software agents.
John McCarthy, Oliver G. Selfridge.
Today software agents are still a hot, diverse topic.
distributed artificial intelligence, robotics, artificial
life, distributed object computing, human-computer
interaction, intelligent and adaptive
interfaces, intelligent search and filtering, information
retrieval, etc.
5. Definition
"Let us define an agent as a persistent software entity
dedicated to a specific purpose. 'Persistent' distinguishes
agents from subroutines; agents have their own ideas
about how to accomplish tasks, their own agendas.
'Special purpose' distinguishes them from entire
multifunction applications; agents are typically much
smaller[1].”
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[1].
6. Categorization of
Agents
Autonomous Agents
Biological Agents Computational Agents Robotic Agents
Artificial Life Agents
Software Agents
Task-specific Agents Entertainment Agents Viruses
7. Categorization of
Agents
Mobile agents
Interface agents
Collaborative agents
Information agents
Reactive agents
Hybrid agents
9. Difference
Object Oriented Agent Oriented
Modular Modular
Dependent Autonomy
Distinct Interactive
Integration Required No Integration Required
Centralized Decentralized
Same Always Can Play different role
Static Mobile
13. ACBD
ACBD- Agent Component Based Development.
An agent component is a reusable unit of
composition with contractually specified
interfaces, which can be used by the outside of the
agent component via the interfaces[4].
It is capable of:
Reducing cost.
Improving the reliability of system.
14. Properties of ACBD
Language Neutral.
Can implemented independently.
It is not constrained to a single platform.
It is not bound to any particular application
16. Component Agent
Each Component Agent consist of :
Attributes: They identify Agent.
Behavior Model: Integrity of Agent.
Inference Engine: It operates the agent based on the
behavior model.
20. Problems to solve
The issues of performance and efficiency based on
agent software development have not been properly
settled.
There lacks a kind of combination among the mature
models of development, methods and tools to
describe the agents-based analysis and design
process.
The “dynamic” and “continually scalable” features
in the process of system development have not been
implemented.
21. Conclusion
Agent Concepts Barely Five Years.
Agents Seem to be the Up and Coming Technology of the
Future.
The Possibilities and Capabilities of Agents are Endless
The Mobile Agent Alone Has Not Been Covered in Research
Extensively
Aglets Have a Chance of Being the Building Blocks of
Front Running Technology
Standardization Issues Must be Addressed for Different
Agent Systems to Interact!
22. Future Work
Another Facet of Agents is the Intelligent Agent
Mobile Agents are Used for Intelligent Agents
Researchers are Trying to Implement an Agent With
Artificial Intelligence
Current Developing Applications
IBM is Developing a Memory Agent Application
Used to Detect Cancer
IBM Claims the Agent Learns Based on Previous Input
Uses a Learning Algorithm to Predict the Numbers for
Detection
23. Other IBM Products
Memory agent Knowledge Capture
Learns What People Know
Builds a Knowledge Base Incrementally
Operates While People Do Their Normal Jobs
Memory agent Virtual Consultation
Allows People to Consult the Knowledge of Others
Eliminates Need for Speaking to Them in Person
24. References
1. Agent Technology
Edited by Nicholas R. Jennings and Micheal J.
Wooldridge, Springer, 1998, ISBN 3-540-63591-2
2. Introduction to Agent Technology, Heimo
Laamanen.
3. Levine, David, "Relationship between Agent and
Object Technologies" in Odell, James, ed.,Agent
Technology Green Paper, OMG Agent Work
Group, 1999.
25.
4. An Agent Component-Oriented Software
Process, Youtian Q., Tianzhou C., Xu H., IEEE.
Software Agents as Next Generation Software
Components, Martin L. Griss, Software Technology
Laboratory, Hewlett-Packard Company.
Agents can dynamically discover services.Agents can use the latest web-based technologies, such as Java, XML, and HTTP. These technologies are simple to use, ubiquitous:- existing or being everywhere, especially at the same time, heterogeneous and platform neutral.
Before we try to define what is a Software Agent, let us first try to understand the meaning and characteristics of an agent. We are all, in one sense or another, familiar with the concept of an agent. Probably most of us have dealt with travel agents and we know the role undertaken by them. The main representative role of a travel agent, for example, is that it acts on behalf of others.
Temporal continuity:- agent is continuous running process. It is not one-shot n stop.
1. agents are really just objects++.2. agent-based approach is an extension tohow we think in an OO world.Agents, then, are an evolution rather than arevolution
1. Agency refers to the conceptual and physical location in which agents reside and execute. the heart of the agency is the agent platform2. the component model infrastructure that provides local services for agents and includes proxies to access remote services.3. Agent Management System (AMS) - controls creation, deletion, suspension, resumption, authentication, persistence and migration of agents. Provides “White Pages” to name and locate agents.4. Agent Communication Channel (ACC) - routes messages between local and remote FIPA agents, realizing messages using an agent communication language.5. Directory Facilitator (DF) - provides “Yellow Pages” service for FIPA agents that register agent capabilities so an appropriate task-specific agent to handle the task can be found.
This is end of discussion about agents. Now we will discuss how to use these agents in cbsd.We do speech of act. For ex. “prepare for war” is to “attack”.
1. This does not mean that all agent components are universal written in a single language. It means that they are specially designed and deployed so that agent components written in different languages can work together.2. This is possible because agent components are encapsulated -- each one has its own self-contained small unit of development and testing.3. It is possible to create different settings for a SOAC so that it can be operated on any platforms.4. Although many agent components are created to meet the needs of a particular application, once they have been built and deployed, it is possible to use them for different applications.
Analysis: In the requirement analysis, the customer’s requirements are gathered from the user requirement specifications and the BDI (Belief-Desire-Intention) model is used to construct the agent diagram.2. Design: Relationship diagrams show the relationships among agents, such as inheritance, dependency, visibility and logically and physically structured organization. Interaction diagrams show the interactions among several agents, such as local, partial and global agents. Component diagrams show useful information of packaging the related agent components when coding.
Attributes: They identify the agentBehaviour model The agents are autonomous and independent. It is very important to have trustworthy agents. Therefore, the behavior model will ensure that the only agents would be well-behaved and can continue to operate usefully.3. Inference Engine: It operates the agent based on the behavior model.
User Agent interface: It hides the complexities of the system operations. It allows the user to define his/her one-time queries as well as long term, elatively static needs.Domain Agent: It works on behalf of the user. It is responsible for representing user's requirements. It formulates the component specifications from the user requirements and delegates the authority for the domain agent mediator to find the matched software components.Domain Agent Mediator: It provides communication service for domain agents so that they can be implemented and placed in a heterogeneous anddistributed environment.Agent component: It is a software implementation that can be executed on a physical or logical device. An agent component implements one or more interfaces that are imposed upon it. All components must satisfy certain component contracts. In the architecture, there are universal components and domain components. The universal component is the basic component and the domain component is a professional component so that some special knowledge is usually needed for the domain specialist to develop an application system.Component contract: It ensures that independently developed components obey certain rules so that components can interact in predictable ways.Coordination service: It is supported by the architecture so that the domain specialist could master less software developing skills. Furthermore it provides several coordination services such as the transaction service and persistence service.Component interface: It provides the execution methods for the users.Component repository: It has contained all kinds of components and a catalog mechanism should be provided by it.