Skip to content

Commit

Permalink
Initial contribution
Browse files Browse the repository at this point in the history
  • Loading branch information
lelandaisb committed Sep 4, 2020
1 parent 175979f commit 623629e
Show file tree
Hide file tree
Showing 1,148 changed files with 582,506 additions and 277 deletions.
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

# DO NOT IGNORE src-gen DIRECTORIES FOR ALL PROJECTS
# Java
.class
bin/
# Eclipse
.metadata
.settings/
.recommenders/
# Xtext
xtend-gen/
# C++
.o
.a
# Nabla
.nablair
org.antlr.runtime
org.apache.batik.util.gui
RemoteSystemsTempFiles
output
# Maven
target/
# macOS
.DS_Store
7 changes: 7 additions & 0 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<extensions>
<extension>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pomless</artifactId>
<version>1.5.1</version>
</extension>
</extensions>
5 changes: 5 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# This is the list of Modane contributors

Benoit Lelandais - [email protected] - Initial implementation
Marie-Pierre Oudot - [email protected] - Initial implementation
Axel Richard - [email protected] - Modane industrialization
278 changes: 1 addition & 277 deletions LICENSE

Large diffs are not rendered by default.

45 changes: 45 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Notices for Modane

This content is produced and maintained by Commissariat � l'Energie Atomique - CEA.

## Copyright

All content is the property of the respective authors or their employers.
For more information regarding authorship of content, please consult the
listed source code repository logs.

## Declared Project Licenses

This program and the accompanying materials are made available under the terms
of the Eclipse Public License v. 2.0 which is available at
https://www.eclipse.org/legal/epl-v20.html.

SPDX-License-Identifier: EPL-2.0

## Source Code

The project maintains the following source code repository : add git repo address

## Third-party Content

Eclipse 2019-12
* License: EPL-2.0
* Project: https://www.eclipse.org/downloads/packages/release/2019-12/r

Xtext (2.20.0)
* License: EPL-2.0
* Project: http://projects.eclipse.org/projects/modeling.tmf.xtext
* Source: https://github.com/eclipse/xtext

Sirius (6.3.0)
* License: EPL-2.0
* Project: http://projects.eclipse.org/projects/modeling.sirius
* Source: https://git.eclipse.org/c/sirius/org.eclipse.sirius.git

JGraphT (1.3.0)
* License: LGPL-2.1, EPL-2.0
* Project: http://jgrapht.org
* Source: https://github.com/jgrapht/jgrapht



