Download - WP3 – Negotiation Framework
Waterford Institute of TechnologyTelecommunication Software & Systems Group
WP3 – Negotiation Framework
Zohra Boudjemil & Claire Fahy
Waterford Institute of TechnologyTelecommunication Software & Systems Group
D3.1 – Languages, Models and Agreements Specifications
(Task 3.1)
Zohra Boudjemil
email: [email protected]
Zohra BoudjemilONE Technical Review, Brussels 3
Content
ONE Objectives & Requirements Modelling Requirements
Related Work The ONE MetaModelling Approach
Metamodelling ONE Modelling Layers
ONE Negotiation Metamodel Information MetaModel Protocol MetaModel
Instantiation Example – English Auction Negotiation MetaModel towards the ONE Framework
Negotiation Model Editor Transformation
Zohra BoudjemilONE Technical Review, Brussels 4
ONE Objectives & Requirements
Definition of a Negotiation MetaModel allowing the design of different types of business negotiation processes.
Scope : E-business negotiations, Distributed environment, SMEs. Modelling Requirements based on business requirements defined by
WP1.
E-business Negotiations
SMEDistributed Environment
WP1 {D1.1,D1.2}
Negotiation
MetaModelBusiness
Requirements
Concepts
Modelling
Constraints
buyer process
rules
strategy
auction
Zohra BoudjemilONE Technical Review, Brussels 5
Related Work - (Meta)Modelling Negotiation
Different negotiation (meta-)models developed to describe and manage the e-negotiation domain Models
• Auction Models (Rolli and Eberhart, Wurman et al.) Focus on the auction mechanisms (rules, processes)
• Bargain Models (Chiu et al.) Focus on e-contract negotiation in a bargain situation, not open for competitive
negotiations (auction)
• Generic Negotiation Protocol (Benyoucef and Rinderle) No support of the “role” concept
Standards• FIPA Negotiation Interaction Protocols (IP)
Specify the interaction aspect without explicit definition of the negotiation rules.
• OMG Negotiation Facility (Bilateral Neg. Model, Multilateral Neg. Model) Specific models which do not support other types of negotiation Digital Product Modelling Language (DPML) doesn’t support actions, conditions to
allow the specification of negotiation rules Limited roles (initiator, respondent)
Zohra BoudjemilONE Technical Review, Brussels 6
The ONE MetaModelling Approach
Metamodelling approach based on the MDA architecture A metamodel describes the rules and constraints of metatypes and meta-
relationships. The meta-types and meta-relationships define semantics.
Protocol MM Information MM
Negotiation MetaModel
Negotiation Model Information Model
Negotiation Process Data Instances
Negotiation Instance
M0
M1
M2
instantiated
composed Of related to
Zohra BoudjemilONE Technical Review, Brussels 7
Negotiation Metamodel Concepts
The ONE MetaModel (Negotiation MetaModel) describes the constituencies of a negotiation model and their
relationships by capturing their semantics from the e-business negotiation domain.
is specified using UML covering two main aspects
• Information – what?• Protocol – how?
Core concepts Negotiation defines what a negotiation is and how it is
executed. They can be public or private. Actor represents a legal entity (person or SME) taking part in a
negotiation process.
Zohra BoudjemilONE Technical Review, Brussels 8
Negotiation MetaModel – Core concepts
Zohra BoudjemilONE Technical Review, Brussels 9
Information MetaModel
Defines the what? of a negotiation, i.e. information
Core concepts Item represents the subject of the negotiation. It describes
information about products/goods/services which are subject of the negotiation.
Issue represents the matter involved parties dispute about. Criteria, specific type of rules representing link between
information part and protocol part.
Zohra BoudjemilONE Technical Review, Brussels 10
Information MetaModel - Core Concepts
Zohra BoudjemilONE Technical Review, Brussels 11
Protocol MetaModel
Defines the how? of negotiation representing the process. Allows for transparency of the negotiation process. Core concepts
NegotiationProtocol represents the abstraction of the negotiation process.
NegotiationRole describes the types of actors.
ProtocolBehaviour structures the dynamic aspect of the NegotiationProtocol specifying involvement of particular NegotiationRole during the negotiation.
NegotiationRule governs the NegotiationProtocol.
NegotiationMessage defines the communication between the involved parties.
Zohra BoudjemilONE Technical Review, Brussels 12
Protocol MetaModel - Core Concepts
Zohra BoudjemilONE Technical Review, Brussels 13
Protocol MetaModel - Core Concepts (cont.)
Two NegotiationRoles: Owner - driving force: instantiates, configures, runs, terminates negotiation. Participant - involved in negotiation.
ProtocolBehaviour describes the dynamic aspects of NegotiationRole in a stage model (statechart) based on three generic negotiation stages: Prenegotiation - all preceding activities
• Admission - admission mechanisms of participant based on admission rules and negotiation visibility.
• Readiness - explicit status announcing readiness to begin negotiating Negotiating - exchange of negotiation messages between parties following
interaction and negotiation rules. Acceptance - agreement reached by accepted offer between two or more
parties.
Zohra BoudjemilONE Technical Review, Brussels 14
Protocol MetaModel - Core Concepts (cont.)
Zohra BoudjemilONE Technical Review, Brussels 15
Protocol MetaModel - Core Concepts (cont.)
NegotiationMessage specifies interaction part of NegotiationProtocol. RequestForProposal specifies subject and matter (item &
issue), can include negotiation rules. Offer describes business proposal related to item and specifies
values to issue.
Response answers received message depending on its type.
Reason explains response message.
Agreement specifies the mutual arrangement between two or more parties, based on accepted offer.
Notification specifies negotiation information other than the possible negotiation messages types.
Zohra BoudjemilONE Technical Review, Brussels 16
Protocol MetaModel - Core Concepts (cont.)
Zohra BoudjemilONE Technical Review, Brussels 17
Protocol MetaModel - Core Concepts (cont.)
NegotiationRule
Governs the negotiation protocol.
Defined in correlation to information and protocol.
Public to all parties
Based on expressions that can be evaluated and executed.
Two types• Criteria related to information part.• ProtocolRule related to protocol part.
Zohra BoudjemilONE Technical Review, Brussels 18
Protocol MetaModel - Core Concepts (cont.)
Zohra BoudjemilONE Technical Review, Brussels 19
Instantiation Example - English Auction
English Auction Properties vs. modelling concepts One seller => Owner One or more buyers => Participant
Public negotiation => visibility Product/goods to sell => item Highest bid designs the winner => price as an issue
Start price defined => criteria Start time and end time => protocol rules
Zohra BoudjemilONE Technical Review, Brussels 20
Instantiation Example - English Auction Painting Information Model
Item: painting Issue: price
Criteria (Defined in the Negotiation Model) StartPriceCriteria “price must be higher than start price” CurrencyCriteria “currency must be the same as defined currency” AuctionCriteria “price must be higher than price of current accepted offer”
Zohra BoudjemilONE Technical Review, Brussels 21
Instantiation Example - English Auction
Negotiation Model
2 protocol behaviours• For owner: OwnerProtoclBehaviour
• For participant: ParticipantProtoclBehaviour
3 protocol rules• AdmissionRule
• NegotiatingStartTime
• NegotiatingTimeOutRule
Zohra BoudjemilONE Technical Review, Brussels 22
Zohra BoudjemilONE Technical Review, Brussels 23
Towards the ONE Framework
Negotiation Model Editor Based on Ecore Negotiation MetaModel as DSL Automatic Transformation of the UML Negotiation MetaModel
(EA project) into the Ecore Negotiation MetaModel
Runtime processes Based on the Engine Process Definition language (JPDL) Transform the protocol defined in Negotiation Models to JPDL
processes
Zohra BoudjemilONE Technical Review, Brussels 24
Transformation Mechanisms Based on Atlas Transformation Tools
Source MetaModel - Ecore Negotiation MM Target MetaModel - Ecore JPDL MM Transformation rules – conform to the transformation MM
Negotiation MM(Source MM)
(Engine) JPDL MetaModel(Target MM)
TransformationRulesMaps
fromMaps to
Neg. ModelsNeg. Models
Neg. ModelsEng. Models
Eng. ModelsEng. Models
Transformation Tools
input
input output
One Runtime Engine
input
DKB Repository
stored
Instance of Instance of
Zohra BoudjemilONE Technical Review, Brussels 25
Conclusion
Negotiation MetaModel include the two aspects of negotiation in a separate way allowing to model different business context (Information) combined to different negotiation processes (Protocol).
Addressing the ONE Modelling Requirements Design the different negotiation types based on the common negotiation
concepts of the MetaModel
Support distributed negotiations with the Role and ProtocolBehaviour concepts.
Allowing the transparency of the negotiation rules defined as a public information in the negotiation model.
Design of a formal negotiation process based on the negotiation protocol stage model (statechart).
Waterford Institute of TechnologyTelecommunication Software & Systems Group
Tasks 3.2, 3.3 & 3.4
Claire Fahy
email: [email protected]
Claire FahyONE Technical Review, Brussels 27
Task 3.2 Design Tools
Task Objectives: Development of an open source toolkit (or factory) that enables
users to easily design/create their own negotiation. The models created in the Factory (layer M1) are model
instances of the ONE metamodel (layer M2) . Users can “drag and drop” elements from the meta-model (Task
3.1). The models are persisted to the Distributed Knowledge Base
which the factory will be connected to. In order to reuse models, the editor has to load and modify pre-existing models.
The models are instantiated using the “Set-Up” procedure and then run on the ONE Engine.
Claire FahyONE Technical Review, Brussels 28
Task 3.2 Design Tools
Progress: The ONE factory is built as a rich client application based on
the Eclipse framework. To increase re-usability of the models, they are divided into two
types:• Information Model, the business domain concepts (the “nouns”of the
negotiation) – the information is represented as a class diagram.
• Negotiation Model, the flow and execution of the negotiation – the negotiation is represented as a state flow chart.
Claire FahyONE Technical Review, Brussels 29
ONE Factory
Claire FahyONE Technical Review, Brussels 30
Task 3.2 Design Tools
Future Work Actions performed during the state of negotiation will be
represented using a java script language (allowing the business analysis to define the actions).
BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java.
BeanShell executes standard Java statements and expressions but also extends Java into the scripting domain with common scripting language conventions and syntax.
Claire FahyONE Technical Review, Brussels 31
Task 3.3 Engine/Runtime Components
Task Objectives Develop runtime tools to support the execution (engine) and
management (console) of negotiations in the ONE distributed environment.
Creation of a P2P platform for inter-actor negotiation. ONE entities will communicate via a platform independent
communication protocol. Interfacing of the runtime with the recommender strategies
(WP4) and the trust and reputation mechanisms (WP5). Towards the realisation of a completed MDA approach, the
model instance outputs from ONE set-up are transformed automatically to a platform specific implementation (M0).
Claire FahyONE Technical Review, Brussels 32
Task 3.3 Engine/Runtime Components
Task Progress The negotiation state machines defined in the models are run via the JBPM
process language, jPDL and its associated process engine. The Negotiation Console/Manager provides an appropriate GUI for
managing negotiations using the ZK framework. Communication between ONE nodes is realised in the engine via the
MULE Enterprise Service Bus. SOAPOD, a peer-to-peer application server (www.soapod.org), has been
selected to provide a web service container and service registry. The focus of the first version of the Negotiation Engine is on the
implementation of a basic negotiation state machine and node communication(P2P). The relevant action handlers have been implemented.
Initial basic interfaces between recommender and security functionality have been created.
Claire FahyONE Technical Review, Brussels 33
ONE Engine/Console
Claire FahyONE Technical Review, Brussels 34
Task 3.3 Engine/Runtime Components
Future Work Full Transformation from the model instances to JPDL
instances. Development of transformation rules to be used with OpenArchitectureWare and ATL.
Enhancements to messaging mechanisms. Creation of more advanced action handlers to deal with more
complex negotiation scenarios. Further co-operation with SOAPOD in enhancing the P2P
service registry to meet the ONE needs.
Claire FahyONE Technical Review, Brussels 35
Task 3.4 Distributed Knowledge Storage & Sharing
Task Objectives Development of a Distributed Knowledge Base (DKB) that
allow users to store their negotiations, record their progress and share data with other parties.
The P2P nature of the ONE system requires that data should be stored in a distributed fashion.
Data is shared between members of trusted communities and therefore the DKB will work closely together with security and reputation activities (WP5).
Claire FahyONE Technical Review, Brussels 36
Task 3.4 Distributed Knowledge Storage & Sharing
Task Progress Investigation of the requirements for information sharing relevant to ONE
for e.g. models, negotiation logs, reputation data etc; Analysis of specific characteristics relevant to the data (e.g. sharing policy,
size, frequency of update) which would have an impact on the design of the distributed storage mechanism.
A first prototype of the information repository has been created which is compliant with the Java Content Repository API (JCR, JSR-170). Opensource JackRabbit is used to implement the API.
Support for storage and retrieval of the following files:• Negotiation Models (XML)
• Recommender Models (XML)
• User Profiles (XML)
• Trust and Repuation data (XML) DKB available as a webservice
Claire FahyONE Technical Review, Brussels 37
Distributed Knowledge Base (<<IMAGE>>)
Claire FahyONE Technical Review, Brussels 38
Task 3.3 Engine/Runtime Components
Future Work Implementation of P2P dimension to the DKB (JXTA?/DHT?) ….