You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+44-2Lines changed: 44 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,50 @@ The fUML implementation of this software is based on the Java fUML reference imp
9
9
## Licensing
10
10
For licensing information, please see the [LICENSE.md](https://github.com/HammerMaximilian/fUML-CSharp/blob/master/LICENSE) file.
11
11
12
+
## Prerequisites
13
+
For detailed information, please see the [User Guide](fUML-CSharp_User_Guide.pdf) section *1. Prerequisites*.
14
+
### 1. Required Software
15
+
**.NET Framework* (at least version 6.0)
16
+
**Microsoft Visual Studio*[^1]
17
+
[^1]: For non-developing users Microsoft Visual Studio is only used for compilation. It is also possible to build C# projects from command line using *msbuild.exe* but for convenience it is suggested to use Microsoft Visual Studio.
18
+
### 2. Recommended but optional Software
19
+
**Eclipse Modeling Tools* for creating UML models
20
+
**Java Runtime Environment* is required for Eclipse
21
+
**Eclipse Papyrus* for more sophisticated and graphical modeling of UML models
22
+
**Acceleo* to be able to use the code generator for executable models
23
+
24
+
## Setup
25
+
For detailed information, please see the [User Guide](fUML-CSharp_User_Guide.pdf) section *2. Setup*.
26
+
### 1. Setting up Visual Studio
27
+
* Import fUML-C# root solution *fUML-CSharp.sln* in Visual Studio
28
+
12
29
## Building
13
-
TBD
30
+
For detailed information, please see the [User Guide](fUML-CSharp_User_Guide.pdf) section *3. Build*.
31
+
* Build dynamic libraries for *uml*, *fuml**pscs* (**in that order**) Visual Studio or simply build the whole solution
32
+
* Depending on your preferences and needs, build debug, release or both
14
33
15
34
## Usage
16
-
TBD
35
+
For detailed information, please see the [User Guide](fUML-CSharp_User_Guide.pdf) section *4. Usage*.
36
+
### 1. Creating executable models using source code
37
+
* Create new C# project (see `"<fUML-C#-rootdir>\fUML-CSharp\examples\helloworld"` as a reference project)
38
+
* NOTE: it is suggested to store user-defined source code projects in common directory `"<fUML-C#-rootdir>\fUML-CSharp\usersrc"`
39
+
* The *usersrc* directory may contain arbitrary nested subdirectories
40
+
* Add required assemblies for uml, fuml and pscs to your project's references
41
+
* Create a `<model-name>Environment` class by deriving from class `fuml.environment.Environment`
42
+
* Create a `<model-name>Model` class by deriving from class `uml.environment.InMemoryModel` (this class will contain all of your model elements)
43
+
* Create a class containing a main method and call `<model-name>Environment.Instance().Execute("<behavior-name>");` for each behavior you want to execute in subsequent order
44
+
* Build project and run executable
45
+
### 2. Generating executable models from *.uml* models (*Acceleo* plugin for Eclipse has to be installed)
46
+
* Import fUML-C# root project
47
+
* Import nested project *generator* within fUML-C# root project
48
+
* Create new *.uml* model with a modeling tool of your choice (*Eclipse Papyrus* is suggested)
49
+
* NOTE: it is suggested to store user-defined models in common directory `"<fUML-C#-rootdir>\fUML-CSharp\usermodels"`
50
+
* The *usermodels* directory may contain arbitrary nested subdirectories
51
+
* Navigate to file `\generator\src\fuml.generator.main\generate.mtl` in the project explorer
52
+
* Right click `generate.mtl` and choose `Run as`-->`Run configurations...`
53
+
* Configure and run Acceleo Application accordingly:
54
+
* Choose `fuml.generator.main.Generate`
55
+
* Choose your model file
56
+
* Choose a target directory for the generated source code (`"<fUML-C#-rootdir>\fUML-CSharp\usersrc\<model-name>"` is suggested)
57
+
* Open newly generated C# project in Visual Studio and build executable(s)
58
+
* Run executable from command line using `<executable-name> <behavior-name> [<behavior-name> <behavior-name> <behavior-name> <...>]`
0 commit comments