Skip to content

Commit ba12bfa

Browse files
committed
Updated for v1.1.0j.
1 parent f60a035 commit ba12bfa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+362509
-361744
lines changed

dist/README.md

Lines changed: 90 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Action Language for UML (Alf) <br> Open Source Reference Implementation
2-
_Copyright &copy; 2011-2019 Model Driven Solutions, Inc._
2+
_Copyright &copy; 2011-2020 Model Driven Solutions, Inc._
33

44
Alf is an action language for UML developed in response to the OMG <em>Concrete
55
Syntax for a UML Action Language</em> Request for Proposals. The Alf specification
@@ -27,8 +27,8 @@ The latest version of the implementation is available at http://alf.modeldriven.
2727

2828
## Licensing
2929

30-
Data Access Technology, Inc. is copyright owner of the source code for this implementation. For licensing terms, see
31-
the file [`LICENSING.txt`](https://github.com/ModelDriven/Alf-Reference-Implementation/blob/master/dist/LICENSING.txt).
30+
Model Driven Solutions, Inc., (formerly Data Access Technology, Inc.) is copyright owner of the source code for this implementation.
31+
For licensing terms, see the file [`LICENSING.txt`](https://github.com/ModelDriven/Alf-Reference-Implementation/blob/master/dist/LICENSING.txt).
3232

3333
## Installation
3434

@@ -41,9 +41,14 @@ The installation directory includes Unix (BASH) shell scripts and DOS batch file
4141
By default, the `Libraries` subdirectory is expected to be in the same directory as the scripts.
4242
If you move it, set the environment variable `ALF_LIB` to its path.
4343

44+
## Further Information
45+
46+
The following sections describe the project structure and build steps for the implementation. For further information on using it,
47+
see the [wiki](https://github.com/ModelDriven/Alf-Reference-Implementation/wiki/Home).
48+
4449
## Projects
4550

46-
The implementation source is organized into four [Eclipse](http://www.eclipse.org) projects. Eclipse 4.6 or later is required.
51+
The base implementation source is organized into the following [Eclipse](http://www.eclipse.org) projects. The build is currently tested on Eclipse 2020-06 (4.16).
4752

4853
* `org.modeldriven.alf` - This is the base project, including the
4954
Alf parser, static semantic checking and generic mapping to fUML.
@@ -64,10 +69,88 @@ metamodel implementation (v5.2.0 or later). It depends on Eclipse plugins and mu
6469
* `org.modeldriven.alf.eclipse.moka` - This project extends the
6570
`org.modeldriven.alf.eclipse` project to allow compiled Alf text to be executed
6671
using the fUML execution engine from the [Moka framework](http://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution)
67-
for model execution in the [Eclipse Papyrus](http://www.eclipse.org/papyrus) modeling tool (v3.1.0 or later).
72+
for model execution in the [Eclipse Papyrus](http://www.eclipse.org/papyrus) modeling tool (specifically v3.1.0).
6873
It depends on Eclipse plugins and must be built in an Eclipse environment. (Note: This project was called
6974
`org.modeldriven.alf.eclipse.papyrus` in previous versions of the reference implementation.)
7075

71-
## Further Information
76+
* `org.modeldriven.alf.tests` - This project provides automated tests.
77+
78+
## Building
79+
80+
### Maven project structure
81+
82+
The project structure under Maven allows building the regular Java modules and the Eclipse-based modules (using [Tycho](https://www.eclipse.org/tycho/)).
83+
84+
#### Master module build
85+
86+
* `./master/pom.xml` - a module that provides standard configurations to be shared by all modules, including the root module.
87+
88+
#### Regular Java build
89+
90+
* `./pom.xml` - the parent module for the regular Java modules
91+
* `./org.modeldriven.alf` - see [Projects](#Projects) above.
92+
* `./org.modeldriven.alf.fuml.impl` - see [Projects](#Projects) above.
93+
* `./org.modeldriven.alf.tests` - see [Projects](#Projects) above.
94+
* `./org.modeldriven.alf.bundle` - produces a OSGi-bundle from org.modeldriven.alf
95+
* `./org.modeldriven.alf.fuml.impl.bundle` - produces a OSGi-bundle from org.modeldriven.alf.fuml.impl
96+
97+
#### Tycho build
98+
99+
* `./tycho-pom.xml` - a convenience module that can be used for performing the Tycho (OSGi) aware part of the build. Equivalent to building `./tycho-parent/pom.xml`
100+
* `./tycho-parent/pom.xml` - the parent module for the Tycho/Eclipse modules
101+
* `./org.modeldriven.alf.eclipse` - see [Projects](#Projects) above.
102+
* `./org.modeldriven.alf.eclipse.moka` - see [Projects](#Projects) above.
103+
104+
### Steps
105+
106+
1. Master module build (required only once):
107+
108+
```
109+
mvn clean install -f master
110+
```
111+
112+
2. To perform the regular Java build, execute from the root directory:
113+
114+
```
115+
mvn clean install
116+
```
117+
118+
3. To perform the Tycho build, execute from the root directory:
119+
120+
```
121+
mvn clean install -f tycho-pom.xml
122+
```
123+
124+
## Importing into Eclipse
125+
126+
### Prerequisites
127+
128+
1. Eclipse JDT - Java development tools
129+
2. Eclipse PDE - Plug-in development environment
130+
3. Eclipse M2E - Maven Integration in Eclipse
131+
132+
By downloading the Eclipse SDK, you should have all those components.
133+
134+
### Importing as Eclipse projects
135+
136+
That is the simplest way to import the codebase into Eclipse.
137+
138+
1. Import the root directory location using the "Existing Projects into Workspace" option, making sure to select the "Search for nested projects" option.
139+
2. Configure the [target platform](https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Fpreference_pages%2Ftarget_platform.htm)
140+
preferences to use the `alf-ri.target` definition you just imported
141+
3. You may be asked to install M2E extensions to support Tycho projects - this is recommended.
142+
143+
144+
### Importing as Maven modules
145+
146+
Alternately, you can import the code as Maven modules, which is recommended to obtain a configuration that is consistent with how the Maven build operates on the codebase.
147+
148+
1. Import the repository root directory and all its children artifacts as "Existing Maven projects" (note that will *not* include the `alf.eclipse` and `alf.eclipse.moka projects`,
149+
as they are *not* modules for the base Maven build).
150+
**Note:** If you see a build problem with the message "*Duplicate bundle executions found. Please remove any explicitly defined bundle executions in your pom.xml.*",
151+
make any non-content change to the POM file and save it, which should make the error go away.
152+
2. Import the `tycho-parent` directory and all its children artifacts as "Existing Maven projects".
153+
3. Configure the [target platform](https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Fpreference_pages%2Ftarget_platform.htm) preferences
154+
to use the `alf-ri.target` definition you just imported
155+
4. You may be asked to install M2E extensions to support Tycho projects - this is recommended.
72156

73-
For further information on using the implementation, see the [wiki](https://github.com/ModelDriven/Alf-Reference-Implementation/wiki/Home).

dist/alf.zip

-13.1 MB
Binary file not shown.

0 commit comments

Comments
 (0)