SCHEMA Framework_Config; USE FROM Basic_Types; CONSTANT Max_Tasks_For_A_Resource : Natural := 10; Max_User_Defined_Task_Parameters : Natural := 10; Max_Offsets : Natural := 10; Max_Tasks : Natural := 10; Max_Scheduling_Period : Natural := 10; Max_Sections : Natural := 10; Max_Transitions : Natural := 10; END_CONSTANT; END_SCHEMA; SCHEMA Objects; USE FROM Basic_Types; TYPE Objects_Type = ENUMERATION OF ( Core_Object_Type, Buffer_Object_Type, Processor_Object_Type, Cache_Object_Type, Task_Object_Type, Resource_Object_Type, Address_Space_Object_Type, Message_Object_Type, State_Object_Type, Transition_Object_Type, Statement_Object_Type, Expression_Object_Type, Synchronization_Object_Type, Section_Object_Type, Network_Object_Type, Connexion_Object_Type, Event_Analyzer_Type ); END_TYPE; ENTITY Generic_Object ABSTRACT SUPERTYPE; name : STRING; object_type : Objects_Type; END_ENTITY; END_SCHEMA; SCHEMA Offsets; USE FROM Basic_Types; TYPE Offsets_Range = Range; END_TYPE; TYPE Offsets_Table = LIST OF Offset_Type; END_TYPE; ENTITY Offset_Type; offset_value : INTEGER; activation : INTEGER; END_ENTITY; END_SCHEMA; SCHEMA Processors; USE FROM Framework_Config; USE FROM Objects; USE FROM Scheduler; USE FROM Basic_Types; USE FROM processor_interface; USE FROM Scheduler_Interface; TYPE Cache_Replacement_Type = ENUMERATION OF ( Random, LRU, FIFO ); END_TYPE; TYPE Write_Policy_Type = ENUMERATION OF ( Copy_Back, Write_Through_With_Allocation, Write_Through_Without_Allocation ); END_TYPE; TYPE Caches_Range = Range; END_TYPE; TYPE Caches_Table = LIST OF Generic_Cache; END_TYPE; TYPE Core_Units_Range = Range; END_TYPE; TYPE Core_Units_Table = LIST OF Core_Unit; END_TYPE; ENTITY Generic_Cache SUBTYPE OF (Generic_Object); number_of_block : Natural; block_size : Natural; associativity : Natural; cache_replacement : Cache_Replacement_Type; END_ENTITY; ENTITY Data_Cache SUBTYPE OF (Generic_Cache); write_policy : Write_Policy_Type; END_ENTITY; ENTITY Data_Instruction_Cache SUBTYPE OF (Data_Cache); END_ENTITY; ENTITY Instruction_Cache SUBTYPE OF (Generic_Cache); END_ENTITY; ENTITY Cache_System SUBTYPE OF (Generic_Object); caches : Caches_Table; END_ENTITY; ENTITY Core_Unit SUBTYPE OF (Generic_Object); scheduling : Scheduling_Parameters; speed : REAL; l1_cache_system_name : STRING; DERIVE SELF\Generic_Object.object_type : Objects_Type := Core_Object_Type; END_ENTITY; ENTITY Generic_Processor SUBTYPE OF (Generic_Object); network : STRING; processor_type : Processors_Type; migration_type : Migrations_Type; DERIVE SELF\Generic_Object.object_type : Objects_Type := Processor_Object_Type; END_ENTITY; ENTITY Mono_Core_Processor SUBTYPE OF (Generic_Processor); core : Core_Unit; END_ENTITY; ENTITY Multi_Cores_Processor SUBTYPE OF (Generic_Processor); cores : Core_Units_Table; l2_cache_system_name : STRING; END_ENTITY; END_SCHEMA; SCHEMA Buffers; USE FROM Framework_Config; USE FROM Objects; USE FROM Tasks; USE FROM Basic_Types; USE FROM Queueing_Systems; TYPE Role_Type = ENUMERATION OF ( No_Role, Producer, Consumer ); END_TYPE; TYPE Buffer_Roles_Range = Range; END_TYPE; TYPE Buffer_Roles_Table = LIST OF Buffer_Role; END_TYPE; ENTITY Buffer_Role; the_role : Role_Type; size : Natural; time : Natural; END_ENTITY; ENTITY Buffer SUBTYPE OF (Generic_Object); cpu_name : STRING; address_space_name : STRING; queueing_system_type : Queueing_Systems_Type; size : Natural; roles : Buffer_Roles_Table; x : Natural; y : Natural; DERIVE SELF\Generic_Object.object_type : Objects_Type := Buffer_Object_Type; END_ENTITY; END_SCHEMA; SCHEMA Resources; USE FROM Framework_Config; USE FROM Basic_Types; USE FROM objects; USE FROM Tasks; TYPE Resources_Type = ENUMERATION OF ( No_Protocol, Priority_Ceiling_Protocol, Priority_Inheritance_Protocol, Immediate_Priority_Ceiling_Protocol ); END_TYPE; TYPE Task_Lists_Range = Range; END_TYPE; TYPE Task_Lists_Table = LIST OF Task_List_Element; END_TYPE; TYPE Start_End_Table = LIST OF Affected_Task_Lists; END_TYPE; ENTITY Affected_Task_Lists; task_begin : Natural; task_end : Natural; END_ENTITY; ENTITY Task_List_Element; index : STRING; data : Affected_Task_Lists; END_ENTITY; ENTITY Generic_Resource ABSTRACT SUPERTYPE SUBTYPE OF (Generic_Object); state : INTEGER; size : INTEGER; address : INTEGER; protocol : Resources_Type; task_tab : Task_Lists_Table; cpu_name : STRING; address_space_name : STRING; DERIVE SELF\Generic_Object.object_type : Objects_Type := Resource_Object_Type; END_ENTITY; ENTITY Np_Resource SUBTYPE OF (Generic_Resource); END_ENTITY; ENTITY Priority_Constrained_Resource SUBTYPE OF (Generic_Resource); ceiling_priority : Priority_Range; END_ENTITY; ENTITY Pip_Resource SUBTYPE OF (Priority_Constrained_Resource); DERIVE SELF\Generic_Resource.protocol : Resources_Type := Priority_Inheritance_Protocol; END_ENTITY; ENTITY Pcp_Resource SUBTYPE OF (Priority_Constrained_Resource); DERIVE SELF\Generic_Resource.protocol : Resources_Type := Priority_Ceiling_Protocol; END_ENTITY; ENTITY IPcp_Resource SUBTYPE OF (Priority_Constrained_Resource); DERIVE SELF\Generic_Resource.protocol : Resources_Type := Immediate_Priority_Ceiling_Protocol; END_ENTITY; END_SCHEMA; SCHEMA Tasks; USE FROM Framework_Config; USE FROM Objects; USE FROM Parameters; USE FROM Offsets; USE FROM Basic_Types; TYPE Tasks_Type = ENUMERATION OF ( Periodic_Type, Aperiodic_Type, Sporadic_Type, Poisson_Type, Parametric_Type ); END_TYPE; TYPE Policies = ENUMERATION OF ( Sched_Fifo, Sched_Rr, Sched_Others ); END_TYPE; TYPE Priority_Range = Range; END_TYPE; ENTITY Generic_Task ABSTRACT SUPERTYPE SUBTYPE OF (Generic_Object); task_type : Tasks_Type; cpu_name : STRING; address_space_name : STRING; capacity : Natural; deadline : Natural; start_time : Natural; priority : Priority_Range; blocking_time : Natural; policy : Policies; x : Natural; y : Natural; offset : Offsets_Table; text_memory_size : Natural; stack_memory_size : Natural; param : User_Defined_Parameters_Table; criticality : Natural; context_switch_overhead : Natural; DERIVE SELF\Generic_Object.object_type : Objects_Type := Task_Object_Type; END_ENTITY; ENTITY Periodic_Task SUBTYPE OF (Generic_Task); period : Natural; jitter : Natural; DERIVE SELF\Generic_Task.task_type : Tasks_Type := Periodic_Type; WHERE wr1 : period > 0; END_ENTITY; ENTITY Aperiodic_Task SUBTYPE OF (Generic_Task); DERIVE SELF\Generic_Task.task_type : Tasks_Type := Aperiodic_Type; END_ENTITY; ENTITY Poisson_Task SUBTYPE OF (Periodic_Task); seed : INTEGER; predictable : BOOLEAN; DERIVE SELF\Periodic_Task.task_type : Tasks_Type := Poisson_Type; END_ENTITY; ENTITY Sporadic_Task SUBTYPE OF (Poisson_Task); DERIVE SELF\Poisson_Task.task_type : Tasks_Type := Sporadic_Type; END_ENTITY; ENTITY Parametric_Task SUBTYPE OF (Poisson_Task); activation_rule : STRING; DERIVE SELF\Poisson_Task.task_type : Tasks_Type := Parametric_Type; END_ENTITY; END_SCHEMA; SCHEMA Messages; USE FROM Objects; USE FROM Parameters; USE FROM Basic_Types; TYPE Messages_Type = ENUMERATION OF ( Periodic_Type, Aperiodic_Type, Generic_Type ); END_TYPE; ENTITY Generic_Message ABSTRACT SUPERTYPE SUBTYPE OF (Generic_Object); message_type : Messages_Type; x : Natural; y : Natural; param : User_Defined_Parameters_Table; deadline : Natural; size : Natural; response_time : Natural; communication_time : Natural; DERIVE SELF\Generic_Object.object_type : Objects_Type := Message_Object_Type; END_ENTITY; ENTITY Periodic_Message SUBTYPE OF (Generic_Message); period : Natural; jitter : Natural; DERIVE SELF\Generic_Message.message_type : Messages_Type := Periodic_Type; END_ENTITY; ENTITY Aperiodic_Message SUBTYPE OF (Generic_Message); DERIVE SELF\Generic_Message.message_type : Messages_Type := Aperiodic_Type; END_ENTITY; END_SCHEMA; SCHEMA Dependencies; USE FROM Basic_Types; USE FROM Messages; USE FROM Tasks; USE FROM Buffers; USE FROM Resources; TYPE Dependency_Type = ENUMERATION OF ( Precedence_Dependency, Buffer_Dependency, Communication_Dependency, Synchronous_Data_Flow_Dependency, Resource_Dependency ); END_TYPE; TYPE Synchronous_Data_Flow_Timing_Property_Type = ENUMERATION OF ( Sampled_Timing, Immediate_Timing, Delayed_Timing ); END_TYPE; TYPE Orientation_Dependency_Type = ENUMERATION OF ( From_Object_To_Task, From_Task_To_Object ); END_TYPE; ENTITY Synchronous_Data_Flow_Dependency_type; synchronous_data_flow_sink : Generic_Task; synchronous_data_flow_source : Generic_Task; timing_property : Synchronous_Data_Flow_Timing_Property_Type; END_ENTITY; ENTITY Precedence_Dependency_type; precedence_sink : Generic_Task; precedence_source : Generic_Task; END_ENTITY; ENTITY Buffer_Dependency_type; buffer_dependent_task : Generic_Task; buffer_orientation : Orientation_Dependency_Type; buffer_dependency_object : Buffer; END_ENTITY; ENTITY Resource_Dependency_Type; resource_dependency_resource : Generic_Resource; resource_dependency_task : Generic_Task; END_ENTITY; ENTITY Communication_Dependency_type; communication_dependent_task : Generic_Task; communication_orientation : Orientation_Dependency_Type; communication_dependency_object : Generic_Message; END_ENTITY; ENTITY Dependency_Union; precedence_dependency : Precedence_Dependency_type; buffer_dependency : Buffer_Dependency_type; communication_dependency : Communication_Dependency_type; synchronous_data_flow_dependency : Synchronous_Data_Flow_Dependency_type; resource_dependency : Resource_Dependency_Type; END_ENTITY; ENTITY Dependency; ptype : Dependency_Type; union : Dependency_Union; END_ENTITY; END_SCHEMA; SCHEMA Address_Spaces; USE FROM Basic_Types; USE FROM Objects; USE FROM Processors; USE FROM Scheduler_Interface; ENTITY Address_Space SUBTYPE OF (Generic_Object); cpu_name : STRING; text_memory_size : Natural; stack_memory_size : Natural; data_memory_size : Natural; heap_memory_size : Natural; scheduling : Scheduling_Parameters; DERIVE SELF\Generic_Object.object_type : Objects_Type := Address_Space_Object_Type; END_ENTITY; END_SCHEMA; SCHEMA Basic_Types; TYPE Natural = INTEGER; WHERE mustBePositive : self > 0; END_TYPE; TYPE Range = INTEGER; END_TYPE; END_SCHEMA; SCHEMA Laws; TYPE Laws_Type = ENUMERATION OF ( Uniform_Law_Type, Laplace_Gauss_Law_Type, Exponential_Law_Type ); END_TYPE; END_SCHEMA; SCHEMA Networks; USE FROM Objects; TYPE Networks_Type = ENUMERATION OF ( Bounded_Delay, Jitter_Delay, Parametric_Delay ); END_TYPE; ENTITY Network SUBTYPE OF (Generic_Object); network_type : Networks_Type; DERIVE SELF\Generic_Object.object_type : Objects_Type := Network_Object_Type; END_ENTITY; END_SCHEMA; SCHEMA Time_Unit_Events; USE FROM Basic_Types; USE FROM Resources; USE FROM Tasks; USE FROM Messages; USE FROM Buffers; TYPE Time_Unit_Event_Type = ENUMERATION OF ( Start_Of_Task_Capacity, End_Of_Task_Capacity, Write_To_Buffer, Read_From_Buffer, Context_Switch_Overhead, Running_Task, Task_Activation, Allocate_Resource, Release_Resource, Wait_For_Resource, Send_Message, Receive_Message ); END_TYPE; ENTITY Start_Of_Task_Capacity_Type; start_task : Generic_Task; END_ENTITY; ENTITY End_Of_Task_Capacity_Type; end_task : Generic_Task; END_ENTITY; ENTITY Write_To_Buffer_Type; write_buffer : Buffer; write_task : Generic_Task; write_size : Natural; END_ENTITY; ENTITY Read_From_Buffer_Type; read_buffer : Buffer; read_task : Generic_Task; read_size : Natural; END_ENTITY; ENTITY Context_Switch_Overhead_Type; switched_task : Generic_Task; END_ENTITY; ENTITY Running_Task_Type; running_core : STRING; running_task : Generic_Task; current_priority : Priority_Range; END_ENTITY; ENTITY Task_Activation_Type; activation_task : Generic_Task; END_ENTITY; ENTITY Allocate_Resource_Type; allocate_task : Generic_Task; allocate_resource : Generic_Resource; END_ENTITY; ENTITY Release_Resource_Type; release_task : Generic_Task; release_resource : Generic_Resource; END_ENTITY; ENTITY Wait_For_Resource_Type; wait_for_task : Generic_Task; wait_for_resource : Generic_Resource; END_ENTITY; ENTITY Send_Message_Type; send_task : Generic_Task; send_message : Generic_Message; END_ENTITY; ENTITY Receive_Message_Type; receive_task : Generic_Task; receive_message : Generic_Message; END_ENTITY; ENTITY Time_Unit_Event_Union; start_of_task_capacity : Start_Of_Task_Capacity_Type; end_of_task_capacity : End_Of_Task_Capacity_Type; write_to_buffer : Write_To_Buffer_Type; read_from_buffer : Read_From_Buffer_Type; context_switch_overhead : Context_Switch_Overhead_Type; running_task : Running_Task_Type; task_activation : Task_Activation_Type; allocate_resource : Allocate_Resource_Type; release_resource : Release_Resource_Type; wait_for_resource : Wait_For_Resource_Type; send_message : Send_Message_Type; receive_message : Receive_Message_Type; END_ENTITY; ENTITY Time_Unit_Event; ptype : Time_Unit_Event_Type; union : Time_Unit_Event_Union; END_ENTITY; END_SCHEMA; SCHEMA Scheduler; USE FROM Basic_Types; USE FROM Objects; USE FROM Scheduler_Interface; ENTITY Generic_Scheduler SUBTYPE OF (Generic_Object); parameters : Scheduling_Parameters; END_ENTITY; ENTITY Aperiodic_Task_Server_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Polling_Server_Protocol SUBTYPE OF (Aperiodic_Task_Server_Protocol); END_ENTITY; ENTITY Deferred_Server_Protocol SUBTYPE OF (Aperiodic_Task_Server_Protocol); END_ENTITY; ENTITY Sporadic_Server_Protocol SUBTYPE OF (Aperiodic_Task_Server_Protocol); END_ENTITY; ENTITY Hierarchical_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Compiled_User_Defined_Protocol SUBTYPE OF (User_Defined_Protocol); END_ENTITY; ENTITY Automata_User_Defined_Protocol SUBTYPE OF (User_Defined_Protocol); END_ENTITY; ENTITY Pipeline_User_Defined_Protocol SUBTYPE OF (User_Defined_Protocol); END_ENTITY; ENTITY User_Defined_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Earliest_Deadline_First_Protocol SUBTYPE OF (Dynamic_Priority_Protocol); END_ENTITY; ENTITY Least_Laxity_First_Protocol SUBTYPE OF (Dynamic_Priority_Protocol); END_ENTITY; ENTITY Rate_Monotonic_Protocol SUBTYPE OF (Fixed_Priority_Protocol); END_ENTITY; ENTITY Deadline_Monotonic_Protocol SUBTYPE OF (Fixed_Priority_Protocol); END_ENTITY; ENTITY Round_Robin_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Time_Sharing_Based_On_Wait_Time_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Posix_1003_Highest_Priority_First_Protocol SUBTYPE OF (Fixed_Priority_Protocol); END_ENTITY; ENTITY D_Over_Protocol SUBTYPE OF (Dynamic_Priority_Protocol); END_ENTITY; ENTITY Maximum_Urgency_First_Based_On_Laxity_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Maximum_Urgency_First_Based_On_Deadline_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Time_Sharing_Based_On_Cpu_Usage_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY No_Scheduling_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Hierarchical_Cyclic_Protocol SUBTYPE OF (Hierarchical_Protocol); END_ENTITY; ENTITY Hierarchical_Round_Robin_Protocol SUBTYPE OF (Hierarchical_Protocol); END_ENTITY; ENTITY Hierarchical_Fixed_Priority_Protocol SUBTYPE OF (Hierarchical_Protocol); END_ENTITY; ENTITY Fixed_Priority_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; ENTITY Dynamic_Priority_Protocol SUBTYPE OF (Generic_Scheduler); END_ENTITY; END_SCHEMA; SCHEMA Scheduler_Interface; USE FROM basic_types; USE FROM Tasks; TYPE Preemptives_Type = ENUMERATION OF ( Preemptive, Not_Preemptive ); END_TYPE; TYPE Schedulers_Type = ENUMERATION OF ( Compiled_User_Defined_Protocol, Automata_User_Defined_Protocol, pipeline_User_Defined_Protocol, User_Defined_Protocol, Earliest_Deadline_First_Protocol, Least_Laxity_First_Protocol, Rate_Monotonic_Protocol, Deadline_Monotonic_Protocol, Round_Robin_Protocol, Time_Sharing_Based_On_Wait_Time_Protocol, Posix_1003_Highest_Priority_First_Protocol, D_Over_Protocol, Maximum_Urgency_First_Based_On_Laxity_Protocol, Maximum_Urgency_First_Based_On_Deadline_Protocol, Time_Sharing_Based_On_Cpu_Usage_Protocol, No_Scheduling_Protocol, Hierarchical_Cyclic_Protocol, Hierarchical_Round_Robin_Protocol, Hierarchical_Fixed_Priority_Protocol, Hierarchical_Polling_Aperiodic_Server_Protocol, Hierarchical_Priority_Exchange_Aperiodic_Server_Protocol, Hierarchical_Sporadic_Aperiodic_Server_Protocol, Hierarchical_Deferrable_Aperiodic_Server_Protocol, Proportionate_Fair_PF_Protocol, Proportionate_Fair_PD_Protocol, Proportionate_Fair_PD2_Protocol ); END_TYPE; ENTITY Scheduling_Parameters; scheduler_type : Schedulers_Type; quantum : Natural; preemptive_type : Preemptives_Type; automaton_name : STRING; capacity : Natural; period : Natural; priority : Priority_Range; user_defined_scheduler_source : STRING; user_defined_scheduler_source_file_name : STRING; start_time : Natural; END_ENTITY; END_SCHEMA; SCHEMA Parameters; USE FROM Basic_Types; USE FROM Framework_Config; TYPE Parameter_Type = ENUMERATION OF ( Boolean_Parameter, Integer_Parameter, Double_Parameter, String_Parameter ); END_TYPE; TYPE User_Defined_Parameters_Range = Range; END_TYPE; TYPE User_Defined_Parameters_Table = LIST OF Parameter; END_TYPE; TYPE Framework_Parameters_Table = LIST OF Parameter; END_TYPE; TYPE Framework_Parameters_Range = Range; END_TYPE; ENTITY Boolean_Parameter_Type; boolean_value : BOOLEAN; END_ENTITY; ENTITY Integer_Parameter_Type; integer_value : INTEGER; END_ENTITY; ENTITY Double_Parameter_Type; double_value : REAL; END_ENTITY; ENTITY String_Parameter_Type; string_value : STRING; END_ENTITY; ENTITY Parameter_Union; boolean_parameter : Boolean_Parameter_Type; integer_parameter : Integer_Parameter_Type; double_parameter : Double_Parameter_Type; string_parameter : String_Parameter_Type; END_ENTITY; ENTITY Parameter; ptype : Parameter_Type; union : Parameter_Union; name : STRING; END_ENTITY; END_SCHEMA; SCHEMA Queueing_Systems; TYPE Queueing_Systems_Type = ENUMERATION OF ( Qs_Pp1, Qs_Mm1, Qs_Md1, Qs_Mp1, Qs_Mg1, Qs_Mms, Qs_Mds, Qs_Mps, Qs_Mgs, Qs_Mm1n, Qs_Md1n, Qs_Mp1n, Qs_Mg1n, Qs_Mmsn, Qs_Mdsn, Qs_Mpsn, Qs_Mgsn ); END_TYPE; END_SCHEMA; SCHEMA Call_Framework_Interface; USE FROM Framework_Config; USE FROM basic_types; USE FROM Parameters; CONSTANT Max_Requests : INTEGER := 10; END_CONSTANT; TYPE Framework_Statement_Type = ENUMERATION OF ( Scheduling_Simulation_Basics, Scheduling_Simulation_Time_Line, Scheduling_Simulation_Preemption_Number, Scheduling_Simulation_Context_Switch_Number, Scheduling_Simulation_Response_Time, Scheduling_Simulation_All_Response_Time, Scheduling_Simulation_Blocking_Time, Scheduling_Simulation_Priority_Inversion, Scheduling_Simulation_Deadlock, Scheduling_Simulation_Run_Event_Handler, Scheduling_Feasibility_Basics, Scheduling_Feasibility_Response_Time, Scheduling_Feasibility_Cpu_Utilization, Scheduling_Set_Priorities_According_To_Deadline_Monotonic, Scheduling_Set_Priorities_According_To_Rate_Monotonic, Scheduling_Feasibility_Compute_Blocking_Time, Scheduling_Feasibility_Compute_And_Set_Blocking_Time, Scheduling_Feasibility_First_Fit, Scheduling_Feasibility_General_Task, Scheduling_Feasibility_Next_Fit, Scheduling_Feasibility_Best_Fit, Scheduling_Feasibility_Small_Task, Global_Memory_Set_Requirement_Analysis, Global_Memory_Compute_Requirement_Analysis, Buffer_Feasibility_Tests, Buffer_Scheduling_Simulation, Random_Response_Time_Density, Dependency_Compute_End_To_End_Response_Time_One_Step, Dependency_Set_End_To_End_Response_Time_One_Step, Dependency_Compute_End_To_End_Response_Time_All_Steps, Dependency_Set_End_To_End_Response_Time_All_Steps, Dependency_Compute_Chetto_Blazewicz_Priority, Dependency_Compute_Chetto_Blazewicz_Deadline, Dependency_Set_Chetto_Blazewicz_Priority, Dependency_Set_Chetto_Blazewicz_Deadline ); END_TYPE; TYPE Framework_Request_Range = Range; END_TYPE; TYPE Framework_Request_Table = LIST [ 0 : Max_Requests ] OF Framework_Request; END_TYPE; TYPE Framework_Response_Range = Range; END_TYPE; TYPE Framework_Response_Table = LIST [ 0 : Max_Requests ] OF Framework_Response; END_TYPE; TYPE Partioning_Type = ENUMERATION OF ( General_Task, Best_Fit, First_Fit, Next_Fit, Small_Task ); END_TYPE; TYPE Output_Format = ENUMERATION OF ( Xml_Output, String_Output, Raw_Output ); END_TYPE; TYPE Perform_Order = ENUMERATION OF ( Total_Order, Causal_Order ); END_TYPE; ENTITY Framework_Request; statement : Framework_Statement_Type; param : Framework_Parameters_Table; target : STRING; END_ENTITY; ENTITY Framework_Response; title : STRING; text : STRING; END_ENTITY; END_SCHEMA; SCHEMA AADL_Parser_Interface; USE FROM Basic_Types; USE FROM Framework_Config; TYPE Processor_Binding_Table = LIST OF Binding_Record_Type; END_TYPE; TYPE Processor_Binding_Range = Range; END_TYPE; ENTITY Binding_Record_Type; cpu_name : STRING; address_space_name : STRING; END_ENTITY; END_SCHEMA; SCHEMA Processor_Interface; TYPE Processors_Type = ENUMERATION OF ( Monocore_Type, Identical_Multicores_Type, Uniform_Multicores_Type, Unrelated_Multicores_Types ); END_TYPE; TYPE Migrations_Type = ENUMERATION OF ( No_Migration_Type, Job_Level_Migration_Type, Time_Unit_Migration_Type ); END_TYPE; END_SCHEMA; SCHEMA Event_Analyzers; USE FROM Basic_Types; USE FROM Objects; ENTITY Event_Analyzer SUBTYPE OF (Generic_Object); DERIVE SELF\Generic_Object.object_type : Objects_Type := Event_Analyzer_Type; END_ENTITY; END_SCHEMA;