------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- 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 free real time scheduling tool. -- This program provides services to automatically check temporal constraints -- of real time tasks. -- -- Copyright (C) 2002-2014 Frank Singhoff -- Cheddar is developed by the LAB-STICC 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 : 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) -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Framework_Config; use Framework_Config; with id_generators; use id_generators; with Objects; use Objects; with Processors; use Processors; use Processors.Generic_Processor_List_Package; with Convert_Strings; with Convert_Unbounded_Strings; with text_io; use text_io; with Ada.Finalization; with unbounded_strings; use unbounded_strings; use unbounded_strings.Unbounded_String_List_Package; with Unchecked_Deallocation; with Primitive_XML_Strings; use Primitive_XML_Strings; with standards_io; use standards_io; use standards_io.natural_io; with Indexed_Tables; with ada.strings.unbounded.text_io; use ada.strings.unbounded.text_io; Package Networks is type Generic_Network; type Generic_Network_Ptr is access all Generic_Network'Class; type Position; type Position_Ptr is access all Position; type NOC_Network; type NOC_Network_Ptr is access all NOC_Network'Class; type Bus_Network; type Bus_Network_Ptr is access all Bus_Network'Class; type Networks_Delay_Type is ( Bounded_Delay, Jitter_Delay, Parametric_Delay); procedure To_Networks_Delay_Type is new Convert_Strings(Networks_Delay_Type, Bounded_Delay); procedure To_Networks_Delay_Type is new Convert_Unbounded_Strings(Networks_Delay_Type, Bounded_Delay); function XML_String (obj : in Networks_Delay_Type) return Unbounded_String; function XML_Ref_String (obj : in Networks_Delay_Type) return Unbounded_String; package Networks_Delay_Type_io is new text_io.enumeration_io(Networks_Delay_Type); use Networks_Delay_Type_io; type Networks_Architecture_Type is ( Bus, Star, Link, NOC); procedure To_Networks_Architecture_Type is new Convert_Strings(Networks_Architecture_Type, Bus); procedure To_Networks_Architecture_Type is new Convert_Unbounded_Strings(Networks_Architecture_Type, Bus); function XML_String (obj : in Networks_Architecture_Type) return Unbounded_String; function XML_Ref_String (obj : in Networks_Architecture_Type) return Unbounded_String; package Networks_Architecture_Type_io is new text_io.enumeration_io(Networks_Architecture_Type); use Networks_Architecture_Type_io; type Routing_Type is ( XY, YX, XYX); procedure To_Routing_Type is new Convert_Strings(Routing_Type, XY); procedure To_Routing_Type is new Convert_Unbounded_Strings(Routing_Type, XY); function XML_String (obj : in Routing_Type) return Unbounded_String; function XML_Ref_String (obj : in Routing_Type) return Unbounded_String; package Routing_Type_io is new text_io.enumeration_io(Routing_Type); use Routing_Type_io; type Switching_Type is ( Wormwole, Store_And_Forward); procedure To_Switching_Type is new Convert_Strings(Switching_Type, Wormwole); procedure To_Switching_Type is new Convert_Unbounded_Strings(Switching_Type, Wormwole); function XML_String (obj : in Switching_Type) return Unbounded_String; function XML_Ref_String (obj : in Switching_Type) return Unbounded_String; package Switching_Type_io is new text_io.enumeration_io(Switching_Type); use Switching_Type_io; type Arbitration_Type is ( TDMA, Non_Conservative_Round_Robin, Conservative_Round_Robin); procedure To_Arbitration_Type is new Convert_Strings(Arbitration_Type, TDMA); procedure To_Arbitration_Type is new Convert_Unbounded_Strings(Arbitration_Type, TDMA); function XML_String (obj : in Arbitration_Type) return Unbounded_String; function XML_Ref_String (obj : in Arbitration_Type) return Unbounded_String; package Arbitration_Type_io is new text_io.enumeration_io(Arbitration_Type); use Arbitration_Type_io; -- --------= Generic_Network =-------- type Generic_Network is new Named_Object with record network_delay : Networks_Delay_Type; network_architecture_type : Networks_Architecture_Type; end record; procedure Initialize(obj : in out Generic_Network); procedure Put(obj : in Generic_Network); procedure Put(obj : in Generic_Network_Ptr); procedure Put_Name(obj : in Generic_Network_Ptr); procedure Build_Attributes_XML_String(obj : in Generic_Network; result : in out Unbounded_String); function XML_String(obj : in Generic_Network) return Unbounded_String; function XML_String(obj : in Generic_Network_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Generic_Network) return Unbounded_String; function XML_Ref_String(obj : in Generic_Network_Ptr) return Unbounded_String; function Get_Name (obj : in Generic_Network) return Unbounded_String; function Get_Name (obj : in Generic_Network_Ptr) return Unbounded_String; function Copy(obj : in Generic_Network_Ptr) return Generic_Network_Ptr; function Copy(obj : in Generic_Network) return Generic_Network_Ptr; function type_of(obj : in Generic_Network) return unbounded_string_list; function type_of(obj : in Generic_Network_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Generic_Network'Class, Generic_Network_Ptr); -- --------= Position =-------- type Position is record X : Natural; Y : Natural; end record; procedure Initialize(obj : out Position); procedure Put(obj : in Position); procedure Put(obj : in Position_Ptr); function Copy(obj : in Position_Ptr) return Position_Ptr; function Copy(obj : in Position) return Position_Ptr; procedure Build_Attributes_XML_String(obj : in Position; result : in out Unbounded_String); function XML_String(obj : in Position) return Unbounded_String; function XML_String(obj : in Position_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Position) return Unbounded_String; procedure Free is new Unchecked_Deallocation (Position, Position_Ptr); package Positions_Table_Package is new Indexed_Tables(Position, Unbounded_String, Framework_Config.Max_Positions, 0, Put, Initialize, Put, Convert, XML_String, XML_String, to_unbounded_string("processor_name")); use Positions_Table_Package; subtype Positions_Range is Positions_Table_Package.indexed_table_range; subtype Positions_Range_Ptr is Positions_Table_Package.indexed_table_range_Ptr; subtype Positions_Table is Positions_Table_Package.indexed_table; subtype Positions_Table_Ptr is Positions_Table_Package.indexed_table_Ptr; -- --------= NOC_Network =-------- type NOC_Network is new Generic_Network with record number_of_processor : Natural; number_of_virtual_channel : Natural; routing_protocol : Routing_Type; switching_protocol : Switching_Type; processor_positions : Positions_Table; end record; procedure Initialize(obj : in out NOC_Network); procedure Put(obj : in NOC_Network); procedure Put(obj : in NOC_Network_Ptr); procedure Put_Name(obj : in NOC_Network_Ptr); procedure Build_Attributes_XML_String(obj : in NOC_Network; result : in out Unbounded_String); function XML_String(obj : in NOC_Network) return Unbounded_String; function XML_String(obj : in NOC_Network_Ptr) return Unbounded_String; function XML_Ref_String(obj : in NOC_Network) return Unbounded_String; function XML_Ref_String(obj : in NOC_Network_Ptr) return Unbounded_String; function Get_Name (obj : in NOC_Network) return Unbounded_String; function Get_Name (obj : in NOC_Network_Ptr) return Unbounded_String; function Copy(obj : in NOC_Network_Ptr) return Generic_Network_Ptr; function Copy(obj : in NOC_Network) return Generic_Network_Ptr; function type_of(obj : in NOC_Network) return unbounded_string_list; function type_of(obj : in NOC_Network_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (NOC_Network'Class, NOC_Network_Ptr); -- --------= Bus_Network =-------- type Bus_Network is new Generic_Network with record processor_list : Generic_Processor_List; bus_arbitration : Arbitration_Type; memory_word_access_time : Natural; end record; procedure Initialize(obj : in out Bus_Network); procedure Put(obj : in Bus_Network); procedure Put(obj : in Bus_Network_Ptr); procedure Put_Name(obj : in Bus_Network_Ptr); procedure Build_Attributes_XML_String(obj : in Bus_Network; result : in out Unbounded_String); function XML_String(obj : in Bus_Network) return Unbounded_String; function XML_String(obj : in Bus_Network_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Bus_Network) return Unbounded_String; function XML_Ref_String(obj : in Bus_Network_Ptr) return Unbounded_String; function Get_Name (obj : in Bus_Network) return Unbounded_String; function Get_Name (obj : in Bus_Network_Ptr) return Unbounded_String; function Copy(obj : in Bus_Network_Ptr) return Generic_Network_Ptr; function Copy(obj : in Bus_Network) return Generic_Network_Ptr; function type_of(obj : in Bus_Network) return unbounded_string_list; function type_of(obj : in Bus_Network_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Bus_Network'Class, Bus_Network_Ptr); End Networks;