*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

©2003, Karl Aberer, EPFL, School of Computer and Communication Sciences Some Requirements for Semantic Web Serivce from CROSSFLOW and OPELIX Karl Aberer.
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Web Service Composition Prepared by Robert Ma February 5, 2007.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
4. Object-Oriented Programming Procedural programming Structs and objects Object-oriented programming Concepts and terminology Related keywords.
Architecture Representation
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
OASIS Reference Model for Service Oriented Architecture 1.0
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Introduction To System Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 26 (a) – Testing Interactions (Chapter 6)
Software Testing and Quality Assurance
Business Process Orchestration
Unified Modeling (Part I) Overview of UML & Modeling
BPEL (Business Process Execution Language)
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Design Patterns.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
Engineering Law-Governed Approaches How to reuse, extend and compose interaction specifications Gustavo Carvalho, Carlos Lucena
An Introduction to Software Architecture
Governance in Multi-Agent Systems Using Testimonies to Enforce the Behavior of Agents Fernanda Duran, Viviane Torres da Silva.
Recap (önemli noktaları yinelemek) from last week Paradigm Kay’s Description Intro to Objects Messages / Interconnections Information Hiding Classes Inheritance.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
Introducing BPEL Concepts Oracle BPEL Process Manager.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
An Event-Driven High Level Model for the Specification of Laws in Open Multi-Agent Systems Rodrigo Paes
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
Service Composition Orchestration BPEL Cédric Tedeschi ISI – M2R.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Business Process Execution Language (BPEL) Pınar Tekin.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML dynamic Modeling (Behavior Diagram)
An Introduction to Software Architecture
Design Yaodong Bi.
PASSI (Process for Agent Societies Specification and Implementation)
Software Development Process Using UML Recap
Chapter 9 Processes and Workflows
Presentation transcript:

*Law and Coordination Rodrigo Paes

© LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps

© LES/PUC-Rio Integration We need references –In order to do things in software we need references to the component that provide the functionality Objects –Type reference public class MyCompositeType{ private SimplerType part; // reference } Agents –Agent Identifier (agent-identifier :name :resolvers (sequence (agent-identifier :name :addresses (sequence iiop://foo.com/acc))))

© LES/PUC-Rio Agent Integration Integration is done through agents themselves We can integrate agents in order to build more complex functions from simpler ones. Service AService B Agent B Agent A Service C (uses A and B) Agent C interacts

© LES/PUC-Rio Integration … so… ? Ok, we now have the elements together, so what? What can we do with it? How do we use the services provided by the parts? In other words there is a need for coordination mechanisms

© LES/PUC-Rio OO coordination It is basically done through method invocations and through languages constructs try{ Integer result = anObject.methodA(); // Synchronous call If (result.intValue > 0){ // Conditional … } new Thread().start() // Parallel execution }catch(Exception e){ // Fault Tolerance / Exception Handling }

© LES/PUC-Rio Agent coordination As agents are usually implemented in OO languages, it could be achieved using the same support as OO Then, why are there so much noise involving agent coordination?

© LES/PUC-Rio Coordination as First Class Community has been trying to externalize composition and coordination Service AService B Agent B Agent A Service C (uses A and B) Agent C interacts Service AService B Agent B Agent A Service C (uses A and B) Coordinator interacts

© LES/PUC-Rio Pos and Cons Examples –Centralized coordination: tuple spaces … –Decentralized coordination: based on cooperative models Pros –It provides coordination abstractions Sequence, parallel split, multi-choice, cancel activity … –It allows to focus on the coordination in spite of agent programming –It provides a “separation of concern” Cons –It might require learn a new language

© LES/PUC-Rio Practical Example of Coordination BPEL –It defines elements for coordinate web services Invoke, Assign, Terminate, Scope, Catch, Partner –It is exposed as a web-service –The integration and coordination is executed by a BPEL engine –In a word, it provides a way for integrating and coordinating web-services, without needing for writing java (or c++, c# …) code.

© LES/PUC-Rio Giving names What was defined so far? (*Law) –XMLaw – Specification Language –CM-Law Conceptual model –Gov-Law Governor, i.e. an executable engine

© LES/PUC-Rio Recap: Gov-Law It implements a state-based machine Based on an event model Able to execute commands, or services –Actions, constraints It has a local memory to keep contexts –Scene context, both general and instance –Global context, only general –Norms context –There is a need for defining contexts better

© LES/PUC-Rio *Law Does *Law perform any kind of agent integration? –Definitively not with the meaning we stated before, i.e, *Law does not support you in integrating agents to build more complex entities –The reason: Just because *Law was not conceived for this mean. It allows you to specify the expected behavior of the resulting system, but it does not help you in composing the system Would be interesting to allow *Law for performing integration and coordination?

© LES/PUC-Rio *Law and Coordination My first answer is yes … … the same language with different uses Enforcement –Uses XMLaw specification for guarantee correct interaction Coordination –Uses XMLaw specification in a more active way allowing integrate agents to build more complex ones Tests Replication Are the concepts of XMLaw suitable for coordination?

© LES/PUC-Rio CM-Law (Conceptual Model – Law) Scene –Allows to define execution context –BPEL: Scope Action –Allows to perform a user-defined action –BPEL: Invoke Norms –Notions of things the are obligated, prohibited and forbidden. They also captures notions of acquired commitments –BPEL: Not Available (to the best of my knowledge so far)

© LES/PUC-Rio CM-Law Protocol –Well defined execution paths –BPEL: Limited through sequence and flow Clock –Wall clock functionality –BPEL: onAlarm Role –Define the participants –BPEL: partnerLink

© LES/PUC-Rio CM-Law Event Model –It allows to build flexible and dynamic relationships among the elements –BPEL: Not available

© LES/PUC-Rio CM-Law X BPEL CM-Law –Norms –Event Model –Protocol BPEL –Variable manipulation –Exception Handling

© LES/PUC-Rio Further steps Modify the mediator to behave more actively –Include missing abstractions Take a look at workflow patterns 1 1