Show last authors
1 {{panel title="Project Overview" borderStyle="dashed"}}
2 Responsible:
3
4 * {{mention reference="XWiki.uru" style="FULL_NAME" anchor="XWiki-uru-sUnMo"/}}
5
6 Demo Videos:
7
8 * [[Browsing a models repository with KlighDning>>url:http://rtsys.informatik.uni-kiel.de/~~kieler/videos/klighdning/||shape="rect"]]
9 * [[Collaboratively browsing model diagrams>>url:http://rtsys.informatik.uni-kiel.de/~~kieler/videos/klighdning_sync/||shape="rect"]]
10 {{/panel}}
11
12 The **KLighDning** project aims at providing a flexible infrastructure to browse arbitrary models. It combines the [[KlighD >>doc:Lightweight Diagrams (KLighD)]]technology with web technologies, such as websockets and SVG, to present transiently synthesized diagrams of the models within a webbrowser. KLighDnings focus is //browsing// model diagrams for documentation purposes, not //editing// of the models. As part of the documentation idea, basic collaboration facilities are included. Users can join so-called //rooms// in which the browsing process is synchronized for all participants, for instance, panning, zooming, and expanding of compound nodes.
13
14 == Details ==
15
16 === Supported Models ===
17
18 KLighDning leverages the transient views approach to synthesize diagrams for (purely textual) models. Our implementation [[KLighD >>doc:Lightweight Diagrams (KLighD)]]employs the notion of //diagram// //syntheses//, which basically are model transformations from an arbitrary source model format to the [[KGraph >>doc:KGraph Meta Model]]format (structural description), where each graph element can be equipped with [[KRendering >>doc:The KRendering Notation Model]]elements for styling. See the corresponding wiki pages for further information.
19
20 As part of the KIELER Project we currently support following diagram sytheses.
21
22 |=(((
23 Diagram Type
24 )))|=(((
25 Short ID
26 )))|=(((
27 Feature ID
28 )))
29 |(((
30 [[KGraph Text Format>>doc:KGraph Text (KGT)]]
31 )))|(((
32 {{{kgraph}}}
33 )))|(((
34 {{{de.cau.cs.kieler.kgraph.feature.feature.group}}}
35 )))
36 |(((
37 [[Ptolemy's MoML>>doc:Ptolemy Visualization]]
38 )))|(((
39 {{{ptolemy}}}
40 )))|(((
41 {{{de.cau.cs.kieler.ptview.feature.feature.group}}}
42 )))
43 |(% colspan="1" %)(% colspan="1" %)
44 (((
45 Ecore Class Diagram
46 )))|(% colspan="1" %)(% colspan="1" %)
47 (((
48 {{{klighd.examples}}}
49 )))|(% colspan="1" %)(% colspan="1" %)
50 (((
51 {{{de.cau.cs.kieler.klighd.examples.feature.feature.group}}}
52 )))
53
54 === PermaLinks ===
55
56 Permanent links are another facet of the documentation purpose. A user can browse a model to a point where he potentially finds a bug. In order to supplement the bug report a //PermaLink// can be retrieved that holds the current viewport and expansion status of the user. The link can be attached to the report and upon opening the link, the diagram is opened as specified by the link.
57
58 {{code title="PermaLink" language="bash"}}
59 http://[SERVER]/[MODEL_PATH]?perma=[EXPANSION]&transform=[VIEWPORT_MATRIX]
60 {{/code}}
61
62 == Examples ==
63
64 === Desktop Webbrowser ===
65
66 [[image:attach:ptolemy.png]]
67
68 === Smartphone ===
69
70 [[image:attach:mobile.png]]
71
72
73
74 == Quick Start ==
75
76 Download a release or nightly build of the KLighDning product.
77
78 Use the install_kieler_features.sh or install_features.sh script to add the desired diagram syntheses.
79
80
81
82 {{code title="Deploy KLighDning" linenumbers="true" language="bash" collapse="true"}}
83 #! /bin/bash
84 #
85 # Deploy the KLighDning product and install some features
86 #
87
88 # location of the klighdning product
89 HOST="http://rtsys.informatik.uni-kiel.de"
90 SERVER_PATH="/~kieler/files/nightly/klighdning/"
91 PLATFORM="linux.gtk.x86_64"
92 FILE="klighdning_nightly_*-${PLATFORM}.zip"
93
94 # features to be installed into the klighdning instance
95 FEATURES="kgraph,klighd.examples"
96
97 # local models repository
98 MODELS_REPO="/home/layout/models"
99
100
101 echo "##################################"
102 echo "###### Deploying KLighDning ######"
103 echo ""
104 echo "Downloading ... "
105 echo " archive: ${FILE}"
106 echo " host: ${HOST}${SERVER_PATH}"
107
108 wget -r -nd -P tmp -A "$FILE" -I $SERVER_PATH "${HOST}${SERVER_PATH}" 2>/dev/null
109
110 echo "Unzipping ..."
111 cd tmp
112 unzip -q *.zip
113 cd ..
114 mv tmp/klighdning .
115 rm -rf tmp
116
117 echo "Make the scripts executable ..."
118 chmod u+x klighdning/*.sh
119
120 echo "Installing features ..."
121 cd klighdning
122 ./install_kieler_features.sh "$FEATURES"
123
124 echo "Starting KLighDning ..."
125 ./start.sh "$MODELS_REPO"
126
127 cd ..
128
129  
130 {{/code}}
131
132
133
134 === Example ===