├── .gitignore ├── Auction_Service ├── Code │ ├── AuctionServer.java │ ├── Bidder.java │ ├── Client.java │ ├── Item.java │ ├── Seller.java │ ├── Simulation.java │ ├── hw2-2.iml │ ├── lib │ │ └── junit4.jar │ └── src │ │ └── hw2 │ │ ├── AuctionServer.java │ │ ├── Bidder.java │ │ ├── Client.java │ │ ├── Item.java │ │ ├── Seller.java │ │ └── Simulation.java ├── Code_Specifications │ └── Class_Specifications&Pseudo_Code.pdf ├── Project2_Guidelines.pdf └── p1Reverse.tiff ├── Coffee_Shop_Simulation ├── Code │ ├── lib │ │ └── junit4.jar │ └── src │ │ └── hw3 │ │ ├── Cook.java │ │ ├── Customer.java │ │ ├── Food.java │ │ ├── FoodType.java │ │ ├── Machine.java │ │ ├── Simulation.java │ │ ├── SimulationEvent.java │ │ └── Validate.java ├── Code_Design&Specifications │ └── Design-and-Specifications.pdf └── Project3_Guidelines.pdf ├── Max_Integer_LinkedList_Parallel_ThreadSafe ├── Code │ ├── lib │ │ └── junit4.jar │ └── src │ │ └── hw1 │ │ ├── ParallelMaximizer.java │ │ ├── ParallelMaximizerWorker.java │ │ └── PublicTest.java └── Project1_Guidelines.pdf ├── Maze_Solver ├── Code │ ├── lib │ │ └── junit4.jar │ ├── mazes1 │ │ ├── 10000x10000u.mz │ │ ├── 1000x1000.mz │ │ ├── 200x200.mz │ │ ├── 200x200u.mz │ │ ├── 5000x5000.mz │ │ ├── 500x500.mz │ │ └── 6x6.mz │ └── src │ │ └── hwMaze │ │ ├── Choice.java │ │ ├── Direction.java │ │ ├── Main.java │ │ ├── Maze.java │ │ ├── MazeDisplay.java │ │ ├── MazeInputStream.java │ │ ├── MazeSolver.java │ │ ├── Move.java │ │ ├── Position.java │ │ ├── STMazeSolverBFS.java │ │ ├── STMazeSolverDFS.java │ │ ├── STMazeSolverRec.java │ │ ├── SkippingMazeSolver.java │ │ └── StudentMTMazeSolver.java ├── Code_Design&Specifications │ └── Design-and-Specifications.pages └── Project4_Guidelines.pdf ├── README.md └── TSP_akka_Actors ├── Code ├── .mvn │ ├── extensions.xml │ └── jgitver.config.xml ├── COPYING ├── LICENSE ├── README.md ├── cities.txt ├── pom.xml ├── project │ ├── plugins.sbt │ ├── project │ │ └── target │ │ │ └── config-classes │ │ │ ├── $fe43e91088caf1a40db5$.class │ │ │ ├── $fe43e91088caf1a40db5.cache │ │ │ └── $fe43e91088caf1a40db5.class │ └── target │ │ ├── config-classes │ │ ├── $355b19a14d8fcdd4e230$.class │ │ ├── $355b19a14d8fcdd4e230.cache │ │ ├── $355b19a14d8fcdd4e230.class │ │ ├── $36ced12c2dbf71f7f471$.class │ │ ├── $36ced12c2dbf71f7f471.cache │ │ ├── $36ced12c2dbf71f7f471.class │ │ ├── $5c422fa3f516c23a5500$.class │ │ ├── $5c422fa3f516c23a5500.cache │ │ ├── $5c422fa3f516c23a5500.class │ │ ├── $90cfc060abba677ee0f5$.class │ │ ├── $90cfc060abba677ee0f5.cache │ │ ├── $90cfc060abba677ee0f5.class │ │ ├── $a8b52fb4a5766507d9f5$.class │ │ ├── $a8b52fb4a5766507d9f5.cache │ │ ├── $a8b52fb4a5766507d9f5.class │ │ ├── $efa0bb85629661ad7d4d$.class │ │ ├── $efa0bb85629661ad7d4d.cache │ │ └── $efa0bb85629661ad7d4d.class │ │ ├── scala-2.12 │ │ └── sbt-1.0 │ │ │ └── resolution-cache │ │ │ ├── default │ │ │ ├── akka-samples-main-java-build │ │ │ │ └── scala_2.12 │ │ │ │ │ └── sbt_1.0 │ │ │ │ │ └── 0.1.0-SNAPSHOT │ │ │ │ │ ├── resolved.xml.properties │ │ │ │ │ └── resolved.xml.xml │ │ │ └── code-build │ │ │ │ └── scala_2.12 │ │ │ │ └── sbt_1.0 │ │ │ │ └── 0.1.0-SNAPSHOT │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ └── reports │ │ │ ├── default-akka-samples-main-java-build-compile-internal.xml │ │ │ ├── default-akka-samples-main-java-build-compile.xml │ │ │ ├── default-akka-samples-main-java-build-optional.xml │ │ │ ├── default-akka-samples-main-java-build-plugin.xml │ │ │ ├── default-akka-samples-main-java-build-pom.xml │ │ │ ├── default-akka-samples-main-java-build-provided.xml │ │ │ ├── default-akka-samples-main-java-build-runtime-internal.xml │ │ │ ├── default-akka-samples-main-java-build-runtime.xml │ │ │ ├── default-akka-samples-main-java-build-scala-tool.xml │ │ │ ├── default-akka-samples-main-java-build-test-internal.xml │ │ │ ├── default-akka-samples-main-java-build-test.xml │ │ │ ├── default-code-build-compile-internal.xml │ │ │ ├── default-code-build-compile.xml │ │ │ ├── default-code-build-optional.xml │ │ │ ├── default-code-build-plugin.xml │ │ │ ├── default-code-build-pom.xml │ │ │ ├── default-code-build-provided.xml │ │ │ ├── default-code-build-runtime-internal.xml │ │ │ ├── default-code-build-runtime.xml │ │ │ ├── default-code-build-scala-tool.xml │ │ │ ├── default-code-build-test-internal.xml │ │ │ ├── default-code-build-test.xml │ │ │ ├── ivy-report.css │ │ │ └── ivy-report.xsl │ │ └── streams │ │ ├── $global │ │ ├── $global │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── out │ │ ├── dependencyPositions │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── update_cache_2.12 │ │ │ │ ├── input_dsp │ │ │ │ └── output_dsp │ │ ├── ivyConfiguration │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── out │ │ ├── ivySbt │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── out │ │ ├── projectDescriptors │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── out │ │ └── update │ │ │ └── $global │ │ │ └── streams │ │ │ ├── out │ │ │ └── update_cache_2.12 │ │ │ ├── inputs │ │ │ └── output │ │ ├── compile │ │ ├── $global │ │ │ └── $global │ │ │ │ └── discoveredMainClasses │ │ │ │ └── data │ │ ├── compile │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── out │ │ ├── compileIncremental │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ ├── export │ │ │ │ └── out │ │ ├── copyResources │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ ├── copy-resources │ │ │ │ └── out │ │ ├── dependencyClasspath │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── export │ │ ├── exportedProducts │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── export │ │ ├── externalDependencyClasspath │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── export │ │ ├── internalDependencyClasspath │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── export │ │ ├── managedClasspath │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── export │ │ ├── unmanagedClasspath │ │ │ └── $global │ │ │ │ └── streams │ │ │ │ └── export │ │ └── unmanagedJars │ │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ └── runtime │ │ ├── dependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ ├── exportedProducts │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ ├── externalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ ├── fullClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ ├── internalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ ├── managedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ ├── unmanagedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ │ └── unmanagedJars │ │ └── $global │ │ └── streams │ │ └── export ├── sbt ├── sbt-dist │ ├── bin │ │ ├── sbt │ │ ├── sbt-launch-lib.bash │ │ ├── sbt-launch.jar │ │ └── sbt.bat │ └── conf │ │ ├── sbtconfig.txt │ │ └── sbtopts ├── sbt.bat ├── src │ └── main │ │ ├── java │ │ └── hw │ │ │ └── akka │ │ │ ├── Messages.java │ │ │ ├── SearchSolution.java │ │ │ ├── Searcher.java │ │ │ ├── Solver.java │ │ │ ├── TSPDynamicProgramming.java │ │ │ ├── User.java │ │ │ └── cities.txt │ │ └── resources │ │ └── application.conf └── target │ ├── .history │ ├── classes │ ├── application.conf │ └── sample │ │ └── hello │ │ ├── Greeter$Msg.class │ │ ├── Greeter.class │ │ ├── HelloWorld.class │ │ ├── Main.class │ │ ├── Main2$Terminator.class │ │ └── Main2.class │ ├── scala-2.12 │ ├── classes │ │ ├── META-INF │ │ │ └── hw-akka.kotlin_module │ │ ├── application.conf │ │ └── hw │ │ │ └── akka │ │ │ ├── Messages$Msg.class │ │ │ ├── Messages.class │ │ │ ├── SearchSolution.class │ │ │ ├── Searcher.class │ │ │ ├── Solver.class │ │ │ ├── TSPDynamicProgramming.class │ │ │ ├── User$Terminator.class │ │ │ ├── User.class │ │ │ └── cities.txt │ └── resolution-cache │ │ ├── com.typesafe.akka.samples │ │ ├── akka-sample-main-java$sources │ │ │ ├── 059018da+20190409-0112 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ ├── 059018da+20190411-1901 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ └── d92802d0 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ ├── akka-sample-main-java_2.12 │ │ │ ├── 059018da+20190409-0112 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ ├── 059018da+20190411-1901 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ └── d92802d0 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ ├── hw-akka$sources │ │ │ ├── 7ce025b1 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ ├── d92802d0+20190412-1745 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ │ └── d92802d0+20190412-1815 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ └── hw-akka_2.12 │ │ │ ├── 7ce025b1 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ │ ├── d92802d0+20190412-1745 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ │ └── d92802d0+20190412-1815 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ ├── hw.akka │ │ ├── akka-sample-main-java$sources │ │ │ └── d92802d0+20190411-2031 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ ├── akka-sample-main-java_2.12 │ │ │ └── d92802d0+20190411-2031 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ ├── hw-akka$sources │ │ │ └── d92802d0+20190411-2140 │ │ │ │ ├── resolved.xml.properties │ │ │ │ └── resolved.xml.xml │ │ └── hw-akka_2.12 │ │ │ ├── d92802d0+20190411-2140 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ │ ├── d92802d0+20190412-1733 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ │ ├── d92802d0+20190412-1739 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ │ └── d92802d0 │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ │ └── reports │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-compile-internal.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-compile.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-optional.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-plugin.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-pom.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-provided.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-runtime-internal.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-runtime.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-scala-tool.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-test-internal.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java$sources-test.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-compile-internal.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-compile.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-optional.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-plugin.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-pom.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-provided.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-runtime-internal.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-runtime.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-scala-tool.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-test-internal.xml │ │ ├── com.typesafe.akka.samples-akka-sample-main-java_2.12-test.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-compile-internal.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-compile.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-optional.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-plugin.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-pom.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-provided.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-runtime-internal.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-runtime.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-scala-tool.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-test-internal.xml │ │ ├── com.typesafe.akka.samples-hw-akka$sources-test.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-compile-internal.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-compile.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-optional.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-plugin.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-pom.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-provided.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-runtime-internal.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-runtime.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-scala-tool.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-test-internal.xml │ │ ├── com.typesafe.akka.samples-hw-akka_2.12-test.xml │ │ ├── hw.akka-akka-sample-main-java$sources-compile-internal.xml │ │ ├── hw.akka-akka-sample-main-java$sources-compile.xml │ │ ├── hw.akka-akka-sample-main-java$sources-optional.xml │ │ ├── hw.akka-akka-sample-main-java$sources-plugin.xml │ │ ├── hw.akka-akka-sample-main-java$sources-pom.xml │ │ ├── hw.akka-akka-sample-main-java$sources-provided.xml │ │ ├── hw.akka-akka-sample-main-java$sources-runtime-internal.xml │ │ ├── hw.akka-akka-sample-main-java$sources-runtime.xml │ │ ├── hw.akka-akka-sample-main-java$sources-scala-tool.xml │ │ ├── hw.akka-akka-sample-main-java$sources-test-internal.xml │ │ ├── hw.akka-akka-sample-main-java$sources-test.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-compile-internal.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-compile.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-optional.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-plugin.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-pom.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-provided.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-runtime-internal.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-runtime.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-scala-tool.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-test-internal.xml │ │ ├── hw.akka-akka-sample-main-java_2.12-test.xml │ │ ├── hw.akka-hw-akka$sources-compile-internal.xml │ │ ├── hw.akka-hw-akka$sources-compile.xml │ │ ├── hw.akka-hw-akka$sources-optional.xml │ │ ├── hw.akka-hw-akka$sources-plugin.xml │ │ ├── hw.akka-hw-akka$sources-pom.xml │ │ ├── hw.akka-hw-akka$sources-provided.xml │ │ ├── hw.akka-hw-akka$sources-runtime-internal.xml │ │ ├── hw.akka-hw-akka$sources-runtime.xml │ │ ├── hw.akka-hw-akka$sources-scala-tool.xml │ │ ├── hw.akka-hw-akka$sources-test-internal.xml │ │ ├── hw.akka-hw-akka$sources-test.xml │ │ ├── hw.akka-hw-akka_2.12-compile-internal.xml │ │ ├── hw.akka-hw-akka_2.12-compile.xml │ │ ├── hw.akka-hw-akka_2.12-optional.xml │ │ ├── hw.akka-hw-akka_2.12-plugin.xml │ │ ├── hw.akka-hw-akka_2.12-pom.xml │ │ ├── hw.akka-hw-akka_2.12-provided.xml │ │ ├── hw.akka-hw-akka_2.12-runtime-internal.xml │ │ ├── hw.akka-hw-akka_2.12-runtime.xml │ │ ├── hw.akka-hw-akka_2.12-scala-tool.xml │ │ ├── hw.akka-hw-akka_2.12-test-internal.xml │ │ ├── hw.akka-hw-akka_2.12-test.xml │ │ ├── ivy-report.css │ │ └── ivy-report.xsl │ └── streams │ ├── $global │ ├── $global │ │ └── dumpStructure │ │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── dependencyPositions │ │ └── $global │ │ │ └── streams │ │ │ └── update_cache_2.12 │ │ │ ├── input_dsp │ │ │ └── output_dsp │ ├── ivyConfiguration │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── ivySbt │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── projectDescriptors │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── ssExtractDependencies │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── update │ │ └── $global │ │ │ └── streams │ │ │ ├── out │ │ │ └── update_cache_2.12 │ │ │ ├── inputs │ │ │ └── output │ └── updateClassifiers │ │ └── $global │ │ └── streams │ │ └── out │ ├── compile │ ├── externalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── managedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── unmanagedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ └── unmanagedJars │ │ └── $global │ │ └── streams │ │ └── export │ ├── runtime │ ├── externalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── managedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── unmanagedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ └── unmanagedJars │ │ └── $global │ │ └── streams │ │ └── export │ └── test │ ├── externalDependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── managedClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── unmanagedClasspath │ └── $global │ │ └── streams │ │ └── export │ └── unmanagedJars │ └── $global │ └── streams │ └── export ├── Project5_Guidelines.pdf └── Sequence-Diagram ├── Diagram_Assumptions.pdf └── TSP-Sequence_Diagram.pdf /.gitignore: -------------------------------------------------------------------------------- 1 | *.idea 2 | build* 3 | 4 | -------------------------------------------------------------------------------- /Auction_Service/Code/Client.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | public interface Client extends Runnable 4 | { 5 | String name(); 6 | } -------------------------------------------------------------------------------- /Auction_Service/Code/Item.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | import java.util.Date; 4 | 5 | 6 | /** 7 | * Stores the initial information for an item submitted for bidding. 8 | * 9 | */ 10 | public class Item 11 | { 12 | private String seller; 13 | private String name; 14 | private int listingID; 15 | private int lowestBiddingPrice; 16 | private int biddingDurationMs; 17 | 18 | private Date biddingStart; 19 | 20 | public Item(String seller, String name, int listingID, int lowestBiddingPrice, int biddingDurationMs) 21 | { 22 | this.seller = seller; 23 | this.name = name; 24 | this.listingID = listingID; 25 | this.lowestBiddingPrice = lowestBiddingPrice; 26 | this.biddingDurationMs = biddingDurationMs; 27 | 28 | this.biddingStart = new Date(); 29 | } 30 | 31 | public String seller() 32 | { 33 | return this.seller; 34 | } 35 | 36 | public String name() 37 | { 38 | return this.name; 39 | } 40 | 41 | public int listingID() 42 | { 43 | return this.listingID; 44 | } 45 | 46 | public int lowestBiddingPrice() 47 | { 48 | return this.lowestBiddingPrice; 49 | } 50 | 51 | public int biddingDurationMs() 52 | { 53 | return this.biddingDurationMs; 54 | } 55 | 56 | /** 57 | * Returns true if the bidding is open (active) for the current item. 58 | * 59 | * In other words, if the time elapsed from the moment the bidding 60 | * started for this item is less than the bidding duration, it will 61 | * return true. Otherwise it returns false. 62 | */ 63 | public boolean biddingOpen() 64 | { 65 | Date now = new Date(); 66 | return (now.getTime() - this.biddingStart.getTime()) / 1 < this.biddingDurationMs; 67 | } 68 | 69 | @Override 70 | public boolean equals(Object obj) 71 | { 72 | if (obj == null) { return false; } 73 | 74 | if (!obj.getClass().equals(this.getClass())) 75 | { 76 | return false; 77 | } 78 | 79 | Item item = (Item)obj; 80 | 81 | return item.listingID == this.listingID; 82 | } 83 | 84 | @Override 85 | public int hashCode() 86 | { 87 | return this.listingID; 88 | } 89 | 90 | @Override 91 | public String toString() 92 | { 93 | return ((Integer)this.listingID).toString(); 94 | } 95 | } -------------------------------------------------------------------------------- /Auction_Service/Code/Seller.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import java.util.Random; 6 | 7 | public class Seller implements Client 8 | { 9 | private static final int MaxItems = 100; 10 | 11 | private String name; 12 | private int cycles; 13 | private int maxSleepTimeMs; 14 | 15 | private List items; 16 | private Random rand; 17 | 18 | private AuctionServer server; 19 | 20 | public Seller(AuctionServer server, String name, int cycles, int maxSleepTimeMs, long randomSeed) 21 | { 22 | this.name = name; 23 | this.cycles = cycles; 24 | this.maxSleepTimeMs = maxSleepTimeMs; 25 | 26 | // Generate items 27 | this.rand = new Random(randomSeed); 28 | int itemCount = MaxItems; 29 | this.items = new ArrayList(); 30 | 31 | for (int i = 0; i < itemCount; ++i) 32 | { 33 | items.add(this.name() + "#" + i); 34 | } 35 | 36 | this.server = server; 37 | } 38 | 39 | @Override 40 | public String name() 41 | { 42 | return this.name; 43 | } 44 | 45 | @Override 46 | public void run() 47 | { 48 | for (int i = 0; i < this.cycles && this.items.size() > 0; ++i) 49 | { 50 | int index = this.rand.nextInt(this.items.size()); 51 | String item = this.items.get(index); 52 | 53 | int listingID = server.submitItem(this.name(), item, this.rand.nextInt(100), this.rand.nextInt(100) + 100); 54 | 55 | if (listingID != -1) 56 | { 57 | this.items.remove(index); 58 | } 59 | 60 | try 61 | { 62 | Thread.sleep(this.rand.nextInt(this.maxSleepTimeMs)); 63 | } 64 | catch (InterruptedException e) 65 | { 66 | e.printStackTrace(); 67 | return; 68 | } 69 | } 70 | } 71 | } -------------------------------------------------------------------------------- /Auction_Service/Code/Simulation.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | 4 | /** 5 | * Class provided for ease of test. This will not be used in the project 6 | * evaluation, so feel free to modify it as you like. 7 | */ 8 | public class Simulation 9 | { 10 | public static void main(String[] args) 11 | { 12 | int nrSellers = 50; 13 | int nrBidders = 20; 14 | 15 | Thread[] sellerThreads = new Thread[nrSellers]; 16 | Thread[] bidderThreads = new Thread[nrBidders]; 17 | Seller[] sellers = new Seller[nrSellers]; 18 | Bidder[] bidders = new Bidder[nrBidders]; 19 | 20 | // Start the sellers 21 | for (int i=0; i 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Auction_Service/Code/lib/junit4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/Auction_Service/Code/lib/junit4.jar -------------------------------------------------------------------------------- /Auction_Service/Code/src/hw2/Client.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | public interface Client extends Runnable 4 | { 5 | String name(); 6 | } -------------------------------------------------------------------------------- /Auction_Service/Code/src/hw2/Item.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | import java.util.Date; 4 | 5 | 6 | /** 7 | * Stores the initial information for an item submitted for bidding. 8 | * 9 | */ 10 | public class Item 11 | { 12 | private String seller; 13 | private String name; 14 | private int listingID; 15 | private int lowestBiddingPrice; 16 | private int biddingDurationMs; 17 | 18 | private Date biddingStart; 19 | 20 | public Item(String seller, String name, int listingID, int lowestBiddingPrice, int biddingDurationMs) 21 | { 22 | this.seller = seller; 23 | this.name = name; 24 | this.listingID = listingID; 25 | this.lowestBiddingPrice = lowestBiddingPrice; 26 | this.biddingDurationMs = biddingDurationMs; 27 | 28 | this.biddingStart = new Date(); 29 | } 30 | 31 | public String seller() 32 | { 33 | return this.seller; 34 | } 35 | 36 | public String name() 37 | { 38 | return this.name; 39 | } 40 | 41 | public int listingID() 42 | { 43 | return this.listingID; 44 | } 45 | 46 | public int lowestBiddingPrice() 47 | { 48 | return this.lowestBiddingPrice; 49 | } 50 | 51 | public int biddingDurationMs() 52 | { 53 | return this.biddingDurationMs; 54 | } 55 | 56 | /** 57 | * Returns true if the bidding is open (active) for the current item. 58 | * 59 | * In other words, if the time elapsed from the moment the bidding 60 | * started for this item is less than the bidding duration, it will 61 | * return true. Otherwise it returns false. 62 | */ 63 | public boolean biddingOpen() 64 | { 65 | Date now = new Date(); 66 | return (now.getTime() - this.biddingStart.getTime()) / 1 < this.biddingDurationMs; 67 | } 68 | 69 | @Override 70 | public boolean equals(Object obj) 71 | { 72 | if (obj == null) { return false; } 73 | 74 | if (!obj.getClass().equals(this.getClass())) 75 | { 76 | return false; 77 | } 78 | 79 | Item item = (Item)obj; 80 | 81 | return item.listingID == this.listingID; 82 | } 83 | 84 | @Override 85 | public int hashCode() 86 | { 87 | return this.listingID; 88 | } 89 | 90 | @Override 91 | public String toString() 92 | { 93 | return ((Integer)this.listingID).toString(); 94 | } 95 | } -------------------------------------------------------------------------------- /Auction_Service/Code/src/hw2/Seller.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | import hw2.AuctionServer; 4 | import hw2.Client; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import java.util.Random; 9 | 10 | public class Seller implements Client 11 | { 12 | private static final int MaxItems = 100; 13 | 14 | private String name; 15 | private int cycles; 16 | private int maxSleepTimeMs; 17 | 18 | private List items; 19 | private Random rand; 20 | 21 | private AuctionServer server; 22 | 23 | public Seller(AuctionServer server, String name, int cycles, int maxSleepTimeMs, long randomSeed) 24 | { 25 | this.name = name; 26 | this.cycles = cycles; 27 | this.maxSleepTimeMs = maxSleepTimeMs; 28 | 29 | // Generate items 30 | this.rand = new Random(randomSeed); 31 | int itemCount = MaxItems; 32 | this.items = new ArrayList(); 33 | 34 | for (int i = 0; i < itemCount; ++i) 35 | { 36 | items.add(this.name() + "#" + i); 37 | } 38 | 39 | this.server = server; 40 | } 41 | 42 | @Override 43 | public String name() 44 | { 45 | return this.name; 46 | } 47 | 48 | @Override 49 | public void run() 50 | { 51 | for (int i = 0; i < this.cycles && this.items.size() > 0; ++i) 52 | { 53 | int index = this.rand.nextInt(this.items.size()); 54 | String item = this.items.get(index); 55 | 56 | int listingID = server.submitItem(this.name(), item, this.rand.nextInt(100), this.rand.nextInt(100) + 100); 57 | 58 | if (listingID != -1) 59 | { 60 | this.items.remove(index); 61 | } 62 | 63 | try 64 | { 65 | Thread.sleep(this.rand.nextInt(this.maxSleepTimeMs)); 66 | } 67 | catch (InterruptedException e) 68 | { 69 | e.printStackTrace(); 70 | return; 71 | } 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /Auction_Service/Code/src/hw2/Simulation.java: -------------------------------------------------------------------------------- 1 | package hw2; 2 | 3 | /** 4 | * Class provided for ease of test. This will not be used in the project 5 | * evaluation, so feel free to modify it as you like. 6 | */ 7 | public class Simulation 8 | { 9 | public static void main(String[] args) 10 | { 11 | int nrSellers = 50; 12 | int nrBidders = 20; 13 | 14 | Thread[] sellerThreads = new Thread[nrSellers]; 15 | Thread[] bidderThreads = new Thread[nrBidders]; 16 | Seller[] sellers = new Seller[nrSellers]; 17 | Bidder[] bidders = new Bidder[nrBidders]; 18 | 19 | // Start the sellers 20 | for (int i=0; i, the 30 | * cook submits each Food item in the List to an appropriate 31 | * Machine, by calling makeFood(). Once all machines have 32 | * produced the desired Food, the order is complete, and the Customer 33 | * is notified. The cook can then go to process the next order. 34 | * If during its execution the cook is interrupted (i.e., some 35 | * other thread calls the interrupt() method on it, which could 36 | * raise InterruptedException if the cook is blocking), then it 37 | * terminates. 38 | */ 39 | public void run() { 40 | 41 | Simulation.logEvent(SimulationEvent.cookStarting(this)); 42 | try { 43 | while(true) { 44 | //YOUR CODE GOES HERE... 45 | 46 | } 47 | } 48 | catch(InterruptedException e) { 49 | // This code assumes the provided code in the Simulation class 50 | // that interrupts each cook thread when all customers are done. 51 | // You might need to change this if you change how things are 52 | // done in the Simulation class. 53 | Simulation.logEvent(SimulationEvent.cookEnding(this)); 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Code/src/hw3/Customer.java: -------------------------------------------------------------------------------- 1 | package hw3; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Customers are simulation actors that have two fields: a name, and a list 7 | * of Food items that constitute the Customer's order. When running, an 8 | * customer attempts to enter the coffee shop (only successful if the 9 | * coffee shop has a free table), place its order, and then leave the 10 | * coffee shop when the order is complete. 11 | */ 12 | public class Customer implements Runnable { 13 | //JUST ONE SET OF IDEAS ON HOW TO SET THINGS UP... 14 | private final String name; 15 | private final List order; 16 | private final int orderNum; 17 | 18 | private static int runningCounter = 0; 19 | 20 | /** 21 | * You can feel free modify this constructor. It must take at 22 | * least the name and order but may take other parameters if you 23 | * would find adding them useful. 24 | */ 25 | public Customer(String name, List order) { 26 | this.name = name; 27 | this.order = order; 28 | this.orderNum = ++runningCounter; 29 | } 30 | 31 | public String toString() { 32 | return name; 33 | } 34 | 35 | /** 36 | * This method defines what an Customer does: The customer attempts to 37 | * enter the coffee shop (only successful when the coffee shop has a 38 | * free table), place its order, and then leave the coffee shop 39 | * when the order is complete. 40 | */ 41 | public void run() { 42 | //YOUR CODE GOES HERE... 43 | 44 | 45 | } 46 | } -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Code/src/hw3/Food.java: -------------------------------------------------------------------------------- 1 | package hw3; 2 | 3 | /** 4 | * Food is what is prepared by Cooks, and ordered by Customers. Food 5 | * is defined by its name, and the amount of time it takes to prepare 6 | * by Machine. It is an immutable class. 7 | */ 8 | public class Food { 9 | public final String name; 10 | public final int cookTimeMS; 11 | 12 | public Food(String name, int cookTimeMS) { 13 | this.name = name; 14 | this.cookTimeMS = cookTimeMS; 15 | } 16 | 17 | public String toString() { 18 | return name; 19 | } 20 | } -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Code/src/hw3/FoodType.java: -------------------------------------------------------------------------------- 1 | package hw3; 2 | 3 | /** 4 | * We create all food objects used by the simulation in one place, here. 5 | * This allows us to safely check equality via reference, rather than by 6 | * structure/values. 7 | * 8 | */ 9 | public class FoodType { 10 | public static final Food burger = new Food("burger",500); 11 | public static final Food fries = new Food("fries",350); 12 | public static final Food coffee = new Food("coffee",100); 13 | } 14 | -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Code/src/hw3/Machine.java: -------------------------------------------------------------------------------- 1 | package hw3; 2 | 3 | /** 4 | * A Machine is used to make a particular Food. Each Machine makes 5 | * just one kind of Food. Each machine has a capacity: it can make 6 | * that many food items in parallel; if the machine is asked to 7 | * produce a food item beyond its capacity, the requester blocks. 8 | * Each food item takes at least item.cookTimeMS milliseconds to 9 | * produce. 10 | */ 11 | public class Machine { 12 | public final String machineName; 13 | public final Food machineFoodType; 14 | 15 | //YOUR CODE GOES HERE... 16 | 17 | 18 | /** 19 | * The constructor takes at least the name of the machine, 20 | * the Food item it makes, and its capacity. You may extend 21 | * it with other arguments, if you wish. Notice that the 22 | * constructor currently does nothing with the capacity; you 23 | * must add code to make use of this field (and do whatever 24 | * initialization etc. you need). 25 | */ 26 | public Machine(String nameIn, Food foodIn, int capacityIn) { 27 | this.machineName = nameIn; 28 | this.machineFoodType = foodIn; 29 | 30 | //YOUR CODE GOES HERE... 31 | 32 | } 33 | 34 | 35 | 36 | 37 | /** 38 | * This method is called by a Cook in order to make the Machine's 39 | * food item. You can extend this method however you like, e.g., 40 | * you can have it take extra parameters or return something other 41 | * than Object. It should block if the machine is currently at full 42 | * capacity. If not, the method should return, so the Cook making 43 | * the call can proceed. You will need to implement some means to 44 | * notify the calling Cook when the food item is finished. 45 | */ 46 | public Object makeFood() throws InterruptedException { 47 | //YOUR CODE GOES HERE... 48 | } 49 | 50 | //THIS MIGHT BE A USEFUL METHOD TO HAVE AND USE BUT IS JUST ONE IDEA 51 | private class CookAnItem implements Runnable { 52 | public void run() { 53 | try { 54 | //YOUR CODE GOES HERE... 55 | } catch(InterruptedException e) { } 56 | } 57 | } 58 | 59 | 60 | public String toString() { 61 | return machineName; 62 | } 63 | } -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Code/src/hw3/Validate.java: -------------------------------------------------------------------------------- 1 | package hw3; 2 | 3 | import java.util.List; 4 | 5 | import hw3.SimulationEvent; 6 | 7 | 8 | /** 9 | * Validates a simulation 10 | */ 11 | public class Validate { 12 | private static class InvalidSimulationException extends Exception { 13 | public InvalidSimulationException() { } 14 | }; 15 | 16 | // Helper method for validating the simulation 17 | private static void check(boolean check, 18 | String message) throws InvalidSimulationException { 19 | if (!check) { 20 | System.err.println("SIMULATION INVALID : "+message); 21 | throw new Validate.InvalidSimulationException(); 22 | } 23 | } 24 | 25 | /** 26 | * Validates the given list of events is a valid simulation. 27 | * Returns true if the simulation is valid, false otherwise. 28 | * 29 | * @param events - a list of events generated by the simulation 30 | * in the order they were generated. 31 | * 32 | * @returns res - whether the simulation was valid or not 33 | */ 34 | public static boolean validateSimulation(List events) { 35 | try { 36 | check(events.get(0).event == SimulationEvent.EventType.SimulationStarting, 37 | "Simulation didn't start with initiation event"); 38 | check(events.get(events.size()-1).event == 39 | SimulationEvent.EventType.SimulationEnded, 40 | "Simulation didn't end with termination event"); 41 | 42 | /* In hw3 you will write validation code for things such as: 43 | Should not have more eaters than specified 44 | Should not have more cooks than specified 45 | The coffee shop capacity should not be exceeded 46 | The capacity of each machine should not be exceeded 47 | Eater should not receive order until cook completes it 48 | Eater should not leave coffee shop until order is received 49 | Eater should not place more than one order 50 | Cook should not work on order before it is placed 51 | */ 52 | 53 | return true; 54 | } catch (InvalidSimulationException e) { 55 | return false; 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Code_Design&Specifications/Design-and-Specifications.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/Coffee_Shop_Simulation/Code_Design&Specifications/Design-and-Specifications.pdf -------------------------------------------------------------------------------- /Coffee_Shop_Simulation/Project3_Guidelines.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/Coffee_Shop_Simulation/Project3_Guidelines.pdf -------------------------------------------------------------------------------- /Max_Integer_LinkedList_Parallel_ThreadSafe/Code/lib/junit4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/Max_Integer_LinkedList_Parallel_ThreadSafe/Code/lib/junit4.jar -------------------------------------------------------------------------------- /Max_Integer_LinkedList_Parallel_ThreadSafe/Code/src/hw1/ParallelMaximizer.java: -------------------------------------------------------------------------------- 1 | package hw1; 2 | //import java.util.LinkedList; 3 | import java.util.*; 4 | 5 | /** 6 | * This class runs numThreads instances of 7 | * hw1.ParallelMaximizerWorker in parallel to find the maximum 8 | * Integer in a LinkedList. 9 | */ 10 | public class ParallelMaximizer { 11 | 12 | int numThreads; 13 | ArrayList workers; // = new ArrayList(numThreads); 14 | 15 | public ParallelMaximizer(int numThreads) { 16 | this.numThreads = numThreads; 17 | workers = new ArrayList(numThreads); 18 | } 19 | 20 | 21 | public static void main(String[] args) { 22 | int numThreads = 2000; // number of threads for the maximizer 23 | int numElements = 10000000; // number of integers in the list 24 | 25 | ParallelMaximizer maximizer = new ParallelMaximizer(numThreads); 26 | LinkedList list = new LinkedList(); 27 | 28 | // populate the list 29 | // TODO: change this implementation to test accordingly 30 | for (int i=0; inumThreads instances of 44 | * hw1.ParallelMaximizerWorker to find partial maximums and then 45 | * combining the results. 46 | * @param list LinkedList containing Integers 47 | * @return Maximum element in the LinkedList 48 | * @throws InterruptedException 49 | */ 50 | public int max(LinkedList list) throws InterruptedException { 51 | int max = Integer.MIN_VALUE; // initialize max as lowest value 52 | 53 | System.out.println(workers.size()); 54 | // run numThreads instances of hw1.ParallelMaximizerWorker 55 | for (int i=0; i < numThreads; i++) { 56 | workers.add(i, new ParallelMaximizerWorker(list)); 57 | workers.get(i).run(); 58 | } 59 | // wait for threads to finish 60 | for (int i=0; i= max) 70 | { 71 | max = workerMax; 72 | } 73 | } 74 | 75 | return max; 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /Max_Integer_LinkedList_Parallel_ThreadSafe/Code/src/hw1/ParallelMaximizerWorker.java: -------------------------------------------------------------------------------- 1 | package hw1; 2 | 3 | import java.util.LinkedList; 4 | 5 | /** 6 | * Given a LinkedList, this class will find the maximum over a 7 | * subset of its Integers. 8 | */ 9 | public class ParallelMaximizerWorker extends Thread { 10 | 11 | protected LinkedList list; 12 | protected int partialMax = Integer.MIN_VALUE; // initialize to lowest value 13 | 14 | public ParallelMaximizerWorker(LinkedList list) { 15 | this.list = list; 16 | } 17 | 18 | /** 19 | * Update partialMax until the list is exhausted. 20 | */ 21 | public void run() { 22 | while (true) { 23 | int number; 24 | // check if list is not empty and removes the head 25 | // synchronization needed to avoid atomicity violation 26 | synchronized(list) { 27 | if (list.isEmpty()) 28 | return; // list is empty 29 | number = list.remove(); 30 | } 31 | 32 | // update partialMax according to new value 33 | // TODO: IMPLEMENT CODE HERE 34 | if(number >= partialMax) 35 | { 36 | partialMax = number; 37 | } 38 | } 39 | } 40 | 41 | public int getPartialMax() { 42 | return partialMax; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /Max_Integer_LinkedList_Parallel_ThreadSafe/Code/src/hw1/PublicTest.java: -------------------------------------------------------------------------------- 1 | package hw1; 2 | 3 | import static org.junit.Assert.*; 4 | import java.util.*; 5 | 6 | 7 | import org.junit.Test; 8 | 9 | import hw1.ParallelMaximizer; 10 | 11 | public class PublicTest { 12 | 13 | private int threadCount = 10; // number of threads to run 14 | private ParallelMaximizer maximizer = new ParallelMaximizer(threadCount); 15 | 16 | @Test 17 | public void compareMax() { 18 | int size = 10000; // size of list 19 | LinkedList list = new LinkedList(); 20 | Random rand = new Random(); 21 | int serialMax = Integer.MIN_VALUE; 22 | int parallelMax = 0; 23 | // populate list with random elements 24 | for (int i=0; i choices; 21 | 22 | Choice(Position at, Direction from, LinkedList choices) 23 | { 24 | this.at = at; 25 | this.choices = choices; 26 | this.from = from; 27 | } 28 | 29 | /** 30 | * Returns true if the choice represents a dead-end. 31 | * 32 | * @return 33 | */ 34 | boolean isDeadend() 35 | { 36 | return choices.isEmpty(); 37 | } 38 | } -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/Direction.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | /** Represents a compass direction. */ 4 | public enum Direction 5 | { 6 | NORTH, EAST, SOUTH, WEST; 7 | 8 | /** 9 | * Returns the opposite compass direction. So reverse(NORTH) returns SOUTH, 10 | * and reverse(EAST) returns WEST. 11 | */ 12 | public Direction reverse() 13 | { 14 | switch (this) 15 | { 16 | case NORTH: 17 | return SOUTH; 18 | case SOUTH: 19 | return NORTH; 20 | case EAST: 21 | return WEST; 22 | case WEST: 23 | return EAST; 24 | } 25 | 26 | return null; // unreachable 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/MazeInputStream.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | import java.io.IOException; 4 | import java.io.InputStream; 5 | import java.io.ObjectInputStream; 6 | import java.io.ObjectStreamClass; 7 | 8 | /** 9 | * This class is needed to deserialize legacy files. 10 | */ 11 | public class MazeInputStream extends ObjectInputStream { 12 | 13 | public MazeInputStream(InputStream in) throws IOException { 14 | super(in); 15 | } 16 | 17 | @Override 18 | protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException { 19 | ObjectStreamClass desc = super.readClassDescriptor(); 20 | if (desc.getName().equals("cmsc433_p4.Maze")) { 21 | return ObjectStreamClass.lookup(Maze.class); 22 | } 23 | return desc; 24 | }; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/MazeSolver.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Superclass of all solvers. Do not change! 7 | */ 8 | public abstract class MazeSolver 9 | { 10 | protected Maze maze; 11 | 12 | public MazeSolver(Maze maze) 13 | { 14 | this.maze = maze; 15 | } 16 | 17 | /** 18 | * Solve the maze and return the solution. A solution is a list of 19 | * directions that lead from the maze start to the end. If no solution 20 | * exists, null should be returned. 21 | * 22 | * @return The list of directions that would lead a person from the maze 23 | * start to the end. 24 | */ 25 | public abstract List solve(); 26 | } 27 | -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/Move.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | public class Move 4 | { 5 | public Position from; 6 | public Direction to; 7 | public Move previous; 8 | 9 | public Move() { } 10 | 11 | public Move(Position from, Direction to, Move previous) 12 | { 13 | this.from = from; 14 | this.to = to; 15 | this.previous = previous; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/Position.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | /** 4 | * Stores a position in the maze. 5 | */ 6 | public class Position 7 | { 8 | /** The column for this position */ 9 | public final int col; 10 | /** The row for this position */ 11 | public final int row; 12 | 13 | public Position(int col, int row) 14 | { 15 | this.col = col; 16 | this.row = row; 17 | } 18 | 19 | @Override 20 | public boolean equals(Object other) 21 | { 22 | if (other instanceof Position) 23 | { 24 | Position o = (Position) other; 25 | return (col == o.col) && (row == o.row); 26 | } 27 | else 28 | { 29 | return false; 30 | } 31 | } 32 | 33 | @Override 34 | public String toString() 35 | { 36 | return col + "," + row; 37 | } 38 | 39 | /** 40 | * Generates a new position that is the result of moving from this position 41 | * in direction "dir." 42 | */ 43 | public Position move(Direction dir) 44 | { 45 | switch (dir) 46 | { 47 | case NORTH: 48 | return new Position(col, row - 1); 49 | case SOUTH: 50 | return new Position(col, row + 1); 51 | case EAST: 52 | return new Position(col + 1, row); 53 | case WEST: 54 | return new Position(col - 1, row); 55 | } 56 | 57 | return null; // unreachable 58 | } 59 | 60 | public int hashCode() 61 | { 62 | return (col << 16) + row; 63 | } 64 | } -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/STMazeSolverDFS.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | import java.util.Iterator; 4 | import java.util.LinkedList; 5 | import java.util.List; 6 | 7 | /** 8 | * An efficient single-threaded depth-first solver. 9 | */ 10 | public class STMazeSolverDFS extends SkippingMazeSolver 11 | { 12 | public STMazeSolverDFS(Maze maze) 13 | { 14 | super(maze); 15 | } 16 | 17 | /** 18 | * Performs a depth-first search for the exit. The solver operates by 19 | * maintaining a stack of choices. During each iteration, the choice at the 20 | * top of the stack is examined. If choice.isEmpty() is true, then we have 21 | * reached a dead-end and must backtrack by popping the stack. If the choice 22 | * is not empty, then we proceed down the first path in the list of options. 23 | * If the exit is encountered, then SolutionFound is thrown and we generate 24 | * the solution path, which we return. At any given point in the execution, 25 | * the list of first choices yields the current path. That is, if the choice 26 | * stack is: 27 | * 28 | *
29 |      * [[E W S] [E W] [S N] [N]]
30 |      * 
31 | * 32 | * Then the current path is given by the list: 33 | * 34 | *
35 |      * [E E S N]
36 |      * 
37 | */ 38 | public List solve() 39 | { 40 | LinkedList choiceStack = new LinkedList(); 41 | Choice ch; 42 | 43 | try 44 | { 45 | choiceStack.push(firstChoice(maze.getStart())); 46 | while (!choiceStack.isEmpty()) 47 | { 48 | ch = choiceStack.peek(); 49 | if (ch.isDeadend()) 50 | { 51 | // backtrack. 52 | choiceStack.pop(); 53 | if (!choiceStack.isEmpty()) choiceStack.peek().choices.pop(); 54 | continue; 55 | } 56 | choiceStack.push(follow(ch.at, ch.choices.peek())); 57 | } 58 | // No solution found. 59 | return null; 60 | } 61 | catch (SolutionFound e) 62 | { 63 | Iterator iter = choiceStack.iterator(); 64 | LinkedList solutionPath = new LinkedList(); 65 | 66 | while (iter.hasNext()) 67 | { 68 | ch = iter.next(); 69 | solutionPath.push(ch.choices.peek()); 70 | } 71 | 72 | if (maze.display != null) maze.display.updateDisplay(); 73 | return pathToFullPath(solutionPath); 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Maze_Solver/Code/src/hwMaze/STMazeSolverRec.java: -------------------------------------------------------------------------------- 1 | package hwMaze; 2 | 3 | import java.util.HashSet; 4 | import java.util.LinkedList; 5 | import java.util.List; 6 | 7 | /** 8 | * A single-threaded depth-first solver. 9 | */ 10 | public class STMazeSolverRec extends MazeSolver { 11 | private HashSet visited; 12 | 13 | public STMazeSolverRec(Maze maze) { 14 | super(maze); 15 | } 16 | 17 | public LinkedList solve(Position p) { 18 | if (maze.getEnd().equals(p)) { 19 | return new LinkedList(); 20 | } else { 21 | visited.add(p); 22 | List ds = maze.getMoves(p); 23 | for (Direction d : ds) { 24 | Position nextP = p.move(d); 25 | if (!visited.contains(nextP)) { 26 | LinkedList sol = solve(nextP); 27 | if (sol != null) { 28 | sol.addFirst(d); 29 | return sol; 30 | } 31 | } 32 | } 33 | return null; // no solution 34 | } 35 | } 36 | 37 | public List solve() { 38 | visited = new HashSet(); 39 | return solve(maze.getStart()); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Maze_Solver/Code_Design&Specifications/Design-and-Specifications.pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/Maze_Solver/Code_Design&Specifications/Design-and-Specifications.pages -------------------------------------------------------------------------------- /Maze_Solver/Project4_Guidelines.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/Maze_Solver/Project4_Guidelines.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # multithreading-projects-java 2 | Parallel and Multithreaded Programming 3 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/.mvn/extensions.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | fr.brouillard.oss 5 | jgitver-maven-plugin 6 | 0.4.0 7 | 8 | 9 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/.mvn/jgitver.config.xml: -------------------------------------------------------------------------------- 1 | 4 | false 5 | true 6 | true 7 | true 8 | false 9 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/LICENSE: -------------------------------------------------------------------------------- 1 | Akka sample by Lightbend 2 | 3 | Licensed under Public Domain (CC0) 4 | 5 | To the extent possible under law, the person who associated CC0 with 6 | this Template has waived all copyright and related or neighboring 7 | rights to this Template. 8 | 9 | You should have received a copy of the CC0 legalcode along with this 10 | work. If not, see . 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/README.md: -------------------------------------------------------------------------------- 1 | ## The Travelling Salesman Problem with Akka in JAVA 2 | 3 | ## Run with Maven 4 | 5 | This sample also includes a Maven pom.xml. 6 | 7 | You can run the main classes with `mvn` from a terminal window 8 | mvn compile exec:java -Dexec.mainClass="hw.akka.User" 9 | 10 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/cities.txt: -------------------------------------------------------------------------------- 1 | 0 12 3 23 1 5 32 56 2 | 12 0 9 18 3 41 45 5 3 | 3 9 0 89 56 21 12 49 4 | 23 18 89 0 87 46 75 17 5 | 1 3 56 87 0 55 22 86 6 | 5 41 21 46 55 0 21 76 7 | 32 45 12 75 22 21 0 11 8 | 56 5 49 17 86 76 11 0 9 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 4.0.0 7 | hw-akka 8 | hw.akka 9 | Akka Cities in Java 10 | empty 11 | 12 | 13 | UTF-8 14 | 15 | 16 | 17 | 18 | com.typesafe.akka 19 | akka-actor_2.12 20 | 2.5.22 21 | 22 | 23 | 24 | 25 | 26 | 27 | org.apache.maven.plugins 28 | maven-compiler-plugin 29 | 3.1 30 | 31 | 1.8 32 | 1.8 33 | true 34 | 35 | -Xlint 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/plugins.sbt: -------------------------------------------------------------------------------- 1 | addSbtPlugin("com.dwijnand" % "sbt-dynver" % "3.0.0") 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/project/target/config-classes/$fe43e91088caf1a40db5$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/project/target/config-classes/$fe43e91088caf1a40db5$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/project/target/config-classes/$fe43e91088caf1a40db5.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/project/target/config-classes/$fe43e91088caf1a40db5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/project/target/config-classes/$fe43e91088caf1a40db5.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$355b19a14d8fcdd4e230$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$355b19a14d8fcdd4e230$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$355b19a14d8fcdd4e230.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$355b19a14d8fcdd4e230.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$355b19a14d8fcdd4e230.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$36ced12c2dbf71f7f471$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$36ced12c2dbf71f7f471$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$36ced12c2dbf71f7f471.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$36ced12c2dbf71f7f471.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$36ced12c2dbf71f7f471.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$5c422fa3f516c23a5500$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$5c422fa3f516c23a5500$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$5c422fa3f516c23a5500.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$5c422fa3f516c23a5500.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$5c422fa3f516c23a5500.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$90cfc060abba677ee0f5$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$90cfc060abba677ee0f5$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$90cfc060abba677ee0f5.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$90cfc060abba677ee0f5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$90cfc060abba677ee0f5.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$a8b52fb4a5766507d9f5$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$a8b52fb4a5766507d9f5$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$a8b52fb4a5766507d9f5.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$a8b52fb4a5766507d9f5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$a8b52fb4a5766507d9f5.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$efa0bb85629661ad7d4d$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$efa0bb85629661ad7d4d$.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$efa0bb85629661ad7d4d.cache: -------------------------------------------------------------------------------- 1 | sbt.internal.DslEntry -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/config-classes/$efa0bb85629661ad7d4d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/config-classes/$efa0bb85629661ad7d4d.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/default/akka-samples-main-java-build/scala_2.12/sbt_1.0/0.1.0-SNAPSHOT/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #default#akka-samples-main-java-build;0.1.0-SNAPSHOT resolved revisions 2 | #Tue Apr 09 01:12:45 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.7\:\#@\#\:=2.12.7 ? 2.12.7 null 4 | +e\:sbtVersion\:\#@\#\:+1.0\:\#@\#\:+module\:\#@\#\:+global-plugins\:\#@\#\:+e\:scalaVersion\:\#@\#\:+2.12\:\#@\#\:+organisation\:\#@\#\:+org.scala-sbt\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+revision\:\#@\#\:+0.0\:\#@\#\:=0.0 integration 0.0 null 5 | +e\:sbtVersion\:\#@\#\:+1.0\:\#@\#\:+module\:\#@\#\:+sbt-dynver\:\#@\#\:+e\:scalaVersion\:\#@\#\:+2.12\:\#@\#\:+organisation\:\#@\#\:+com.dwijnand\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+revision\:\#@\#\:+3.0.0\:\#@\#\:=3.0.0 release 3.0.0 null 6 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.7\:\#@\#\:=2.12.7 release 2.12.7 null 7 | +organisation\:\#@\#\:+org.scala-sbt\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+sbt\:\#@\#\:+revision\:\#@\#\:+1.2.8\:\#@\#\:=1.2.8 release 1.2.8 null 8 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/default/akka-samples-main-java-build/scala_2.12/sbt_1.0/0.1.0-SNAPSHOT/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | akka-samples-main-java-build 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/default/code-build/scala_2.12/sbt_1.0/0.1.0-SNAPSHOT/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #default#code-build;0.1.0-SNAPSHOT resolved revisions 2 | #Fri Apr 12 17:45:01 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.7\:\#@\#\:=2.12.7 ? 2.12.7 null 4 | +e\:sbtVersion\:\#@\#\:+1.0\:\#@\#\:+module\:\#@\#\:+global-plugins\:\#@\#\:+e\:scalaVersion\:\#@\#\:+2.12\:\#@\#\:+organisation\:\#@\#\:+org.scala-sbt\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+revision\:\#@\#\:+0.0\:\#@\#\:=0.0 integration 0.0 null 5 | +e\:sbtVersion\:\#@\#\:+1.0\:\#@\#\:+module\:\#@\#\:+sbt-dynver\:\#@\#\:+e\:scalaVersion\:\#@\#\:+2.12\:\#@\#\:+organisation\:\#@\#\:+com.dwijnand\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+revision\:\#@\#\:+3.0.0\:\#@\#\:=3.0.0 release 3.0.0 null 6 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.7\:\#@\#\:=2.12.7 release 2.12.7 null 7 | +organisation\:\#@\#\:+org.scala-sbt\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+sbt\:\#@\#\:+revision\:\#@\#\:+1.2.8\:\#@\#\:=1.2.8 release 1.2.8 null 8 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/default/code-build/scala_2.12/sbt_1.0/0.1.0-SNAPSHOT/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | code-build 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-compile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-runtime-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-runtime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-akka-samples-main-java-build-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-compile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-runtime-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-runtime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/scala-2.12/sbt-1.0/resolution-cache/reports/default-code-build-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/$global/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/streams/$global/$global/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.12/input_dsp: -------------------------------------------------------------------------------- 1 | 1583132300 -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.12/output_dsp: -------------------------------------------------------------------------------- 1 | {"{\"organization\":\"org.scala-lang\",\"name\":\"scala-library\",\"revision\":\"2.12.7\",\"configurations\":\"provided\",\"isChanging\":false,\"isTransitive\":true,\"isForce\":false,\"explicitArtifacts\":[],\"inclusions\":[],\"exclusions\":[],\"extraAttributes\":{},\"crossVersion\":{\"type\":\"Disabled\"}}":{"value":{"$fields":["path","startLine"],"path":"(sbt.Classpaths.jvmBaseSettings) Defaults.scala","startLine":2207},"type":"LinePosition"},"{\"organization\":\"com.dwijnand\",\"name\":\"sbt-dynver\",\"revision\":\"3.0.0\",\"isChanging\":false,\"isTransitive\":true,\"isForce\":false,\"explicitArtifacts\":[],\"inclusions\":[],\"exclusions\":[],\"extraAttributes\":{\"e:sbtVersion\":\"1.0\",\"e:scalaVersion\":\"2.12\"},\"crossVersion\":{\"type\":\"Disabled\"}}":{"value":{"$fields":["path","range"],"path":"/Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/project/plugins.sbt","range":{"$fields":["start","end"],"start":1,"end":2}},"type":"RangePosition"}} -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/ivyConfiguration/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Other repositories: 2 | [debug] Default repositories: 3 | [debug] Using inline dependencies specified in Scala. 4 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/ivySbt/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/streams/$global/ivySbt/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/projectDescriptors/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/streams/$global/projectDescriptors/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/$global/update/$global/streams/update_cache_2.12/inputs: -------------------------------------------------------------------------------- 1 | 2030490465 -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/$global/$global/discoveredMainClasses/data: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/compile/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/streams/compile/compile/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/compileIncremental/$global/streams/export: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/project/target/streams/compile/compileIncremental/$global/streams/export -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/compileIncremental/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Full compilation, no sources in previous analysis. 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/copyResources/$global/streams/copy-resources: -------------------------------------------------------------------------------- 1 | [[{},{}],{}] -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/copyResources/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Copy resource mappings: 2 | [debug] 3 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/project/target/scala-2.12/sbt-1.0/classes 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/internalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/compile/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/dependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/project/target/scala-2.12/sbt-1.0/classes:/Users/urvi/.sbt/1.0/plugins/target/scala-2.12/sbt-1.0/classes:/Users/urvi/.ivy2/cache/scala_2.12/sbt_1.0/com.dwijnand/sbt-dynver/jars/sbt-dynver-3.0.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/project/target/scala-2.12/sbt-1.0/classes 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/scala_2.12/sbt_1.0/com.dwijnand/sbt-dynver/jars/sbt-dynver-3.0.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/fullClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/project/target/scala-2.12/sbt-1.0/classes:/Users/urvi/.sbt/1.0/plugins/target/scala-2.12/sbt-1.0/classes:/Users/urvi/.ivy2/cache/scala_2.12/sbt_1.0/com.dwijnand/sbt-dynver/jars/sbt-dynver-3.0.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/internalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/project/target/scala-2.12/sbt-1.0/classes 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/scala_2.12/sbt_1.0/com.dwijnand/sbt-dynver/jars/sbt-dynver-3.0.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/project/target/streams/runtime/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/sbt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ./sbt-dist/bin/sbt "$@" -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/sbt-dist/bin/sbt-launch.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/sbt-dist/bin/sbt-launch.jar -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/sbt-dist/bin/sbt.bat: -------------------------------------------------------------------------------- 1 | @REM SBT launcher script 2 | @REM 3 | @REM Envioronment: 4 | @REM JAVA_HOME - location of a JDK home dir (mandatory) 5 | @REM SBT_OPTS - JVM options (optional) 6 | @REM Configuration: 7 | @REM sbtconfig.txt found in the SBT_HOME. 8 | 9 | @REM ZOMG! We need delayed expansion to build up CFG_OPTS later 10 | @setlocal enabledelayedexpansion 11 | 12 | @echo off 13 | set SBT_HOME=%~dp0 14 | 15 | rem FIRST we load the config file of extra options. 16 | set FN=%SBT_HOME%\..\conf\sbtconfig.txt 17 | set CFG_OPTS= 18 | FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%FN%") DO ( 19 | set DO_NOT_REUSE_ME=%%i 20 | rem ZOMG (Part #2) WE use !! here to delay the expansion of 21 | rem CFG_OPTS, otherwise it remains "" for this loop. 22 | set CFG_OPTS=!CFG_OPTS! !DO_NOT_REUSE_ME! 23 | ) 24 | 25 | rem We use the value of the JAVACMD environment variable if defined 26 | set _JAVACMD=%JAVACMD% 27 | 28 | if "%_JAVACMD%"=="" ( 29 | if not "%JAVA_HOME%"=="" ( 30 | if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 31 | ) 32 | ) 33 | 34 | if "%_JAVACMD%"=="" set _JAVACMD=java 35 | 36 | rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config. 37 | set _JAVA_OPTS=%JAVA_OPTS% 38 | if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=%CFG_OPTS% 39 | 40 | :run 41 | 42 | "%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -cp "%SBT_HOME%sbt-launch.jar" xsbt.boot.Boot %* 43 | if ERRORLEVEL 1 goto error 44 | goto end 45 | 46 | :error 47 | @endlocal 48 | exit /B 1 49 | 50 | 51 | :end 52 | @endlocal 53 | exit /B 0 54 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/sbt-dist/conf/sbtconfig.txt: -------------------------------------------------------------------------------- 1 | # Set the java args to high 2 | 3 | -Xmx512M 4 | 5 | -XX:MaxPermSize=256m 6 | 7 | -XX:ReservedCodeCacheSize=128m 8 | 9 | 10 | 11 | # Set the extra SBT options 12 | 13 | -Dsbt.log.format=true 14 | 15 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/sbt-dist/conf/sbtopts: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------ # 2 | # The SBT Configuration file. # 3 | # ------------------------------------------------ # 4 | 5 | 6 | # Disable ANSI color codes 7 | # 8 | #-no-colors 9 | 10 | # Starts sbt even if the current directory contains no sbt project. 11 | # 12 | -sbt-create 13 | 14 | # Path to global settings/plugins directory (default: ~/.sbt) 15 | # 16 | #-sbt-dir /etc/sbt 17 | 18 | # Path to shared boot directory (default: ~/.sbt/boot in 0.11 series) 19 | # 20 | #-sbt-boot ~/.sbt/boot 21 | 22 | # Path to local Ivy repository (default: ~/.ivy2) 23 | # 24 | #-ivy ~/.ivy2 25 | 26 | # set memory options 27 | # 28 | #-mem 29 | 30 | # Use local caches for projects, no sharing. 31 | # 32 | #-no-share 33 | 34 | # Put SBT in offline mode. 35 | # 36 | #-offline 37 | 38 | # Sets the SBT version to use. 39 | #-sbt-version 0.11.3 40 | 41 | # Scala version (default: latest release) 42 | # 43 | #-scala-home 44 | #-scala-version 45 | 46 | # java version (default: java from PATH, currently $(java -version |& grep version)) 47 | # 48 | #-java-home 49 | 50 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/sbt.bat: -------------------------------------------------------------------------------- 1 | @REM SBT launcher script 2 | 3 | .\sbt-dist\bin\sbt.bat %* 4 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/java/hw/akka/Messages.java: -------------------------------------------------------------------------------- 1 | package hw.akka; 2 | 3 | /** 4 | * Messages that are passed around the actors are usually immutable classes. 5 | * Think how you go about creating immutable classes:) Make them all static 6 | * classes inside the Messages class. 7 | * 8 | * This class should have all the immutable messages that you need to pass 9 | * around actors. You are free to add more classes(Messages) that you think is 10 | * necessary 11 | * 12 | * @author Akash Nagesh and M. Kokar 13 | * 14 | */ 15 | public class Messages { 16 | 17 | //Messages defined here 18 | public static enum Msg { 19 | SEARCH, 20 | DONE, 21 | STOP_SEARCH, 22 | WINNER; 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/java/hw/akka/SearchSolution.java: -------------------------------------------------------------------------------- 1 | package hw.akka; 2 | 3 | import akka.actor.ActorRef; 4 | 5 | import java.util.List; 6 | 7 | public class SearchSolution { 8 | 9 | private double tourCost; 10 | private List tourPath; 11 | private ActorRef winnerActor; 12 | private String message; 13 | private boolean isWinner; 14 | 15 | public double getTourCost() { 16 | return tourCost; 17 | } 18 | 19 | public void setTourCost(double tourCost) { 20 | this.tourCost = tourCost; 21 | } 22 | 23 | public List getTourPath() { 24 | return tourPath; 25 | } 26 | 27 | public void setTourPath(List tourPath) { 28 | this.tourPath = tourPath; 29 | } 30 | 31 | public ActorRef getWinnerActor() { 32 | return winnerActor; 33 | } 34 | 35 | public void setWinnerActor(ActorRef winnerActor) { 36 | this.winnerActor = winnerActor; 37 | } 38 | 39 | public String getMessage() { 40 | return message; 41 | } 42 | 43 | public void setMessage(String message) { 44 | this.message = message; 45 | } 46 | 47 | public boolean getWinner() { 48 | return isWinner; 49 | } 50 | 51 | public void setWinner(boolean winner) { 52 | isWinner = winner; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/java/hw/akka/Solver.java: -------------------------------------------------------------------------------- 1 | package hw.akka; 2 | 3 | import akka.actor.AbstractActor; 4 | import akka.actor.ActorRef; 5 | import akka.actor.Props; 6 | 7 | import java.util.ArrayList; 8 | 9 | import static hw.akka.Messages.Msg; 10 | 11 | /** 12 | * This is the main actor and the only actor that is created directly under the 13 | * {@code ActorSystem} This actor creates 4 child actors 14 | * {@code Searcher} 15 | * 16 | * @author Akash Nagesh and M. Kokar 17 | */ 18 | 19 | 20 | public class Solver extends AbstractActor { 21 | 22 | private static final int SEARCHER_ACTORS = 4; 23 | private String filename; 24 | private int start_end_city; 25 | private int path_length_threshold; 26 | private ArrayList searcherActors = new ArrayList<>(); 27 | 28 | public Solver(String filename, int start_end_city, int path_length_threshold) { 29 | this.filename = filename; 30 | this.start_end_city = start_end_city; 31 | this.path_length_threshold = path_length_threshold; 32 | } 33 | 34 | @Override 35 | public Receive createReceive() { 36 | return receiveBuilder() 37 | .match(SearchSolution.class, searchSolution -> { 38 | if (searchSolution.getTourCost() == 0.0 ) { 39 | 40 | //When Tour cost was greater than Threshold 41 | searchSolution.setMessage("The Tour Cost was greater than the Threshold given."); 42 | 43 | //Tell all agents about the threshold value exceeded 44 | for (ActorRef searcher : searcherActors) { 45 | searcher.tell(searchSolution, self()); 46 | } 47 | } 48 | else { 49 | 50 | //Getting the first sender and setting it as the Winner 51 | searchSolution.setWinnerActor(getSender()); 52 | String winner = getSender().path().name(); 53 | 54 | for (ActorRef searcher : searcherActors) { 55 | if (searcher.path().name().equals(winner)) { 56 | 57 | //Notify the Winner 58 | searcher.tell(Msg.WINNER, self()); 59 | 60 | //When the searcher is done, stop this actor and with it the application 61 | getContext().stop(self()); 62 | } 63 | else { 64 | //Tell all other agents, except the Winner, about the solution found 65 | searcher.tell(searchSolution, self()); 66 | } 67 | } 68 | } 69 | }) 70 | .build(); 71 | } 72 | 73 | @Override 74 | public void preStart() { 75 | 76 | //Prop for Searcher Agent Actor 77 | Props searcherProp = Props.create(Searcher.class, filename, start_end_city, path_length_threshold); 78 | 79 | // Create the Searcher Actors 80 | for(int i=1; i<= SEARCHER_ACTORS; i++) 81 | searcherActors.add(getContext().actorOf(searcherProp, "SearcherAgentActor"+i)); 82 | 83 | // Tell all searcher agent actors to perform the search 84 | for(ActorRef searcher : searcherActors) 85 | searcher.tell(Msg.SEARCH, self()); 86 | 87 | } 88 | 89 | } 90 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/java/hw/akka/TSPDynamicProgramming.java: -------------------------------------------------------------------------------- 1 | package hw.akka; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | /** 7 | * This class implements the Travelling Salesman Problem by Dynamic Programming Approach in Java 8 | * 9 | * References -> https://github.com/williamfiset/Algorithms/blob/master/com/williamfiset/algorithms/graphtheory/TspDynamicProgrammingRecursive.java 10 | * 11 | */ 12 | public class TSPDynamicProgramming { 13 | 14 | private final int N; 15 | private final int START_NODE; 16 | private final int FINISHED_STATE; 17 | 18 | private double[][] distance; 19 | private double minTourCost = Double.POSITIVE_INFINITY; 20 | 21 | private List tour = new ArrayList<>(); 22 | private boolean ranSolver = false; 23 | 24 | public TSPDynamicProgramming(double[][] distance) { 25 | this(0, distance); 26 | } 27 | 28 | public TSPDynamicProgramming(int startNode, double[][] distance) { 29 | 30 | this.distance = distance; 31 | N = distance.length; 32 | START_NODE = startNode; 33 | 34 | // Validate inputs. 35 | if (N <= 2) throw new IllegalStateException("TSP on 0, 1 or 2 nodes doesn't make sense."); 36 | if (N != distance[0].length) throw new IllegalArgumentException("Matrix must be square (N x N)"); 37 | if (START_NODE < 0 || START_NODE >= N) throw new IllegalArgumentException("Starting node must be: 0 <= startNode < N"); 38 | if (N > 32) throw new IllegalArgumentException("Matrix too large! A matrix that size for the DP TSP problem with a time complexity of" + 39 | "O(n^2*2^n) requires way too much computation for any modern home computer to handle"); 40 | 41 | // The finished state is when the finished state mask has all bits are set to 42 | // one (meaning all the nodes have been visited). 43 | FINISHED_STATE = (1 << N) - 1; 44 | } 45 | 46 | // Returns the optimal tour for the traveling salesman problem. 47 | public List getTour() { 48 | if (!ranSolver) solve(); 49 | return tour; 50 | } 51 | 52 | // Returns the minimal tour cost. 53 | public double getTourCost() { 54 | if (!ranSolver) solve(); 55 | return minTourCost; 56 | } 57 | 58 | public void solve() { 59 | 60 | // Run the solver 61 | int state = 1 << START_NODE; 62 | Double[][] memo = new Double[N][1 << N]; 63 | Integer[][] prev = new Integer[N][1 << N]; 64 | minTourCost = tsp(START_NODE, state, memo, prev); 65 | 66 | // Regenerate path 67 | int index = START_NODE; 68 | while (true) { 69 | tour.add(index); 70 | Integer nextIndex = prev[index][state]; 71 | if (nextIndex == null) break; 72 | int nextState = state | (1 << nextIndex); 73 | state = nextState; 74 | index = nextIndex; 75 | } 76 | tour.add(START_NODE); 77 | ranSolver = true; 78 | } 79 | 80 | private double tsp(int i, int state, Double[][] memo, Integer[][] prev) { 81 | 82 | // Done this tour. Return cost of going back to start node. 83 | if (state == FINISHED_STATE) return distance[i][START_NODE]; 84 | 85 | // Return cached answer if already computed. 86 | if (memo[i][state] != null) return memo[i][state]; 87 | 88 | double minCost = Double.POSITIVE_INFINITY; 89 | int index = -1; 90 | for (int next = 0; next < N; next++) { 91 | 92 | // Skip if the next node has already been visited. 93 | if ((state & (1 << next)) != 0) continue; 94 | 95 | int nextState = state | (1 << next); 96 | double newCost = distance[i][next] + tsp(next, nextState, memo, prev); 97 | if (newCost < minCost) { 98 | minCost = newCost; 99 | index = next; 100 | } 101 | } 102 | 103 | prev[i][state] = index; 104 | return memo[i][state] = minCost; 105 | } 106 | 107 | } 108 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/java/hw/akka/User.java: -------------------------------------------------------------------------------- 1 | package hw.akka; 2 | 3 | import akka.actor.*; 4 | 5 | import java.io.BufferedReader; 6 | import java.io.IOException; 7 | import java.io.InputStreamReader; 8 | 9 | /** 10 | * Main class for your estimation actor system. 11 | * 12 | * @author Akash Nagesh and M. Kokar 13 | * 14 | */ 15 | public class User { 16 | 17 | public static void main(String[] args) throws Exception { 18 | 19 | /* 20 | * Create the Solver Actor and send it the StartProcessing 21 | * message. Once you get back the response, use it to print the result. 22 | * Remember, there is only one actor directly under the ActorSystem. 23 | * Also, do not forget to shutdown the actorsystem 24 | */ 25 | 26 | //Constants 27 | String FILE_NAME; 28 | int START_END_CITY = 0; 29 | int PATH_LENGTH_THRESHOLD = 0; 30 | boolean isValidCity = false; 31 | boolean isValidLength = false; 32 | 33 | //Accepting filename as command line input 34 | InputStreamReader r=new InputStreamReader(System.in); 35 | BufferedReader br=new BufferedReader(r); 36 | 37 | System.out.println("Enter the Filename for array matrix of distance between cities:"); 38 | FILE_NAME = br.readLine(); 39 | 40 | //Validating Start and End City value as INTEGER 41 | while (!isValidCity) { 42 | try { 43 | System.out.println("Enter starting and ending city index:"); 44 | START_END_CITY = Integer.parseInt(br.readLine()); 45 | 46 | isValidCity = true; 47 | } catch (NumberFormatException e) { 48 | //If it is not a valid int print error message. 49 | System.out.println("------->> Please Enter an 'Integer' Value for Start & End City! eg. 1 <<-------"); 50 | 51 | } catch (IOException e) { 52 | e.printStackTrace(); 53 | } 54 | } 55 | 56 | //Validating Length threshold value as INTEGER 57 | while (!isValidLength) { 58 | try { 59 | 60 | System.out.println("Enter the threshold for length of the Path:"); 61 | PATH_LENGTH_THRESHOLD = Integer.parseInt(br.readLine()); 62 | 63 | isValidLength = true; 64 | } catch (NumberFormatException e) { 65 | //If it is not a valid int print error message. 66 | System.out.println("------->> Please Enter an 'Integer' Value for Path Length Threshold! eg. 100 <<-------"); 67 | 68 | } catch (IOException e) { 69 | e.printStackTrace(); 70 | } 71 | } 72 | 73 | System.out.println("You entered FILENAME: "+ FILE_NAME 74 | + ", START_END_CITY: "+ START_END_CITY 75 | + ", PATH_LENGTH_THRESHOLD: " + PATH_LENGTH_THRESHOLD); 76 | 77 | //Creating Actor System for the Project 78 | ActorSystem system = ActorSystem.create("EstimationSystem"); 79 | 80 | //Creating Solver Actor 81 | Props solverProps = Props.create(Solver.class, FILE_NAME, START_END_CITY, PATH_LENGTH_THRESHOLD); 82 | ActorRef solverNode = system.actorOf(solverProps, "SolverAgent"); 83 | 84 | //Creating Terminator for Shutting down the ActorSystem 85 | //system.terminate(); 86 | //system.actorOf(Props.create(Terminator.class, solverNode), "Terminator"); 87 | 88 | } 89 | 90 | //Shutdown 91 | public class Terminator extends AbstractLoggingActor { 92 | 93 | private final ActorRef ref; 94 | 95 | public Terminator(ActorRef ref) { 96 | this.ref = ref; 97 | getContext().watch(ref); 98 | } 99 | 100 | @Override 101 | public Receive createReceive() { 102 | return receiveBuilder() 103 | .match(Terminated.class, t -> { 104 | log().info("{} has terminated, shutting down system", ref.path()); 105 | getContext().system().terminate(); 106 | }) 107 | .build(); 108 | } 109 | } 110 | 111 | 112 | } 113 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/java/hw/akka/cities.txt: -------------------------------------------------------------------------------- 1 | 0 12 3 23 1 5 32 56 2 | 12 0 9 18 3 41 45 5 3 | 3 9 0 89 56 21 12 49 4 | 23 18 89 0 87 46 75 17 5 | 1 3 56 87 0 55 22 86 6 | 5 41 21 46 55 0 21 76 7 | 32 45 12 75 22 21 0 11 8 | 56 5 49 17 86 76 11 0 9 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/src/main/resources/application.conf: -------------------------------------------------------------------------------- 1 | akka { 2 | loglevel = INFO 3 | } 4 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/.history: -------------------------------------------------------------------------------- 1 | ;set _root_.scala.collection.Seq(historyPath := None,shellPrompt := { _ => "" },SettingKey[_root_.scala.Option[_root_.sbt.File]]("sbtStructureOutputFile") in _root_.sbt.Global := _root_.scala.Some(_root_.sbt.file("/private/var/folders/sf/w22r696n77v9l42hg6vbcrrc0000gn/T/sbt-structure.xml")),SettingKey[_root_.java.lang.String]("sbtStructureOptions") in _root_.sbt.Global := "download, resolveClassifiers");apply -cp "/Users/urvi/Library/Application Support/IntelliJIdea2018.3/Scala/launcher/sbt-structure-1.0.jar" org.jetbrains.sbt.CreateTasks;*/*:dumpStructure 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/application.conf: -------------------------------------------------------------------------------- 1 | akka { 2 | loglevel = INFO 3 | } 4 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/sample/hello/Greeter$Msg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/classes/sample/hello/Greeter$Msg.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/sample/hello/Greeter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/classes/sample/hello/Greeter.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/sample/hello/HelloWorld.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/classes/sample/hello/HelloWorld.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/sample/hello/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/classes/sample/hello/Main.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/sample/hello/Main2$Terminator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/classes/sample/hello/Main2$Terminator.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/classes/sample/hello/Main2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/classes/sample/hello/Main2.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/META-INF/hw-akka.kotlin_module: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/application.conf: -------------------------------------------------------------------------------- 1 | akka { 2 | loglevel = INFO 3 | } 4 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Messages$Msg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Messages$Msg.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Messages.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Messages.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/SearchSolution.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/SearchSolution.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Searcher.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Searcher.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Solver.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/Solver.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/TSPDynamicProgramming.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/TSPDynamicProgramming.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/User$Terminator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/User$Terminator.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/User.class -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/classes/hw/akka/cities.txt: -------------------------------------------------------------------------------- 1 | 0 12 3 23 1 5 32 56 2 | 12 0 9 18 3 41 45 5 3 | 3 9 0 89 56 21 12 49 4 | 23 18 89 0 87 46 75 17 5 | 1 3 56 87 0 55 22 86 6 | 5 41 21 46 55 0 21 76 7 | 32 45 12 75 22 21 0 11 8 | 56 5 49 17 86 76 11 0 9 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java$sources/059018da+20190409-0112/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#akka-sample-main-java$sources;059018da+20190409-0112 resolved revisions 2 | #Tue Apr 09 01:12:54 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java$sources/059018da+20190411-1901/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#akka-sample-main-java$sources;059018da+20190411-1901 resolved revisions 2 | #Thu Apr 11 19:01:54 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java$sources/d92802d0/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#akka-sample-main-java$sources;d92802d0 resolved revisions 2 | #Thu Apr 11 20:21:47 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java_2.12/059018da+20190409-0112/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#akka-sample-main-java_2.12;059018da+20190409-0112 resolved revisions 2 | #Tue Apr 09 01:12:52 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java_2.12/059018da+20190409-0112/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | akka-sample-main-java 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java_2.12/059018da+20190411-1901/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#akka-sample-main-java_2.12;059018da+20190411-1901 resolved revisions 2 | #Thu Apr 11 19:01:53 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java_2.12/059018da+20190411-1901/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | akka-sample-main-java 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java_2.12/d92802d0/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#akka-sample-main-java_2.12;d92802d0 resolved revisions 2 | #Thu Apr 11 20:21:47 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/akka-sample-main-java_2.12/d92802d0/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | akka-sample-main-java 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka$sources/7ce025b1/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#hw-akka$sources;7ce025b1 resolved revisions 2 | #Wed Apr 17 19:22:06 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka$sources/d92802d0+20190412-1745/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#hw-akka$sources;d92802d0+20190412-1745 resolved revisions 2 | #Fri Apr 12 17:45:12 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka$sources/d92802d0+20190412-1815/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#hw-akka$sources;d92802d0+20190412-1815 resolved revisions 2 | #Fri Apr 12 18:15:18 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka_2.12/7ce025b1/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#hw-akka_2.12;7ce025b1 resolved revisions 2 | #Wed Apr 17 19:22:06 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka_2.12/7ce025b1/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka_2.12/d92802d0+20190412-1745/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#hw-akka_2.12;d92802d0+20190412-1745 resolved revisions 2 | #Fri Apr 12 17:45:12 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka_2.12/d92802d0+20190412-1745/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka_2.12/d92802d0+20190412-1815/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #com.typesafe.akka.samples#hw-akka_2.12;d92802d0+20190412-1815 resolved revisions 2 | #Fri Apr 12 18:15:18 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/com.typesafe.akka.samples/hw-akka_2.12/d92802d0+20190412-1815/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/akka-sample-main-java$sources/d92802d0+20190411-2031/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#akka-sample-main-java$sources;d92802d0+20190411-2031 resolved revisions 2 | #Thu Apr 11 20:31:08 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/akka-sample-main-java_2.12/d92802d0+20190411-2031/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#akka-sample-main-java_2.12;d92802d0+20190411-2031 resolved revisions 2 | #Thu Apr 11 20:31:07 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/akka-sample-main-java_2.12/d92802d0+20190411-2031/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | akka-sample-main-java 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka$sources/d92802d0+20190411-2140/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#hw-akka$sources;d92802d0+20190411-2140 resolved revisions 2 | #Thu Apr 11 21:40:59 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+jline\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+jline\:\#@\#\:+revision\:\#@\#\:+2.14.6\:\#@\#\:=2.14.6 release 2.14.6 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-reflect\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:+info.apiURL\:\#@\#\:+http\://www.scala-lang.org/api/2.12.8/\:\#@\#\:=2.12.8 ? 2.12.8 null 6 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-java8-compat_2.12\:\#@\#\:+revision\:\#@\#\:+0.8.0\:\#@\#\:=0.8.0 release 0.8.0 null 7 | +organisation\:\#@\#\:+org.scala-lang.modules\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-xml_2.12\:\#@\#\:+revision\:\#@\#\:+1.0.6\:\#@\#\:=1.0.6 release 1.0.6 null 8 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 9 | +organisation\:\#@\#\:+com.typesafe\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+config\:\#@\#\:+revision\:\#@\#\:+1.3.3\:\#@\#\:=1.3.3 release 1.3.3 null 10 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:+info.apiURL\:\#@\#\:+https\://doc.akka.io/api/akka/2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 11 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0+20190411-2140/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#hw-akka_2.12;d92802d0+20190411-2140 resolved revisions 2 | #Thu Apr 11 21:40:59 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+com.typesafe.akka\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+akka-actor_2.12\:\#@\#\:+revision\:\#@\#\:+2.5.22\:\#@\#\:=2.5.22 ? 2.5.22 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 6 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0+20190411-2140/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0+20190412-1733/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#hw-akka_2.12;d92802d0+20190412-1733 resolved revisions 2 | #Fri Apr 12 17:33:44 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 5 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0+20190412-1733/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0+20190412-1739/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#hw-akka_2.12;d92802d0+20190412-1739 resolved revisions 2 | #Fri Apr 12 17:39:34 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 5 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0+20190412-1739/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #hw.akka#hw-akka_2.12;d92802d0 resolved revisions 2 | #Fri Apr 12 17:31:12 EDT 2019 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 ? 2.12.8 null 4 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.12.8\:\#@\#\:=2.12.8 release 2.12.8 null 5 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/hw.akka/hw-akka_2.12/d92802d0/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | hw-akka 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java$sources-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java$sources-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java$sources-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java$sources-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java_2.12-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java_2.12-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java_2.12-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-akka-sample-main-java_2.12-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka$sources-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka$sources-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka$sources-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka$sources-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka_2.12-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka_2.12-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka_2.12-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/com.typesafe.akka.samples-hw-akka_2.12-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java$sources-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java$sources-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java$sources-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java$sources-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java_2.12-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java_2.12-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java_2.12-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-akka-sample-main-java_2.12-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka$sources-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka$sources-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka$sources-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka$sources-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-compile-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-compile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-runtime-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-runtime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-test-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/scala-2.12/resolution-cache/reports/hw.akka-hw-akka_2.12-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/$global/dumpStructure/$global/streams/out: -------------------------------------------------------------------------------- 1 | [info] Writing structure to /private/var/folders/sf/w22r696n77v9l42hg6vbcrrc0000gn/T/sbt-structure.xml... 2 | [info] Done. 3 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.12/input_dsp: -------------------------------------------------------------------------------- 1 | -2122017606 -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.12/output_dsp: -------------------------------------------------------------------------------- 1 | {"{\"organization\":\"org.scala-lang\",\"name\":\"scala-library\",\"revision\":\"2.12.8\",\"isChanging\":false,\"isTransitive\":true,\"isForce\":false,\"explicitArtifacts\":[],\"inclusions\":[],\"exclusions\":[],\"extraAttributes\":{},\"crossVersion\":{\"type\":\"Disabled\"}}":{"value":{"$fields":["path","startLine"],"path":"(sbt.Classpaths.jvmBaseSettings) Defaults.scala","startLine":2207},"type":"LinePosition"},"{\"organization\":\"com.typesafe.akka\",\"name\":\"akka-actor\",\"revision\":\"2.5.22\",\"isChanging\":false,\"isTransitive\":true,\"isForce\":false,\"explicitArtifacts\":[],\"inclusions\":[],\"exclusions\":[],\"extraAttributes\":{},\"crossVersion\":{\"type\":\"Binary\",\"prefix\":\"\",\"suffix\":\"\"}}":{"value":{"$fields":["path","range"],"path":"/Users/urvi/multithreading-git/multithreading-projects-java/HW5/Code/build.sbt","range":{"$fields":["start","end"],"start":5,"end":8}},"type":"RangePosition"}} -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/ivyConfiguration/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Other repositories: 2 | [debug] Default repositories: 3 | [debug] Using inline dependencies specified in Scala. 4 | [debug] Using inline dependencies specified in Scala. 5 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/ivySbt/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/streams/$global/ivySbt/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/projectDescriptors/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/streams/$global/projectDescriptors/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/ssExtractDependencies/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Code/target/streams/$global/ssExtractDependencies/$global/streams/out -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/$global/update/$global/streams/update_cache_2.12/inputs: -------------------------------------------------------------------------------- 1 | -2068586222 -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/compile/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.8.jar:/Users/urvi/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.22.jar:/Users/urvi/.ivy2/cache/com.typesafe/config/bundles/config-1.3.3.jar:/Users/urvi/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/compile/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.8.jar:/Users/urvi/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.22.jar:/Users/urvi/.ivy2/cache/com.typesafe/config/bundles/config-1.3.3.jar:/Users/urvi/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/compile/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/compile/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/runtime/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.8.jar:/Users/urvi/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.22.jar:/Users/urvi/.ivy2/cache/com.typesafe/config/bundles/config-1.3.3.jar:/Users/urvi/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/runtime/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.8.jar:/Users/urvi/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.22.jar:/Users/urvi/.ivy2/cache/com.typesafe/config/bundles/config-1.3.3.jar:/Users/urvi/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/runtime/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/runtime/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/test/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.8.jar:/Users/urvi/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.22.jar:/Users/urvi/.ivy2/cache/com.typesafe/config/bundles/config-1.3.3.jar:/Users/urvi/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/test/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/urvi/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.8.jar:/Users/urvi/.ivy2/cache/com.typesafe.akka/akka-actor_2.12/jars/akka-actor_2.12-2.5.22.jar:/Users/urvi/.ivy2/cache/com.typesafe/config/bundles/config-1.3.3.jar:/Users/urvi/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.12/bundles/scala-java8-compat_2.12-0.8.0.jar 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/test/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Code/target/streams/test/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TSP_akka_Actors/Project5_Guidelines.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Project5_Guidelines.pdf -------------------------------------------------------------------------------- /TSP_akka_Actors/Sequence-Diagram/Diagram_Assumptions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Sequence-Diagram/Diagram_Assumptions.pdf -------------------------------------------------------------------------------- /TSP_akka_Actors/Sequence-Diagram/TSP-Sequence_Diagram.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urvi2095/multithreading-projects-java/2efbef8d76b564468a2f213289e21950fb238aac/TSP_akka_Actors/Sequence-Diagram/TSP-Sequence_Diagram.pdf --------------------------------------------------------------------------------