Model (
   Model_Name          => edf_within_priorities_example,
   Model_Date          => 2004-12-01,
   System_Pip_Behaviour=> STRICT);

Processing_Resource (
   Type                   => Regular_Processor,
   Name                   => processor_1,
   Max_Interrupt_Priority => 32767,
   Min_Interrupt_Priority => 1,
   Worst_ISR_Switch       => 0.00,
   Avg_ISR_Switch         => 0.00,
   Best_ISR_Switch        => 0.00,
   Speed_Factor           => 1.00);

Scheduler (
   Type            => Primary_Scheduler,
   Name            => edf_scheduler,
   Host            => processor_1,
   Policy          => 
      ( Type                 => EDF,
        Worst_Context_Switch => 0.00,
        Avg_Context_Switch   => 0.00,
        Best_Context_Switch  => 0.00));

Scheduling_Server (
   Type                       => Regular,
   Name                       => task_edf21,
   Server_Sched_Parameters    => 
      ( Type         => EDF_Policy,
        Deadline     => 10.000,
        Preassigned  => NO),
   Scheduler                  => edf_scheduler);

Scheduling_Server (
   Type                       => Regular,
   Name                       => task_edf22,
   Server_Sched_Parameters    => 
      ( Type         => EDF_Policy,
        Deadline     => 45.000,
        Preassigned  => NO),
   Scheduler                  => edf_scheduler);

Scheduling_Server (
   Type                       => Regular,
   Name                       => task_edf23,
   Server_Sched_Parameters    => 
      ( Type         => EDF_Policy,
        Deadline     => 50.000,
        Preassigned  => NO),
   Scheduler                  => edf_scheduler);

Scheduling_Server (
   Type                       => Regular,
   Name                       => task_edf1,
   Server_Sched_Parameters    => 
      ( Type         => EDF_Policy,
        Deadline     => 5.000,
        Preassigned  => YES),
   Scheduler                  => edf_scheduler);

Scheduling_Server (
   Type                       => Regular,
   Name                       => task_edf3,
   Server_Sched_Parameters    => 
      ( Type         => EDF_Policy,
        Deadline     => 1000.00,
        Preassigned  => YES),
   Scheduler                  => edf_scheduler);

Operation (
   Type                       => Simple,
   Name                       => task_1,
   Worst_Case_Execution_Time  => 1.00,
   Avg_Case_Execution_Time    => 1.000E+100,
   Best_Case_Execution_Time   => 0.00);

Operation (
   Type                       => Simple,
   Name                       => task_21,
   Worst_Case_Execution_Time  => 2.00,
   Avg_Case_Execution_Time    => 1.000E+100,
   Best_Case_Execution_Time   => 0.00);

Operation (
   Type                       => Simple,
   Name                       => task_22,
   Worst_Case_Execution_Time  => 5.00,
   Avg_Case_Execution_Time    => 1.000E+100,
   Best_Case_Execution_Time   => 0.00);

Operation (
   Type                       => Simple,
   Name                       => task_23,
   Worst_Case_Execution_Time  => 10.00,
   Avg_Case_Execution_Time    => 1.000E+100,
   Best_Case_Execution_Time   => 0.00);

Operation (
   Type                       => Simple,
   Name                       => task_3,
   Worst_Case_Execution_Time  => 100.00,
   Avg_Case_Execution_Time    => 1.000E+100,
   Best_Case_Execution_Time   => 0.00);

Transaction (
   Type            => regular,
   Name            => tr_21,
   External_Events => 
      ( ( Type       => Periodic,
          Name       => e1,
          Period     => 10.000,
          Max_Jitter => 0.000,
          Phase      => 0.000)),
   Internal_Events => 
      ( ( Type => Regular,
          Name => o1,
          Timing_Requirements => 
            ( Type             => Hard_Global_Deadline,
              Deadline         => 10.000,
              Referenced_Event => e1))),
   Event_Handlers  => 
      ( (Type               => Activity,
         Input_Event        => e1,
         Output_Event       => o1,
         Activity_Operation => task_21,
         Activity_Server    => task_edf21)));

Transaction (
   Type            => regular,
   Name            => tr_22,
   External_Events => 
      ( ( Type       => Periodic,
          Name       => e2,
          Period     => 20.000,
          Max_Jitter => 0.000,
          Phase      => 0.000)),
   Internal_Events => 
      ( ( Type => Regular,
          Name => o2,
          Timing_Requirements => 
            ( Type             => Hard_Global_Deadline,
              Deadline         => 45.000,
              Referenced_Event => e2))),
   Event_Handlers  => 
      ( (Type               => Activity,
         Input_Event        => e2,
         Output_Event       => o2,
         Activity_Operation => task_22,
         Activity_Server    => task_edf22)));

Transaction (
   Type            => regular,
   Name            => tr_23,
   External_Events => 
      ( ( Type       => Periodic,
          Name       => e3,
          Period     => 50.000,
          Max_Jitter => 0.000,
          Phase      => 0.000)),
   Internal_Events => 
      ( ( Type => Regular,
          Name => o3,
          Timing_Requirements => 
            ( Type             => Hard_Global_Deadline,
              Deadline         => 50.000,
              Referenced_Event => e3))),
   Event_Handlers  => 
      ( (Type               => Activity,
         Input_Event        => e3,
         Output_Event       => o3,
         Activity_Operation => task_23,
         Activity_Server    => task_edf23)));

Transaction (
   Type            => regular,
   Name            => tr_1,
   External_Events => 
      ( ( Type       => Periodic,
          Name       => e4,
          Period     => 5.000,
          Max_Jitter => 0.000,
          Phase      => 0.000)),
   Internal_Events => 
      ( ( Type => Regular,
          Name => o4,
          Timing_Requirements => 
            ( Type             => Hard_Global_Deadline,
              Deadline         => 5.000,
              Referenced_Event => e4))),
   Event_Handlers  => 
      ( (Type               => Activity,
         Input_Event        => e4,
         Output_Event       => o4,
         Activity_Operation => task_1,
         Activity_Server    => task_edf1)));

Transaction (
   Type            => regular,
   Name            => tr_3,
   External_Events => 
      ( ( Type       => Periodic,
          Name       => e5,
          Period     => 1000.00,
          Max_Jitter => 0.000,
          Phase      => 0.000)),
   Internal_Events => 
      ( ( Type => Regular,
          Name => o5,
          Timing_Requirements => 
            ( Type             => Hard_Global_Deadline,
              Deadline         => 1000.00,
              Referenced_Event => e5))),
   Event_Handlers  => 
      ( (Type               => Activity,
         Input_Event        => e5,
         Output_Event       => o5,
         Activity_Operation => task_3,
         Activity_Server    => task_edf3)));

