380 likes | 514 Views
WP3 – Negotiation Framework. Zohra Boudjemil & Claire Fahy. D3.1 – Languages, Models and Agreements Specifications (Task 3.1). Zohra Boudjemil email: zboudjemil@tssg.org. Content. ONE Objectives & Requirements Modelling Requirements Related Work The ONE MetaModelling Approach
E N D
WP3 – Negotiation Framework Zohra Boudjemil & Claire Fahy
D3.1 – Languages, Models and Agreements Specifications(Task 3.1) Zohra Boudjemil email: zboudjemil@tssg.org
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 ONE Technical Review, Brussels
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 auction buyer process strategy Concepts rules SME Distributed Environment Negotiation MetaModel Modelling Constraints Business Requirements WP1 {D1.1,D1.2} ONE Technical Review, Brussels
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) ONE Technical Review, Brussels
Negotiation MetaModel Protocol MM Information MM M2 M1 Negotiation Model Information Model Negotiation Instance M0 Negotiation Process Data Instances instantiated composed Of related to 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. ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
Negotiation MetaModel – Core concepts ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
Information MetaModel - Core Concepts ONE Technical Review, Brussels
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. • NegotiationMessagedefines the communication between the involved parties. ONE Technical Review, Brussels
Protocol MetaModel - Core Concepts ONE Technical Review, Brussels
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 mechanismsof 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. ONE Technical Review, Brussels
Protocol MetaModel - Core Concepts (cont.) ONE Technical Review, Brussels
Protocol MetaModel - Core Concepts (cont.) • NegotiationMessagespecifies 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. ONE Technical Review, Brussels
Protocol MetaModel - Core Concepts (cont.) ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
Protocol MetaModel - Core Concepts (cont.) ONE Technical Review, Brussels
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 ONE Technical Review, Brussels
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” ONE Technical Review, Brussels
Instantiation Example - English Auction • Negotiation Model • 2 protocol behaviours • For owner: OwnerProtoclBehaviour • For participant: ParticipantProtoclBehaviour • 3 protocol rules • AdmissionRule • NegotiatingStartTime • NegotiatingTimeOutRule ONE Technical Review, Brussels
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 ONE Technical Review, Brussels
Transformation Mechanisms • Based on Atlas Transformation Tools • Source MetaModel - Ecore Negotiation MM • Target MetaModel - Ecore JPDL MM • Transformation rules – conform to the transformation MM Transformation Rules Maps from Maps to (Engine) JPDL MetaModel (Target MM) Negotiation MM (Source MM) Instance of Instance of input Neg. Models Eng. Models Neg. Models Eng. Models input output Neg. Models Eng. Models Transformation Tools stored input One Runtime Engine DKB Repository ONE Technical Review, Brussels
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 typesbased 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 protocolstage model (statechart). ONE Technical Review, Brussels
Tasks 3.2, 3.3 & 3.4 Claire Fahy email: cfahy@tssg.org
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. ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
ONE Factory ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
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). ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
ONE Engine/Console ONE Technical Review, Brussels
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. ONE Technical Review, Brussels
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). ONE Technical Review, Brussels
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 ONE Technical Review, Brussels
Distributed Knowledge Base (<<IMAGE>>) ONE Technical Review, Brussels
Task 3.3 Engine/Runtime Components • Future Work • Implementation of P2P dimension to the DKB (JXTA?/DHT?) • …. ONE Technical Review, Brussels