Version 39.1 by Richard Kreissig on 2023/09/14 10:24

Show last authors
1 == Project Overview ==
2 Responsible:
3
4 * {{mention reference="XWiki.uru" style="FULL_NAME" anchor="XWiki-uru-XJiwu"/}}
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
11 The **KLighDning** project aims at providing a flexible infrastructure to browse arbitrary models. It combines the [[KlighD >>doc:KIELER.Lightweight Diagrams (KLighD).WebHome]]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.
12
13 {{info}}
14 Play around with our prototype at [[http:~~/~~/layout.rtsys.informatik.uni-kiel.de:20443>>url:http://layout.rtsys.informatik.uni-kiel.de:20443||shape="rect"]]
15 {{/info}}
16
17 == Details ==
18
19 === Supported Models ===
20
21 KLighDning leverages the transient views approach to synthesize diagrams for (purely textual) models. Our implementation [[KLighD >>doc:KIELER.Lightweight Diagrams (KLighD).WebHome]]employs the notion of //diagram// //syntheses//, which basically are model transformations from an arbitrary source model format to the [[KGraph >>doc:KIELER.Discontinued Projects.Infrastructure for Meta Layout (KIML).KGraph Meta Model.WebHome]]format (structural description), where each graph element can be equipped with [[KRendering >>doc:KIELER.Lightweight Diagrams (KLighD).The KRendering Notation Model.WebHome]]elements for styling. See the corresponding wiki pages for further information.
22
23 As part of the KIELER Project we currently support following diagram sytheses.
24
25 |=(((
26 Diagram Type
27 )))|=(((
28 Short ID
29 )))|=(((
30 Feature ID
31 )))
32 |(((
33 [[KGraph Text Format>>doc:KIELER.KIELER Pragmatics.KGraph Text (KGT).WebHome]]
34 )))|(((
35 {{{kgraph}}}
36 )))|(((
37 {{{de.cau.cs.kieler.kgraph.feature.feature.group}}}
38 )))
39 |(((
40 [[Ptolemy's MoML>>doc:KIELER.Discontinued Projects.Ptolemy Browser.WebHome]]
41 )))|(((
42 {{{ptolemy}}}
43 )))|(((
44 {{{de.cau.cs.kieler.ptview.feature.feature.group}}}
45 )))
46 |(% colspan="1" %)(% colspan="1" %)
47 (((
48 Ecore Class Diagram
49 )))|(% colspan="1" %)(% colspan="1" %)
50 (((
51 {{{klighd.examples}}}
52 )))|(% colspan="1" %)(% colspan="1" %)
53 (((
54 {{{de.cau.cs.kieler.klighd.examples.feature.feature.group}}}
55 )))
56
57 === Transient Static Links ===
58
59 **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.
60
61 {{code language="bash" title="PermaLink"}}
62 http://[SERVER]/[MODEL_PATH]?perma=[EXPANSION]&transform=[VIEWPORT_MATRIX]
63 {{/code}}
64
65 === Collaboration ===
66
67 **Rooms** serve as a basis for collaboratively browsing a model. Users can join a common room in which all browsing activity, i.e., zooming, panning, expanding, is synchronized. One user can explain the model to another, or ask questions about certain details.
68
69
70 = Videos =
71
72 == Basic Functionality ==
73
74
75
76 {{multimedia att--filename="KlighDning_new.mp4"/}}
77
78 == Collaboration ==
79
80
81
82 {{multimedia att--filename="KlighDning_sync.mp4"/}}
83
84 == Examples ==
85
86 === Desktop Webbrowser ===
87
88 [[image:attach:ptolemy.png]]
89
90 === Smartphone ===
91
92 [[image:attach:mobile.png]]
93
94
95 == Quick Start ==
96
97 * Download a release or nightly build of the KLighDning product.
98 * Use the {{code language="none"}}install_kieler_features.sh{{/code}} or {{code language="none"}}install_features.sh{{/code}} script to add the desired diagram syntheses.
99 * Start the server using the {{code language="none"}}start.sh{{/code}} script.
100
101 Following a small exemplary deploy script for KLighDning is shown that downloads the current nightly build, extracts it, installs the {{code language="none"}}kgraph{{/code}} and {{code language="none"}}klighd.examples{{/code}} diagram syntheses, and starts the server.
102
103 {{code linenumbers="true" language="bash" title="Exemplary Deploy Script for KLighDning"}}
104 #!/bin/bash
105 #
106 # Deploy the KLighDning product and install some features
107 #
108
109 # location of the klighdning product
110 HOST="http://rtsys.informatik.uni-kiel.de"
111 SERVER_PATH="/~kieler/files/nightly/klighdning/"
112 PLATFORM="linux.gtk.x86_64"
113 FILE="klighdning_nightly_*-${PLATFORM}.zip"
114
115 # features to be installed into the klighdning instance
116 FEATURES="kgraph,klighd.examples"
117
118 # local models repository
119 MODELS_REPO="/home/layout/models"
120
121
122 echo "##################################"
123 echo "###### Deploying KLighDning ######"
124 echo ""
125 echo "Downloading ... "
126 echo " archive: ${FILE}"
127 echo " host: ${HOST}${SERVER_PATH}"
128
129 wget -r -nd -P tmp -A "$FILE" -I $SERVER_PATH "${HOST}${SERVER_PATH}" 2>/dev/null
130
131 echo "Unzipping ..."
132 cd tmp
133 unzip -q *.zip
134 cd ..
135 mv tmp/klighdning .
136 rm -rf tmp
137
138 echo "Make the scripts executable ..."
139 chmod u+x klighdning/*.sh
140
141 echo "Installing features ..."
142 cd klighdning
143 ./install_kieler_features.sh "$FEATURES"
144
145 echo "Starting KLighDning ..."
146 ./start.sh "$MODELS_REPO"
147
148 cd ..
149
150  
151 {{/code}}
152
153
154 === Example ===