{"id":20082462,"url":"https://github.com/emoflon/cobolt","last_synced_at":"2026-05-24T16:34:32.295Z","repository":{"id":75632668,"uuid":"152580851","full_name":"eMoflon/cobolt","owner":"eMoflon","description":"Tool support for evaluating topology control algorithms specified using eMoflon","archived":false,"fork":false,"pushed_at":"2018-12-11T09:05:11.000Z","size":33455,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-13T01:45:15.274Z","etag":null,"topics":["code-generation","emoflon","model-driven-engineering","wireless-sensor-network"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eMoflon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-11T11:29:24.000Z","updated_at":"2023-09-08T17:46:02.000Z","dependencies_parsed_at":"2023-06-07T04:30:26.568Z","dependency_job_id":null,"html_url":"https://github.com/eMoflon/cobolt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Fcobolt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Fcobolt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Fcobolt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Fcobolt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eMoflon","download_url":"https://codeload.github.com/eMoflon/cobolt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241515954,"owners_count":19975140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-generation","emoflon","model-driven-engineering","wireless-sensor-network"],"created_at":"2024-11-13T15:43:29.447Z","updated_at":"2026-05-24T16:34:32.244Z","avatar_url":"https://github.com/eMoflon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cobolt - A model-based tool for evaluating topology control algorithms\n\nThis repository hosts the code of Cobolt, a model-based tool for the rapid simulative evaluation of topology control algorithms.\n\nThe Cobolt repository comprises a modified version of the [Simonstrator](https://dev.kom.e-technik.tu-darmstadt.de/simonstrator/) network simulator (version 2.5) and \na set of of sample topology control algorithms specified using the modeling tool [eMoflon](https://emoflon.org/).\n\n## Setup instructions\n\n1. **Install Eclipse 2018-09 R with Modeling Components Oxygen (or newer)**\n   * All Eclipse packages are available here: https://eclipse.org/downloads/\n1. **Install the Maven 2 Eclipse integration (m2e)**\n   1. Navigate to the *Install* dialog (*Help \u0026rarr; Install New Software...*).\n   1. Select the standard Eclipse update site (e.g., http://download.eclipse.org/releases/2018-09 for Eclipse 2018-09)\n   1. Install *General Purpose Tools/m2e - Maven Integration for Eclipse* \u0026ndash;no need to restart Eclipse afterwards\n1. **Install eMoflon 3.5.1**\n   1. Open the *Install* dialog.\n   1. First, install only *PlantUML 1.1.21* (or above)\u0026ndash;no need to restart Eclipse afterwards: https://hallvard.github.io/plantuml/\n   1. Open the *Install* dialog.\n   1. Paste the following Eclipse update site: https://github.com/eMoflon/eMoflon.github.io/raw/emoflon-tie-updatesite_3.5.1/eclipse-plugin/beta/updatesite\n   1. Select *Manage...*.\n   1. Enable at least the following update sites:\n        * https://emoflon.org/eclipse-plugin/beta/updatesite/ (aka. https://emoflon.github.io/eclipse-plugin/beta/updatesite )\n        * http://emoflon.org/emoflon-core-updatesite/stable/updatesite/\n        * \"Latest Eclipse release\"\n   1. Go back via *Apply and Close*.\n   1. Make sure that the option *Contact all update sites during install to find required software* is enabled.\n   1. Select *eMoflon::TIE-SDM* and complete the installation via *Next* etc.\n        * Note: The dependency resolution may take some time...\n   1. Restart Eclipse, open a fresh workspace, and switch to the *eMoflon* perspective.\n1. **Install Enterprise Architect 12 (or later)**\n   * A 30-days trial version of Enterprise Architect is available here: https://www.sparxsystems.de/uml/download-trial/\n   * Install the eMoflon 3.5.1 Enterprise Architect addin: https://github.com/eMoflon/eMoflon.github.io/raw/emoflon-tie-updatesite_3.5.1/eclipse-plugin/beta/updatesite/ea-ecore-addin.zip\n1. **Set up Cobolt**\n   1. Right-click in Project Explorer \u0026rarr; Import... \u0026rarr; Team/Team Project Set\n   1. URL: https://raw.githubusercontent.com/eMoflon/cobolt/master/cobolt.psf\n   1. Let Eclipse check out and build all Cobolt and Simonstrator projects for you\n      * Make sure that *Build \u0026rarr; Build automatically* is enabled.\n   1. Eclipse complains about the missing Tycho lifecycle plugin (*org.eclipse.tycho:tycho-compiler-plugin:1.0.0:compile*).\n      * Use the quick fix (*Ctrl+1* when pointing at the error marker) to discover and install the appropriate m2e connectors.\n   1. Restart Eclipse and let wait until the auto-build has completed.\n1. **Run a sample simulation**\n   1. Navigate to *simonstrator-simrunner/config/dissertation/*.\n   1. Right-click *GuiRunner.launch* and select *Run as... \u0026rarr; GuiRunner*.\n   1. Select the simulation configuration file *cobolt.xml* (in the folder *dissertation*).\n      * If you wish, you can experiment with different settings\n         * *size* configures the number of motes\n         * *world_size* configures the side length of the area in meters\n         * *topologyControlAlgorithm* configures the active topology control algorithms (e.g., MAXPOWER_TC D_KTC E_KTC LSTAR_KTC GG Yao RNG GMST LMST)\n         * *topologyControlIntervalInMinutes* configures the interval between topology control executions in minutes\n   1. Press *Start Simulation*.\n   1. Two windows pop up: the simulation progress view and the topology visualization.\n      * The shown blue graph is the virtual topology of the topology control algorithm (by default, kTC with k=1).\n      * The topology control algorithm is executed periodically (by default, once every simulated minute).\n      * In the Eclipse Console window, you can observe the simulation output.\n         * Lines with 'iter#xxx CEH' refer to the context event handling.\n         * Lines with 'iter#xxx TCA' refer to the topology control algorithm execution.\n         * Lines with 'iter#xxx STAT' refer to the statistics recording.\n         * 'xxx' is the iteration counter\n      * Additional output is available in *simonstrator-simrunner/output/wsntraces/*\n         * The subfolder *log* contains the logfile (similar to the console output)\n         * The subfolder *energyConsumptionPerNode* contains statistics about how long each mote was in each state.\n         * The subfolder *data* contains the performance data (e.g., execution time, link state modification counts,...)\n         * The file *wsntraces_scenarioStatistics.csv* summarizes information about the scenario (e.g., initial topology density).\n\n## Reproducing the evaluation results\n\nConduct the following steps to reproduce the Cobolt evaluation results.\n1. Install Jupyter: https://jupyter.org/\n1. Execute the launcher *simonstrator-simrunner/config/dissertation/CoboltEvaluationExecutor.launch* and wait for it to complete\n   * This may take several days depending on the hardware platform.\n   * **Important:** Abort the batch run using the 'STOP batch run' button, otherwise simulation processes may continue to run in the background.\n1. Concatenate the CSV files in *output/wsntraces/[...]/data* (without repeating the header!)\n2. Place the concatenated file in *jupyter/data/cobolt/dataCollected.csv*\n3. Execute the Jupyter notebook: *jupyter/DissertationEvaluation.ipynb*.\n   * This notebook produces all evaluation plots (also for the tool cMoflon).\n   \n## Licensing\nGPLv3, see [LICENSE.txt](LICENSE.txt).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femoflon%2Fcobolt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femoflon%2Fcobolt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femoflon%2Fcobolt/lists"}