Skip to content

Commit 466908a

Browse files
committed
first push
First push
1 parent 2efb834 commit 466908a

File tree

131 files changed

+7862
-1
lines changed

Some content is hidden

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

131 files changed

+7862
-1
lines changed

.classpath

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" output="target/classes" path="src/main/java">
4+
<attributes>
5+
<attribute name="optional" value="true"/>
6+
<attribute name="maven.pomderived" value="true"/>
7+
</attributes>
8+
</classpathentry>
9+
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
10+
<attributes>
11+
<attribute name="maven.pomderived" value="true"/>
12+
</attributes>
13+
</classpathentry>
14+
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
15+
<attributes>
16+
<attribute name="optional" value="true"/>
17+
<attribute name="maven.pomderived" value="true"/>
18+
<attribute name="test" value="true"/>
19+
</attributes>
20+
</classpathentry>
21+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
22+
<attributes>
23+
<attribute name="maven.pomderived" value="true"/>
24+
</attributes>
25+
</classpathentry>
26+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
27+
<attributes>
28+
<attribute name="maven.pomderived" value="true"/>
29+
</attributes>
30+
</classpathentry>
31+
<classpathentry kind="output" path="target/classes"/>
32+
</classpath>

.project

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>attacktreedesigner</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
</buildSpec>
19+
<natures>
20+
<nature>org.eclipse.jdt.core.javanature</nature>
21+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
22+
</natures>
23+
</projectDescription>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
eclipse.preferences.version=1
2+
encoding//src/main/java=UTF-8
3+
encoding//src/main/resources=UTF-8
4+
encoding/<project>=UTF-8
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
3+
org.eclipse.jdt.core.compiler.compliance=1.8
4+
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5+
org.eclipse.jdt.core.compiler.release=disabled
6+
org.eclipse.jdt.core.compiler.source=1.8
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
activeProfiles=
2+
eclipse.preferences.version=1
3+
resolveWorkspaceProjects=true
4+
version=1

