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 loop node is a structured activity node that represents a loop with 47-- setup, test, and body sections. 48------------------------------------------------------------------------------ 49limited with AMF.UML.Executable_Nodes.Collections; 50limited with AMF.UML.Input_Pins.Collections; 51limited with AMF.UML.Output_Pins.Collections; 52with AMF.UML.Structured_Activity_Nodes; 53 54package AMF.UML.Loop_Nodes is 55 56 pragma Preelaborate; 57 58 type UML_Loop_Node is limited interface 59 and AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node; 60 61 type UML_Loop_Node_Access is 62 access all UML_Loop_Node'Class; 63 for UML_Loop_Node_Access'Storage_Size use 0; 64 65 not overriding function Get_Body_Output 66 (Self : not null access constant UML_Loop_Node) 67 return AMF.UML.Output_Pins.Collections.Ordered_Set_Of_UML_Output_Pin is abstract; 68 -- Getter of LoopNode::bodyOutput. 69 -- 70 -- A list of output pins within the body fragment the values of which are 71 -- moved to the loop variable pins after completion of execution of the 72 -- body, before the next iteration of the loop begins or before the loop 73 -- exits. 74 75 not overriding function Get_Body_Part 76 (Self : not null access constant UML_Loop_Node) 77 return AMF.UML.Executable_Nodes.Collections.Set_Of_UML_Executable_Node is abstract; 78 -- Getter of LoopNode::bodyPart. 79 -- 80 -- The set of nodes and edges that perform the repetitive computations of 81 -- the loop. The body section is executed as long as the test section 82 -- produces a true value. 83 84 not overriding function Get_Decider 85 (Self : not null access constant UML_Loop_Node) 86 return AMF.UML.Output_Pins.UML_Output_Pin_Access is abstract; 87 -- Getter of LoopNode::decider. 88 -- 89 -- An output pin within the test fragment the value of which is examined 90 -- after execution of the test to determine whether to execute the loop 91 -- body. 92 93 not overriding procedure Set_Decider 94 (Self : not null access UML_Loop_Node; 95 To : AMF.UML.Output_Pins.UML_Output_Pin_Access) is abstract; 96 -- Setter of LoopNode::decider. 97 -- 98 -- An output pin within the test fragment the value of which is examined 99 -- after execution of the test to determine whether to execute the loop 100 -- body. 101 102 not overriding function Get_Is_Tested_First 103 (Self : not null access constant UML_Loop_Node) 104 return Boolean is abstract; 105 -- Getter of LoopNode::isTestedFirst. 106 -- 107 -- If true, the test is performed before the first execution of the body. 108 -- If false, the body is executed once before the test is performed. 109 110 not overriding procedure Set_Is_Tested_First 111 (Self : not null access UML_Loop_Node; 112 To : Boolean) is abstract; 113 -- Setter of LoopNode::isTestedFirst. 114 -- 115 -- If true, the test is performed before the first execution of the body. 116 -- If false, the body is executed once before the test is performed. 117 118 not overriding function Get_Loop_Variable 119 (Self : not null access constant UML_Loop_Node) 120 return AMF.UML.Output_Pins.Collections.Ordered_Set_Of_UML_Output_Pin is abstract; 121 -- Getter of LoopNode::loopVariable. 122 -- 123 -- A list of output pins that hold the values of the loop variables during 124 -- an execution of the loop. When the test fails, the values are movied to 125 -- the result pins of the loop. 126 127 not overriding function Get_Loop_Variable_Input 128 (Self : not null access constant UML_Loop_Node) 129 return AMF.UML.Input_Pins.Collections.Ordered_Set_Of_UML_Input_Pin is abstract; 130 -- Getter of LoopNode::loopVariableInput. 131 -- 132 -- A list of values that are moved into the loop variable pins before the 133 -- first iteration of the loop. 134 135 not overriding function Get_Result 136 (Self : not null access constant UML_Loop_Node) 137 return AMF.UML.Output_Pins.Collections.Ordered_Set_Of_UML_Output_Pin is abstract; 138 -- Getter of LoopNode::result. 139 -- 140 -- A list of output pins that constitute the data flow output of the 141 -- entire loop. 142 143 not overriding function Get_Setup_Part 144 (Self : not null access constant UML_Loop_Node) 145 return AMF.UML.Executable_Nodes.Collections.Set_Of_UML_Executable_Node is abstract; 146 -- Getter of LoopNode::setupPart. 147 -- 148 -- The set of nodes and edges that initialize values or perform other 149 -- setup computations for the loop. 150 151 not overriding function Get_Test 152 (Self : not null access constant UML_Loop_Node) 153 return AMF.UML.Executable_Nodes.Collections.Set_Of_UML_Executable_Node is abstract; 154 -- Getter of LoopNode::test. 155 -- 156 -- The set of nodes, edges, and designated value that compute a Boolean 157 -- value to determine if another execution of the body will be performed. 158 159end AMF.UML.Loop_Nodes; 160