35
1 Stanislaw Ambroszkiewicz in cooperation with D. Mikulowski, T. Nowak, L. Rozwadowski, K. Miodek IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie Agent Based Infrastructure for Web Service integration Sopot June 3-6 2002

Agent Based Infrastructure for Web Service integration

  • Upload
    argyle

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

Agent Based Infrastructure for Web Service integration. Stanislaw Ambroszkiewicz in cooperation with D. Mikulowski, T. Nowak, L. Rozwadowski, K. Miodek IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie. Sopot June 3-6 2002. - PowerPoint PPT Presentation

Citation preview

Page 1: Agent Based Infrastructure for Web Service integration

1

Stanislaw Ambroszkiewicz in cooperation with

D. Mikulowski, T. Nowak, L. Rozwadowski, K. Miodek

IPI PAN, Polish Academy of Sciences

and

Institute of Informatics, University of Podlasie

Agent Based Infrastructure for Web

Service integration

Sopot June 3-6 2002

Page 2: Agent Based Infrastructure for Web Service integration

2

Web services: an idea to be realized

Web servicesWeb services are self-contained, self - describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions that can be anything from simple requests to complicated business processes ...

Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service (in an automatic way!).

From service providers’ point of view, if they can setup a web site they can join global community. From a client's point of view, if you can click, you can access services.

Page 3: Agent Based Infrastructure for Web Service integration

3

Web service integration: the

background

Internet (TCP/IP) -->> simple and ubiquitous computer networking

WWW (HTML /HTTP)-->> simple and ubiquitous access to data

Web services (a magic protocol)-->> simple and ubiquitous access to applications

APIAPI(applications)(applications)

Web servicesWeb services(applications)(applications)for automatic service

discovery, invocation, and composition

a magic protocol

Page 4: Agent Based Infrastructure for Web Service integration

4

Web Services are applications located at the border between Cyberspace and the real (outside) world. They process data (e-documents) inside Cyberspace, and effect the outside world.

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

Page 5: Agent Based Infrastructure for Web Service integration

5

Tasks are generated by users’ / programmers API. They describe what is to be done in the outside world A task must be translated into e-doc processing in

the Cyberspace

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

Page 6: Agent Based Infrastructure for Web Service integration

6

Agent is a process dedicated to a particular task realization. The task could be realized by a composition of some of the available services.

Agent determines what initial e-docs must be provided by the API.

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

Page 7: Agent Based Infrastructure for Web Service integration

7

Agent coordinates data processing (e-documents flow) needed to realize the task. Nothing more!. Capabilities to perform actions, process data, and effect the outside world are in services!

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

Page 8: Agent Based Infrastructure for Web Service integration

8

Conclusion: A generic language for describing data processing controlled by agents in networked environment (Cyberspace) is needed!

Let’s design such language!

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

Page 9: Agent Based Infrastructure for Web Service integration

9

resources - data (e-documents) collected in types, e.g., Typ1, Typ2, ...

services - applications where the resources are stored and processed: type of operation performed by the service:

precondition form_inpostcondition form_out

functions implemented by operations, e.g., f; parameter a is of type Typ1, the term f( a ) is of type Typ2

Language: What do we want to describe?

Page 10: Agent Based Infrastructure for Web Service integration

10

tasks specify what is to be processed, how and when, and where the result is to be stored: when - timeout: ( leq, gmt(), date ), i.e.,

the current GMT time is less or equal to date

where - relation: (is_in , res, ser ) , i.e, a resource res is in service ser

Language: What do we want to describe?

Page 11: Agent Based Infrastructure for Web Service integration

11

task example: “resource res1 is processed by function f and

the result is stored in service ser1 by the time

date1”

formally:

( is_in , f( res1 ), ser1 ) and ( leq, gmt(), date1 )

Language: What do we want to describe?

Page 12: Agent Based Infrastructure for Web Service integration

12

Service attributes:

operation_type( service ) is a pair of atomic formulas:

• form_in and form_out

commitments( service ) is a pair of atomic formulas :

• form_in and form_out

Language: What do we want to describe?

Page 13: Agent Based Infrastructure for Web Service integration

13

Agent is a process dedicated to a single task

realization

Agent attributes: intentions( agent ) is an atomic formula knows( agent ) is an atomic formula goals( agent ) is an atomic formula commitments( agent ) is a pair of atomic

formulas: • form_in and form_out

Language: What do we want to describe?

Page 14: Agent Based Infrastructure for Web Service integration

14

Agent architecture: the idea of universal format for agent state

