From c54d7e77cfcb734a62a3da77769a4a16bc345402 Mon Sep 17 00:00:00 2001 From: Chrissi <christopher@hbsc-werner.de> Date: Tue, 25 Jun 2019 15:24:20 +0200 Subject: [PATCH] Add Scala and Java documentation --- .../metamodels/create/CreateTTinJava.java | 66 ------------------- .../scala/ttc2019/CompleteTTCProcess.scala | 2 +- .../ttc2019/CreateTruthTableDirectSync.scala | 5 ++ .../scala/ttc2019/CreateTruthTableSync.scala | 5 ++ .../scala/ttc2019/ICreateTruthTable.scala | 3 + .../scala/ttc2019/IWriteOutputModel.scala | 3 + .../scala/ttc2019/MetricMeasurement.scala | 3 + .../src/main/scala/ttc2019/TTCLoader.scala | 36 ++++++++-- .../src/main/scala/ttc2019/TTFactory.scala | 15 ----- 9 files changed, 51 insertions(+), 87 deletions(-) delete mode 100644 solutions/RSync/src/main/java/ttc2019/metamodels/create/CreateTTinJava.java delete mode 100644 solutions/RSync/src/main/scala/ttc2019/TTFactory.scala diff --git a/solutions/RSync/src/main/java/ttc2019/metamodels/create/CreateTTinJava.java b/solutions/RSync/src/main/java/ttc2019/metamodels/create/CreateTTinJava.java deleted file mode 100644 index 3c1c2ea..0000000 --- a/solutions/RSync/src/main/java/ttc2019/metamodels/create/CreateTTinJava.java +++ /dev/null @@ -1,66 +0,0 @@ -package ttc2019.metamodels.create; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.emf.ecore.EObject; - -import sync.tt.Cell; -import sync.tt.Port; -import sync.tt.Row; -import sync.tt.TruthTable; -import ttc2019.TTFactory; - -public class CreateTTinJava { - - private TruthTable truthttable = null; - private Map<EObject, Row> rows = new HashMap<EObject, Row>(); - private Map<EObject, Port> ports = new HashMap<EObject, Port>(); - private Map<EObject, Cell> cells = new HashMap<EObject, Cell>(); - - public void createTruthTable(String name, EObject id) { - truthttable = TTFactory.getTruthTable(name); - } - - public void createInputPort(String name, EObject id) { - ports.put(id, TTFactory.getInputPort(name)); - } - - public void createOutputPort(String name, EObject id) { - ports.put(id, TTFactory.getOutputPort(name)); - } - - public void createRow(EObject id) { - rows.put(id, TTFactory.getRow()); - } - - public void createCell(Boolean value, EObject id) { - cells.put(id, TTFactory.getCell(value)); - } - - public void createTruthTableRowsRow(EObject tt, EObject row) { - Row r = rows.get(row); - truthttable.addRows(r); - r.setOwner(truthttable); - } - - public void createTruthTablePortsPort(EObject tt, EObject port) { - Port p = ports.get(port); - truthttable.addPorts(p); - p.setOwner(truthttable); - } - - public void createRowCellsCell(EObject row, EObject cell) { - Cell c = cells.get(cell); - Row r = rows.get(row); - c.setOwner(r); - r.addCells(c); - } - - public void createCellPortPort(EObject cell, EObject port) { - Cell c = cells.get(cell); - Port p = ports.get(port); - c.setPort(p); - p.addCells(c); - } -} diff --git a/solutions/RSync/src/main/scala/ttc2019/CompleteTTCProcess.scala b/solutions/RSync/src/main/scala/ttc2019/CompleteTTCProcess.scala index 2682d7c..6fefd22 100644 --- a/solutions/RSync/src/main/scala/ttc2019/CompleteTTCProcess.scala +++ b/solutions/RSync/src/main/scala/ttc2019/CompleteTTCProcess.scala @@ -96,7 +96,7 @@ object CompleteTTCProcess extends App { } override def main(args: Array[String]): Unit = { - val processConfig = TTCProcessConfiguration(ttFileName = "TT.ttmodel", bddFileName = "Generated.bddmodel", processMode = ProcessMode.BDD) + val processConfig = TTCProcessConfiguration(ttFileName = "TT.ttmodel", bddFileName = "Generated.bddmodel", processMode = ProcessMode.BDTU) executeEntireProcess(processConfig) } diff --git a/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableDirectSync.scala b/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableDirectSync.scala index 79615f6..f5f3361 100644 --- a/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableDirectSync.scala +++ b/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableDirectSync.scala @@ -3,6 +3,11 @@ package ttc2019 import sync.tt._ import org.eclipse.emf.ecore.EObject +/** + * Create the instances of the truth table in Scala. + * + * @author Christopher Werner + */ class CreateTruthTableDirectSync extends ICreateTruthTable { var truthttable: TruthTable = null diff --git a/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableSync.scala b/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableSync.scala index 12bd89f..a4cfd2d 100644 --- a/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableSync.scala +++ b/solutions/RSync/src/main/scala/ttc2019/CreateTruthTableSync.scala @@ -3,6 +3,11 @@ package ttc2019 import sync.tt._ import org.eclipse.emf.ecore.EObject +/** + * Create the instances of the truth table in Scala. + * + * @author Christopher Werner + */ class CreateTruthTableSync extends ICreateTruthTable { var mapping: Map[EObject, Object] = Map.empty diff --git a/solutions/RSync/src/main/scala/ttc2019/ICreateTruthTable.scala b/solutions/RSync/src/main/scala/ttc2019/ICreateTruthTable.scala index 7215b4c..c81b992 100644 --- a/solutions/RSync/src/main/scala/ttc2019/ICreateTruthTable.scala +++ b/solutions/RSync/src/main/scala/ttc2019/ICreateTruthTable.scala @@ -2,6 +2,9 @@ package ttc2019 import org.eclipse.emf.ecore.EObject +/** + * Interface for creating a truth Table. + */ trait ICreateTruthTable { def createTruthTable(name: String, id: EObject): Unit diff --git a/solutions/RSync/src/main/scala/ttc2019/IWriteOutputModel.scala b/solutions/RSync/src/main/scala/ttc2019/IWriteOutputModel.scala index 7085d07..bf63ffb 100644 --- a/solutions/RSync/src/main/scala/ttc2019/IWriteOutputModel.scala +++ b/solutions/RSync/src/main/scala/ttc2019/IWriteOutputModel.scala @@ -1,5 +1,8 @@ package ttc2019 +/** + * Interface to write out the target models. + */ trait IWriteOutputModel { def generateEverything(outputFile: String): Unit diff --git a/solutions/RSync/src/main/scala/ttc2019/MetricMeasurement.scala b/solutions/RSync/src/main/scala/ttc2019/MetricMeasurement.scala index d98287a..69b3bc1 100644 --- a/solutions/RSync/src/main/scala/ttc2019/MetricMeasurement.scala +++ b/solutions/RSync/src/main/scala/ttc2019/MetricMeasurement.scala @@ -3,6 +3,9 @@ package ttc2019 import org.rosi_project.model_management.core.ModelElementLists import ttc2019.benchmark.Metrics +/** + * Object to create the metric values from the created target models. + */ object MetricMeasurement { var printDirectly = false diff --git a/solutions/RSync/src/main/scala/ttc2019/TTCLoader.scala b/solutions/RSync/src/main/scala/ttc2019/TTCLoader.scala index 0bbeea8..1126ef9 100644 --- a/solutions/RSync/src/main/scala/ttc2019/TTCLoader.scala +++ b/solutions/RSync/src/main/scala/ttc2019/TTCLoader.scala @@ -21,10 +21,10 @@ import ttc2019.metamodels.tt._ class TTCLoader { /** - * Fetches an ecore model from XML. + * Fetches an ecore model from XMI directly converted into a truth table. * - * @param path where to find the model - * @return the model described by the XML + * @param path where to find the (meta-)model + * @return the truth table instance from the model */ def javaOptimizedTTJavaEcore(pathMeta: String, pathInstance: String): TruthTable = { require(null != pathMeta && pathMeta.nonEmpty && null != pathInstance && pathInstance.nonEmpty) @@ -32,18 +32,36 @@ class TTCLoader { return loader.loadOptimizedTruthTable(pathMeta, pathInstance) } + /** + * Fetches an ecore model from XMI as EObject. + * + * @param path where to find the (meta-)model + * @return the EObject instance from the model + */ def loadOptimizedJavaEcore(pathMeta: String, pathInstance: String): EObject = { require(null != pathMeta && pathMeta.nonEmpty && null != pathInstance && pathInstance.nonEmpty) val loader = new LoadEObject return loader.loadOptimized(pathMeta, pathInstance) } + /** + * Fetches an ecore model from XMI as EObject. + * + * @param path where to find the (meta-)model + * @return the EObject instance from the model + */ def loadSimpleJavaEcore(pathMeta: String, pathInstance: String): EObject = { require(null != pathMeta && pathMeta.nonEmpty && null != pathInstance && pathInstance.nonEmpty) val loader = new LoadEObject return loader.loadSimple(pathMeta, pathInstance) } + /** + * Fetches an ecore model from XMI as EObject. + * + * @param path where to find the (meta-)model + * @return the EObject instance from the model + */ def loadScalaEcore(pathMeta: String, pathInstance: String): EObject = { require(null != pathMeta && pathMeta.nonEmpty && null != pathInstance && pathInstance.nonEmpty) @@ -63,6 +81,9 @@ class TTCLoader { return ressourceModel.getContents().get(0) } + /** + * Create a new object from the incoming element. + */ private def createObj(obj: EObject, ctts: ICreateTruthTable): Unit = { var objName = obj.eClass.getName @@ -77,6 +98,9 @@ class TTCLoader { } } + /** + * Create references between the created objects. + */ private def createReferences(o1: EObject, ctts: ICreateTruthTable): Unit = { o1.eClass().getEAllReferences.forEach(sf => { if (sf.getName == "port" || sf.getName == "owner") { @@ -111,8 +135,10 @@ class TTCLoader { }) } - def createTruthTableRSYNCInstance(tt: TruthTable, cttss: ICreateTruthTable): Unit = { - val ctts = new CreateTTinJava() + /** + * Create the input TruthTable instance from the *.ttmodel file. + */ + def createTruthTableRSYNCInstance(tt: TruthTable, ctts: ICreateTruthTable): Unit = { ctts.createTruthTable(tt.getName, tt) tt.getPorts.forEach(p => { diff --git a/solutions/RSync/src/main/scala/ttc2019/TTFactory.scala b/solutions/RSync/src/main/scala/ttc2019/TTFactory.scala deleted file mode 100644 index a9a8fbe..0000000 --- a/solutions/RSync/src/main/scala/ttc2019/TTFactory.scala +++ /dev/null @@ -1,15 +0,0 @@ -package ttc2019 - -import sync.tt._ - -object TTFactory { - def getInputPort(name: String) = new InputPort(name, Set.empty, null, null) - - def getTruthTable(name: String) = new TruthTable(name, Set.empty, Set.empty, null) - - def getOutputPort(name: String) = new OutputPort(name, Set.empty, null, null) - - def getRow() = new Row(Set.empty, null, null) - - def getCell(value: Boolean) = new Cell(value, null, null, null) -} \ No newline at end of file -- GitLab