{"id":48684493,"url":"https://github.com/comnetshh/icc2023-publication-code-release","last_synced_at":"2026-04-11T03:55:32.492Z","repository":{"id":122873406,"uuid":"591375498","full_name":"ComNetsHH/ICC2023-publication-code-release","owner":"ComNetsHH","description":"Open-acccess code release for publication at ICC2023 in Rome, Italy.","archived":false,"fork":false,"pushed_at":"2023-01-23T16:28:16.000Z","size":16248,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-11T03:55:30.203Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Julia","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/ComNetsHH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-20T15:51:57.000Z","updated_at":"2023-01-23T16:33:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"41fbd555-f156-46b4-a19d-89cbd7a243b0","html_url":"https://github.com/ComNetsHH/ICC2023-publication-code-release","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ComNetsHH/ICC2023-publication-code-release","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComNetsHH%2FICC2023-publication-code-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComNetsHH%2FICC2023-publication-code-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComNetsHH%2FICC2023-publication-code-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComNetsHH%2FICC2023-publication-code-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ComNetsHH","download_url":"https://codeload.github.com/ComNetsHH/ICC2023-publication-code-release/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComNetsHH%2FICC2023-publication-code-release/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31668050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-04-11T03:55:31.837Z","updated_at":"2026-04-11T03:55:32.467Z","avatar_url":"https://github.com/ComNetsHH.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![DOI](https://zenodo.org/badge/591375498.svg)](https://zenodo.org/badge/latestdoi/591375498)\n\n---\n\nAny references to this code, protocol, or results shall be realized by citing the original paper from IEEE Xplore.\n\n## Preface\nThis is a complementary code repository for the scientific publication 'Optimizing Age of Information in Status Update Systems using Network Coding: A Graph Search Approach' by Fisser, Leonard and Timm-Giel, Andreas published at the IEEE International Conference on Communications 2023 held in Rome, Italy.\n\n---\n\n## **Optimizing Age of Information in Status Update Systems using Network Coding — A Graph Search Approach**\n\nDisseminating data in a wireless communication network is critical for the operation of future Cyber-Physical-Systems.\nIn the publication corresponding to this code repository, the problem of finding Age-of-Information optimal schedules for all-to-all data dissemination was investigated.\nAge-optimal schedules were calculated by formulating a Graph-Search problem and deriving a custom A-Star search algorithm to solve for the dissemination schedule.\nIn addition to finding the already known optimal schedules for normal dissemination, the approach aims to find schedules which allow for Network Coding.\nIn Network Coding, multiple data packets may be combined on a bit-wise level to an encoded symbol carrying both information.\nWhile Network Coding can increase the efficiency of a system, encoding and decoding delays may have adversary effects on the resulting Age-of-Information. \nAs such, the proposed graph search approach balances the schedule reduction gains with coding delays and directly computes the age-optimal schedule given a specific topology.\nPlease refer to the original publication for more details.\n\n## Getting Started\n1. Download and install [JuliaLang](https://julialang.org/downloads/oldreleases/) Version 1.7.3.\n2. Clone the repository to your local computer.\n3. Start JuliaLang and navigate to the project's root directory.\n4. Install project dependencies using:\n```julia\npkg\u003e activate .\npkg\u003e instantiate\n```\n5. Familiarize yourself with the source code:\n    - Calculations are started and configured by `scirpts/evaluation/analysis_runner.jl`\n    - A-Star search variants are implemented in `src/solvers/a_star.jl` and `src/solvers/incremental_a_star.jl`\n    - Plots and analysis are conducted using `DataFrames` and the code to reproduce the publication figures is located at `scripts/processing/`. The plotters use PyPlot and as such a local python installation with the matplotlib package is required.\n    - Graph data and result data are stored in `data/exp_raw` and `data/exp_res` respectively. You may need to decompress the data sets used for the publication.\n6. To run the calculations and find systematic / network coded schedules run the `analysis_runner.jl` via \n```julia\njulia\u003e include(\"scripts/evaluations/analysis_runner.jl\")\n```\n7. You can access the raw result files using \n```julia\njulia\u003e df = collect_results(datadir(\"exp_raw/$graph_size\"))\n```\n\n## Optional Packages\nBoth solvers need some general data and computations to set up the A-Star search algorithm.\nCalculating this data may require the solving of linear programs.\nThese problems tend to get difficult for the inbuilt Julia solver `GLPK` with increasing graph sizes.\nIt is recommended to apply for a research license and use the [Gurobi](https://www.gurobi.com/) solver instead.\nSearch the project for mentions of `Gurobi` to find the code lines requiring a change.\n\n## Comments and Notes\nThe provided code base was developed to answer specific research questions and its applicability and interfaces were not implemented with interoperability in mind.\nFurthermore, the code was only tested on a single Linux machine and errors/bugs may occur on your system.\nIt is the intention of this repository to highlight how the results of the original publication were computed in detail.\n\n## Special Thanks\nThe authors would like to thank the developers of the [DrWatson](https://github.com/JuliaDynamics/DrWatson.jl) JuliaLang package for their research project environment and helper functions. \n\n## Funding\nThis work was funded by the German Research Foundation (Deutsche Forschungsgemeinschaft, DFG) as part of the OUREL project with reference number 426655646.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomnetshh%2Ficc2023-publication-code-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomnetshh%2Ficc2023-publication-code-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomnetshh%2Ficc2023-publication-code-release/lists"}