Consequences of our language: new (?) agent architecture, agent state(Soul) as a universal data format for

storing essential data of agent process

MIND:MIND: Procedure for workflow formation and management

BODY:BODY: Action execution and perception

Goals

History

Intentions

KnowledgeCommitments

SOUL:SOUL: collections of collections of Entish formulasEntish formulas

perceptionaction

execution

control

Page 15: Agent Based Infrastructure for Web Service integration

15

Terms are constructed in the standard way

Composite formulas are constructed using only conjunction, disjunction and implication; no quantifiers and no negation!

Language: Term and formula construction

Page 16: Agent Based Infrastructure for Web Service integration

16

Language Entish Don't ask what it means, but rather how it is used. - L. Wittgenstein

Entish is a simple communication language for protocol construction: e.g., service invocation, composition supporting 2PC

transactions

Describes only static relations between agents, services, and resources: no actions, fully declarative language

0.5 order logic language: no quantifiers, no negation

Ability to express agent / service mental attributes: intentions, goals, commitments, and knowledge as atomic

formulas.

Page 17: Agent Based Infrastructure for Web Service integration

17

Language Entish (cont.) Don't ask what it means, but rather how it is used. - L. Wittgenstein

The idea of webizing language (TBL) is applied: language elements have unique names URI. Entish can be used and developed in a distributed way:

any user / programmer can introduce new definitions, and new primitive concepts to the language.

Meaning: standard Entish has its own formal semantics formal meaning (ontology) of new primitive concepts is

not obligatory; it may be provided by the one who introduces them, e.g., ebXML, RosettaNet.

Page 18: Agent Based Infrastructure for Web Service integration

18

Web services protocol stack:our proposal

Communication Language: Entish

Integration protocols: composition with 2PC transactions, etc.,

Universal message format and transport: e.g., SOAP

Internet (TCP/IP)

Applications: web services

our contribution

Page 19: Agent Based Infrastructure for Web Service integration

19

Abstract architecture: an example

Entish is a communication language for construction of: publication, discovery, task delegation, invocation,

composition with 2PC transactions, etc., protocols

SecretaryServicesSecretaryServices APIAPI

Web servicesWeb services(applications)(applications)

InfoServicesInfoServices

BodyServicesBodyServices(agents)(agents)

Entish publication

discovery

invocationtask delegation

Page 20: Agent Based Infrastructure for Web Service integration

20

Protocol = two finite automata Automaton

states transitions between the states

What is Entish protocol? an idea

agent service

message 1

message 2

… …

message 3

Page 21: Agent Based Infrastructure for Web Service integration

21

Six steps of service invocation:1. agent sends to the service: “my intention

is φ”φ --> intentions( agent )

2. service responds: ”I commit to realize φ if ψ is satisfied”ψ --> form_in( commitments( service )) andform_out ( commitments( service )) -->

φ3. ψ is satisfied 4. operation is performed by the service5. φ is satisfied6. service sends confirmation to the agent

Our idea of service integration: Service invocation protocol

Page 22: Agent Based Infrastructure for Web Service integration

22

A TASK is created by a user/ programmer (API) and delegated to an agent.

The TASK becomes the GOAL of the agent. Agent’s GOAL becomes its first intention φ0 (with a timeout!) Service SER-0 agrees to realize φ0 if φ1 is satisfied (a commitment) φ1 becomes the next agent’s intention Service SER-1 agrees to realize φ1 if φ2 is satisfied φ2 becomes the next agent’s intention Service SER-2 agrees to realize φ2 if φ3 is satisfied … and so on

Our idea of service integration: Service composition protocol

agent

φ2

APIuser / programmer

φ1 φ3

SER-0SER-1

SER-2

TASK

communicationφ0

Page 23: Agent Based Infrastructure for Web Service integration

23

… and so on Finally, φN becomes the next agent’s intention. Agent is able to satisfy the formula φN Workflow (collection of commitments) for realizing

agent’s goal is constructed! Any formula includes a timeout The timeouts synchronize the workflow execution Workflow execution:Workflow execution: domino effect

φN --> … --> φ3 --> φ2 --> φ1 --> φ0 = GOAL

Our idea of service integration: Service composition protocol (cont.)

agent

φ2SER-3

APIuser / programmer

φ1φ4

φ3

φN

SER-N

SER-0SER-1

SER-2

TASK workflow

φ0

Page 24: Agent Based Infrastructure for Web Service integration

24

Example in semi-formal language idea to be formalized

