visualization of traceability models with domain-specific layouting

21
Budapest University of Technology and Economics Department of Measurements and Informa<on Systems Visualiza<on of Traceability Models with Domainspecific Layou<ng Ábel Hegedüs, Zoltán Ujhelyi, István Ráth and Ákos Horváth {hegedusa,ujhelyiz,rath,ahorvath}@mit.bme.hu

Upload: zoltan-ujhelyi

Post on 21-Jan-2015

209 views

Category:

Technology


5 download

DESCRIPTION

Presented at Graph Based Tools 2010 Traceability models are often used to describe the correspondence between source and target models of model transformations. Although the visual representation of such models are important for transformation development and application, mostly ad-hoc solutions are present in industrial environments. In this paper we present a user interface component for visualizing traceability models inside transformation frameworks. As generic graph visualization methods fail to emphasize the underlying logical structure of our model, we used domain-specific layouts by customizing generic graph layout algorithms with data from the metamodels used during the transformation. This approach was evaluated, among others, with the traceability models generated by a BPEL verification transformation, which serves as our running example.

TRANSCRIPT

Page 1: Visualization of Traceability Models with Domain-specific Layouting

Budapest  University  of  Technology  and  Economics  Department  of  Measurements  and  Informa<on  Systems  

Visualiza<on  of  Traceability  Models  with  Domain-­‐specific  Layou<ng  

Ábel  Hegedüs,  Zoltán  Ujhelyi,  István  Ráth  and  Ákos  Horváth  

{hegedusa,ujhelyiz,rath,ahorvath}@mit.bme.hu  

Page 2: Visualization of Traceability Models with Domain-specific Layouting

Mo<va<on    Verifica<on  transforma<on  for  BPEL  workflows  

o Complex  transforma<on  o Traceability  model  automa<cally  generated  •  Proven  useful  during  transforma<on  debugging  

!"

#

$

!"

%

%

%

&

'

'

'

!()*

+

,-

Receive

TransformCopy

Reply

NoYes

Input

Output

Inputcorrectformat?

Page 3: Visualization of Traceability Models with Domain-specific Layouting

Mo<va<on    Verifica<on  transforma<on  for  BPEL  workflows  

o Complex  transforma<on  o Traceability  model  automa<cally  generated  •  Proven  useful  during  transforma<on  debugging  

!"

#

$

!"

%

%

%

&

'

'

'

!()*

+

,-

Receive

TransformCopy

Reply

NoYes

Input

Output

Inputcorrectformat?

Page 4: Visualization of Traceability Models with Domain-specific Layouting

Visualiza<on  of  Traceability  Models    Goal:  integrated  visualiza<on  of…  

o Traceability  records  and  o A  filtered    version  of  the  source  and  target  model  

  Graph  display  o Model  Elements  as  Nodes  o Traceability  Rela<ons  as  Arcs  

Source  model  element  

Traceability  model  element   Target  

model  element  

Page 5: Visualization of Traceability Models with Domain-specific Layouting

Graph  layout  algorithms    Generic  Layout  Algorithms  

o Considers  only  nodes  and  arcs  o Aesthe<c  criteria  op<miza<on  

  Domain-­‐specific  Layout  Algorithms  o Uses  model-­‐specific  informa<on  

Page 6: Visualization of Traceability Models with Domain-specific Layouting

Grid  Layout  

Page 7: Visualization of Traceability Models with Domain-specific Layouting

Spring  Layout  

Source-­‐Traceability-­‐Target  

Model  Triplets  

Source-­‐Traceability-­‐Target  

Model  Triplets  

Page 8: Visualization of Traceability Models with Domain-specific Layouting

Radial  Layout  

Page 9: Visualization of Traceability Models with Domain-specific Layouting

Radial  Layout  

Traceability  Model  

Page 10: Visualization of Traceability Models with Domain-specific Layouting

Radial  Layout  Source  and  Target  Model  (Mixed)  

Page 11: Visualization of Traceability Models with Domain-specific Layouting

Requirements  1.  Minimize  node  overlapping  2.  Minimize  arc  crossing  3.  Place  corresponding  model  elements  close  4.   Separate  source,  target  and  traceability  models  5.  Maintain  the  mental  map  during  changes  

Page 12: Visualization of Traceability Models with Domain-specific Layouting

  Based  on  grid  layout  o Simple  layout  o Separa<on  of  model  parts  o No  node  overlapping    •  Requirement  1.  ✔  

  Filters  o Based  on  type  rela<ons  o Removing    intramodel  rela<ons  

Layout  for  traceability  visualiza<on  –  I.  

