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 collaboration use represents one particular use of a collaboration to 47-- explain the relationships between the properties of a classifier. A 48-- collaboration use shows how the pattern described by a collaboration is 49-- applied in a given context, by binding specific entities from that context 50-- to the roles of the collaboration. Depending on the context, these 51-- entities could be structural features of a classifier, instance 52-- specifications, or even roles in some containing collaboration. There may 53-- be multiple occurrences of a given collaboration within a classifier, each 54-- involving a different set of roles and connectors. A given role or 55-- connector may be involved in multiple occurrences of the same or different 56-- collaborations. Associated dependencies map features of the collaboration 57-- type to features in the classifier. These dependencies indicate which role 58-- in the classifier plays which role in the collaboration. 59------------------------------------------------------------------------------ 60limited with AMF.UML.Collaborations; 61limited with AMF.UML.Dependencies.Collections; 62with AMF.UML.Named_Elements; 63 64package AMF.UML.Collaboration_Uses is 65 66 pragma Preelaborate; 67 68 type UML_Collaboration_Use is limited interface 69 and AMF.UML.Named_Elements.UML_Named_Element; 70 71 type UML_Collaboration_Use_Access is 72 access all UML_Collaboration_Use'Class; 73 for UML_Collaboration_Use_Access'Storage_Size use 0; 74 75 not overriding function Get_Role_Binding 76 (Self : not null access constant UML_Collaboration_Use) 77 return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is abstract; 78 -- Getter of CollaborationUse::roleBinding. 79 -- 80 -- A mapping between features of the collaboration type and features of 81 -- the owning classifier. This mapping indicates which connectable element 82 -- of the classifier plays which role(s) in the collaboration. A 83 -- connectable element may be bound to multiple roles in the same 84 -- collaboration use (that is, it may play multiple roles). 85 86 not overriding function Get_Type 87 (Self : not null access constant UML_Collaboration_Use) 88 return AMF.UML.Collaborations.UML_Collaboration_Access is abstract; 89 -- Getter of CollaborationUse::type. 90 -- 91 -- The collaboration which is used in this occurrence. The collaboration 92 -- defines the cooperation between its roles which are mapped to 93 -- properties of the classifier owning the collaboration use. 94 95 not overriding procedure Set_Type 96 (Self : not null access UML_Collaboration_Use; 97 To : AMF.UML.Collaborations.UML_Collaboration_Access) is abstract; 98 -- Setter of CollaborationUse::type. 99 -- 100 -- The collaboration which is used in this occurrence. The collaboration 101 -- defines the cooperation between its roles which are mapped to 102 -- properties of the classifier owning the collaboration use. 103 104end AMF.UML.Collaboration_Uses; 105