# Online Model Browsing (KLighDning)

Last modified by Richard Kreissig on 2023/09/14 10:30
Export
Office Formats
Export as PDF Export as ODT Export as RTF
Other Formats

Select the pages to export:

select all/ none

Legend:
  Created Page
  Modified Extension Page
  Clean Extension Page

Export as HTML

## Project Overview

Responsible:

- @uru

Demo Videos:

- Browsing a models repository with KlighDning
- Collaboratively browsing model diagrams

The KLighDning project aims at providing a flexible infrastructure to browse arbitrary models. It combines the 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.

Play around with our prototype at http://layout.rtsys.informatik.uni-kiel.de:20443

## Details

### Supported Models

KLighDning leverages the transient views approach to synthesize diagrams for (purely textual) models. Our implementation KLighD employs the notion of diagram syntheses, which basically are model transformations from an arbitrary source model format to the KGraph format (structural description), where each graph element can be equipped with KRendering elements for styling. See the corresponding wiki pages for further information.

As part of the KIELER Project we currently support following diagram sytheses.

Diagram Type | Short ID | Feature ID
--- | --- | ---
KGraph Text Format |
    kgraph
    de.cau.cs.kieler.kgraph.feature.feature.group
Ptolemy's MoML |
    ptolemy
    de.cau.cs.kieler.ptview.feature.feature.group
Ecore Class Diagram |
    klighd.examples
    de.cau.cs.kieler.klighd.examples.feature.feature.group

### Transient Static Links

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.

PermaLink
http://[SERVER]/[MODEL_PATH]?perma=[EXPANSION]&transform=[VIEWPORT_MATRIX]

### Collaboration

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.

# Videos

## Basic Functionality

KlighDning_new.mp4

## Collaboration

KlighDning_sync.mp4

## Examples

### Desktop Webbrowser

### Smartphone

## Quick Start

- Download a release or nightly build of the KLighDning product.
- Use the install_kieler_features.sh or install_features.sh script to add the desired diagram syntheses.
- Start the server using the start.sh script.

Following a small exemplary deploy script for KLighDning is shown that downloads the current nightly build, extracts it, installs the kgraph and klighd.examples diagram syntheses, and starts the server.

Exemplary Deploy Script for KLighDning
#!/bin/bash
#
# Deploy the KLighDning product and install some features
#
# location of the klighdning product
HOST="http://rtsys.informatik.uni-kiel.de"
SERVER_PATH="/~kieler/files/nightly/klighdning/"
PLATFORM="linux.gtk.x86_64"
FILE="klighdning_nightly_*-${PLATFORM}.zip"
# features to be installed into the klighdning instance
FEATURES="kgraph,klighd.examples"
# local models repository
MODELS_REPO="/home/layout/models"
echo "##################################"
echo "###### Deploying KLighDning ######"
echo ""
echo "Downloading ... "
echo " archive: ${FILE}"
echo " host: ${HOST}${SERVER_PATH}"
wget -r -nd -P tmp -A "$FILE" -I $SERVER_PATH "${HOST}${SERVER_PATH}" 2>/dev/null
echo "Unzipping ..."
cd tmp
unzip -q *.zip
cd ..
mv tmp/klighdning .
rm -rf tmp
echo "Make the scripts executable ..."
chmod u+x klighdning/*.sh
echo "Installing features ..."
cd klighdning
./install_kieler_features.sh "$FEATURES"
echo "Starting KLighDning ..."
./start.sh "$MODELS_REPO"
cd ..

### Example

Tags:
Created by uru on 2013/10/10 13:01

- Comments (0)
- Attachments (4)
- History
- Information

# Quick Links

KIELER on GitHub
RTSYS Homepage

XWiki 14.4.7