Student Workload

INGIBJÖRG ÓSK JÓNSDÓTTIR

Advanced Software Engineering

Jón Reginbald Ívarsson

Student workload

  • Modelling the workload on a student at university
  • Duration: 12 weeks
  • 4 courses
  • Tools:
     - Timed Rebeca (Reactive Objects Language)
     - RMC engine

Main

main() {
    /* One student */
    Student s(c1, c2, c3, c4):();

    /* Four different courses. Each course 
       is initialised with the time it takes 
       to do this week's assignment */
    Course c1(s):(10);
    Course c2(s):(15);
    Course c3(s):(4);
    Course c4(s):(6);
}

What drives the student?

reactiveclass Student(30) {
    knownrebecs {
        /* Four courses */    
    }
    statevars {
       int energy;
       boolean studying;
    }
    initial() {
        /* Student has 16 hours in a day to study */
        energy = 16;      
        studying = false;
    }
    msgsrv doAssignment(int time) {
        /* Check if there is any energy left. If not
           make the student go to sleep. Otherwise, 
           check if the student has enough energy. 
           Continue if this is true and hand in the 
           assignment. If not, work as much as 
           possible on the assignment and store the
           rest for later. Make student go to sleep 
           and resume working on last assignment with
           a new deadline. Finally, hand in the 
           assignment by calling the msgsrv receive 
           in Course. */

        /* The student sleeps for 8 units of time
           and resets the energy to 16 units of time */
    }
}

Course

reactiveclass Course(30) {
    knownrebecs {
        /* One student */    
    }
    statevars {
       int deadline;
    }
    Course(int time) { 
        /* Assignments are published one week before deadline */
        deadline = 120;      
    }
    msgsrv publishAssigment(int time) {
        /* Call doAssignment on Student with the deadline */ 
    }
    msgsrv receiveSolution(){
        /* What now? How do we
           know if the week is done? */
    }
}

Student workload

By Ingibjörg Ósk Jónsdóttir

Student workload

Final project in advanced software engineering

  • 266