Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
debrecenics committed Apr 1, 2016
0 parents commit 70655c4
Show file tree
Hide file tree
Showing 34 changed files with 1,017 additions and 0 deletions.
7 changes: 7 additions & 0 deletions org.mondo.collaboration.security.meta/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
3 changes: 3 additions & 0 deletions org.mondo.collaboration.security.meta/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/bin/

/.settings/
28 changes: 28 additions & 0 deletions org.mondo.collaboration.security.meta/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.mondo.collaboration.security.meta</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
15 changes: 15 additions & 0 deletions org.mondo.collaboration.security.meta/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.mondo.collaboration.security.meta;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: wt,
wt.impl,
wt.util
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
10 changes: 10 additions & 0 deletions org.mondo.collaboration.security.meta/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#

bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/
419 changes: 419 additions & 0 deletions org.mondo.collaboration.security.meta/model/wt.aird

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions org.mondo.collaboration.security.meta/model/wt.ecore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="wt" nsURI="http://wt/access-control" nsPrefix="wt">
<eClassifiers xsi:type="ecore:EClass" name="Module">
<eStructuralFeatures xsi:type="ecore:EReference" name="provides" upperBound="-1"
eType="#//Signal" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="reads" upperBound="-1"
eType="#//Signal"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Composite" eSuperTypes="#//Module">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="vendor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="protectedIP" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="submodules" upperBound="-1"
eType="#//Module" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Control" eSuperTypes="#//Module">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cycle" eType="#//Cycle"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Cycle">
<eLiterals name="high"/>
<eLiterals name="medium" value="1"/>
<eLiterals name="low" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Type">
<eLiterals name="FanCtrl"/>
<eLiterals name="HeaterCtrl" value="1"/>
<eLiterals name="PumpCtrl" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Signal"/>
</ecore:EPackage>
34 changes: 34 additions & 0 deletions org.mondo.collaboration.security.meta/model/wt.genmodel
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.mondo.collaboration.security.meta/src" modelPluginID="org.mondo.collaboration.security.meta"
modelName="Wt" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
operationReflection="true" importOrganizing="true">
<foreignModel>wt.ecore</foreignModel>
<genPackages prefix="Wt" disposableProviderFactory="true" ecorePackage="wt.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="wt.ecore#//Cycle">
<genEnumLiterals ecoreEnumLiteral="wt.ecore#//Cycle/high"/>
<genEnumLiterals ecoreEnumLiteral="wt.ecore#//Cycle/medium"/>
<genEnumLiterals ecoreEnumLiteral="wt.ecore#//Cycle/low"/>
</genEnums>
<genEnums typeSafeEnumCompatible="false" ecoreEnum="wt.ecore#//Type">
<genEnumLiterals ecoreEnumLiteral="wt.ecore#//Type/FanCtrl"/>
<genEnumLiterals ecoreEnumLiteral="wt.ecore#//Type/HeaterCtrl"/>
<genEnumLiterals ecoreEnumLiteral="wt.ecore#//Type/PumpCtrl"/>
</genEnums>
<genClasses ecoreClass="wt.ecore#//Module">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference wt.ecore#//Module/provides"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference wt.ecore#//Module/reads"/>
</genClasses>
<genClasses ecoreClass="wt.ecore#//Composite">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute wt.ecore#//Composite/vendor"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute wt.ecore#//Composite/protectedIP"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference wt.ecore#//Composite/submodules"/>
</genClasses>
<genClasses ecoreClass="wt.ecore#//Control">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute wt.ecore#//Control/type"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute wt.ecore#//Control/cycle"/>
</genClasses>
<genClasses ecoreClass="wt.ecore#//Signal"/>
</genPackages>
</genmodel:GenModel>
4 changes: 4 additions & 0 deletions org.mondo.collaboration.security.meta/plugin.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#

pluginName = Wt Model
providerName = www.example.org
17 changes: 17 additions & 0 deletions org.mondo.collaboration.security.meta/plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
-->

<plugin>

<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated wt -->
<package
uri="http://wt/access-control"
class="wt.WtPackage"
genModel="model/wt.genmodel"/>
</extension>

</plugin>
1 change: 1 addition & 0 deletions org.mondo.collaboration.security.meta/src/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/wt/
7 changes: 7 additions & 0 deletions org.mondo.collaboration.security.model/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
3 changes: 3 additions & 0 deletions org.mondo.collaboration.security.model/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/bin/

