Вы находитесь на странице: 1из 28

SEA Side Software AAnnotation 6 Engineering Annotations

One hour presentation to inform you of new techniques and practices in software development.

Professor Sara Stoecklin


Director of Software Engineering- Panama City Florida State University Computer Science sstoecklin@mail.pc.fsu.edu stoeckli@cs.fsu.edu 850-522-2091 850-522-2023 Ex 182

Assembly languages
Subroutines Libraries or modules of subroutines

Objects
Distributed objects Object libraries Distributed agents Agent libraries

EQUIVALENT TERMS

SWE with agents Agent based software engineering Multi agent systems Agent oriented software engineering

Examples:
Animated paperclip agent in MS Computer Virus destructive agents Artificial players in computer games (quake)

Trading and negotiation agents (Ebay)


Web spiders (search engines like google)

What are agents????


Agents are processes that can execute a procedure - usually general purpose rather than specialized functions.

Agent is authorized to act for or in place of another.

Standards groups for AOP

OAA - :Open Agent Architecture


Agent is a software process that meets the conventions of the OAA society

OAA
Agent satisfies this requirement by registering the services it can provide in an acceptable form by being able to speak the Inter-agent Communication Language (ICL), and by sharing functionality common to all OAA agent such as the ability to install triggers, manage data in certain ways, etc.

A Simple Example

Agent for Spoken Language - travel agency - telephone directory assistance to find someones number to dial someones number

- train schedule information

user speech input

Speech Processing Diagram

HMM

messages

noises
Dynamic
Time Warp

Acoustic Signal Processing


speech signals

Formal Language models Time Analysis BNF

Acoustic Pattern Matching

Acoustic patterns

Language Specifications

Selected Word
Page 8

Figure 1

Build

Action Question Listen

shared applicatio n

shared applicatio n

Figure 2 : Two users interaction with a speech-based application

Reengineering Telephone Registration

Implementation

Shoham proposes AOP system has three components


A logical system for defining the mental state of agents Interpreted program language for programming agents An agentification process, for compiling agent programs into lower level executable systems.

Framework

Distributed agent framework multiple agents contribute a high level expression describing the needs and attributes of the request to a specialized facilitator agent. The facilitator agent makes decisions about which agents are available and capable of handling sub-parts of the request and manage all agent interactions required to handle the complex query.

Framework

Advantage such a distributed agent arch allows the construction of systems that are more flexible and adaptable than distributed object frameworks.
Individual agents are dynamically added to the community extending the functionality that the agent community. The agent system is also able to adapt to the available resources in a way that hardcoded distributed objects cannot.

Framework Agents themselves will compete and cooperate in parallel to translate user requests into a ICL expressions. The facilitator techniques, reason about the agent interactions necessary for handling a given complex ICL expression and allow human users to closely interact with the ever changing community of distributed agents.

OOP vs AOP
Extension of OOP where objects become agents by redefining both their internal state and their communication protocol in intentional terms. Agents have quality of volition that is using AI techniques intelligent agents judge their results and modify their behavior and their own internal structure to improve their perceived fitness.

OOP vs AOP
Normal objects contain arbitrary values in their slots and communicate with messages.

AOP agents contain beliefs, commitments, choices, and the like and communicate with each other via a constrained set of speech type acts such as inform, request, promise, decline the state of the agent is called its mental state.

OOP vs AOP OO focused on defining interfaces for objects coupling where one objects needs to invoke a specific method with specific arguments on the other object thereby coupling the two in code. This same method invocation does occur in agents with one major difference, there effectively just one method with each agent and one argument.

OOP vs AOP All the semantics of the invocation are bundled into that one argument just like in human communication where one language is used to initiate complex cooperative behavior. Agents may communicate using an ACL or ICL where objects communicate with a fixed method of interfaces

OOP vs AOP Objects are abstractions of things like invoices. Agents are abstractions of intelligent beings they are essentially anthropomorphic not intelligent in the human sense only modeling an anthropomorphic architecture with beliefs, desires, etc

Claim of AOP is that is it a level of abstraction above and beyond the current capabilities of OO.

AOP Software Engineering is one of the most recent contributions to the field of software with benefits compared to existing development approaches, in particular the ability to let agents represent entities in a software system.

Computer-Assisted Requisitioning
E-procurement agents enable companies to implement electronic invoice presentment and payment systems (EBPP)
Remember B2B invoices are complex
May have several hundred pages May have many discrepancies

ebXML is being considered for payment systems so the workflow can communicate in B2B e-procurement IBM has a tpaXML trading partner agreement markup language allows trading partners to manage contracts and relationships including payment relationships

IBM ebXML, tpaXML


XbML DARPA Agent Mark Up Language (DAML)

DAML (DARPA Agent Markup Language) is a markup language based on the Extensible Markup Language (XML). DARPA is developing DAML as a technology with intelligence built into the language through the behaviors of agents, programs that can dynamically identify and comprehend sources of information, and interact with other agents in an autonomous fashion.

DAML agents are embedded in code and maintain awareness of their environment, are user-directed, but have the capacity to behave autonomously. They have the capacity to "learn" from experience, so that they improve their behavior over time. DAML uses a number of agents (such as information agents, event monitoring agents, and secure agents) for different purposes. DAML's semantic knowledge and autonomous behavior is expected to make it capable of processing large volumes of data much as a human being would process it.

THE FUTURE Click on Sears Scroll down to maintenance Hello Dr. Stoecklin Which of your products needs maintenance? <<grill>> Is it still in the back yard on the wooden deck? <<yes>> Can we come on Monday morning at 11:00 <<yes>> It is time to renew your maintenance or replace that grill, we have one very similar to the one you have on sale for 129.00 or your renewal maintenance contract will be 89.00 for 4 years. Would you like us to order one for you. <<no>>

ONE YEAR LATER about June contacted again.

Personalization of Customer by name, preferences, content by


profile, cross sells, ATMs, sales behavior, click streams, registration, purchasing patterns.

Website Content Presentation Management agents to provide content


based on personalization of customer

Website Analysis Tools agents to analyze effectiveness during use Portals and Knowledge Management agents for intelligent queries,
profile based searches

Employee Relationship Management agents to help with benefits, off time Customer Relationship Management agents with txonomies and linguistics Contract Management agents to negotiate, partnership management Enterprise Resource Planning agents for monitoring OLAP to plan Supply Chain Management agents for determining best chain Help Desk Support agents to help with billing, computer help, etc. Field Service and Dispatch agents for scheduling field service

Вам также может понравиться