Agile MCDA ModellingXMCDA meets D4
R. Bisdorff & M. Zamfiroiu
Manchester, April 15, 2011Cost Action IC0206 Algorithmic Decision Theory
1
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
1. The D4 Rubis project
3
4
D4 Rubis project
Rubis applications
Application users
User role
5
User raymondConnects to
D4
6
User selectshis application
Starting the D4Selected
application
7
main steps of the decision aid
process8
a. Edit the set of potential alternatives
Grid fragment
9
b. Edit the family of criteria
10
c. Edit the performances of the actions on the criteria
Filtered performance
11
Declarativedefinition of the tabs
declarative definition of filtering conditions
12
View the entire performance table
use D4 Pythonscripting
13
d. Tuning the preference discrimination
declarative definition ofthresholds
14
15
e. Computing the bipolar valued outranking digraphe. Computing the bipolar valued outranking digraph
16
17
f. Get Rubis best choice recommendation from theRubis Solver web service
18
2. Use cases of XMCDA in D4
19
D4
Rubisclass
instances
D4
Rubisclass
instances
XMCDARubis
Problem
jythonjython
a. Interfacing D4 and digraphs class instances
digraphsclass
instances
digraphsclass
instances
20
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
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
D4 python xmlrpcexchange
with the Rubis Solver
D4 classdefinition
class operation
23
24
UMCDAML perspectives
Learning from the D4 experience
25
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
Motivation
…
27
DesktopApp (d2)
WinApp (IRIS)
DesktopApp/Sv (Diviz)
WebApp (d3)WebAppFactory (d4)
WinApp (Excel)
U ML
High stakes : raise abstraction
Technology vs methodology
Modeling MCDA problems with UML
..
28
Use Cases
Actor
Multi platform, multi language …
…
29Workflow (activity diagram)
Universal visual value
…
30
Customized entities (class diagram)
Object’s lifecycle : workflow regulator
…
31
StateMachine
Can be reflectedin the GUI
3. Granularity of the MCDA models
32
UML granularity concepts
• Model
• Static : package*, class*, component*
• Dynamic : usecase, activity*, state*, operation*
• Metamodel solution
• (*) : Composite design pattern
• XMI : XML Model Interachange
33
© KarmicSoft 2oo6-2oo8
34
…
3. UMCDA-ML profiles and stereotypes
35
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
3. New horizons
for XMCDA ?
37
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
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
Q&A
4040