1------------------------------------------------------------------------------ 2-- -- 3-- Matreshka Project -- 4-- -- 5-- Ada Modeling Framework -- 6-- -- 7-- Runtime Library Component -- 8-- -- 9------------------------------------------------------------------------------ 10-- -- 11-- Copyright © 2011-2012, Vadim Godunko <vgodunko@gmail.com> -- 12-- All rights reserved. -- 13-- -- 14-- Redistribution and use in source and binary forms, with or without -- 15-- modification, are permitted provided that the following conditions -- 16-- are met: -- 17-- -- 18-- * Redistributions of source code must retain the above copyright -- 19-- notice, this list of conditions and the following disclaimer. -- 20-- -- 21-- * Redistributions in binary form must reproduce the above copyright -- 22-- notice, this list of conditions and the following disclaimer in the -- 23-- documentation and/or other materials provided with the distribution. -- 24-- -- 25-- * Neither the name of the Vadim Godunko, IE nor the names of its -- 26-- contributors may be used to endorse or promote products derived from -- 27-- this software without specific prior written permission. -- 28-- -- 29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -- 30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -- 31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -- 32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -- 33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -- 34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -- 35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -- 36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -- 37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -- 38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -- 39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- 40-- -- 41------------------------------------------------------------------------------ 42-- $Revision: 2714 $ $Date: 2012-03-24 10:29:08 +0400 (Sat, 24 Mar 2012) $ 43------------------------------------------------------------------------------ 44-- This file is generated, don't edit it. 45------------------------------------------------------------------------------ 46-- A port is a property of a classifier that specifies a distinct interaction 47-- point between that classifier and its environment or between the (behavior 48-- of the) classifier and its internal parts. Ports are connected to 49-- properties of the classifier by connectors through which requests can be 50-- made to invoke the behavioral features of a classifier. A Port may specify 51-- the services a classifier provides (offers) to its environment as well as 52-- the services that a classifier expects (requires) of its environment. 53-- 54-- A port has an associated protocol state machine. 55------------------------------------------------------------------------------ 56limited with AMF.UML.Interfaces.Collections; 57limited with AMF.UML.Ports.Collections; 58with AMF.UML.Properties; 59limited with AMF.UML.Protocol_State_Machines; 60 61package AMF.UML.Ports is 62 63 pragma Preelaborate; 64 65 type UML_Port is limited interface 66 and AMF.UML.Properties.UML_Property; 67 68 type UML_Port_Access is 69 access all UML_Port'Class; 70 for UML_Port_Access'Storage_Size use 0; 71 72 not overriding function Get_Is_Behavior 73 (Self : not null access constant UML_Port) 74 return Boolean is abstract; 75 -- Getter of Port::isBehavior. 76 -- 77 -- Specifies whether requests arriving at this port are sent to the 78 -- classifier behavior of this classifier. Such ports are referred to as 79 -- behavior port. Any invocation of a behavioral feature targeted at a 80 -- behavior port will be handled by the instance of the owning classifier 81 -- itself, rather than by any instances that this classifier may contain. 82 83 not overriding procedure Set_Is_Behavior 84 (Self : not null access UML_Port; 85 To : Boolean) is abstract; 86 -- Setter of Port::isBehavior. 87 -- 88 -- Specifies whether requests arriving at this port are sent to the 89 -- classifier behavior of this classifier. Such ports are referred to as 90 -- behavior port. Any invocation of a behavioral feature targeted at a 91 -- behavior port will be handled by the instance of the owning classifier 92 -- itself, rather than by any instances that this classifier may contain. 93 94 not overriding function Get_Is_Conjugated 95 (Self : not null access constant UML_Port) 96 return Boolean is abstract; 97 -- Getter of Port::isConjugated. 98 -- 99 -- Specifies the way that the provided and required interfaces are derived 100 -- from the Port’s Type. The default value is false. 101 102 not overriding procedure Set_Is_Conjugated 103 (Self : not null access UML_Port; 104 To : Boolean) is abstract; 105 -- Setter of Port::isConjugated. 106 -- 107 -- Specifies the way that the provided and required interfaces are derived 108 -- from the Port’s Type. The default value is false. 109 110 not overriding function Get_Is_Service 111 (Self : not null access constant UML_Port) 112 return Boolean is abstract; 113 -- Getter of Port::isService. 114 -- 115 -- If true indicates that this port is used to provide the published 116 -- functionality of a classifier; if false, this port is used to implement 117 -- the classifier but is not part of the essential externally-visible 118 -- functionality of the classifier and can, therefore, be altered or 119 -- deleted along with the internal implementation of the classifier and 120 -- other properties that are considered part of its implementation. 121 122 not overriding procedure Set_Is_Service 123 (Self : not null access UML_Port; 124 To : Boolean) is abstract; 125 -- Setter of Port::isService. 126 -- 127 -- If true indicates that this port is used to provide the published 128 -- functionality of a classifier; if false, this port is used to implement 129 -- the classifier but is not part of the essential externally-visible 130 -- functionality of the classifier and can, therefore, be altered or 131 -- deleted along with the internal implementation of the classifier and 132 -- other properties that are considered part of its implementation. 133 134 not overriding function Get_Protocol 135 (Self : not null access constant UML_Port) 136 return AMF.UML.Protocol_State_Machines.UML_Protocol_State_Machine_Access is abstract; 137 -- Getter of Port::protocol. 138 -- 139 -- References an optional protocol state machine which describes valid 140 -- interactions at this interaction point. 141 142 not overriding procedure Set_Protocol 143 (Self : not null access UML_Port; 144 To : AMF.UML.Protocol_State_Machines.UML_Protocol_State_Machine_Access) is abstract; 145 -- Setter of Port::protocol. 146 -- 147 -- References an optional protocol state machine which describes valid 148 -- interactions at this interaction point. 149 150 not overriding function Get_Provided 151 (Self : not null access constant UML_Port) 152 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 153 -- Getter of Port::provided. 154 -- 155 -- References the interfaces specifying the set of operations and 156 -- receptions that the classifier offers to its environment via this port, 157 -- and which it will handle either directly or by forwarding it to a part 158 -- of its internal structure. This association is derived according to the 159 -- value of isConjugated. If isConjugated is false, provided is derived as 160 -- the union of the sets of interfaces realized by the type of the port 161 -- and its supertypes, or directly from the type of the port if the port 162 -- is typed by an interface. If isConjugated is true, it is derived as the 163 -- union of the sets of interfaces used by the type of the port and its 164 -- supertypes. 165 166 not overriding function Get_Redefined_Port 167 (Self : not null access constant UML_Port) 168 return AMF.UML.Ports.Collections.Set_Of_UML_Port is abstract; 169 -- Getter of Port::redefinedPort. 170 -- 171 -- A port may be redefined when its containing classifier is specialized. 172 -- The redefining port may have additional interfaces to those that are 173 -- associated with the redefined port or it may replace an interface by 174 -- one of its subtypes. 175 176 not overriding function Get_Required 177 (Self : not null access constant UML_Port) 178 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 179 -- Getter of Port::required. 180 -- 181 -- References the interfaces specifying the set of operations and 182 -- receptions that the classifier expects its environment to handle via 183 -- this port. This association is derived according to the value of 184 -- isConjugated. If isConjugated is false, required is derived as the 185 -- union of the sets of interfaces used by the type of the port and its 186 -- supertypes. If isConjugated is true, it is derived as the union of the 187 -- sets of interfaces realized by the type of the port and its supertypes, 188 -- or directly from the type of the port if the port is typed by an 189 -- interface. 190 191 not overriding function Provided 192 (Self : not null access constant UML_Port) 193 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 194 -- Operation Port::provided. 195 -- 196 -- Missing derivation for Port::/provided : Interface 197 198 not overriding function Required 199 (Self : not null access constant UML_Port) 200 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 201 -- Operation Port::required. 202 -- 203 -- Missing derivation for Port::/required : Interface 204 205end AMF.UML.Ports; 206