40
Agile MCDA Modelling XMCDA meets D 4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206 Algorithmic Decision Theory 1

Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Agile MCDA ModellingXMCDA meets D4

R. Bisdorff & M. Zamfiroiu

Manchester, April 15, 2011Cost Action IC0206 Algorithmic Decision Theory

1

Page 2: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Content

1. The D4 Rubis project

2. Use cases of XMCDA in D4

3. Granularity of the MCDA models

4. UMCDA-ML profiles and stereotypes

5. New horizons for XMCDA development

22

Page 3: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

1. The D4 Rubis project

3

Page 4: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

4

Page 5: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

D4 Rubis project

Rubis applications

Application users

User role

5

Page 6: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

User raymondConnects to

D4

6

Page 7: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

User selectshis application

Starting the D4Selected

application

7

Page 8: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

main steps of the decision aid

process8

Page 9: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

a. Edit the set of potential alternatives

Grid fragment

9

Page 10: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

b. Edit the family of criteria

10

Page 11: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

c. Edit the performances of the actions on the criteria

Filtered performance

11

Page 12: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Declarativedefinition of the tabs

declarative definition of filtering conditions

12

Page 13: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

View the entire performance table

use D4 Pythonscripting

13

Page 14: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

d. Tuning the preference discrimination

declarative definition ofthresholds

14

Page 15: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

15

Page 16: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

e. Computing the bipolar valued outranking digraphe. Computing the bipolar valued outranking digraph

16

Page 17: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

17

Page 18: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

f. Get Rubis best choice recommendation from theRubis Solver web service

18

Page 19: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

2. Use cases of XMCDA in D4

19

Page 20: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

D4

Rubisclass

instances

D4

Rubisclass

instances

XMCDARubis

Problem

jythonjython

a. Interfacing D4 and digraphs class instances

digraphsclass

instances

digraphsclass

instances

20

Page 21: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Example: showing the pairwise comparison table

D4 classdefinition

class operation

The class instance has a pointer to an XMCDA encoded instance of a complete

Rubis PerformanceTableau

21

Page 22: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

D4

class instances

D4

class instances

XMCDARubis

Problem/Solution

RubisWeb

Solver

RubisWeb

Solver

http

Rest

jython

b. Interfacing D4 and the Rubis XMCDA Solver

22

Page 23: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

D4 python xmlrpcexchange

with the Rubis Solver

D4 classdefinition

class operation

23

Page 24: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

24

Page 25: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

UMCDAML perspectives

Learning from the D4 experience

25

Page 26: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Motivation

• D4 ?

• Power-User design tool for MCDA problems

• No deployment cycle : app online from the begining

• Fast : new class in minutes

• Flexible : refactoring with instant impact to data

• Only enrolling you ?

• Technological war ?

26

Page 27: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Motivation

27

DesktopApp (d2)

WinApp (IRIS)

DesktopApp/Sv (Diviz)

WebApp (d3)WebAppFactory (d4)

WinApp (Excel)

U ML

High stakes : raise abstraction

Technology vs methodology

Page 28: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Modeling MCDA problems with UML

..

28

Use Cases

Actor

Multi platform, multi language …

Page 29: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

29Workflow (activity diagram)

Universal visual value

Page 30: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

30

Customized entities (class diagram)

Page 31: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Object’s lifecycle : workflow regulator

31

StateMachine

Can be reflectedin the GUI

Page 32: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

3. Granularity of the MCDA models

32

Page 33: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

UML granularity concepts

• Model

• Static : package*, class*, component*

• Dynamic : usecase, activity*, state*, operation*

• Metamodel solution

• (*) : Composite design pattern

• XMI : XML Model Interachange

33

Page 34: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

© KarmicSoft 2oo6-2oo8

34

Page 35: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

3. UMCDA-ML profiles and stereotypes

35

Page 36: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

UML Profile

• Profile

• provides a generic extension mechanism for customizing UML models for particular domains and platforms.

• define new concepts (meta) called << stereotypes >>more than types, less than metatypes

• model remain compliant with the standard

• finally, the standard can evolve and integrate the stereotype as an official new concept

36

Page 37: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

3. New horizons

for XMCDA ?

37

Page 38: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

XMCDA

• UML-like profiles and stereotypes

• Needs a tool for diagrams and generation

• <<problem>>, <<package>>,

• <<phase>>, <<workflow>>

• Types aggregates : java-like generics

• Using Spring parsing features

• Set<Alternative>, List<Evaluator> …

• Matrix<Alternative, Evaluator, Critera> …38

Page 39: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Vision

39

DesktopApp (d2)

WinApp (IRIS)

DesktopApp/Sv (Diviz)

WebApp (d3)WebAppFactory (d4)

WinApp (Excel)

U ML

Methdological power

Technological freedom

Strong methodological concepts +

Rich exhange mechanisms

(xMCDA + WebServices)=> Technological diversity

becomes an asset

Page 40: Agile MCDA Modelling - lamsade.dauphine.frprojet_cost/ALGORITHMIC... · Agile MCDA Modelling XMCDA meets D4 R. Bisdorff & M. Zamfiroiu Manchester, April 15, 2011 Cost Action IC0206

Q&A

4040