From 87ca7f1869fd5a6b43d6757525a20123f6d48895 Mon Sep 17 00:00:00 2001 From: Christopher Date: Mon, 12 May 2025 22:05:44 +0200 Subject: [PATCH] last changes --- src/analysis.py | 2 +- src/common/csvreader.py | 3 ++- src/simulator.py | 30 +++--------------------------- 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/src/analysis.py b/src/analysis.py index 7a1a36a..7f42df2 100644 --- a/src/analysis.py +++ b/src/analysis.py @@ -161,7 +161,7 @@ def output_report(components, core_summary): print(f"Core {core_id}: {core_stat}") -def write_solution_csv(tasks, components, filename='solution.csv'): # noqa: E302(tasks, components, filename='solution.csv'):(tasks, components, filename='solution.csv'): +def write_solution_csv(tasks, components, filename='analysis_solution.csv'): # CSV with task- and component-level results rows = [] for cid, comp in components.items(): diff --git a/src/common/csvreader.py b/src/common/csvreader.py index 0fecf8b..1b7ec7e 100644 --- a/src/common/csvreader.py +++ b/src/common/csvreader.py @@ -86,7 +86,8 @@ def _get_csv_path(csv:str) -> str: def read_csv() -> tuple[list[Core], list[Component], list[Task]]: if len(sys.argv) != 4: - print("Usage: python analysis.py ") + script_name = os.path.basename(sys.argv[0]) + print(f"Usage: python {script_name} ") sys.exit(1) architecture_file = sys.argv[1] diff --git a/src/simulator.py b/src/simulator.py index 7479248..a6112b7 100644 --- a/src/simulator.py +++ b/src/simulator.py @@ -1,9 +1,7 @@ import random as rand import numpy as np -from common.csvreader import read_cores -from common.csvreader import read_budgets -from common.csvreader import read_tasks +from common.csvreader import read_csv from common.component import Component from common.scheduler import Scheduler from common.core import Core @@ -368,34 +366,12 @@ def _get_hyperperiod(self): return system_hyperperiod def main(): - # Base path for test case files - base_path = 'data/testcases/10-unschedulable-test-case' - - # Read architectures - architecture_path = f'{base_path}/architecture.csv' - cores = read_cores(architecture_path) - print("Architectures:") - for core in cores: - print(core) - - # Read tasks - tasks_path = f'{base_path}/tasks.csv' - tasks = read_tasks(tasks_path) - print("\nTasks:") - for task in tasks: - print(task) - - # Read components - budgets_path = f'{base_path}/budgets.csv' - components = read_budgets(budgets_path) - print("\nBudgets:") - for component in components: - print(component) + cores, components, tasks = read_csv() simulator = Simulator(cores, components, tasks) simulator.run() - simulator.generate_output_file("output.csv") + simulator.generate_output_file("simulation_solution.csv") if __name__ == "__main__": main() \ No newline at end of file