/.settings/
28 changes: 28 additions & 0 deletions org.mondo.collaboration.security.model/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.mondo.collaboration.security.model</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
9 changes: 9 additions & 0 deletions org.mondo.collaboration.security.model/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Model
Bundle-SymbolicName: org.mondo.collaboration.security.model
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.mondo.collaboration.security.meta;bundle-version="1.0.0",
hu.bme.mit.inf.dslreasoner.visualisation.emf2yed
Import-Package: com.google.common.collect
4 changes: 4 additions & 0 deletions org.mondo.collaboration.security.model/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
4 changes: 4 additions & 0 deletions org.mondo.collaboration.security.model/instances/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
package org.mondo.collaboration.security.model;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.ecore.EObject;

import com.google.common.collect.Lists;

import hu.bme.mit.inf.dslreasoner.visualisation.emf2yed.Model2Yed;
import wt.Composite;
import wt.Control;
import wt.Cycle;
import wt.Signal;
import wt.WtFactory;
import wt.WtPackage;

public class ModelGenerator {

public static final int[] MODEL_SIZES = {1,2,4,8,16,32,64,128,256};
public static final WtFactory eFactory = WtFactory.eINSTANCE;
public static final WtPackage ePackage = WtPackage.eINSTANCE;


public static void main(String[] args) throws Exception {
ModelGenerator generator = new ModelGenerator();
generator.generate();
}

private void generate() throws Exception {
for (int size : MODEL_SIZES) {
Composite model = generate(size);
CharSequence yed = calculateYed(model);
save("C:\\Eclipse\\Articles\\workspace\\org.mondo.collaboration.security.model\\instances\\model-"+size+".gml", yed);
}
}

private Composite generate(int size) {
Composite rootComposite = eFactory.createComposite();
{
rootComposite.setProtectedIP(false);
rootComposite.setVendor("");
}
for(int id = 0; id < size; id++) {
Composite pyramidRoot = createPyramid(id);
rootComposite.getSubmodules().add(pyramidRoot);
}
return rootComposite;
}

private Composite createPyramid(int id) {
Composite pyramidRoot = eFactory.createComposite();
{
pyramidRoot.setProtectedIP(id % 2 == 1 ? true : false);
pyramidRoot.setVendor(String.valueOf(id));
}

Composite left = eFactory.createComposite();
{
left.setProtectedIP(id % 2 == 1 ? true : false);
left.setVendor(String.valueOf(id));
}
Composite right = eFactory.createComposite();
{
right.setProtectedIP(id % 2 == 1 ? true : false);
right.setVendor(String.valueOf(id));
}
pyramidRoot.getSubmodules().add(left);
pyramidRoot.getSubmodules().add(right);

createController(id, left);
createController(id, left);
createController(id, right);
createController(id, right);

return pyramidRoot;
}

private void createController(int id, Composite parent) {
Control ctrl = eFactory.createControl();
{
parent.getSubmodules().add(ctrl);
ctrl.setCycle(getRandomCycleEnum());
ctrl.setType(id);

createInput(parent, ctrl);
createOutput(parent, ctrl);
}
}

private void createInput(Composite parent, Control ctrl) {
Signal parentSignalInput = eFactory.createSignal();
Signal ctrlSignalInput = eFactory.createSignal();
parent.getProvides().add(parentSignalInput);
ctrl.getProvides().add(ctrlSignalInput);
ctrl.getReads().add(parentSignalInput);
}

private void createOutput(Composite parent, Control ctrl) {
Signal parentSignalOutput = eFactory.createSignal();
Signal ctrlSignalOutput = eFactory.createSignal();
parent.getProvides().add(parentSignalOutput);
ctrl.getProvides().add(ctrlSignalOutput);
parent.getReads().add(ctrlSignalOutput);
}

private Cycle getRandomCycleEnum() {
List<Cycle> list = Lists.newArrayList(Cycle.VALUES);
Collections.shuffle(list);
return list.get(0);
}

private CharSequence calculateYed(Composite model) {
Model2Yed yed = new Model2Yed();
ArrayList<EObject> objects = Lists.newArrayList(model.eAllContents());
objects.add(model);
CharSequence sequence = yed.transform(objects);
return sequence;
}

public static void save(String path, CharSequence sequence) throws Exception {
try( PrintWriter out = new PrintWriter( path ) ){
out.println( sequence.toString() );
}
}
}
8 changes: 8 additions & 0 deletions org.mondo.collaboration.security.query/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/"/>
<classpathentry kind="src" path="src-gen/"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Loading

0 comments on commit 70655c4

Please sign in to comment.