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
35
Embed
Agent Based Infrastructure for Web Service integration
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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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.
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
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
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
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
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
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
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?
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?
11
task example: “resource res1 is processed by function f and
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?
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?
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
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
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.
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.
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
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
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
…
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
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
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
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.
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.
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
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.
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.
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:
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" ) )
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.
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.
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.
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.
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