README.md 4.09 KB
Newer Older
Bernhard Rumpe's avatar
BR-sy    
Bernhard Rumpe committed
1
<!-- (c) https://github.com/MontiCore/monticore -->
Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
2
# 2D Visualization for EmbeddedMontiArcMath
vonWenckstern's avatar
vonWenckstern committed
3

Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
4
5
<p align="center">
    <a>
6
        <img src="https://img.shields.io/badge/Version-0.1.1-blue.svg?longCache=true&style=flat-square"/>
Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
7
    </a>
8
9
    <a href="https://rwth-aachen.sciebo.de/s/igDWzLpdO5zYHBj/download?path=%2Fshared%2F18.10.02.visualization-emam&files=visualization-emam.zip">
        <img src="https://img.shields.io/badge/Download-18.10.02-blue.svg?longCache=true&style=flat-square"/>
Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
10
11
    </a>
</p>
vonWenckstern's avatar
vonWenckstern committed
12

Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
13
14
15
16
## Table of Contents
* [**Description**](#description)
* [**Demonstration**](#demonstration)
* [**Command Line Interface**](#command-line-interface)
0xJMR's avatar
0xJMR committed
17
* [**URL Syntax**](#url-syntax)
Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
18
19
20
21
22
* [**Requirements**](doc/Requirements.md)
* [**Browser Support**](#browser-support)
* [**License**](#license)

## Description
0xJMR's avatar
0xJMR committed
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Whether textual or graphical models are better for software development in general is still an
ongoing debate. Nonetheless, textual models have a multitude of advantages compared to their
graphical peers. Textual models, for instance, can be edited using a simple editor which is
available on every operating system whereas graphical models more often than not need
commercial software. Version Control, including the visualization of the differences between
versions, is easier to implement on textual models than on graphical models due to the sheer
amount of available programs which are specialized on such a task.

In the context of Component and Connector (C&C) models, however, one can realize a disadvantage
of textual models. With the increasing size of the models, it often becomes difficult to keep
the overview on how components are interacting with each other. For a developer using graphical
models, on the other hand, this task is achieved with ease because she can see the components
and their connections visually in front of her.

In order to compensate for this fact, this project and [one of its
0xJMR's avatar
0xJMR committed
38
dependencies](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/visualisation)
0xJMR's avatar
0xJMR committed
39
40
generate a visual representation of textual EmbeddedMontiArcMath models showing the
relationships between components.
Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
41
42
43
44
45
46
47
48
49
50
51
52
53

## Demonstration
![](doc/media/videos/VisualizationEMAM.mp4)

[Try it out](https://embeddedmontiarc.github.io/VisualizationEMAM/)

## Command Line Interface
| Short | Long         | Description                                     |
| :---: | :---:        | :---                                            |
| -m    | --model      | Qualified Name of the Main Component Instance.  |
| -mp   | --modelPath  | Path to the package root of the models.         |
| -out  | --outputPath | Path to the output directory.                   |

0xJMR's avatar
0xJMR committed
54
55
## URL Syntax
```
0xJMR's avatar
0xJMR committed
56
<URL> ::= <Base URL> "#" <Qualified Name of Component Instance> ":" <Visualization Mode> ["&" <Qualified Name of Component harboring the Math Implementation> ":" <Math Mode> [":" <Start Line> [":" <End Line>] ] ]
0xJMR's avatar
0xJMR committed
57

0xJMR's avatar
0xJMR committed
58
<Visualization Mode> ::= 0 | 1 | 2 | 3
0xJMR's avatar
0xJMR committed
59

0xJMR's avatar
0xJMR committed
60
<Math Mode> ::= 0 | 1
0xJMR's avatar
0xJMR committed
61
62
```

0xJMR's avatar
0xJMR committed
63
64
* After opening an atomic component, you can just add `:2` at the end of the URL to highlight line number `2` for issues.
* If you add `:2:4` at the end of the URL, then you highlight the line numbers `2`, `3`, and `4`.
vonWenckstern's avatar
vonWenckstern committed
65

Jean-Marc Ronck's avatar
Jean-Marc Ronck committed
66
67
68
69
70
71
72
73
74
75
76
77
78
## Browser Support
| ![Google Chrome](doc/media/images/chrome.png) | ![Mozilla Firefox](doc/media/images/firefox.png) | ![Safari](doc/media/images/safari.png) | ![Opera](doc/media/images/opera.png) | ![Microsoft Edge](doc/media/images/edge.png) | ![Internet Explorer](doc/media/images/ie.png) |
| :--------------------: | :--------------------: | :--------------------: | :--------------------: | :--------------------: | :---: |
| 57+ :heavy_check_mark: | 52+ :heavy_check_mark: | 11+ :heavy_check_mark: | 44+ :heavy_check_mark: | 16+ :heavy_check_mark: | :x:   |

| ![PC](doc/media/images/pc.png) | ![Smartphones](doc/media/images/smartphone.png) | ![Tablets](doc/media/images/tablet.png) |
| :----------------------: | :---------------------------------------: | :-------------------------------: |
| :heavy_check_mark:       | :heavy_check_mark:                        | :heavy_check_mark:                |


## License
Copyright (C) 2018 SE RWTH.

Bernhard Rumpe's avatar
BR-sy    
Bernhard Rumpe committed
79
A concrete license is to be discussed.