SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new...

28
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 [email protected] stoeckli @cs.fsu.edu 850-522-2091 850-522-2023 Ex 182

Transcript of SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new...

Page 1: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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]

[email protected]

850-522-2023 Ex 182

               

Page 2: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.
Page 3: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

Assembly languages

Subroutines

Libraries or modules of subroutines

Objects

Distributed objects

Object libraries

Distributed agents

Agent libraries

Page 4: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

EQUIVALENT TERMS

SWE with agents

Agent based software engineering

Multi agent systems

Agent oriented software engineering

Page 5: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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)

Page 6: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 7: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

Standards groups for AOP

OAA - :Open Agent Architecture

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

Page 8: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 9: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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

Page 10: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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

Page 11: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

?

Listen

Question

Action

sharedapplicatio

n

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

sharedapplicatio

n

Build

Page 12: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

Reengineering Telephone Registration

Implementation

Page 13: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 14: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 15: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 16: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 17: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 18: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 19: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 20: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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

Page 21: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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

Page 22: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 23: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

•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

Page 24: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

IBM – ebXML, tpaXML

XbML

DARPA Agent Mark Up Language (DAML)

Page 25: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 26: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 27: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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.

Page 28: SEA Side Software Engineering Annotations AAnnotation 6 One hour presentation to inform you of new techniques and practices in software development. Professor.

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