Client task: purchase air line ticket for a flight from Warsaw to Geneva.

Departure: June 22, 2002.Timeout for task realizing: June 1,

2002. The client is associated with a user

interface called GUI-01.

Page 25: Agent Based Infrastructure for Web Service integration

25

A travel agent office:

The service called "FirstClass”. A travel agent office can

realize the task. Type of operation performed by FirstClass

consists of:

precondition (called also formInOperationType) necessary for invoking the service: ?order is in the input of FirstClass. Elements of type Order contain data of the following types: Person, CreditCard, AirLine, Destination, Departure, Price.

Page 26: Agent Based Infrastructure for Web Service integration

26

A travel agent office:

Type of operation performed by FirstClass consists of:

postcondition (formOutOperationType) describing the result of operation performed by the service: ?invoice = fun(?order) and

?invoice is sent to ?GUI

Page 27: Agent Based Infrastructure for Web Service integration

27

Task delegation The client task is formulated and delegated to the agent.

task01 = is_delivered_to( ?invoice )="GUI-01" and

destination( ?invoice )="Geneva" and departure( ?invoice )="June 22, 2002" and timeout("June 1, 2002")

The meaning is that an invoice is delivered to GUI-01 by

June 1, 2002.

Page 28: Agent Based Infrastructure for Web Service integration

28

Task delegation The client task is formulated and delegated to the agent.

The task01 is delegated to the process called agent01. Agent01 is responsible for the task realization. The formula: task01 implies intentions ( agent01 ) is

sent to an serviceRegistry. The meaning of the formula is that satisfaction of

task01 is an

intention of agent01.

Page 29: Agent Based Infrastructure for Web Service integration

29

Creating of a workflow Agent is looking for a service that can realize its task.

Suppose that a serviceRegistry replies that the service FirstClass can realize task01.

Then, the same formula task01 implies intentions ( agent01 )

is sent to the FirstClass.

Suppose that the service First Class commits to realize the task01,

however under the following condition:

Page 30: Agent Based Infrastructure for Web Service integration

30

Creating of a workflow Agent is looking for a service that can realize its task.

pre = is_delivered_to(?order)="FirstClass" and timeout("June 1, 2002") and ( ( price(?order)="300euro" and airline(?order)="Swissair" and destination(?order)="Geneva" and departure(?order)="June 22,

2002" ) or ( price(?order)="350euro" and airline(?order)="Lufthansa" and destination(?order)="Geneva" and departure(?order)="June 22,

2002" ) or ( price(?order)="280euro" and airline(?order)="LOT" and destination(?order)="Geneva" and departure(?order)="June 22,

2002" ) )

Page 31: Agent Based Infrastructure for Web Service integration

31

Creating of a workflow Agent is looking for a service that can realize its task.

The meaning of precondition is that ?order is delivered to FirstClass by June 1, 2002, and attributes of the ?order can be chosen from the ones listed in this formula.

Actually, this attribute listing represents the offers.

Page 32: Agent Based Infrastructure for Web Service integration

32

Creating of a workflow Agent is looking for a service that can realize its task.

The service replies to agent01 with the info about the commitment, formally:

( formOutCommitment(FirstClass) implies task01 ) and (pre implies formInCommitment(FirstClass)

The meaning is that FirstClass commits to realize the task01, however under the condition that precondition is realized first.

The formula precondition becomes the next intention of

agent01.

Page 33: Agent Based Infrastructure for Web Service integration

33

Creating of a workflow Agent is looking for a service that can realize its task.

Only GUI-01 can realize this intention. Once GUI-01 commits to realize this intention, a workflow for

realizing. Task01 is already constructed.

Page 34: Agent Based Infrastructure for Web Service integration

34

Executing of a workflow

The workflow is executed if GUI-01 sends an appropriate order to FirstClass and the FirstClass sends back an invoice.

In order to finish the transaction, the final confirmation must be sent

to FirstClass. All this is performed in the Cyberspace and consists in

sending and processing data (e-docs). Once the final confirmation is received by FirstClass, the

effect in the real world take place, i.e., an appropriate ticket

is printed and delivered to the client.

Page 35: Agent Based Infrastructure for Web Service integration

35

Conclusion: what has been done

Entish is a simple agent communication language Entish spec. is completed and published in Springer LNAI

2203 ongoing XML translation of Entish syntax

Prototype implementation: First versions of the integration protocols are already

specified and being tested

Ongoing implementation of XML based Entish on SOAP

Details on our web site: www.ipipan.waw.pl/mas/