SEA Side Software Engineering Annotations AAnnotation 6 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 firstname.lastname@example.org
Professor Sara Stoecklin
Director of Software Engineering- Panama City
Florida State University – Computer Science
850-522-2023 Ex 182
Libraries or modules of subroutines
SWE with agents
Agent based software engineering
Multi agent systems
Agent oriented software engineering
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)
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.
OAA - :Open Agent Architecture
Agent is a software process that meets the conventions of the OAA society
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.
Figure 2 : Two users interaction with a speech-based application
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
Click on Sears
Scroll down to maintenance
“ Hello Dr. Stoecklin “
“Which of your products needs maintenance?”
“Is it still in the back yard on the wooden deck?”
“Can we come on Monday morning at 11:00 ”
“ 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.”
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