Page 13: Visualization of Traceability Models with Domain-specific Layouting

  Based  on  grid  layout  o Simple  layout  o Separa<on  of  model  parts  o No  node  overlapping    •  Requirement  1.  ✔  

  Filters  o Based  on  type  rela<ons  o Removing    intramodel  rela<ons  

r_s

r_t

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

input:tVariable

V2ID:var2id

inputID:identifier

input:tVariable

V2ID:var2id

input:tVariable

V2ID:var2id

inputID:identifier

sFinished:identifier

inputID:identifier

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

input:tVariable

V2ID:var2id

inputID:identifier

Layout  for  traceability  visualiza<on  –  I.  

Page 14: Visualization of Traceability Models with Domain-specific Layouting

  Ordering  o Placing  corresponding  elements  next  to  each  other  •  Requirement  3.  ✔  

o Separates  source  and  target  model  elements  •  Requirement  4.  (Only  in  case  of  1:1  correspondence)  

o Short  edges  –  Few  edge  crossings  •  Requirement  2.  ✔  

Layout  for  traceability  visualiza<on  –  II.  

Page 15: Visualization of Traceability Models with Domain-specific Layouting

  Ordering  o Placing  corresponding  elements  next  to  each  other  •  Requirement  3.  ✔  

o Separates  source  and  target  model  elements  •  Requirement  4.  (Only  in  case  of  1:1  correspondence)  

o Short  edges  –  Few  edge  crossings  •  Requirement  2.  ✔  

r_s

r_t

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

input:tVariable

V2ID:var2id

inputID:identifier

input:tVariable

V2ID:var2id

input:tVariable

V2ID:var2id

inputID:identifier

sFinished:identifier

inputID:identifier

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

input:tVariable

V2ID:var2id

inputID:identifier

Layout  for  traceability  visualiza<on  –  II.  

Page 16: Visualization of Traceability Models with Domain-specific Layouting

  Ordering  o Placing  corresponding  elements  next  to  each  other  •  Requirement  3.  ✔  

o Separates  source  and  target  model  elements  •  Requirement  4.  (Only  in  case  of  1:1  correspondence)  

o Short  edges  –  Few  edge  crossings  •  Requirement  2.  ✔  

  Further  enhancements  o Handling  traceability  links  with  mul<ple  source  or  target  connec<ons  •  Requirement  4.  ✔  

Layout  for  traceability  visualiza<on  –  II.  

Page 17: Visualization of Traceability Models with Domain-specific Layouting

  Ordering  o Placing  corresponding  elements  next  to  each  other  •  Requirement  3.  ✔  

o Separates  source  and  target  model  elements  •  Requirement  4.  (Only  in  case  of  1:1  correspondence)  

o Short  edges  –  Few  edge  crossings  •  Requirement  2.  ✔  

  Further  enhancements  o Handling  traceability  links  with  mul<ple  source  or  target  connec<ons  •  Requirement  4.  ✔  

r_s

r_t

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

input:tVariable

V2ID:var2id

inputID:identifier

input:tVariable

V2ID:var2id

input:tVariable

V2ID:var2id

inputID:identifier

sFinished:identifier

inputID:identifier

receive:tReceive

R2ID:rec2id

recID:identifier

process:tProcess

S2ID:scope2id

processID: identifier

S2ID:scope2id

sFinished:identifier

input:tVariable

V2ID:var2id

inputID:identifier

Layout  for  traceability  visualiza<on  –  II.  

Page 18: Visualization of Traceability Models with Domain-specific Layouting

Integra<on    Graph  visualiza<on  component  for  VIATRA2  

o User-­‐selected  model  elements  to  visualize  o Reacts  to  model  space  changes  •  Possibly  during  transforma<ons  

  Traceability  visualiza<on  o Domain-­‐specific  layout  algorithm  used  o Aeer  model  changes  relayou<ng  

Page 19: Visualization of Traceability Models with Domain-specific Layouting

DEMO  

Page 20: Visualization of Traceability Models with Domain-specific Layouting

Evalua<on    Poten<al  problems  

o Informa<on  loss  •  Hiding  internal  structure  of  source  and  target  models  

o Large  space  consump<on  •  A  row  is  required  for  every  traceability  record  

Page 21: Visualization of Traceability Models with Domain-specific Layouting

Conclusion  and  Future  Plans    Domain-­‐specific  layout  algorithm  

o Traceability  models  o Fulfills  requirements  o Integrated  into  transforma<on  development  environment  

  Future  plans  o Displaying  structure  of  source/target  models  o Other  domain-­‐specific  visualiza<ons