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-- Behavior is a specification of how its context classifier changes state 47-- over time. This specification may be either a definition of possible 48-- behavior execution or emergent behavior, or a selective illustration of an 49-- interesting subset of possible executions. The latter form is typically 50-- used for capturing examples, such as a trace of a particular execution. 51-- 52-- A behavior owns zero or more parameter sets. 53------------------------------------------------------------------------------ 54limited with AMF.UML.Behavioral_Features; 55limited with AMF.UML.Behaviored_Classifiers; 56limited with AMF.UML.Behaviors.Collections; 57with AMF.UML.Classes; 58limited with AMF.UML.Constraints.Collections; 59limited with AMF.UML.Parameter_Sets.Collections; 60limited with AMF.UML.Parameters.Collections; 61 62package AMF.UML.Behaviors is 63 64 pragma Preelaborate; 65 66 type UML_Behavior is limited interface 67 and AMF.UML.Classes.UML_Class; 68 69 type UML_Behavior_Access is 70 access all UML_Behavior'Class; 71 for UML_Behavior_Access'Storage_Size use 0; 72 73 not overriding function Get_Context 74 (Self : not null access constant UML_Behavior) 75 return AMF.UML.Behaviored_Classifiers.UML_Behaviored_Classifier_Access is abstract; 76 -- Getter of Behavior::context. 77 -- 78 -- The classifier that is the context for the execution of the behavior. 79 -- If the behavior is owned by a BehavioredClassifier, that classifier is 80 -- the context. Otherwise, the context is the first BehavioredClassifier 81 -- reached by following the chain of owner relationships. For example, 82 -- following this algorithm, the context of an entry action in a state 83 -- machine is the classifier that owns the state machine. The features of 84 -- the context classifier as well as the elements visible to the context 85 -- classifier are visible to the behavior. 86 87 not overriding function Get_Is_Reentrant 88 (Self : not null access constant UML_Behavior) 89 return Boolean is abstract; 90 -- Getter of Behavior::isReentrant. 91 -- 92 -- Tells whether the behavior can be invoked while it is still executing 93 -- from a previous invocation. 94 95 not overriding procedure Set_Is_Reentrant 96 (Self : not null access UML_Behavior; 97 To : Boolean) is abstract; 98 -- Setter of Behavior::isReentrant. 99 -- 100 -- Tells whether the behavior can be invoked while it is still executing 101 -- from a previous invocation. 102 103 not overriding function Get_Owned_Parameter 104 (Self : not null access constant UML_Behavior) 105 return AMF.UML.Parameters.Collections.Ordered_Set_Of_UML_Parameter is abstract; 106 -- Getter of Behavior::ownedParameter. 107 -- 108 -- References a list of parameters to the behavior which describes the 109 -- order and type of arguments that can be given when the behavior is 110 -- invoked and of the values which will be returned when the behavior 111 -- completes its execution. 112 113 not overriding function Get_Owned_Parameter_Set 114 (Self : not null access constant UML_Behavior) 115 return AMF.UML.Parameter_Sets.Collections.Set_Of_UML_Parameter_Set is abstract; 116 -- Getter of Behavior::ownedParameterSet. 117 -- 118 -- The ParameterSets owned by this Behavior. 119 120 not overriding function Get_Postcondition 121 (Self : not null access constant UML_Behavior) 122 return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is abstract; 123 -- Getter of Behavior::postcondition. 124 -- 125 -- An optional set of Constraints specifying what is fulfilled after the 126 -- execution of the behavior is completed, if its precondition was 127 -- fulfilled before its invocation. 128 129 not overriding function Get_Precondition 130 (Self : not null access constant UML_Behavior) 131 return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is abstract; 132 -- Getter of Behavior::precondition. 133 -- 134 -- An optional set of Constraints specifying what must be fulfilled when 135 -- the behavior is invoked. 136 137 not overriding function Get_Redefined_Behavior 138 (Self : not null access constant UML_Behavior) 139 return AMF.UML.Behaviors.Collections.Set_Of_UML_Behavior is abstract; 140 -- Getter of Behavior::redefinedBehavior. 141 -- 142 -- References a behavior that this behavior redefines. A subtype of 143 -- Behavior may redefine any other subtype of Behavior. If the behavior 144 -- implements a behavioral feature, it replaces the redefined behavior. If 145 -- the behavior is a classifier behavior, it extends the redefined 146 -- behavior. 147 148 not overriding function Get_Specification 149 (Self : not null access constant UML_Behavior) 150 return AMF.UML.Behavioral_Features.UML_Behavioral_Feature_Access is abstract; 151 -- Getter of Behavior::specification. 152 -- 153 -- Designates a behavioral feature that the behavior implements. The 154 -- behavioral feature must be owned by the classifier that owns the 155 -- behavior or be inherited by it. The parameters of the behavioral 156 -- feature and the implementing behavior must match. A behavior does not 157 -- need to have a specification, in which case it either is the classifer 158 -- behavior of a BehavioredClassifier or it can only be invoked by another 159 -- behavior of the classifier. 160 161 not overriding procedure Set_Specification 162 (Self : not null access UML_Behavior; 163 To : AMF.UML.Behavioral_Features.UML_Behavioral_Feature_Access) is abstract; 164 -- Setter of Behavior::specification. 165 -- 166 -- Designates a behavioral feature that the behavior implements. The 167 -- behavioral feature must be owned by the classifier that owns the 168 -- behavior or be inherited by it. The parameters of the behavioral 169 -- feature and the implementing behavior must match. A behavior does not 170 -- need to have a specification, in which case it either is the classifer 171 -- behavior of a BehavioredClassifier or it can only be invoked by another 172 -- behavior of the classifier. 173 174 not overriding function Context 175 (Self : not null access constant UML_Behavior) 176 return AMF.UML.Behaviored_Classifiers.UML_Behaviored_Classifier_Access is abstract; 177 -- Operation Behavior::context. 178 -- 179 -- Missing derivation for Behavior::/context : BehavioredClassifier 180 181end AMF.UML.Behaviors; 182