{"id":25516405,"url":"https://github.com/abolfazl-younesi/task_generation","last_synced_at":"2025-10-09T00:45:38.353Z","repository":{"id":175351007,"uuid":"653763040","full_name":"Abolfazl-Younesi/task_generation","owner":"Abolfazl-Younesi","description":"This repository consists of a set of files designed to generate random periods and task sets.","archived":false,"fork":false,"pushed_at":"2023-06-14T17:39:03.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-12T01:38:40.987Z","etag":null,"topics":["embedded-systems","periodic-tasks","real-time","real-time-processing","realtime","realtime-task","ripoll-task-generation","task-generation","taskset","uunifast","uunifast-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abolfazl-Younesi.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}},"created_at":"2023-06-14T17:22:48.000Z","updated_at":"2023-09-01T07:18:08.000Z","dependencies_parsed_at":"2023-07-31T00:30:13.119Z","dependency_job_id":null,"html_url":"https://github.com/Abolfazl-Younesi/task_generation","commit_stats":null,"previous_names":["abolfazl9403/task_generation","abolfazl-younesi/task_generation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Abolfazl-Younesi/task_generation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abolfazl-Younesi%2Ftask_generation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abolfazl-Younesi%2Ftask_generation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abolfazl-Younesi%2Ftask_generation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abolfazl-Younesi%2Ftask_generation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abolfazl-Younesi","download_url":"https://codeload.github.com/Abolfazl-Younesi/task_generation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abolfazl-Younesi%2Ftask_generation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000641,"owners_count":26082879,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":["embedded-systems","periodic-tasks","real-time","real-time-processing","realtime","realtime-task","ripoll-task-generation","task-generation","taskset","uunifast","uunifast-algorithm"],"created_at":"2025-02-19T14:39:19.176Z","updated_at":"2025-10-09T00:45:38.332Z","avatar_url":"https://github.com/Abolfazl-Younesi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Name\n\nA collection of files for generating random periods and task sets.\n\n## Table of Contents\n\n- [Description](#description)\n- [Files](#files)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Description\n\nThis project provides several Python scripts for generating random periods and task sets for various purposes. The files included are:\n\n- `generate_random_periods_discrete.py`: Generates a matrix of random periods chosen randomly from a list of available periods using a discrete distribution.\n- `generate_random_periods_loguniform.py`: Generates a list of sets containing random periods using a loguniform distribution.\n- `generate_random_periods_uniform.py`: Generates a list of sets containing random periods using a uniform distribution.\n- `ripoll_taskset_generation.py`: Generates task sets with specific properties such as computation time, slack time, delay, and target utilization.\n- `taskset_generation.py`: Generates task sets based on provided task utilization and period sets.\n- `uunifast.py`: Implements the UUniFast and UUniFast-Discard algorithms for generating task utilizations on uniprocessor and multiprocessor architectures.\n\n## Files\n\n1. `generate_random_periods_discrete.py`: \n    - Description: Generates a matrix of (num_sets x num_periods) random periods chosen randomly from the list of available periods.\n    - Args:\n        - `num_periods`: The number of periods in a period set.\n        - `num_sets`: Number of sets to generate.\n        - `available_periods`: A list of available periods.\n    - Tags: random periods, discrete distribution\n\n2. `generate_random_periods_loguniform.py`:\n    - Description: Generates a list of num_sets sets containing num_periods random periods using a loguniform distribution.\n    - Args:\n        - `num_periods`: The number of periods in a period set.\n        - `num_sets`: Number of sets to generate.\n        - `min_period`: Minimum period value.\n        - `max_period`: Maximum period value.\n        - `round_to_int`: Whether to round the generated periods to integers.\n    - Tags: random periods, loguniform distribution\n\n3. `generate_random_periods_uniform.py`:\n    - Description: Generates a list of num_sets sets containing num_periods random periods using a uniform distribution.\n    - Args:\n        - `num_periods`: The number of periods in a period set.\n        - `num_sets`: Number of sets to generate.\n        - `min_period`: Minimum period value.\n        - `max_period`: Maximum period value.\n        - `round_to_int`: Whether to round the generated periods to integers.\n    - Tags: random periods, uniform distribution\n\n4. `ripoll_taskset_generation.py`:\n    - Description: Generates task sets with specific properties such as computation time, slack time, delay, and target utilization.\n    - Args:\n        - `n_sets`: Number of task sets to generate.\n        - `max_compute_time`: Maximum computation time of a task.\n        - `max_slack_time`: Maximum slack time.\n        - `max_delay`: Maximum delay after the deadline.\n        - `target_utilization`: Total utilization to reach.\n    - Returns:\n        - `task_sets`: List of task sets generated.\n    - Tags: task sets, computation time, slack time, delay, target utilization\n\n5. `taskset_generation.py`:\n    - Description: Generates task sets based on provided task utilization and period sets.\n    - Args:\n        - `utilizations`: The list of task utilization sets.\n        - `periods`: The list of task period sets.\n        - `filename`: The name of the CSV file to save the results in.\n    - Returns:\n        - For the provided example, it returns:\n           \n\n            ```\n            [[(3.0, 20), (20.0, 50), (8.0, 13), (10.0, 80), (8.0, 23)],\n             [(10.0, 110), (123.0,320), (14.0, 80), (50.0,150), (5.0, 10)]]\n            ```\n    - Tags: task sets, task utilization, period sets\n\n6. `uunifast.py`:\n    - Description: Implements the UUniFast and UUniFast-Discard algorithms for generating task utilizations on uniprocessor and multiprocessor architectures.\n    - Args:\n        - `n`: The number of tasks in a task set.\n        - `u`: Total utilization of the task set.\n        - `nsets`: Number of sets to generate.\n        - `filename`: Name of the CSV file to save the results.\n    - Returns `nsets` of `n` task utilizations.\n    - Tags: task utilizations, UUniFast, UUniFast-Discard\n\n## Contributing\n\nContributions to this project are welcome. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the project's GitHub repository.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n        - `filename`: The name of the CSV file to save the results in.\n    - Returns:\n        - For the provided example, it returns:\n            ```\n            [[(3.0, 20), (20.0, 50), (8.0, 13), (10.0, 80), (8.0, 23)],\n             [(10.0, 110), (123.0,320), (14.0, 80), (50.0,150), (5.0, 10)]]\n            ```\n\n6. `uunifast.py`:\n    - Description: Implements the UUniFast and UUniFast-Discard algorithms for generating task utilizations on uniprocessor and multiprocessor architectures.\n    - Args:\n        - `n`: The number of tasks in a task set.\n        - `u`: Total utilization of the task set.\n        - `nsets`: Number of sets to generate.\n        - `filename`: Name of the CSV file to save the results.\n    - Returns `nsets` of `n` task utilizations.\n\n\n## Contributing\n\nContributions to this project are welcome. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the project's GitHub repository.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabolfazl-younesi%2Ftask_generation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabolfazl-younesi%2Ftask_generation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabolfazl-younesi%2Ftask_generation/lists"}