Skip to content
Snippets Groups Projects
Select Git revision
  • 6dd5de07c36a3d6fbb4d6477589b6c77c5d63f9e
  • master default
2 results

exception_itm_raw.rs

Blame
  • Forked from Per Lindgren / e7020e_2020
    Source project has a limited visibility.
    main.rs 1.99 KiB
    mod common;
    mod srp_analyser;
    
    use common::*;
    use srp_analyser::*;
    
    
    fn main() {
        let tasks: Tasks = create_tasks();
    
        println!("tasks {:?}", &tasks);
        println!("tot_util {}", total_load_factor(&tasks));
    
        let (ip, tr) = pre_analysis(&tasks);
        println!("ip: {:?}", ip);
        println!("tr: {:?}", tr);
    
        let analysis = analyse(&tasks, &ip, &tr, true);
        println!("Analysis {:#?}", analysis);
    }
    
    
    fn create_tasks() -> Tasks {
        let t1 = Task {
            id: "T1".to_string(),
            prio: 1,
            deadline: 100,
            inter_arrival: 100,
            trace: Trace {
                id: "T1".to_string(),
                start: 0,
                end: 10,
                inner: vec![],
            },
        };
    
        let t2 = Task {
            id: "T2".to_string(),
            prio: 2,
            deadline: 200,
            inter_arrival: 200,
            trace: Trace {
                id: "T2".to_string(),
                start: 0,
                end: 30,
                inner: vec![
                    Trace {
                        id: "R1".to_string(),
                        start: 10,
                        end: 20,
                        inner: vec![Trace {
                            id: "R2".to_string(),
                            start: 12,
                            end: 16,
                            inner: vec![],
                        }],
                    },
                    Trace {
                        id: "R1".to_string(),
                        start: 22,
                        end: 28,
                        inner: vec![],
                    },
                ],
            },
        };
    
        let t3 = Task {
            id: "T3".to_string(),
            prio: 3,
            deadline: 50,
            inter_arrival: 50,
            trace: Trace {
                id: "T3".to_string(),
                start: 0,
                end: 30,
                inner: vec![Trace {
                    id: "R2".to_string(),
                    start: 10,
                    end: 20,
                    inner: vec![],
                }],
            },
        };
        
        // builds a vector of tasks t1, t2, t3
        let tasks: Tasks = vec![t1, t2, t3];
        return tasks;
    }