------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- 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 -- ------------------------------------------------------------------------------ -- Last update : -- $Rev: 1249 $ -- $Date: 2014-08-28 07:02:15 +0200 (Fri, 28 Aug 2014) $ -- $Author: singhoff $ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- this package should be automatically generated. -- -- -- we provide functions to converted the attributes of entity, in order -- to have a lisible presentation on Man Machine Interface: this include -- the label written with underscore, with lowercas and/or uppercase characters -- we consider by example the entity Scheduling_Parameters of the meta model. -- the attributes scheduler_type and preemptive_type have a list of parameters -- with undescores -- In accordance with meta model, scheduler_type may be Compiled_User_Defined_Protocol, -- Automata_User_Defined_Protocol, Pipeline_User_Defined_Protocol, .... -- In Man Machine Interface, scheduler_type should be Compiled User Defined Protocol, -- Automata User Defined Protocol, Pipeline User Defined Protocol, .... -- This package provide two functions, to_label and to_type to manage this kind of attributes package body graphical_editor.convert_text is function to_label(my_type: all_enumeration_type_ptr) return unbounded_string is label: Unbounded_String; begin case my_type.enum_type is when deployment_enum => case my_type.deployment_value is when static_deployment_type => label := to_Unbounded_String("Static Deployment"); when dynamic_deployment_type => label := to_Unbounded_String("Dynamic Deployment"); end case; return label; when Preemptives => case my_type.preemptives_value is when preemptive => label := to_Unbounded_String("Preemptive"); when not_preemptive => label := to_Unbounded_String("Not Preemptive"); end case; return label; when cache_coherence_protocol_enum => case my_type.cache_coherence_protocol_value is when Shared_Cache_Protocol => label := to_Unbounded_String("Shared Cache Protocol"); when private_cache_protocol => label := to_Unbounded_String("Private Cache Protocol"); when Private_Invalid_Cache_Protocol => label := to_Unbounded_String("Private Invalid Cache Protocol"); when Private_MSI_Cache_Protocol => label := to_Unbounded_String("Private MSI Cache Protocol"); when Private_MESI_Cache_Protocol => label := to_Unbounded_String("Private MESI Cache Protocol"); end case; return label; when cache_replacement_policy_enum => case my_type.cache_replacement_policy_value is when LRU => label := to_Unbounded_String("LRU"); when LRR => label := to_Unbounded_String("LRR"); when FIFO => label := to_Unbounded_String("FIFO"); when Random => label := to_Unbounded_String("Random"); end case; return label; when Schedulers => case my_type.schedulers_value is when Rate_Monotonic_Protocol => label := to_Unbounded_String("Rate Monotonic Protocol"); when Deadline_Monotonic_Protocol => label := to_Unbounded_String("Deadline Monotonic Protocol"); when Posix_1003_Highest_Priority_First_Protocol => label := to_Unbounded_String("Posix 1003 Highest Priority First Protocol"); when Earliest_Deadline_First_Protocol => label := to_Unbounded_String("Earliest Deadline First Protocol"); when Least_Laxity_First_Protocol => label := to_Unbounded_String("Least Laxity First Protocol"); when Compiled_User_Defined_Protocol => label := to_Unbounded_String("Compiled User Defined Protocol"); when Automata_User_Defined_Protocol => label := to_Unbounded_String("Automata User Defined Protocol"); when Pipeline_User_Defined_Protocol => label := to_Unbounded_String("Pipeline User Defined Protocol"); when User_Defined_Protocol => label := to_Unbounded_String("User Defined Protocol"); when Round_Robin_Protocol => label := to_Unbounded_String("Round Robin Protocol"); when Time_Sharing_Based_On_Wait_Time_Protocol => label := to_Unbounded_String("Time Sharing Based On Wait Time Protocol"); when D_Over_Protocol => label := to_Unbounded_String("D Over Protocol"); when Maximum_Urgency_First_Based_On_Laxity_Protocol => label := to_Unbounded_String("Maximum Urgency First Based On Laxity Protocol"); when Maximum_Urgency_First_Based_On_Deadline_Protocol => label := to_Unbounded_String("Maximum Urgency First Based On Deadline Protocol"); when Time_Sharing_Based_On_Cpu_Usage_Protocol => label := to_Unbounded_String("Time Sharing Based On Cpu Usage Protocol"); when No_Scheduling_Protocol => label := to_Unbounded_String("No Scheduling Protocol"); when Hierarchical_Cyclic_Protocol => label := to_Unbounded_String("Hierarchical Cyclic Protocol"); when Hierarchical_Round_Robin_Protocol => label := to_Unbounded_String("Hierarchical Round Robin Protocol"); when Hierarchical_Fixed_Priority_Protocol => label := to_Unbounded_String("Hierarchical Fixed Priority Protocol"); when Hierarchical_Polling_Aperiodic_Server_Protocol => label := to_Unbounded_String("Hierarchical Polling Aperiodic Server Protocol"); when Hierarchical_Priority_Exchange_Aperiodic_Server_Protocol => label := to_Unbounded_String("Hierarchical Priority Exchange Aperiodic Server Protocol"); when Hierarchical_Sporadic_Aperiodic_Server_Protocol => label := to_Unbounded_String("Hierarchical Sporadic Aperiodic Server Protocol"); when Hierarchical_Deferrable_Aperiodic_Server_Protocol => label := to_Unbounded_String("Hierarchical Deferrable Aperiodic Server Protocol"); when Proportionate_Fair_PF_Protocol => label := to_Unbounded_String("Proportionate Fair PF Protocol"); when Proportionate_Fair_PD_Protocol => label := to_Unbounded_String("Proportionate Fair PD Protocol"); when Proportionate_Fair_PD2_Protocol => label := to_Unbounded_String("Proportionate Fair PD2 Protocol"); when Hierarchical_offline_Protocol => label := to_Unbounded_String("Hierarchical Offline Protocol"); when reduction_to_uniprocessor_protocol => label := to_Unbounded_String("Reduction To Uniprocessor Protocol"); when earliest_deadline_zero_laxity_protocol => label := to_Unbounded_String("Earliest Deadline Zero Laxity Protocol"); when Largest_Local_Remaining_Execution_First_Protocol => label := to_Unbounded_String("Largest Local Remaining Execution First Protocol"); when DAG_Highest_Level_First_Estimated_Times_Protocol => label := to_Unbounded_String("DAG Highest Level First Estimated Times Protocol"); end case; return label; when Processors_enum => case my_type.processors_value is when Monocore_type => label := to_Unbounded_String("Monocore Type"); when Identical_Multicores_Type => label := to_Unbounded_String("Identical Multicores Type"); when Uniform_Multicores_Type => label := to_Unbounded_String("Uniform Multicores Type"); when Unrelated_Multicores_Types => label := to_Unbounded_String("Unrelated Multicores Types"); end case; return label; when Queueings => case my_type.queueings_value is when Qs_Pp1 => label := to_Unbounded_String("Qs Pp1"); when Qs_Mm1 => label := to_Unbounded_String("Qs Mm1"); when Qs_Md1 => label := to_Unbounded_String("Qs Md1"); when Qs_Mp1 => label := to_Unbounded_String("Qs Mp1"); when Qs_Mg1 => label := to_Unbounded_String("Qs Mg1"); when Qs_Mms => label := to_Unbounded_String("Qs Mms"); when Qs_Mds => label := to_Unbounded_String("Qs Mds"); when Qs_Mps => label := to_Unbounded_String("Qs Mps"); when Qs_Mgs => label := to_Unbounded_String("Qs Mgs"); when Qs_Mm1n => label := to_Unbounded_String("Qs Mm1n"); when Qs_Md1n => label := to_Unbounded_String("Qs Md1n"); when Qs_Mp1n => label := to_Unbounded_String("Qs Mp1n"); when Qs_Mg1n => label := to_Unbounded_String("Qs Mg1n"); when Qs_Mmsn => label := to_Unbounded_String("Qs Mmsn"); when Qs_Mdsn => label := to_Unbounded_String("Qs Mdsn"); when Qs_Mpsn => label := to_Unbounded_String("Qs Mpsn"); when Qs_Mgsn => label := to_Unbounded_String("Qs Mgsn"); end case; return label; when Roles => case my_type.roles_value is when Queuing_Producer => label := to_Unbounded_String("Queuing Producer"); when Queuing_Consumer => label := to_Unbounded_String("Queuing Consumer"); when Sampling_Writer => label := to_Unbounded_String("Sampling Writer"); when Sampling_Reader => label := to_Unbounded_String("Sampling Reader"); when UCSDF_Producer => label := to_Unbounded_String("UCSDF Producer"); when UCSDF_Consumer => label := to_Unbounded_String("UCSDF Consumer"); end case; return label; when Trigerres => case my_type.trigerres_value is when Sampled_Timing => label := to_Unbounded_String("Sampled Timing"); when Immediate_Timing => label := to_Unbounded_String("Immediate Timing"); when Delayed_Timing => label := to_Unbounded_String("Delayed Timing"); end case; return label; when Dependencies_enum => case my_type.dependencies_value is when Remote_Procedure_Call_Dependency => label := to_Unbounded_String("Remote Procedure Call Dependency"); when Precedence_Dependency => label := to_Unbounded_String("Precedence Dependency"); when Queueing_Buffer_Dependency => label := to_Unbounded_String("Queueing Buffer Dependency"); when Asynchronous_Communication_Dependency => label := to_Unbounded_String("Asynchronous Communication Dependency"); when Time_Triggered_Communication_Dependency => label := to_Unbounded_String("Time Triggered Communication Dependency"); when Resource_Dependency => label := to_Unbounded_String("Resource Dependency"); when Black_Board_Buffer_Dependency => label := to_Unbounded_String("Black Board Buffer Dependency"); end case; return label; when Message_Protocol => case my_type.message_protocol_value is when first_message => label := to_Unbounded_String("First Message"); when all_messages => label := to_Unbounded_String("All Messages"); end case; return label; when Orientations => case my_type.orientations_value is when From_Object_To_Task => label := to_Unbounded_String("From Object To Task"); when From_Task_To_Object => label := to_Unbounded_String("From Task To Object"); end case; return label; when Messages_enum => case my_type.messages_value is when Periodic_Type => label := to_Unbounded_String("Periodic message"); when Aperiodic_Type => label := to_Unbounded_String("Aperiodic message"); end case; return label; when Migrations => case my_type.migrations_value is when no_migration_type => label := to_Unbounded_String("No Migration Type"); when job_level_migration_type => label := to_Unbounded_String("Job Level Migration Type"); when time_unit_migration_type => label := to_Unbounded_String("Time Unit Migration Type"); end case; return label; when multiprocessors_type_enum => case my_type.multiprocessors_type_value is when identical => label := to_Unbounded_String("Identical"); when homogeneous => label := to_Unbounded_String("Homogeneous"); when Heterogeneous => label := to_Unbounded_String("Heterogeneous"); end case; return label; when networks_delay_enum => case my_type.networks_delay_value is when bounded_delay => label := to_Unbounded_String("Bounded Delay"); when jitter_delay => label := to_Unbounded_String("Jitter Delay"); when parametric_delay => label := to_Unbounded_String("Parametric Delay"); end case; return label; when networks_architecture_enum => case my_type.networks_architecture_value is when bus => label := to_Unbounded_String("Bus"); when Star => label := to_Unbounded_String("Star"); when Link => label := to_Unbounded_String("Link"); when NOC => label := to_Unbounded_String("NoC"); end case; return label; when switching_type_enum => case my_type.switching_type_value is when Wormwole => label := to_Unbounded_String("Wormwole"); when Store_And_Forward => label := to_Unbounded_String("Store And Forward"); end case; return label; when routing_enum => case my_type. routing_value is when XY => label := to_Unbounded_String("XY"); when YX => label := to_Unbounded_String("YX"); when XYX => label := to_Unbounded_String("XYX"); end case; return label; when task_group_types_enum => case my_type.task_group_types_value is when Transaction_Type => label := to_Unbounded_String("Transaction"); when Multiframe_Type => label := to_Unbounded_String("Multiframe"); end case; return label; when Protocols => case my_type.protocols_value is when No_Protocol => label := to_Unbounded_String("No Protocol"); when Priority_Ceiling_Protocol => label := to_Unbounded_String("Priority Ceiling Protocol"); when Priority_Inheritance_Protocol => label := to_Unbounded_String("Priority Inheritance Protocol"); when Immediate_Priority_Ceiling_Protocol => label := to_Unbounded_String("Immediate Priority Ceiling Protocol"); end case; return label; when Assignments => case my_type.assignments_value is when Automatic_Assignment => label := to_Unbounded_String("Automatic Assignment"); when Manual_Assignment => label := to_Unbounded_String("Manual Assignment"); end case; return label; when Predictables => case my_type.predictables_value is when True or true => label := to_Unbounded_String("True"); when False or false => label := to_Unbounded_String("False"); end case; return label; when Policies_enum => case my_type.policies_value is when Sched_Fifo => label := to_Unbounded_String("Sched Fifo"); when Sched_Rr => label := to_Unbounded_String("Sched Rr"); when Sched_Others => label := to_Unbounded_String("Sched Others"); end case; return label; when Tasks_enum => case my_type.tasks_value is when Periodic_Type => label := to_Unbounded_String("Periodic"); when Aperiodic_Type => label := to_Unbounded_String("Aperiodic"); when Sporadic_Type => label := to_Unbounded_String("Sporadic"); when Poisson_Type => label := to_Unbounded_String("Poisson"); when Parametric_Type => label := to_Unbounded_String("Parametric"); when Scheduling_Task_Type => label := to_Unbounded_String("Scheduling"); when Frame_Task_Type => label := to_Unbounded_String("Multi Frame"); end case; return label; when Parameters_enum => case my_type.params_value is when Boolean_Parameter => label := to_Unbounded_String("Boolean"); when Integer_Parameter => label := to_Unbounded_String("Integer"); when Double_Parameter => label := to_Unbounded_String("Double"); when String_Parameter => label := to_Unbounded_String("String"); end case; return label; end case; end to_label; function to_type(my_gvalue: GValue) return all_enumeration_type_ptr is begin return to_type(to_unbounded_string(Get_String(my_gvalue))); end to_type; function to_type(my_label: Unbounded_String) return all_enumeration_type_ptr is my_type : all_enumeration_type_ptr; begin if my_label = to_Unbounded_String("Dynamic Deployment") then my_type := new t_all_enumeration_type'(enum_type => deployment_enum, deployment_value=> dynamic_deployment_type); end if; if my_label = to_Unbounded_String("Static Deployment") then my_type := new t_all_enumeration_type'(enum_type => deployment_enum, deployment_value=> static_deployment_type); end if; if my_label = to_Unbounded_String("Shared Cache Protocol") then my_type := new t_all_enumeration_type'(enum_type => cache_coherence_protocol_enum, cache_coherence_protocol_value=> Shared_Cache_Protocol); end if; if my_label = to_Unbounded_String("Private Cache Protocol") then my_type := new t_all_enumeration_type'(enum_type => cache_coherence_protocol_enum, cache_coherence_protocol_value=> private_cache_protocol); end if; if my_label = to_Unbounded_String("Private Invalid Cache Protocol") then my_type := new t_all_enumeration_type'(enum_type => cache_coherence_protocol_enum, cache_coherence_protocol_value=> Private_Invalid_Cache_Protocol); end if; if my_label = to_Unbounded_String("Private MSI Cache Protocol") then my_type := new t_all_enumeration_type'(enum_type => cache_coherence_protocol_enum, cache_coherence_protocol_value=> Private_MSI_Cache_Protocol); end if; if my_label = to_Unbounded_String("Private MESI Cache Protocol") then my_type := new t_all_enumeration_type'(enum_type => cache_coherence_protocol_enum, cache_coherence_protocol_value=> Private_MESI_Cache_Protocol); end if; if my_label = to_Unbounded_String("Random") then my_type := new t_all_enumeration_type'(enum_type => cache_replacement_policy_enum, cache_replacement_policy_value=> random); end if; if my_label = to_Unbounded_String("LRU") then my_type := new t_all_enumeration_type'(enum_type => cache_replacement_policy_enum, cache_replacement_policy_value=> LRU); end if; if my_label = to_Unbounded_String("LRR") then my_type := new t_all_enumeration_type'(enum_type => cache_replacement_policy_enum, cache_replacement_policy_value=> LRR); end if; if my_label = to_Unbounded_String("FIFO") then my_type := new t_all_enumeration_type'(enum_type => cache_replacement_policy_enum, cache_replacement_policy_value=> FIFO); end if; if my_label = to_Unbounded_String("Preemptive") then my_type := new t_all_enumeration_type'(enum_type => Preemptives, preemptives_value => preemptive); end if; if my_label = to_Unbounded_String("Not Preemptive") then my_type := new t_all_enumeration_type'(enum_type => Preemptives, preemptives_value => not_preemptive); end if; if my_label = to_Unbounded_String("Compiled User Defined Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Compiled_User_Defined_Protocol); end if; if my_label = to_Unbounded_String("Automata User Defined Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Automata_User_Defined_Protocol); end if; if my_label = to_Unbounded_String("Pipeline User Defined Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Pipeline_User_Defined_Protocol); end if; if my_label = to_Unbounded_String("User Defined Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => User_Defined_Protocol); end if; if my_label = to_Unbounded_String("Earliest Deadline First Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Earliest_Deadline_First_Protocol); end if; if my_label = to_Unbounded_String("Least Laxity First Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Least_Laxity_First_Protocol); end if; if my_label = to_Unbounded_String("Rate Monotonic Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Rate_Monotonic_Protocol); end if; if my_label = to_Unbounded_String("Reduction To Uniprocessor Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => reduction_to_uniprocessor_Protocol); end if; if my_label = to_Unbounded_String("Earliest Deadline Zero Laxity Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => earliest_deadline_zero_laxity_protocol); end if; if my_label = to_Unbounded_String("Largest Local Remaining Execution First Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Largest_Local_Remaining_Execution_First_Protocol); end if; if my_label = to_Unbounded_String("DAG Highest Level First Estimated Times Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => DAG_Highest_Level_First_Estimated_Times_Protocol); end if; if my_label = to_Unbounded_String("Deadline Monotonic Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Deadline_Monotonic_Protocol); end if; if my_label = to_Unbounded_String("Round Robin Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Round_Robin_Protocol); end if; if my_label = to_Unbounded_String("Time Sharing Based On Wait Time Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Time_Sharing_Based_On_Wait_Time_Protocol); end if; if my_label = to_Unbounded_String("Posix 1003 Highest Priority First Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Posix_1003_Highest_Priority_First_Protocol); end if; if my_label = to_Unbounded_String("D Over Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => D_Over_Protocol); end if; if my_label = to_Unbounded_String("Maximum Urgency First Based On Laxity Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Maximum_Urgency_First_Based_On_Laxity_Protocol); end if; if my_label = to_Unbounded_String("Maximum Urgency First Based On Deadline Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Maximum_Urgency_First_Based_On_Deadline_Protocol); end if; if my_label = to_Unbounded_String("Time Sharing Based On Cpu Usage Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Time_Sharing_Based_On_Cpu_Usage_Protocol); end if; if my_label = to_Unbounded_String("No Scheduling Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => No_Scheduling_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Cyclic Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Cyclic_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Round Robin Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Round_Robin_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Fixed Priority Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Fixed_Priority_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Polling Aperiodic Server Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Polling_Aperiodic_Server_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Priority Exchange Aperiodic Server Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Priority_Exchange_Aperiodic_Server_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Sporadic Aperiodic Server Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Sporadic_Aperiodic_Server_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Deferrable Aperiodic Server Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Deferrable_Aperiodic_Server_Protocol); end if; if my_label = to_Unbounded_String("Hierarchical Offline Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Hierarchical_Offline_Protocol); end if; if my_label = to_Unbounded_String("Proportionate Fair PF Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Proportionate_Fair_PF_Protocol); end if; if my_label = to_Unbounded_String("Proportionate Fair PD Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Proportionate_Fair_PD_Protocol); end if; if my_label = to_Unbounded_String("Proportionate Fair PD2 Protocol") then my_type := new t_all_enumeration_type'(enum_type => Schedulers, schedulers_value => Proportionate_Fair_PD2_Protocol); end if; if my_label = to_Unbounded_String("Monocore Type") then my_type := new t_all_enumeration_type'(enum_type => Processors_enum, processors_value => monocore_type); end if; if my_label = to_Unbounded_String("Identical Multicores Type") then my_type := new t_all_enumeration_type'(enum_type => Processors_enum, processors_value => identical_multicores_type); end if; if my_label = to_Unbounded_String("Uniform Multicores Type") then my_type := new t_all_enumeration_type'(enum_type => Processors_enum, processors_value => uniform_multicores_type); end if; if my_label = to_Unbounded_String("Unrelated Multicores Types") then my_type := new t_all_enumeration_type'(enum_type => Processors_enum, processors_value => unrelated_multicores_types); end if; if my_label = to_Unbounded_String("Qs Pp1") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Pp1); end if; if my_label = to_Unbounded_String("Qs Mm1") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mm1); end if; if my_label = to_Unbounded_String("Qs Md1") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Md1); end if; if my_label = to_Unbounded_String("Qs Mp1") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mp1); end if; if my_label = to_Unbounded_String("Qs Mg1") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mg1); end if; if my_label = to_Unbounded_String("Qs Mms") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mms); end if; if my_label = to_Unbounded_String("Qs Mds") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mds); end if; if my_label = to_Unbounded_String("Qs Mps") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mps); end if; if my_label = to_Unbounded_String("Qs Mgs") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mgs); end if; if my_label = to_Unbounded_String("Qs Mm1n") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mm1n); end if; if my_label = to_Unbounded_String("Qs Md1n") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Md1n); end if; if my_label = to_Unbounded_String("Qs Mp1n") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mp1n); end if; if my_label = to_Unbounded_String("Qs Mg1n") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mg1n); end if; if my_label = to_Unbounded_String("Qs Mmsn") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mmsn); end if; if my_label = to_Unbounded_String("Qs Mdsn") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mdsn); end if; if my_label = to_Unbounded_String("Qs Mpsn") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mpsn); end if; if my_label = to_Unbounded_String("Qs Mgsn") then my_type := new t_all_enumeration_type'(enum_type => Queueings, queueings_value => Qs_Mgsn); end if; if my_label = to_Unbounded_String("Queuing Producer") then my_type := new t_all_enumeration_type'(enum_type => Roles, roles_value => Queuing_Producer); end if; if my_label = to_Unbounded_String("Queuing Consumer") then my_type := new t_all_enumeration_type'(enum_type => Roles, roles_value => Queuing_Consumer); end if; if my_label = to_Unbounded_String("Sampling Writer") then my_type := new t_all_enumeration_type'(enum_type => Roles, roles_value => Sampling_Writer); end if; if my_label = to_Unbounded_String("Sampling Reader") then my_type := new t_all_enumeration_type'(enum_type => Roles, roles_value => Sampling_Reader); end if; if my_label = to_Unbounded_String("Sampled Timing") then my_type := new t_all_enumeration_type'(enum_type => Trigerres, trigerres_value => Sampled_Timing); end if; if my_label = to_Unbounded_String("Immediate Timing") then my_type := new t_all_enumeration_type'(enum_type => Trigerres, trigerres_value => Immediate_Timing); end if; if my_label = to_Unbounded_String("Delayed Timing") then my_type := new t_all_enumeration_type'(enum_type => Trigerres, trigerres_value => Delayed_Timing); end if; if my_label = to_Unbounded_String("Precedence Dependency") then my_type := new t_all_enumeration_type'(enum_type => Dependencies_enum, dependencies_value => Precedence_Dependency); end if; if my_label = to_Unbounded_String("Queueing Buffer Dependency") then my_type := new t_all_enumeration_type'(enum_type => Dependencies_enum, dependencies_value => Queueing_Buffer_Dependency); end if; if my_label = to_Unbounded_String("Asynchronous Communication Dependency") then my_type := new t_all_enumeration_type'(enum_type => Dependencies_enum, dependencies_value => Asynchronous_Communication_Dependency); end if; if my_label = to_Unbounded_String("Time Triggered Communication Dependency") then my_type := new t_all_enumeration_type'(enum_type => Dependencies_enum, dependencies_value => Time_Triggered_Communication_Dependency); end if; if my_label = to_Unbounded_String("Resource Dependency") then my_type := new t_all_enumeration_type'(enum_type => Dependencies_enum, dependencies_value => Resource_Dependency); end if; if my_label = to_Unbounded_String("Black Board Buffer Dependency") then my_type := new t_all_enumeration_type'(enum_type => Dependencies_enum, dependencies_value => Black_Board_Buffer_Dependency); end if; if my_label = to_Unbounded_String("First Message") then my_type := new t_all_enumeration_type'(enum_type => Message_protocol, message_protocol_value => first_message); end if; if my_label = to_Unbounded_String("All Messages") then my_type := new t_all_enumeration_type'(enum_type => Message_protocol, message_protocol_value => all_messages); end if; if my_label = to_Unbounded_String("From Object To Task") then my_type := new t_all_enumeration_type'(enum_type => Orientations, orientations_value => From_Object_To_Task); end if; if my_label = to_Unbounded_String("From Task To Object") then my_type := new t_all_enumeration_type'(enum_type => Orientations, orientations_value => From_Task_To_Object); end if; if my_label = to_Unbounded_String("Periodic message") then my_type := new t_all_enumeration_type'(enum_type => Messages_enum, messages_value => Periodic_Type); end if; if my_label = to_Unbounded_String("Aperiodic message") then my_type := new t_all_enumeration_type'(enum_type => Messages_enum, messages_value => Aperiodic_Type); end if; if my_label = to_Unbounded_String("No Migration Type") then my_type := new t_all_enumeration_type'(enum_type => Migrations, migrations_value => no_migration_type); end if; if my_label = to_Unbounded_String("Job Level Migration Type") then my_type := new t_all_enumeration_type'(enum_type => Migrations, migrations_value => job_level_migration_type); end if; if my_label = to_Unbounded_String("Time Unit Migration Type") then my_type := new t_all_enumeration_type'(enum_type => Migrations, migrations_value => time_unit_migration_type); end if; if my_label = to_Unbounded_String("XY") then my_type := new t_all_enumeration_type'(enum_type => routing_enum, routing_value => XY); end if; if my_label = to_Unbounded_String("XYX") then my_type := new t_all_enumeration_type'(enum_type => routing_enum, routing_value => XYX); end if; if my_label = to_Unbounded_String("YX") then my_type := new t_all_enumeration_type'(enum_type => routing_enum, routing_value => YX); end if; -- missing BUS STAR LINK if my_label = to_Unbounded_String("NoC") then my_type := new t_all_enumeration_type'(enum_type => Networks_architecture_enum, networks_architecture_value => NOC); end if; if my_label = to_Unbounded_String("Bounded Delay") then my_type := new t_all_enumeration_type'(enum_type => Networks_delay_enum, networks_delay_value => Bounded_Delay); end if; if my_label = to_Unbounded_String("Jitter Delay") then my_type := new t_all_enumeration_type'(enum_type => Networks_delay_enum, networks_delay_value => Jitter_Delay); end if; if my_label = to_Unbounded_String("Parametric Delay") then my_type := new t_all_enumeration_type'(enum_type => Networks_delay_enum, networks_delay_value => Parametric_Delay); end if; if my_label = to_Unbounded_String("No Protocol") then my_type := new t_all_enumeration_type'(enum_type => Protocols, protocols_value => No_Protocol); end if; if my_label = to_Unbounded_String("Priority Ceiling Protocol") then my_type := new t_all_enumeration_type'(enum_type => Protocols, protocols_value => Priority_Ceiling_Protocol); end if; if my_label = to_Unbounded_String("Priority Inheritance Protocol") then my_type := new t_all_enumeration_type'(enum_type => Protocols, protocols_value => Priority_Inheritance_Protocol); end if; if my_label = to_Unbounded_String("Immediate Priority Ceiling Protocol") then my_type := new t_all_enumeration_type'(enum_type => Protocols, protocols_value => Immediate_Priority_Ceiling_Protocol); end if; if my_label = to_Unbounded_String("Automatic Assignment") then my_type := new t_all_enumeration_type'(enum_type => Assignments, assignments_value => Automatic_Assignment); end if; if my_label = to_Unbounded_String("Manual Assignment") then my_type := new t_all_enumeration_type'(enum_type => Assignments, assignments_value => Manual_Assignment); end if; if my_label = to_Unbounded_String("True") or my_label = to_Unbounded_String("true") then my_type := new t_all_enumeration_type'(enum_type => Predictables, predictables_value => True); end if; if my_label = to_Unbounded_String("False") or my_label = to_Unbounded_String("false") or my_label = to_Unbounded_String("") then my_type := new t_all_enumeration_type'(enum_type => Predictables, predictables_value => False); end if; if my_label = to_Unbounded_String("Sched Fifo") then my_type := new t_all_enumeration_type'(enum_type => Policies_enum, policies_value => Sched_Fifo); end if; if my_label = to_Unbounded_String("Sched Rr") then my_type := new t_all_enumeration_type'(enum_type => Policies_enum, policies_value => Sched_Rr); end if; if my_label = to_Unbounded_String("Sched Others") then my_type := new t_all_enumeration_type'(enum_type => Policies_enum, policies_value => Sched_Others); end if; if my_label = to_Unbounded_String("Periodic") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Periodic_Type); end if; if my_label = to_Unbounded_String("Aperiodic") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Aperiodic_Type); end if; if my_label = to_Unbounded_String("Sporadic") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Sporadic_Type); end if; if my_label = to_Unbounded_String("Poisson") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Poisson_Type); end if; if my_label = to_Unbounded_String("Parametric") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Parametric_Type); end if; if my_label = to_Unbounded_String("Scheduling") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Scheduling_Task_Type); end if; if my_label = to_Unbounded_String("Multi Frame") then my_type := new t_all_enumeration_type'(enum_type => Tasks_enum, tasks_value => Frame_Task_Type); end if; if my_label = to_Unbounded_String("Boolean") then my_type := new t_all_enumeration_type'(enum_type => Parameters_enum, params_value => Boolean_Parameter); end if; if my_label = to_Unbounded_String("Integer") then my_type := new t_all_enumeration_type'(enum_type => Parameters_enum, params_value => Integer_Parameter); end if; if my_label = to_Unbounded_String("Double") then my_type := new t_all_enumeration_type'(enum_type => Parameters_enum, params_value => Double_Parameter); end if; if my_label = to_Unbounded_String("String") then my_type := new t_all_enumeration_type'(enum_type => Parameters_enum, params_value => String_Parameter); end if; if my_label = to_Unbounded_String("Transaction") then my_type := new t_all_enumeration_type'(enum_type => task_group_types_enum, task_group_types_value => Transaction_Type); end if; if my_label = to_Unbounded_String("Multiframe") then my_type := new t_all_enumeration_type'(enum_type => task_group_types_enum, task_group_types_value => Multiframe_Type); end if; return my_type; end to_type; end graphical_editor.convert_text;