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 component represents a modular part of a system that encapsulates its 47-- contents and whose manifestation is replaceable within its environment. 48-- 49-- In the namespace of a component, all model elements that are involved in 50-- or related to its definition are either owned or imported explicitly. This 51-- may include, for example, use cases and dependencies (e.g. mappings), 52-- packages, components, and artifacts. 53------------------------------------------------------------------------------ 54with AMF.UML.Classes; 55limited with AMF.UML.Classifiers; 56limited with AMF.UML.Component_Realizations.Collections; 57limited with AMF.UML.Interfaces.Collections; 58limited with AMF.UML.Packageable_Elements.Collections; 59 60package AMF.UML.Components is 61 62 pragma Preelaborate; 63 64 type UML_Component is limited interface 65 and AMF.UML.Classes.UML_Class; 66 67 type UML_Component_Access is 68 access all UML_Component'Class; 69 for UML_Component_Access'Storage_Size use 0; 70 71 not overriding function Get_Is_Indirectly_Instantiated 72 (Self : not null access constant UML_Component) 73 return Boolean is abstract; 74 -- Getter of Component::isIndirectlyInstantiated. 75 -- 76 -- isIndirectlyInstantiated : Boolean {default = true} The kind of 77 -- instantiation that applies to a Component. If false, the component is 78 -- instantiated as an addressable object. If true, the Component is 79 -- defined at design-time, but at run-time (or execution-time) an object 80 -- specified by the Component does not exist, that is, the component is 81 -- instantiated indirectly, through the instantiation of its realizing 82 -- classifiers or parts. Several standard stereotypes use this meta 83 -- attribute (e.g., «specification», «focus», «subsystem»). 84 85 not overriding procedure Set_Is_Indirectly_Instantiated 86 (Self : not null access UML_Component; 87 To : Boolean) is abstract; 88 -- Setter of Component::isIndirectlyInstantiated. 89 -- 90 -- isIndirectlyInstantiated : Boolean {default = true} The kind of 91 -- instantiation that applies to a Component. If false, the component is 92 -- instantiated as an addressable object. If true, the Component is 93 -- defined at design-time, but at run-time (or execution-time) an object 94 -- specified by the Component does not exist, that is, the component is 95 -- instantiated indirectly, through the instantiation of its realizing 96 -- classifiers or parts. Several standard stereotypes use this meta 97 -- attribute (e.g., «specification», «focus», «subsystem»). 98 99 not overriding function Get_Packaged_Element 100 (Self : not null access constant UML_Component) 101 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is abstract; 102 -- Getter of Component::packagedElement. 103 -- 104 -- The set of PackageableElements that a Component owns. In the namespace 105 -- of a component, all model elements that are involved in or related to 106 -- its definition may be owned or imported explicitly. These may include 107 -- e.g. Classes, Interfaces, Components, Packages, Use cases, Dependencies 108 -- (e.g. mappings), and Artifacts. 109 110 not overriding function Get_Provided 111 (Self : not null access constant UML_Component) 112 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 113 -- Getter of Component::provided. 114 -- 115 -- The interfaces that the component exposes to its environment. These 116 -- interfaces may be Realized by the Component or any of its 117 -- realizingClassifiers, or they may be the Interfaces that are provided 118 -- by its public Ports. 119 120 not overriding function Get_Realization 121 (Self : not null access constant UML_Component) 122 return AMF.UML.Component_Realizations.Collections.Set_Of_UML_Component_Realization is abstract; 123 -- Getter of Component::realization. 124 -- 125 -- The set of Realizations owned by the Component. Realizations reference 126 -- the Classifiers of which the Component is an abstraction; i.e., that 127 -- realize its behavior. 128 129 not overriding function Get_Required 130 (Self : not null access constant UML_Component) 131 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 132 -- Getter of Component::required. 133 -- 134 -- The interfaces that the component requires from other components in its 135 -- environment in order to be able to offer its full set of provided 136 -- functionality. These interfaces may be used by the Component or any of 137 -- its realizingClassifiers, or they may be the Interfaces that are 138 -- required by its public Ports. 139 140 not overriding function Provided 141 (Self : not null access constant UML_Component) 142 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 143 -- Operation Component::provided. 144 -- 145 -- Missing derivation for Component::/provided : Interface 146 147 not overriding function Realized_Interfaces 148 (Self : not null access constant UML_Component; 149 Classifier : AMF.UML.Classifiers.UML_Classifier_Access) 150 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 151 -- Operation Component::realizedInterfaces. 152 -- 153 -- Utility returning the set of realized interfaces of a component. 154 155 not overriding function Required 156 (Self : not null access constant UML_Component) 157 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 158 -- Operation Component::required. 159 -- 160 -- Missing derivation for Component::/required : Interface 161 162 not overriding function Used_Interfaces 163 (Self : not null access constant UML_Component; 164 Classifier : AMF.UML.Classifiers.UML_Classifier_Access) 165 return AMF.UML.Interfaces.Collections.Set_Of_UML_Interface is abstract; 166 -- Operation Component::usedInterfaces. 167 -- 168 -- Utility returning the set of used interfaces of a component. 169 170end AMF.UML.Components; 171