genius general environment for negotiation with intelligent multi-purpose usage simulation

17
GENIUS General Environment for Negotiation with Intelligent multi-purpose Usage Simulation

Post on 19-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

GENIUS

General Environment for Negotiation with Intelligent multi-purpose Usage

Simulation

Background

• The original purpose of GENIUS: assist in designing of generic efficient negotiation strategies

• GENIUS is used in education (teach design of generic efficient negotiation strategies)

• Can be used as a testbed for automated negotiating strategies

• Can be used in experiments with human negotiators• Can be used as a training environment (training of

negotiation skills)

Architecture - At Glance

GENIUS Web Application

GENIUSCore

Data

GENIUS Desktop Application

GENIUSCore

Server: wenenContainer: Tomcat 6Address: http://mmi.

tudelft.nl/GeniusWEB

Standalone computer

GENIUS Simulator Web Application

GENIUSCore

Data

experimental subjects

GENIUS Web GUI

GENIUSSimulator Web GUI

researchers

GENIUS SwingGUI

Internet (HTTP)

researcher

Component

Legend:

Application

Repository

Agent

Repository

Negotiation setting

Repository

Domain representation

Preferences representation

Negotiation protocol

One-to-oneOne-To-

ManyMany-to-

Many

Analysis

Agent Skeleton

Logging

Simulation Control

Outcome space analysis

Negotiation danceanalysis

Agent introspectionAgent

parameters

GENIUS - Core

negotiator.protocol

negotiator.loggingnegotiator.analysis

negotiator.issue

negotiator.utility

negotiator.tournament

negotiator.repository

negotiator.Agent

negotiator.agentparams

agents.*

GENIUS Swing GUInegotiator.gui.tab

negotiator.gui.agentrepository negotiator.gui.tournamentvars

negotiator.gui.domainrepository

GENIUS Swing GUI

negotiator.gui.negosession

GENIUS Swing GUI

negotiator.gui.progress

negotiator.gui.chart

GENIUS Swing GUI

negotiator.gui.tree

GENIUS Web GUI

Activities

Bidding interface

Preference elicitiation

Analysis

List of available activities

Preference elicitation

Bidding

Exp

lan

atio

n

Exp

lan

atio

n

Analysis

Logon Page

Register account

GENIUS Core

Initializer

Web page (JSP)Page

Home Page

Web service (Servlet)

Proc.

Legend

Internal Java calls

Internet (AJAX: HTTP calls, XML responses)

AJAX callsNavigation via links

Server-side

Client-side (browser)

Project Management

• Source code is stored on SVN: https://mmi.tudelft.nl/svn/nego

• Trac:https://mmi.tudelft.nl/cgi-bin/negotiation.cgi• Sub-projects (branches):

– GENIUS Core + GENIUS Swing GUI:• NegotiatorGUI – stable version used for ANAC (Dmytro)• GeniusBI – used by Bar-Ilan university (Yinon, )• GeniusS – main development branch (Dmytro, Tim, Colin)• NegotiatorGRID – (Crisitina, Dmytro)

– GENIUS Web• GeniusWeb – Genius Web

– GENIUS Simulator Web• GeniusWebSimulator – (Dmytro, Alper)

Documentation

• Available:– User guide explaining how to use GENIUS Desktop Application

(requires minor revision):• Installation

• Working with domains/profiles

• Explained how to make own agent (uses ZI agent as an example)

• To do:– User guide for GENIUS Web Application– Programmer’s guide:

• Explain GENIUS architecture

• Explain modules in details (classes, relations between classes, interaction between objects, etc.)

– Java Doc

Technologies

• Programming language: Java, version >1.5• Used technologies:

– GENIUS Desktop Application:• SWING – used in GUI• JFreeChart - used in GUI to draw charts

– GENIUS Web Application:• J2EE (Java Enterprise Edition)

– JSP (Java Server Pages) - used to create HTML pages that are shown to a user– Servlets – establish interaction (on the server) between user interface and GENIUS Core– JAXB (Java Architecture for XML Binding) – used to (de)serialize objects (actions, bids) into

(from) XML format.

• JavaScript – used for scripting of user’s GUI (redrawing tables, charts, etc.)• AJAX – used to make async. calls to the server without refreshing browser• Jquery – used to simplify access to AJAX and elements of the user’s GUI• Tomcat >6.0 – a server-side run-time enviroment

GENIUS in Education

• AI Techniques:– See NegotiatorGUI\doc\assignment.pdf– A negotiation session in the beginning– Students design own automated strategies in GENIUS

• Field trips (demos, summer schools, etc.)– Install Genius Web on a laptop (server)– take a wirred router (ask Ruud/Bart) and sufficient

number of cables– configure the router to generate dynamic IP– assign a static IP address to the laptop

Short-term planning

• Add a Web interface for simulations• Extend preferences representation module to

support: – complex utility functions (e.g., dependencies)– hard constraints– (qualitative preferences, e.g., CP-nets)

• Extend analytical toolbox with:– cache for optimal solutions– analysis of one-to-many and many-to-many

negotiations– “re-play” of negotiations from logs

• Missing documentation

Advices

• Split GENIUS Core in a separate project• Manage the GENIUS Core exclusively by

VICI team• Use “extends” instead of changing the

GENIUS Core classes• Project maintenance and development can

be delegated to:– GENIUS Core -> Tim– Other modules -> Wouter, Bart, Ruud

Ideas

• GENIUS Web: – Allow long negotiations (days, weeks)– Introduce mediator– Extend human bidding GUI with an advice from

an agent (Tim?)

• Add new preference elicitation tools• Choose a software license (GPL, Apache,

…)• Make a SourceForge account?

Open questions

• Make a SourceForge account?