1 / 35

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.

argyle
Download Presentation

Agent Based Infrastructure for Web Service integration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agent Based Infrastructure for Web Service integration Stanislaw Ambroszkiewiczin 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

  2. Web services: an idea to be realized • Web 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 API (applications) Web services (applications) a magic protocol for automatic service discovery, invocation, and composition

  4. outside world effect effect effect Cyberspace (TCP/IP) e-doc e-doc e-doc agent effect outside world Our approach: agent based service integration How to realize it? • 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.

  5. outside world effect effect effect Cyberspace (TCP/IP) e-doc e-doc e-doc agent effect outside world Our approach: agent based service integration How to realize it? • 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

  6. outside world effect effect effect Cyberspace (TCP/IP) e-doc e-doc e-doc agent effect outside world Our approach: agent based service integration How to realize it? • 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.

  7. outside world effect effect effect Cyberspace (TCP/IP) e-doc e-doc e-doc agent effect outside world Our approach: agent based service integration How to realize it? • 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!

  8. outside world effect effect effect Cyberspace (TCP/IP) e-doc e-doc e-doc agent effect outside world Our approach: agent based service integration How to realize it? • Conclusion: A generic language for describing data processing controlled by agents in networked environment (Cyberspace) is needed! • Let’s design such language!

  9. Language:What do we want to describe? • 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_in • postconditionform_out • functions implemented by operations, e.g., f;parameter a is of type Typ1, the term f( a ) is of type Typ2

  10. Language:What do we want to describe? • 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

  11. Language:What do we want to describe? • task example: • “resource res1is processed by function f and the result is stored in service ser1by the timedate1” • formally: ( is_in , f( res1 ), ser1 ) and ( leq, gmt(), date1 )

  12. Language:What do we want to describe? • 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

  13. Language:What do we want to describe? • Agent isa 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

  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 SOUL: collections of Entish formulas Goals Intentions Commitments Knowledge History control MIND: Procedure for workflow formation and management perception action execution BODY: Action execution and perception

  15. Language: Term and formula construction • Terms are constructed in the standard way • Composite formulas are constructed using only conjunction, disjunction and implication; no quantifiers and no negation!

  16. Language EntishDon'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. Applications: web services Integration protocols: composition with 2PC transactions, etc., our contribution Communication Language: Entish Universal message format and transport: e.g., SOAP Internet (TCP/IP) Web services protocol stack:our proposal

  19. InfoServices Entish publication SecretaryServices API Web services (applications) discovery task delegation invocation BodyServices (agents) Abstract architecture:an example • Entish is a communication language for construction of: • publication, discovery, task delegation, invocation, composition with 2PC transactions, etc., protocols

  20. agent service message 1 message 3 message 2 … … … What is Entish protocol? an idea • Protocol = two finite automata • Automaton • states • transitions between the states

  21. Our idea of service integration: Service invocation protocol Six steps of service invocation: • agentsends to the service: “my intention is φ” φ --> intentions( agent ) • service responds: ”I commit to realize φ if ψis satisfied” ψ --> form_in( commitments( service )) and form_out ( commitments( service )) --> φ • ψis satisfied • operation is performed by the service • φis satisfied • service sends confirmation to the agent

  22. SER-2 SER-0 SER-1 φ2 φ3 φ1 φ0 communication TASK agent API user / programmer Our idea of service integration: Service composition protocol • A TASK is created by a user/ programmer (API) and delegated to an agent. • The TASK becomes the GOALof theagent. • Agent’s GOAL becomes its first intention φ0 (with a timeout!) • Service SER-0 agrees to realize φ0if φ1 is satisfied (a commitment) • φ1becomes the next agent’s intention • Service SER-1 agrees to realize φ1 if φ2 is satisfied • φ2becomes the next agent’s intention • Service SER-2 agrees to realize φ2 if φ3 is satisfied • … and so on

  23. SER-2 SER-0 SER-1 SER-3 φ2 φ3 φ1 φ4 φ0 workflow φN TASK agent API SER-N user / programmer Our idea of service integration: Service composition protocol (cont.) • … and so on • Finally, φNbecomes 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: domino effect • φN --> … --> φ3 --> φ2 --> φ1 --> φ0 = GOAL

  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 delegationThe 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 delegationThe 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 workflowAgent 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 workflowAgent 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 workflowAgent 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 workflowAgent 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 workflowAgent 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 • Details on our web site: • www.ipipan.waw.pl/mas/

More Related