//------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //-- This source file was automatically generated by Platypus //-- see http://dossen.univ-brest.fr/apl //-- //-- 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 GNU GPL real-time scheduling analysis tool. //-- This program provides services to automatically check schedulability and //-- other performance criteria of real-time architecture models. //-- //-- Copyright (C) 2002-2016 Frank Singhoff, Alain Plantec, Jerome Legrand //-- //-- The Cheddar project was started in 2002 by //-- Frank Singhoff, Lab-STICC UMR 6285 laboratory, Université de Bretagne Occidentale //-- //-- Cheddar has been published in the "Agence de Protection des Programmes/France" in 2008. //-- Since 2008, Ellidiss technologies also contributes to the development of //-- Cheddar and provides industrial support. //-- //-- The full list of contributors and sponsors can be found in AUTHORS.txt and SPONSORS.txt //-- //-- 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 : cheddar@listes.univ-brest.fr //-- To post to this mailing list, you must be subscribed //-- (see http//beru.univ-brest.fr/~singhoff/cheddar for details) //-- //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ package cheddar.adl; public enum Schedulers_Type { No_Scheduling_Protocol, Rate_Monotonic_Protocol, Deadline_Monotonic_Protocol, Posix_1003_Highest_Priority_First_Protocol, Earliest_Deadline_First_Protocol, Least_Laxity_First_Protocol, D_Over_Protocol, Maximum_Urgency_First_Based_On_Laxity_Protocol, Maximum_Urgency_First_Based_On_Deadline_Protocol, Round_Robin_Protocol, Time_Sharing_Based_On_Cpu_Usage_Protocol, Time_Sharing_Based_On_Wait_Time_Protocol, Compiled_User_Defined_Protocol, Automata_User_Defined_Protocol, Pipeline_User_Defined_Protocol, User_Defined_Protocol, DAG_highest_level_first_estimated_times_protocol, Hierarchical_Cyclic_Protocol, Hierarchical_Round_Robin_Protocol, Hierarchical_Fixed_Priority_Protocol, Hierarchical_Offline_Protocol, Hierarchical_Polling_Aperiodic_Server_Protocol, Hierarchical_Priority_Exchange_Aperiodic_Server_Protocol, Hierarchical_Sporadic_Aperiodic_Server_Protocol, Hierarchical_Deferrable_Aperiodic_Server_Protocol, Reduction_To_Uniprocessor_protocol, Earliest_Deadline_Zero_Laxity_protocol, Largest_Local_Remaining_Execution_First_Protocol, Proportionate_Fair_PF_Protocol, Proportionate_Fair_PD_Protocol, Proportionate_Fair_PD2_Protocol; public static Schedulers_Type fromString(String rep) throws Exception { if (rep == null) return (null); if (rep.equals("No_Scheduling_Protocol")) return (No_Scheduling_Protocol); if (rep.equals("Rate_Monotonic_Protocol")) return (Rate_Monotonic_Protocol); if (rep.equals("Deadline_Monotonic_Protocol")) return (Deadline_Monotonic_Protocol); if (rep.equals("Posix_1003_Highest_Priority_First_Protocol")) return (Posix_1003_Highest_Priority_First_Protocol); if (rep.equals("Earliest_Deadline_First_Protocol")) return (Earliest_Deadline_First_Protocol); if (rep.equals("Least_Laxity_First_Protocol")) return (Least_Laxity_First_Protocol); if (rep.equals("D_Over_Protocol")) return (D_Over_Protocol); if (rep.equals("Maximum_Urgency_First_Based_On_Laxity_Protocol")) return (Maximum_Urgency_First_Based_On_Laxity_Protocol); if (rep.equals("Maximum_Urgency_First_Based_On_Deadline_Protocol")) return (Maximum_Urgency_First_Based_On_Deadline_Protocol); if (rep.equals("Round_Robin_Protocol")) return (Round_Robin_Protocol); if (rep.equals("Time_Sharing_Based_On_Cpu_Usage_Protocol")) return (Time_Sharing_Based_On_Cpu_Usage_Protocol); if (rep.equals("Time_Sharing_Based_On_Wait_Time_Protocol")) return (Time_Sharing_Based_On_Wait_Time_Protocol); if (rep.equals("Compiled_User_Defined_Protocol")) return (Compiled_User_Defined_Protocol); if (rep.equals("Automata_User_Defined_Protocol")) return (Automata_User_Defined_Protocol); if (rep.equals("Pipeline_User_Defined_Protocol")) return (Pipeline_User_Defined_Protocol); if (rep.equals("User_Defined_Protocol")) return (User_Defined_Protocol); if (rep.equals("DAG_highest_level_first_estimated_times_protocol")) return (DAG_highest_level_first_estimated_times_protocol); if (rep.equals("Hierarchical_Cyclic_Protocol")) return (Hierarchical_Cyclic_Protocol); if (rep.equals("Hierarchical_Round_Robin_Protocol")) return (Hierarchical_Round_Robin_Protocol); if (rep.equals("Hierarchical_Fixed_Priority_Protocol")) return (Hierarchical_Fixed_Priority_Protocol); if (rep.equals("Hierarchical_Offline_Protocol")) return (Hierarchical_Offline_Protocol); if (rep.equals("Hierarchical_Polling_Aperiodic_Server_Protocol")) return (Hierarchical_Polling_Aperiodic_Server_Protocol); if (rep.equals("Hierarchical_Priority_Exchange_Aperiodic_Server_Protocol")) return (Hierarchical_Priority_Exchange_Aperiodic_Server_Protocol); if (rep.equals("Hierarchical_Sporadic_Aperiodic_Server_Protocol")) return (Hierarchical_Sporadic_Aperiodic_Server_Protocol); if (rep.equals("Hierarchical_Deferrable_Aperiodic_Server_Protocol")) return (Hierarchical_Deferrable_Aperiodic_Server_Protocol); if (rep.equals("Reduction_To_Uniprocessor_protocol")) return (Reduction_To_Uniprocessor_protocol); if (rep.equals("Earliest_Deadline_Zero_Laxity_protocol")) return (Earliest_Deadline_Zero_Laxity_protocol); if (rep.equals("Largest_Local_Remaining_Execution_First_Protocol")) return (Largest_Local_Remaining_Execution_First_Protocol); if (rep.equals("Proportionate_Fair_PF_Protocol")) return (Proportionate_Fair_PF_Protocol); if (rep.equals("Proportionate_Fair_PD_Protocol")) return (Proportionate_Fair_PD_Protocol); if (rep.equals("Proportionate_Fair_PD2_Protocol")) return (Proportionate_Fair_PD2_Protocol); throw new Exception("invalid Schedulers_Type enum string representation (" + rep + ")"); } }