Skip to content

Commit 62c10a8

Browse files
Merge pull request #2 from HammerMaximilian/development
development --> master 1.0.0
2 parents 2aa4a11 + d73a363 commit 62c10a8

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

README.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,50 @@ The fUML implementation of this software is based on the Java fUML reference imp
99
## Licensing
1010
For licensing information, please see the [LICENSE.md](https://github.com/HammerMaximilian/fUML-CSharp/blob/master/LICENSE) file.
1111

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+
1229
## 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
1433

1534
## 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> <...>]`

fUML-CSharp_User_Guide.pdf

453 KB
Binary file not shown.

0 commit comments

Comments
 (0)