142 changes: 142 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
[![License](https://img.shields.io/badge/license-EPL%202.0-blue.svg)](http://www.eclipse.org/legal/epl-2.0)
[![Language](http://img.shields.io/badge/language-java-brightgreen.svg)](https://www.java.com/)

# Modane

<img src="http://www.cea.fr/PublishingImages/cea.jpg" width="20%" height="20%" align="right" />

Written by CEA and Contributors

(C) Copyright 2020, by CEA. All rights reserved.

All content is the property of the respective authors or their employers.
For more information regarding authorship of content, please consult the
listed source code repository logs.

## Introduction

Modane is a design support tool for numerical simulation codes based on [Eclipse](https://www.eclipse.org/).

The continual increasing power of supercomputers allows numerical simulation codes to take into account more complex physical phenomena. Therefore, physicists and mathematicians have to implement complex algorithms using cutting edge technologies and integrate them in large simulators. The CEA-DAM has been studying for several years the contribution of UML/MDE technologies in its simulators development cycle. The Modane application is one of the results of this work.

This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at https://www.eclipse.org/legal/epl-v20.html.

SPDX-License-Identifier: EPL-2.0

Please refer to the license for details.

## Getting started

The latest Modane environment can be downloaded [here](https://github.com/cea-hpc/Modane/releases/tag/v1.4.0).

Once the Modane environment has been launched, the Modane perspective should be selected. If it is not the case, just select the Modane perspective from the *Window > Perspective > Open Perspective > Other ... > Modane Project Perspective* menu.

<img src="./README_images/Modane_perspective_menu.png" alt="Modane Perspective Menu" title="Modane Perspective Menu" width="30%" height="30%" />

The Modane perspective provides a set of *Views* and wizards shortcuts allowing to easily create and develop Modane models.

### Create a new project

From the *Model Explorer View* in the *Modane* perspective, just right-click and select *New > Modane Project* to create a new project:

<img src="./README_images/Modane_new_menu.png" alt="Modane New Project" title="Modane New Project" width="60%" height="60%" />

You can also create it from the *File > New > Modane Project* main menu.

A new wizard is launched, asking for a project name and a module name:

<img src="./README_images/Modane_new_project_wizard.png" alt="Modane New Project Wizard" title="Modane New Project Wizard" width="50%" height="50%" />

Just click on the *Finish* button to create the new project. The new project is available in the *Model Explorer View*:

<img src="./README_images/Modane_new_project_result.png" alt="Modane New Project Result" title="Modane New Project Result" width="30%" height="30%" />

It contains one model (*modane.project.modaneprj*) in the *modane.project* project.

Several commands are accessible from *modane.project.modaneprj*:

<img src="./README_images/Modane_modaneprj_actions.png" alt="Modane Project Actions" title="Modane Project Actions" width="50%" height="50%" />

* New Representation
* Allows to create diagrams on the selected element. Diagrams available depend on the selected element.
* Import UML Model
* The imported UML model will be converted into a Modane model.
* Find Cross References
* Cross references will be displayed in the *Search View*.
* Create Package
* Create a Modane Package element.
* Generate Code
* Generate C++ code corresponding to the Modane Project.

### Examples project

From the *Model Explorer View* in the *Modane* perspective, just right-click and select *New > Modane Examples* to import the examples project:

<img src="./README_images/Modane_new_example.png" alt="Modane Examples" title="Modane Examples" width="50%" height="50%" />

You can also import it from the *File > New > Modane Examples* main menu.

A new wizard is launched:

<img src="./README_images/Modane_examples_wizard.png" alt="Modane Examples Wizard" title="Modane Examples Wizard" width="50%" height="50%" />

Just click on the *Finish* button to import the examples project. The examples project is available in the *Model Explorer View*:

<img src="./README_images/Modane_microhydro.png" alt="Modane Examples Generated Files" title="Modane Examples Generated Files" width="70%" height="70%" />

## Modane Preferences

The Modane preferences are accessible through the *Window > Preferences > Modane* (or *Modane > Preferences > Modane* on MacOS) menu.

<img src="./README_images/Modane_preferences.png" alt="Modane Preferences" title="Modane Preferences" width="70%" height="70%" />

<img src="./README_images/Modane_preferences_refactoring.png" alt="Modane Preferences Refactoring" title="Modane Preferences Refactoring" width="70%" height="70%" />

<img src="./README_images/Modane_preferences_syntax_coloring.png" alt="Modane Preferences Syntax Coloring" title="Modane Preferences Syntax Coloring" width="70%" height="70%" />

<img src="./README_images/Modane_preferences_templates.png" alt="Modane Preferences Templates" title="Modane Preferences Templates" width="70%" height="70%" />

## Build via Maven 3.x

To build the Modane products for Windows/Linux/MacOS and the Eclipse update-site, you can run the following command from the root of the repository:
`mvn clean; mvn verify`.

Note the `';'` after `mvn clean`.

The products resulting from the build will be accessible in */releng/fr.cea.modane.updatesite/target/products/Modane-1.4.0.yyyymmddHHMM-YOUR_PLATFORM.zip*.

The headless products resulting from the build will be accessible in */releng/fr.cea.modane.updatesite/target/products/ModaneHeadless-1.4.0.yyyymmddHHMM-YOUR_PLATFORM.zip*.

The Eclipse update-site resulting from the build will be accessible in */releng/fr.cea.modane.updatesite/target/fr.cea.modane.updatesite-1.4.0.yyyymmddHHMM.zip*.

Just install this update-site in an Eclipse 2019-12 with Sirius 6.3.0 and Xtext 2.20.0 already installed to use Modane.

If you want to skip tests execution, you can run the following command:
`mvn clean; mvn verify -Dmaven.test.skip=true`

## Dependencies

Modane requires Java 11.1 or later to build & run.

It as based on:

Eclipse 2019-12
* License: EPL-2.0
* Project: https://www.eclipse.org/downloads/packages/release/2019-12/r

Xtext (2.20.0)
* License: EPL-2.0
* Project: http://projects.eclipse.org/projects/modeling.tmf.xtext
* Source: https://github.com/eclipse/xtext

Sirius (6.3.0)
* License: EPL-2.0
* Project: http://projects.eclipse.org/projects/modeling.sirius
* Source: https://git.eclipse.org/c/sirius/org.eclipse.sirius.git

JGraphT (1.3.0)
* License: LGPL-2.1, EPL-2.0
* Project: http://jgrapht.org
* Source: https://github.com/jgrapht/jgrapht


Binary file added README_images/Modane_examples_wizard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_findcrossreferences.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_microhydro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_modaneprj_actions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_new_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_new_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_new_project_result.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_new_project_wizard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_perspective_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_preferences.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_preferences_refactoring.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added README_images/Modane_preferences_templates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 72 additions & 0 deletions changeversion.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#
#!/bin/bash
#

OLD_VERSION=1.4.0
NEW_VERSION=1.4.1

echo "Looking for MANIFEST.MF files"
FIND_RES=`find . -path ./.metadata -prune -o -name "MANIFEST.MF" -print`
for f in $FIND_RES
do
if grep -q "Bundle-Vendor: CEA" $f; then
if grep -q "Bundle-Version: $OLD_VERSION.qualifier" $f; then
echo " Changing version of:" $f
cp $f $f.old
sed "s/Bundle-Version: $OLD_VERSION.qualifier/Bundle-Version: $NEW_VERSION.qualifier/g" $f.old > $f
fi
fi
done

echo "Looking for pom.xml files"
FIND_RES=`find . -path ./.metadata -prune -o -name "pom.xml" -print`
for f in $FIND_RES
do
if grep -q -e "<groupId>fr.cea.modane</groupId>" -e "<groupId>fr.cea.modane.project</groupId>" $f; then
if grep -q "<version>$OLD_VERSION-SNAPSHOT</version>" $f; then
echo " Changing version of:" $f
cp $f $f.old
sed "s%<version>$OLD_VERSION-SNAPSHOT</version>%<version>$NEW_VERSION-SNAPSHOT</version>%g" $f.old > $f
fi
fi
done

echo "Looking for feature.xml files"
FIND_RES=`find . -path ./.metadata -prune -o -name "feature.xml" -print`
for f in $FIND_RES
do
if grep -q "provider-name=\"CEA\"" $f; then
if grep -q "version=\"$OLD_VERSION.qualifier\"" $f; then
echo " Changing version of:" $f
cp $f $f.old
sed "s/version=\"$OLD_VERSION.qualifier\"/version=\"$NEW_VERSION.qualifier\"/g" $f.old > $f
fi
fi
done

f=./plugins/fr.cea.modane.rcp/plugin.xml
if grep -q "Version $OLD_VERSION" $f; then
echo " Changing version of:" $f
cp $f $f.old
sed "s/Version $OLD_VERSION/Version $NEW_VERSION/g" $f.old > $f
fi

FIND_RES=`find ./releng/fr.cea.modane.updatesite -path ./.metadata -prune -o -name "*.product" -print`
for f in $FIND_RES
do
if grep -q "$OLD_VERSION.qualifier" $f; then
echo " Changing version of:" $f
cp $f $f.old
sed "s/$OLD_VERSION.qualifier/$NEW_VERSION.qualifier/g" $f.old > $f
fi
done

f=./README.md
if grep -q "https://github.com/cea-hpc/NabLab/releases/tag/v$OLD_VERSION" $f; then
echo " Changing version of:" $f
cp $f $f.old
sed "s%https://github.com/cea-hpc/NabLab/releases/tag/v$OLD_VERSION%https://github.com/cea-hpc/NabLab/releases/tag/v$NEW_VERSION%g" $f.old > $f
fi

echo "DONE. All that remains is to change the SPLASH SCREEN (BMP 459x347)."

17 changes: 17 additions & 0 deletions features/fr.cea.modane.feature/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.cea.modane.feature</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.FeatureBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.FeatureNature</nature>
</natures>
</projectDescription>
11 changes: 11 additions & 0 deletions features/fr.cea.modane.feature/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
###############################################################################
# Copyright (c) 2020 CEA
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
# Contributors: see AUTHORS file
###############################################################################

bin.includes = feature.xml
Loading

0 comments on commit 623629e

Please sign in to comment.