README.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,52 @@
1-
# AttackTreeDesigner
1+
Attack Tree Designer
2+
====
3+
<b> Attack Tree Designer </b> is an Open Source Modelling Tool conceived for designing [<b> Attack Trees </b>](https://en.wikipedia.org/wiki/Attack_tree). <b>Attack Tree Designer</b> is deployed as a module in [<b>Modelio</b>](https://www.modelio.org/) modelling environent.
4+
5+
<b> Attack Tree Designer </b> allows users to design attack trees diagrams showing how an asset or a target might be attacked. These diagrams are intended for security specialists for modelling the attacks that occur on IT systems or cyber-physical systems and describe the events that lead to the attack in the form of a tree in which the attack is represented by the root element which is related with “OR” and “AND” conditions to the children that represent the sequence of events that lead to the root attack.
6+
7+
This module offers an ergonomic environment for designers and contains additional set of features that allow users to configure security attributes for the attacks such as the severity and the likelihood of the attack. It allows users to attach counter-measures to their attacks and to detect uncountered attacks. Moreover it allows referencing other trees, importing and exporting attack trees.
8+
9+
For more information, visit our [**Wiki**](https://github.com/cpswarm/modelio-attack-tree-module/wiki) page.
10+
11+
12+
![](http://forge.modelio.org/attachments/download/22610/Example.png)
13+
**Attack Tree Designer Environment**
14+
15+
16+
Attack Tree Designer - User Manual
17+
----
18+
Find the documentation of Attack Tree Designer at the wiki page : [Attack Tree Designer - User Manual](http://forge.modelio.org/projects/attack-tree-modelio38-user-manual-english/wiki/Wiki)
19+
20+
21+
Dependencies
22+
----
23+
24+
* [Java 8 JDK](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
25+
* [Modelio 3.8](https://www.modelio.org/downloads/download-modelio.html) <img alt="Modelio" src="https://www.modelio.org/images/logo-modelio-v4.png" width="100">
26+
27+
Install
28+
----
29+
* Download our latest [Release](https://github.com/cpswarm/modelio-attack-tree-module/releases) and extract the module archive which is a JMDAC file (with *.jmdac extension).
30+
* (Alternative) Download this repository, retrieve the JMDAC file by compiling the source code with Maven :
31+
```
32+
mvn package
33+
```
34+
* Download and Install [Modelio 3.8](https://www.modelio.org/downloads/download-modelio.html) and open a new UML project.
35+
* Deploy <b> Attack Tree Designer </b> module (JMDAC file). For more details on how to deploy the module in Modelio see [Deployment of "Attack Tree Designer" module in Modelio](https://github.com/cpswarm/modelio-attack-tree-module/wiki/Deployment-of-%22Attack-Tree-Designer%22-module-in-Modelio).
36+
37+
38+
Contributing
39+
----
40+
41+
Contributions are welcome.
42+
43+
Please fork and make your changes. There is no need to pull request since this is only a mirror project to the SVN repository at [Modelio Community Forge](http://forge.modelio.org/projects/attacktree-modelio38). For major changes, please open an issue and discuss it with the other authors.
44+
45+
46+
Affiliation
47+
----
48+
49+
![CPSwarm](https://github.com/cpswarm/template/raw/master/cpswarm.png)
50+
This module is developed with :heart: by Softeam R&D Department and this work is supported by the European Commission through the [CPSwarm H2020 project](https://cpswarm.eu) under grant no. 731946.
51+
52+

assembly.xml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<assembly
2+
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.0.0.1-SNAPSHOT"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.0.0.1-SNAPSHOT http://maven.apache.org/xsd/assembly-1.0.0.1-SNAPSHOT.xsd">
5+
<id>bin</id>
6+
<formats>
7+
<format>zip</format>
8+
</formats>
9+
<includeBaseDirectory>false</includeBaseDirectory>
10+
<fileSets>
11+
<!-- Copy DataSheet HTML files -->
12+
<fileSet>
13+
<directory>${project.basedir}</directory>
14+
<outputDirectory>/${project.name}</outputDirectory>
15+
<includes>
16+
<include>DataSheet*.html</include>
17+
</includes>
18+
<filtered>true</filtered>
19+
</fileSet>
20+
<!-- Copy XML resources -->
21+
<fileSet>
22+
<directory>${project.basedir}/src/main/conf</directory>
23+
<outputDirectory>/${project.name}</outputDirectory>
24+
<includes>
25+
<include>**/*.xml</include>
26+
</includes>
27+
<filtered>true</filtered>
28+
</fileSet>
29+
<!-- Copy other ressources -->
30+
<fileSet>
31+
<directory>${project.basedir}/src/main/conf</directory>
32+
<outputDirectory>/${project.name}</outputDirectory>
33+
<excludes>
34+
<exclude>**/*.xml</exclude>
35+
</excludes>
36+
<filtered>false</filtered>
37+
</fileSet>
38+
<!-- Copy module's jar file -->
39+
<fileSet>
40+
<directory>${project.build.directory}</directory>
41+
<outputDirectory>${project.name}/lib</outputDirectory>
42+
<includes>
43+
<include>${project.artifactId}-${project.version}.jar</include>
44+
</includes>
45+
</fileSet>
46+
<!-- Copy java dependencies needed by the module -->
47+
<fileSet>
48+
<directory>${project.build.directory}/lib</directory>
49+
<outputDirectory>${project.name}/lib</outputDirectory>
50+
<includes>
51+
<include>*.jar</include>
52+
</includes>
53+
</fileSet>
54+
</fileSets>
55+
</assembly>

pom.xml

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<!-- definition -->
6+
<groupId>org.modelio.module</groupId>
7+
<artifactId>attacktreedesigner</artifactId>
8+
<version>1.0.00</version>
9+
<name>AttackTreeDesigner</name>
10+
<repositories>
11+
<repository>
12+
<id>modelio</id>
13+
<url>https://repository.modelio.org</url>
14+
</repository>
15+
</repositories>
16+
17+
<pluginRepositories>
18+
<pluginRepository>
19+
<id>modelio-plugins</id>
20+
<url>https://repository.modelio.org</url>
21+
</pluginRepository>
22+
</pluginRepositories>
23+
24+
<!-- properties -->
25+
<properties>
26+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
27+
</properties>
28+
29+
<dependencies>
30+
<!-- api modelio -->
31+
<dependency>
32+
<groupId>org.modelio</groupId>
33+
<artifactId>MDAKit</artifactId>
34+
<version>[4.1.0,4.1.1)</version>
35+
<type>pom</type>
36+
<scope>provided</scope>
37+
</dependency>
38+
39+
</dependencies>
40+
41+
<!-- // Build // -->
42+
<build>
43+
<sourceDirectory>src/main/java</sourceDirectory>
44+
<plugins>
45+
<!-- Use JVM 1.8 -->
46+
<plugin>
47+
<groupId>org.apache.maven.plugins</groupId>
48+
<artifactId>maven-compiler-plugin</artifactId>
49+
<version>2.3.2</version>
50+
<configuration>
51+
<source>1.8</source>
52+
<target>1.8</target>
53+
<encoding>${project.build.sourceEncoding}</encoding>
54+
</configuration>
55+
</plugin>
56+
57+
<plugin>
58+
<groupId>org.modelio</groupId>
59+
<artifactId>modelio-maven-plugin</artifactId>
60+
<version>4.1.0.00</version>
61+
<executions>
62+
<execution>
63+
<id>ModuleValidation</id>
64+
<phase>validate</phase>
65+
<goals>
66+
<goal>module-validation</goal>
67+
</goals>
68+
</execution>
69+
<execution>
70+
<id>ResourceManagement</id>
71+
<phase>generate-resources</phase>
72+
<goals>
73+
<goal>module-configuration</goal>
74+
</goals>
75+
</execution>
76+
</executions>
77+
<configuration>
78+
<moduleFile>${project.basedir}/src/main/conf/module.xml</moduleFile>
79+
<sourceBasedir>src/main/java</sourceBasedir>
80+
</configuration>
81+
</plugin>
82+
83+
<!-- Copy maven dependencies -->
84+
<plugin>
85+
<groupId>org.apache.maven.plugins</groupId>
86+
<artifactId>maven-dependency-plugin</artifactId>
87+
<version>2.4</version>
88+
<configuration>
89+
<outputDirectory>${project.basedir}/target/lib</outputDirectory>
90+
<overWriteReleases>false</overWriteReleases>
91+
<overWriteSnapshots>false</overWriteSnapshots>
92+
<overWriteIfNewer>true</overWriteIfNewer>
93+
<excludeScope>provided</excludeScope>
94+
</configuration>
95+
<executions>
96+
<execution>
97+
<id>copy-dependencies</id>
98+
<phase>package</phase>
99+
<goals>
100+
<goal>copy-dependencies</goal>
101+
</goals>
102+
</execution>
103+
</executions>
104+
</plugin>
105+
106+
<!-- Build zip -->
107+
<plugin>
108+
<groupId>org.apache.maven.plugins</groupId>
109+
<artifactId>maven-assembly-plugin</artifactId>
110+
<version>2.3</version>
111+
<configuration>
112+
<encoding>${project.build.sourceEncoding}</encoding>
113+
<descriptors>
114+
<descriptor>assembly.xml</descriptor>
115+
</descriptors>
116+
<finalName>${project.name}_${project.version}</finalName>
117+
<attach>false</attach>
118+
<appendAssemblyId>false</appendAssemblyId>
119+
</configuration>
120+
<executions>
121+
<execution>
122+
<id>make-assembly</id>
123+
<phase>package</phase>
124+
<goals>
125+
<goal>single</goal>
126+
</goals>
127+
</execution>
128+
</executions>
129+
</plugin>
130+
131+
<!-- Rename zip into jmdac -->
132+
<plugin>
133+
<groupId>org.apache.maven.plugins</groupId>
134+
<artifactId>maven-antrun-plugin</artifactId>
135+
<version>1.7</version>
136+
<executions>
137+
<execution>
138+
<id>rename</id>
139+
<phase>package</phase>
140+
<configuration>
141+
<target>
142+
<move file="${project.basedir}/target/${project.name}_${project.version}.zip" tofile="${project.basedir}/target/${project.name}_${project.version}.jmdac" />
143+
144+
</target>
145+
</configuration>
146+
<goals>
147+
<goal>run</goal>
148+
</goals>
149+
</execution>
150+
</executions>
151+
</plugin>
152+
</plugins>
153+
154+
<pluginManagement>
155+
<plugins>
156+
<!-- ignore plugin goal -> tells m2e to silently ignore the plugin execution. -->
157+
<plugin>
158+
<groupId>org.eclipse.m2e</groupId>
159+
<artifactId>lifecycle-mapping</artifactId>
160+
<version>1.0.0</version>
161+
<configuration>
162+
<lifecycleMappingMetadata>
163+
<pluginExecutions>
164+
<pluginExecution>
165+
<pluginExecutionFilter>
166+
<groupId>org.apache.maven.plugins</groupId>
167+
<artifactId>maven-dependency-plugin</artifactId>
168+
<versionRange>[1.0.0,)</versionRange>
169+
<goals>
170+
<goal>copy-dependencies</goal>
171+
</goals>
172+
</pluginExecutionFilter>
173+
<action>
174+
<ignore />
175+
</action>
176+
</pluginExecution>
177+
<pluginExecution>
178+
<pluginExecutionFilter>
179+
<groupId>org.modelio</groupId>
180+
<artifactId>
181+
modelio-maven-plugin
182+
</artifactId>
183+
<versionRange>
184+
[4.1.0.00,)
185+
</versionRange>
186+
<goals>
187+
<goal>
188+
module-validation
189+
</goal>
190+
<goal>
191+
module-configuration
192+
</goal>
193+
</goals>
194+
</pluginExecutionFilter>
195+
<action>
196+
<ignore></ignore>
197+
</action>
198+
</pluginExecution>
199+
</pluginExecutions>
200+
</lifecycleMappingMetadata>
201+
</configuration>
202+
</plugin>
203+
</plugins>
204+
</pluginManagement>
205+
</build>
206+
<description></description>
207+
</project>

0 commit comments

Comments
 (0)