------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- This Ada package was automatically generated by the meta CASE tool Platypus -- see http://cassoulet.univ-brest.fr/mme -- -- Any modification of this file will be lost. -- Please see the "platypus" directory instead : it contains the Cheddar's -- model and its meta-model. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Cheddar is a free real time scheduling tool. -- This program provides services to automatically check temporal constraints -- of real time tasks. -- -- Copyright (C) 2002-2009 Frank Singhoff -- Cheddar is developed by the LISYC Team, University of Brest -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- -- Contact : F. Singhoff (singhoff@univ-brest.fr) -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ WITH Simulations; USE Simulations; WITH Simulations.Extended; USE Simulations.Extended; -- Generated from the following Cheddar program : -- -- --start_section start1 : -- v1 : integer; -- v2 : boolean; -- v1:=0; -- v2:=true; -- tv1 : array (tasks_range) of integer; -- tv2 : array (processors_range) of boolean; -- tv1:=100; -- tv1(4):=1; -- tv2:=true; -- tv2(4):=false; --end section; -- --priority_section partition1_priority : -- put(v1); -- put(v2); -- put(tv1,0,5); -- put(tv2,2,5); -- -- v1:=v1+100; -- v2:= not v2; --end section; -- --election_section partition1_election : -- return max_to_index(tasks.priority); --end section; PACKAGE Scheduler.User_Defined.Generated IS TYPE Generated_User_Defined_Scheduler IS ABSTRACT NEW User_Defined_Scheduler WITH PRIVATE; TYPE Generated_User_Defined_Scheduler_Ptr IS ACCESS ALL Generated_User_Defined_Scheduler'Class; PROCEDURE Run_Start_Section ( My_Scheduler : IN OUT Generated_User_Defined_Scheduler; Processor_Name : IN Unbounded_String; Msg : IN OUT Unbounded_String); PROCEDURE Run_Priority_Section ( My_Scheduler : IN OUT Generated_User_Defined_Scheduler; Si : IN OUT Scheduling_Information; Current_Time : IN Natural; Processor_Name : IN Unbounded_String; My_Dependencies : IN Tasks_Dependencies_Ptr; Msg : IN OUT Unbounded_String); PROCEDURE Run_Election_Section ( My_Scheduler : IN OUT Generated_User_Defined_Scheduler; Si : IN OUT Scheduling_Information; Current_Time : IN Natural; Processor_Name : IN Unbounded_String; My_Dependencies : IN Tasks_Dependencies_Ptr; With_Offsets : IN Boolean; With_Precedencies : IN Boolean; With_Resources : IN Boolean; Elected : IN OUT Tasks_Range; No_Task : IN OUT Boolean); PRIVATE TYPE Generated_User_Defined_Scheduler IS ABSTRACT NEW User_Defined_Scheduler WITH RECORD -- Time when this package was generated -- Generated_On : Unbounded_String := To_Unbounded_String ("08/10/07"); -- v1 : integer; Sc_V1 : Integer; -- v2 : boolean; Sc_V2 : Boolean; -- tv1 : array (tasks_range) of integer; Sc_Tv1 : Integer_Table; -- tv2 : array (processors_range) of boolean; Sc_Tv2 : Boolean_Table; END RECORD; END Scheduler.User_Defined.Generated ;