280 likes | 290 Views
Join Professor Sara Stoecklin for a presentation on the latest software development practices and technologies. Explore topics like agent-based software engineering and distributed objects. Learn how agents interact and adapt in dynamic systems.
E N D
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 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 someone’s number • to dial someone’s number • - train schedule information
Speech Processing Diagram user speech input HMM noises Formal Language models messages Acoustic Signal Processing Dynamic Time Warp Time Analysis BNF speech signals Selected Word Acoustic Pattern Matching Language Specifications Acoustic patterns Page 8 Figure 1
? shared application shared application Figure 2 : Two users interaction with a speech-based application Build Action Question Listen
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