visualization of traceability models with domain-specific layouting
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
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
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?
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?
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
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
Grid Layout
Spring Layout
Source-‐Traceability-‐Target
Model Triplets
Source-‐Traceability-‐Target
Model Triplets
Radial Layout
Radial Layout
Traceability Model
Radial Layout Source and Target Model (Mixed)
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
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.
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.
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.
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.
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.
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.
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
DEMO
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
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