SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new...
-
Upload
kristin-lynch -
Category
Documents
-
view
214 -
download
1
Transcript of SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new...
SEA Side Software Engineering Annotations•AAnnotation 6
One hour presentation to inform you of new techniques and practices in software
development.
Professor Sara StoecklinDirector of Software Engineering- Panama City
Florida State University – Computer [email protected]
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 someone’s number to dial someone’s number
- train schedule information
Acoustic Pattern Matching
HMM
DynamicTimeWarp
LanguageSpecifications
Selected Word
Speech Processing Diagram
Figure 1 Page 8
Acoustic Signal
Processing
speech input
noisesmessages
Time Analysis
FormalLanguagemodels
BNF
user
speech signals
Acoustic patterns
?
Listen
Question
Action
sharedapplicatio
n
Figure 2 : Two users interaction with a speech-based application
sharedapplicatio
n
Build
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.
•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
Computer-Assisted Requisitioning
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 FUTUREClick 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 searchesEmployee Relationship Management – agents to help with
benefits, off timeCustomer 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