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: 2937 $ $Date: 2012-05-01 21:07:27 +0400 (Tue, 01 May 2012) $ 43------------------------------------------------------------------------------ 44with AMF.Internals.UML_Classifiers; 45with AMF.String_Collections; 46with AMF.UML.Activities; 47with AMF.UML.Activity_Edges.Collections; 48with AMF.UML.Activity_Groups.Collections; 49with AMF.UML.Activity_Nodes.Collections; 50with AMF.UML.Activity_Partitions.Collections; 51with AMF.UML.Behavioral_Features; 52with AMF.UML.Behaviored_Classifiers; 53with AMF.UML.Behaviors.Collections; 54with AMF.UML.Classes.Collections; 55with AMF.UML.Classifier_Template_Parameters; 56with AMF.UML.Classifiers.Collections; 57with AMF.UML.Collaboration_Uses.Collections; 58with AMF.UML.Connectable_Elements.Collections; 59with AMF.UML.Connectors.Collections; 60with AMF.UML.Constraints.Collections; 61with AMF.UML.Dependencies.Collections; 62with AMF.UML.Element_Imports.Collections; 63with AMF.UML.Extensions.Collections; 64with AMF.UML.Features.Collections; 65with AMF.UML.Generalization_Sets.Collections; 66with AMF.UML.Generalizations.Collections; 67with AMF.UML.Interface_Realizations.Collections; 68with AMF.UML.Named_Elements.Collections; 69with AMF.UML.Namespaces; 70with AMF.UML.Operations.Collections; 71with AMF.UML.Package_Imports.Collections; 72with AMF.UML.Packageable_Elements.Collections; 73with AMF.UML.Packages.Collections; 74with AMF.UML.Parameter_Sets.Collections; 75with AMF.UML.Parameterable_Elements.Collections; 76with AMF.UML.Parameters.Collections; 77with AMF.UML.Ports.Collections; 78with AMF.UML.Properties.Collections; 79with AMF.UML.Receptions.Collections; 80with AMF.UML.Redefinable_Elements.Collections; 81with AMF.UML.Redefinable_Template_Signatures; 82with AMF.UML.String_Expressions; 83with AMF.UML.Structured_Activity_Nodes.Collections; 84with AMF.UML.Substitutions.Collections; 85with AMF.UML.Template_Bindings.Collections; 86with AMF.UML.Template_Parameters; 87with AMF.UML.Template_Signatures; 88with AMF.UML.Types; 89with AMF.UML.Use_Cases.Collections; 90with AMF.UML.Variables.Collections; 91with AMF.Visitors; 92 93package AMF.Internals.UML_Activities is 94 95 type UML_Activity_Proxy is 96 limited new AMF.Internals.UML_Classifiers.UML_Classifier_Proxy 97 and AMF.UML.Activities.UML_Activity with null record; 98 99 overriding function Get_Edge 100 (Self : not null access constant UML_Activity_Proxy) 101 return AMF.UML.Activity_Edges.Collections.Set_Of_UML_Activity_Edge; 102 -- Getter of Activity::edge. 103 -- 104 -- Edges expressing flow between nodes of the activity. 105 106 overriding function Get_Group 107 (Self : not null access constant UML_Activity_Proxy) 108 return AMF.UML.Activity_Groups.Collections.Set_Of_UML_Activity_Group; 109 -- Getter of Activity::group. 110 -- 111 -- Top-level groups in the activity. 112 113 overriding function Get_Is_Read_Only 114 (Self : not null access constant UML_Activity_Proxy) 115 return Boolean; 116 -- Getter of Activity::isReadOnly. 117 -- 118 -- If true, this activity must not make any changes to variables outside 119 -- the activity or to objects. (This is an assertion, not an executable 120 -- property. It may be used by an execution engine to optimize model 121 -- execution. If the assertion is violated by the action, then the model 122 -- is ill-formed.) The default is false (an activity may make nonlocal 123 -- changes). 124 125 overriding procedure Set_Is_Read_Only 126 (Self : not null access UML_Activity_Proxy; 127 To : Boolean); 128 -- Setter of Activity::isReadOnly. 129 -- 130 -- If true, this activity must not make any changes to variables outside 131 -- the activity or to objects. (This is an assertion, not an executable 132 -- property. It may be used by an execution engine to optimize model 133 -- execution. If the assertion is violated by the action, then the model 134 -- is ill-formed.) The default is false (an activity may make nonlocal 135 -- changes). 136 137 overriding function Get_Is_Single_Execution 138 (Self : not null access constant UML_Activity_Proxy) 139 return Boolean; 140 -- Getter of Activity::isSingleExecution. 141 -- 142 -- If true, all invocations of the activity are handled by the same 143 -- execution. 144 145 overriding procedure Set_Is_Single_Execution 146 (Self : not null access UML_Activity_Proxy; 147 To : Boolean); 148 -- Setter of Activity::isSingleExecution. 149 -- 150 -- If true, all invocations of the activity are handled by the same 151 -- execution. 152 153 overriding function Get_Node 154 (Self : not null access constant UML_Activity_Proxy) 155 return AMF.UML.Activity_Nodes.Collections.Set_Of_UML_Activity_Node; 156 -- Getter of Activity::node. 157 -- 158 -- Nodes coordinated by the activity. 159 160 overriding function Get_Partition 161 (Self : not null access constant UML_Activity_Proxy) 162 return AMF.UML.Activity_Partitions.Collections.Set_Of_UML_Activity_Partition; 163 -- Getter of Activity::partition. 164 -- 165 -- Top-level partitions in the activity. 166 167 overriding function Get_Structured_Node 168 (Self : not null access constant UML_Activity_Proxy) 169 return AMF.UML.Structured_Activity_Nodes.Collections.Set_Of_UML_Structured_Activity_Node; 170 -- Getter of Activity::structuredNode. 171 -- 172 -- Top-level structured nodes in the activity. 173 174 overriding function Get_Variable 175 (Self : not null access constant UML_Activity_Proxy) 176 return AMF.UML.Variables.Collections.Set_Of_UML_Variable; 177 -- Getter of Activity::variable. 178 -- 179 -- Top-level variables in the activity. 180 181 overriding function Get_Context 182 (Self : not null access constant UML_Activity_Proxy) 183 return AMF.UML.Behaviored_Classifiers.UML_Behaviored_Classifier_Access; 184 -- Getter of Behavior::context. 185 -- 186 -- The classifier that is the context for the execution of the behavior. 187 -- If the behavior is owned by a BehavioredClassifier, that classifier is 188 -- the context. Otherwise, the context is the first BehavioredClassifier 189 -- reached by following the chain of owner relationships. For example, 190 -- following this algorithm, the context of an entry action in a state 191 -- machine is the classifier that owns the state machine. The features of 192 -- the context classifier as well as the elements visible to the context 193 -- classifier are visible to the behavior. 194 195 overriding function Get_Is_Reentrant 196 (Self : not null access constant UML_Activity_Proxy) 197 return Boolean; 198 -- Getter of Behavior::isReentrant. 199 -- 200 -- Tells whether the behavior can be invoked while it is still executing 201 -- from a previous invocation. 202 203 overriding procedure Set_Is_Reentrant 204 (Self : not null access UML_Activity_Proxy; 205 To : Boolean); 206 -- Setter of Behavior::isReentrant. 207 -- 208 -- Tells whether the behavior can be invoked while it is still executing 209 -- from a previous invocation. 210 211 overriding function Get_Owned_Parameter 212 (Self : not null access constant UML_Activity_Proxy) 213 return AMF.UML.Parameters.Collections.Ordered_Set_Of_UML_Parameter; 214 -- Getter of Behavior::ownedParameter. 215 -- 216 -- References a list of parameters to the behavior which describes the 217 -- order and type of arguments that can be given when the behavior is 218 -- invoked and of the values which will be returned when the behavior 219 -- completes its execution. 220 221 overriding function Get_Owned_Parameter_Set 222 (Self : not null access constant UML_Activity_Proxy) 223 return AMF.UML.Parameter_Sets.Collections.Set_Of_UML_Parameter_Set; 224 -- Getter of Behavior::ownedParameterSet. 225 -- 226 -- The ParameterSets owned by this Behavior. 227 228 overriding function Get_Postcondition 229 (Self : not null access constant UML_Activity_Proxy) 230 return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint; 231 -- Getter of Behavior::postcondition. 232 -- 233 -- An optional set of Constraints specifying what is fulfilled after the 234 -- execution of the behavior is completed, if its precondition was 235 -- fulfilled before its invocation. 236 237 overriding function Get_Precondition 238 (Self : not null access constant UML_Activity_Proxy) 239 return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint; 240 -- Getter of Behavior::precondition. 241 -- 242 -- An optional set of Constraints specifying what must be fulfilled when 243 -- the behavior is invoked. 244 245 overriding function Get_Redefined_Behavior 246 (Self : not null access constant UML_Activity_Proxy) 247 return AMF.UML.Behaviors.Collections.Set_Of_UML_Behavior; 248 -- Getter of Behavior::redefinedBehavior. 249 -- 250 -- References a behavior that this behavior redefines. A subtype of 251 -- Behavior may redefine any other subtype of Behavior. If the behavior 252 -- implements a behavioral feature, it replaces the redefined behavior. If 253 -- the behavior is a classifier behavior, it extends the redefined 254 -- behavior. 255 256 overriding function Get_Specification 257 (Self : not null access constant UML_Activity_Proxy) 258 return AMF.UML.Behavioral_Features.UML_Behavioral_Feature_Access; 259 -- Getter of Behavior::specification. 260 -- 261 -- Designates a behavioral feature that the behavior implements. The 262 -- behavioral feature must be owned by the classifier that owns the 263 -- behavior or be inherited by it. The parameters of the behavioral 264 -- feature and the implementing behavior must match. A behavior does not 265 -- need to have a specification, in which case it either is the classifer 266 -- behavior of a BehavioredClassifier or it can only be invoked by another 267 -- behavior of the classifier. 268 269 overriding procedure Set_Specification 270 (Self : not null access UML_Activity_Proxy; 271 To : AMF.UML.Behavioral_Features.UML_Behavioral_Feature_Access); 272 -- Setter of Behavior::specification. 273 -- 274 -- Designates a behavioral feature that the behavior implements. The 275 -- behavioral feature must be owned by the classifier that owns the 276 -- behavior or be inherited by it. The parameters of the behavioral 277 -- feature and the implementing behavior must match. A behavior does not 278 -- need to have a specification, in which case it either is the classifer 279 -- behavior of a BehavioredClassifier or it can only be invoked by another 280 -- behavior of the classifier. 281 282 overriding function Get_Extension 283 (Self : not null access constant UML_Activity_Proxy) 284 return AMF.UML.Extensions.Collections.Set_Of_UML_Extension; 285 -- Getter of Class::extension. 286 -- 287 -- References the Extensions that specify additional properties of the 288 -- metaclass. The property is derived from the extensions whose memberEnds 289 -- are typed by the Class. 290 291 overriding function Get_Is_Abstract 292 (Self : not null access constant UML_Activity_Proxy) 293 return Boolean; 294 -- Getter of Class::isAbstract. 295 -- 296 -- True when a class is abstract. 297 -- If true, the Classifier does not provide a complete declaration and can 298 -- typically not be instantiated. An abstract classifier is intended to be 299 -- used by other classifiers e.g. as the target of general 300 -- metarelationships or generalization relationships. 301 302 overriding function Get_Is_Active 303 (Self : not null access constant UML_Activity_Proxy) 304 return Boolean; 305 -- Getter of Class::isActive. 306 -- 307 -- Determines whether an object specified by this class is active or not. 308 -- If true, then the owning class is referred to as an active class. If 309 -- false, then such a class is referred to as a passive class. 310 311 overriding procedure Set_Is_Active 312 (Self : not null access UML_Activity_Proxy; 313 To : Boolean); 314 -- Setter of Class::isActive. 315 -- 316 -- Determines whether an object specified by this class is active or not. 317 -- If true, then the owning class is referred to as an active class. If 318 -- false, then such a class is referred to as a passive class. 319 320 overriding function Get_Nested_Classifier 321 (Self : not null access constant UML_Activity_Proxy) 322 return AMF.UML.Classifiers.Collections.Ordered_Set_Of_UML_Classifier; 323 -- Getter of Class::nestedClassifier. 324 -- 325 -- References all the Classifiers that are defined (nested) within the 326 -- Class. 327 328 overriding function Get_Owned_Attribute 329 (Self : not null access constant UML_Activity_Proxy) 330 return AMF.UML.Properties.Collections.Ordered_Set_Of_UML_Property; 331 -- Getter of Class::ownedAttribute. 332 -- 333 -- The attributes (i.e. the properties) owned by the class. 334 335 overriding function Get_Owned_Operation 336 (Self : not null access constant UML_Activity_Proxy) 337 return AMF.UML.Operations.Collections.Ordered_Set_Of_UML_Operation; 338 -- Getter of Class::ownedOperation. 339 -- 340 -- The operations owned by the class. 341 342 overriding function Get_Owned_Reception 343 (Self : not null access constant UML_Activity_Proxy) 344 return AMF.UML.Receptions.Collections.Set_Of_UML_Reception; 345 -- Getter of Class::ownedReception. 346 -- 347 -- Receptions that objects of this class are willing to accept. 348 349 overriding function Get_Super_Class 350 (Self : not null access constant UML_Activity_Proxy) 351 return AMF.UML.Classes.Collections.Set_Of_UML_Class; 352 -- Getter of Class::superClass. 353 -- 354 -- This gives the superclasses of a class. 355 356 overriding function Get_Classifier_Behavior 357 (Self : not null access constant UML_Activity_Proxy) 358 return AMF.UML.Behaviors.UML_Behavior_Access; 359 -- Getter of BehavioredClassifier::classifierBehavior. 360 -- 361 -- A behavior specification that specifies the behavior of the classifier 362 -- itself. 363 364 overriding procedure Set_Classifier_Behavior 365 (Self : not null access UML_Activity_Proxy; 366 To : AMF.UML.Behaviors.UML_Behavior_Access); 367 -- Setter of BehavioredClassifier::classifierBehavior. 368 -- 369 -- A behavior specification that specifies the behavior of the classifier 370 -- itself. 371 372 overriding function Get_Interface_Realization 373 (Self : not null access constant UML_Activity_Proxy) 374 return AMF.UML.Interface_Realizations.Collections.Set_Of_UML_Interface_Realization; 375 -- Getter of BehavioredClassifier::interfaceRealization. 376 -- 377 -- The set of InterfaceRealizations owned by the BehavioredClassifier. 378 -- Interface realizations reference the Interfaces of which the 379 -- BehavioredClassifier is an implementation. 380 381 overriding function Get_Owned_Behavior 382 (Self : not null access constant UML_Activity_Proxy) 383 return AMF.UML.Behaviors.Collections.Set_Of_UML_Behavior; 384 -- Getter of BehavioredClassifier::ownedBehavior. 385 -- 386 -- References behavior specifications owned by a classifier. 387 388 overriding function Get_Attribute 389 (Self : not null access constant UML_Activity_Proxy) 390 return AMF.UML.Properties.Collections.Set_Of_UML_Property; 391 -- Getter of Classifier::attribute. 392 -- 393 -- Refers to all of the Properties that are direct (i.e. not inherited or 394 -- imported) attributes of the classifier. 395 396 overriding function Get_Collaboration_Use 397 (Self : not null access constant UML_Activity_Proxy) 398 return AMF.UML.Collaboration_Uses.Collections.Set_Of_UML_Collaboration_Use; 399 -- Getter of Classifier::collaborationUse. 400 -- 401 -- References the collaboration uses owned by the classifier. 402 403 overriding function Get_Feature 404 (Self : not null access constant UML_Activity_Proxy) 405 return AMF.UML.Features.Collections.Set_Of_UML_Feature; 406 -- Getter of Classifier::feature. 407 -- 408 -- Specifies each feature defined in the classifier. 409 -- Note that there may be members of the Classifier that are of the type 410 -- Feature but are not included in this association, e.g. inherited 411 -- features. 412 413 overriding function Get_General 414 (Self : not null access constant UML_Activity_Proxy) 415 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 416 -- Getter of Classifier::general. 417 -- 418 -- Specifies the general Classifiers for this Classifier. 419 -- References the general classifier in the Generalization relationship. 420 421 overriding function Get_Generalization 422 (Self : not null access constant UML_Activity_Proxy) 423 return AMF.UML.Generalizations.Collections.Set_Of_UML_Generalization; 424 -- Getter of Classifier::generalization. 425 -- 426 -- Specifies the Generalization relationships for this Classifier. These 427 -- Generalizations navigaten to more general classifiers in the 428 -- generalization hierarchy. 429 430 overriding function Get_Inherited_Member 431 (Self : not null access constant UML_Activity_Proxy) 432 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 433 -- Getter of Classifier::inheritedMember. 434 -- 435 -- Specifies all elements inherited by this classifier from the general 436 -- classifiers. 437 438 overriding function Get_Is_Final_Specialization 439 (Self : not null access constant UML_Activity_Proxy) 440 return Boolean; 441 -- Getter of Classifier::isFinalSpecialization. 442 -- 443 -- If true, the Classifier cannot be specialized by generalization. Note 444 -- that this property is preserved through package merge operations; that 445 -- is, the capability to specialize a Classifier (i.e., 446 -- isFinalSpecialization =false) must be preserved in the resulting 447 -- Classifier of a package merge operation where a Classifier with 448 -- isFinalSpecialization =false is merged with a matching Classifier with 449 -- isFinalSpecialization =true: the resulting Classifier will have 450 -- isFinalSpecialization =false. 451 452 overriding procedure Set_Is_Final_Specialization 453 (Self : not null access UML_Activity_Proxy; 454 To : Boolean); 455 -- Setter of Classifier::isFinalSpecialization. 456 -- 457 -- If true, the Classifier cannot be specialized by generalization. Note 458 -- that this property is preserved through package merge operations; that 459 -- is, the capability to specialize a Classifier (i.e., 460 -- isFinalSpecialization =false) must be preserved in the resulting 461 -- Classifier of a package merge operation where a Classifier with 462 -- isFinalSpecialization =false is merged with a matching Classifier with 463 -- isFinalSpecialization =true: the resulting Classifier will have 464 -- isFinalSpecialization =false. 465 466 overriding function Get_Owned_Template_Signature 467 (Self : not null access constant UML_Activity_Proxy) 468 return AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access; 469 -- Getter of Classifier::ownedTemplateSignature. 470 -- 471 -- The optional template signature specifying the formal template 472 -- parameters. 473 474 overriding procedure Set_Owned_Template_Signature 475 (Self : not null access UML_Activity_Proxy; 476 To : AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access); 477 -- Setter of Classifier::ownedTemplateSignature. 478 -- 479 -- The optional template signature specifying the formal template 480 -- parameters. 481 482 overriding function Get_Owned_Use_Case 483 (Self : not null access constant UML_Activity_Proxy) 484 return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case; 485 -- Getter of Classifier::ownedUseCase. 486 -- 487 -- References the use cases owned by this classifier. 488 489 overriding function Get_Powertype_Extent 490 (Self : not null access constant UML_Activity_Proxy) 491 return AMF.UML.Generalization_Sets.Collections.Set_Of_UML_Generalization_Set; 492 -- Getter of Classifier::powertypeExtent. 493 -- 494 -- Designates the GeneralizationSet of which the associated Classifier is 495 -- a power type. 496 497 overriding function Get_Redefined_Classifier 498 (Self : not null access constant UML_Activity_Proxy) 499 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 500 -- Getter of Classifier::redefinedClassifier. 501 -- 502 -- References the Classifiers that are redefined by this Classifier. 503 504 overriding function Get_Representation 505 (Self : not null access constant UML_Activity_Proxy) 506 return AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access; 507 -- Getter of Classifier::representation. 508 -- 509 -- References a collaboration use which indicates the collaboration that 510 -- represents this classifier. 511 512 overriding procedure Set_Representation 513 (Self : not null access UML_Activity_Proxy; 514 To : AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access); 515 -- Setter of Classifier::representation. 516 -- 517 -- References a collaboration use which indicates the collaboration that 518 -- represents this classifier. 519 520 overriding function Get_Substitution 521 (Self : not null access constant UML_Activity_Proxy) 522 return AMF.UML.Substitutions.Collections.Set_Of_UML_Substitution; 523 -- Getter of Classifier::substitution. 524 -- 525 -- References the substitutions that are owned by this Classifier. 526 527 overriding function Get_Template_Parameter 528 (Self : not null access constant UML_Activity_Proxy) 529 return AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access; 530 -- Getter of Classifier::templateParameter. 531 -- 532 -- The template parameter that exposes this element as a formal parameter. 533 534 overriding procedure Set_Template_Parameter 535 (Self : not null access UML_Activity_Proxy; 536 To : AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access); 537 -- Setter of Classifier::templateParameter. 538 -- 539 -- The template parameter that exposes this element as a formal parameter. 540 541 overriding function Get_Use_Case 542 (Self : not null access constant UML_Activity_Proxy) 543 return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case; 544 -- Getter of Classifier::useCase. 545 -- 546 -- The set of use cases for which this Classifier is the subject. 547 548 overriding function Get_Element_Import 549 (Self : not null access constant UML_Activity_Proxy) 550 return AMF.UML.Element_Imports.Collections.Set_Of_UML_Element_Import; 551 -- Getter of Namespace::elementImport. 552 -- 553 -- References the ElementImports owned by the Namespace. 554 555 overriding function Get_Imported_Member 556 (Self : not null access constant UML_Activity_Proxy) 557 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 558 -- Getter of Namespace::importedMember. 559 -- 560 -- References the PackageableElements that are members of this Namespace 561 -- as a result of either PackageImports or ElementImports. 562 563 overriding function Get_Member 564 (Self : not null access constant UML_Activity_Proxy) 565 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 566 -- Getter of Namespace::member. 567 -- 568 -- A collection of NamedElements identifiable within the Namespace, either 569 -- by being owned or by being introduced by importing or inheritance. 570 571 overriding function Get_Owned_Member 572 (Self : not null access constant UML_Activity_Proxy) 573 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 574 -- Getter of Namespace::ownedMember. 575 -- 576 -- A collection of NamedElements owned by the Namespace. 577 578 overriding function Get_Owned_Rule 579 (Self : not null access constant UML_Activity_Proxy) 580 return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint; 581 -- Getter of Namespace::ownedRule. 582 -- 583 -- Specifies a set of Constraints owned by this Namespace. 584 585 overriding function Get_Package_Import 586 (Self : not null access constant UML_Activity_Proxy) 587 return AMF.UML.Package_Imports.Collections.Set_Of_UML_Package_Import; 588 -- Getter of Namespace::packageImport. 589 -- 590 -- References the PackageImports owned by the Namespace. 591 592 overriding function Get_Client_Dependency 593 (Self : not null access constant UML_Activity_Proxy) 594 return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency; 595 -- Getter of NamedElement::clientDependency. 596 -- 597 -- Indicates the dependencies that reference the client. 598 599 overriding function Get_Name_Expression 600 (Self : not null access constant UML_Activity_Proxy) 601 return AMF.UML.String_Expressions.UML_String_Expression_Access; 602 -- Getter of NamedElement::nameExpression. 603 -- 604 -- The string expression used to define the name of this named element. 605 606 overriding procedure Set_Name_Expression 607 (Self : not null access UML_Activity_Proxy; 608 To : AMF.UML.String_Expressions.UML_String_Expression_Access); 609 -- Setter of NamedElement::nameExpression. 610 -- 611 -- The string expression used to define the name of this named element. 612 613 overriding function Get_Namespace 614 (Self : not null access constant UML_Activity_Proxy) 615 return AMF.UML.Namespaces.UML_Namespace_Access; 616 -- Getter of NamedElement::namespace. 617 -- 618 -- Specifies the namespace that owns the NamedElement. 619 620 overriding function Get_Qualified_Name 621 (Self : not null access constant UML_Activity_Proxy) 622 return AMF.Optional_String; 623 -- Getter of NamedElement::qualifiedName. 624 -- 625 -- A name which allows the NamedElement to be identified within a 626 -- hierarchy of nested Namespaces. It is constructed from the names of the 627 -- containing namespaces starting at the root of the hierarchy and ending 628 -- with the name of the NamedElement itself. 629 630 overriding function Get_Package 631 (Self : not null access constant UML_Activity_Proxy) 632 return AMF.UML.Packages.UML_Package_Access; 633 -- Getter of Type::package. 634 -- 635 -- Specifies the owning package of this classifier, if any. 636 637 overriding procedure Set_Package 638 (Self : not null access UML_Activity_Proxy; 639 To : AMF.UML.Packages.UML_Package_Access); 640 -- Setter of Type::package. 641 -- 642 -- Specifies the owning package of this classifier, if any. 643 644 overriding function Get_Owning_Template_Parameter 645 (Self : not null access constant UML_Activity_Proxy) 646 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 647 -- Getter of ParameterableElement::owningTemplateParameter. 648 -- 649 -- The formal template parameter that owns this element. 650 651 overriding procedure Set_Owning_Template_Parameter 652 (Self : not null access UML_Activity_Proxy; 653 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 654 -- Setter of ParameterableElement::owningTemplateParameter. 655 -- 656 -- The formal template parameter that owns this element. 657 658 overriding function Get_Template_Parameter 659 (Self : not null access constant UML_Activity_Proxy) 660 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 661 -- Getter of ParameterableElement::templateParameter. 662 -- 663 -- The template parameter that exposes this element as a formal parameter. 664 665 overriding procedure Set_Template_Parameter 666 (Self : not null access UML_Activity_Proxy; 667 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 668 -- Setter of ParameterableElement::templateParameter. 669 -- 670 -- The template parameter that exposes this element as a formal parameter. 671 672 overriding function Get_Owned_Template_Signature 673 (Self : not null access constant UML_Activity_Proxy) 674 return AMF.UML.Template_Signatures.UML_Template_Signature_Access; 675 -- Getter of TemplateableElement::ownedTemplateSignature. 676 -- 677 -- The optional template signature specifying the formal template 678 -- parameters. 679 680 overriding procedure Set_Owned_Template_Signature 681 (Self : not null access UML_Activity_Proxy; 682 To : AMF.UML.Template_Signatures.UML_Template_Signature_Access); 683 -- Setter of TemplateableElement::ownedTemplateSignature. 684 -- 685 -- The optional template signature specifying the formal template 686 -- parameters. 687 688 overriding function Get_Template_Binding 689 (Self : not null access constant UML_Activity_Proxy) 690 return AMF.UML.Template_Bindings.Collections.Set_Of_UML_Template_Binding; 691 -- Getter of TemplateableElement::templateBinding. 692 -- 693 -- The optional bindings from this element to templates. 694 695 overriding function Get_Is_Leaf 696 (Self : not null access constant UML_Activity_Proxy) 697 return Boolean; 698 -- Getter of RedefinableElement::isLeaf. 699 -- 700 -- Indicates whether it is possible to further redefine a 701 -- RedefinableElement. If the value is true, then it is not possible to 702 -- further redefine the RedefinableElement. Note that this property is 703 -- preserved through package merge operations; that is, the capability to 704 -- redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in 705 -- the resulting RedefinableElement of a package merge operation where a 706 -- RedefinableElement with isLeaf=false is merged with a matching 707 -- RedefinableElement with isLeaf=true: the resulting RedefinableElement 708 -- will have isLeaf=false. Default value is false. 709 710 overriding procedure Set_Is_Leaf 711 (Self : not null access UML_Activity_Proxy; 712 To : Boolean); 713 -- Setter of RedefinableElement::isLeaf. 714 -- 715 -- Indicates whether it is possible to further redefine a 716 -- RedefinableElement. If the value is true, then it is not possible to 717 -- further redefine the RedefinableElement. Note that this property is 718 -- preserved through package merge operations; that is, the capability to 719 -- redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in 720 -- the resulting RedefinableElement of a package merge operation where a 721 -- RedefinableElement with isLeaf=false is merged with a matching 722 -- RedefinableElement with isLeaf=true: the resulting RedefinableElement 723 -- will have isLeaf=false. Default value is false. 724 725 overriding function Get_Redefined_Element 726 (Self : not null access constant UML_Activity_Proxy) 727 return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element; 728 -- Getter of RedefinableElement::redefinedElement. 729 -- 730 -- The redefinable element that is being redefined by this element. 731 732 overriding function Get_Redefinition_Context 733 (Self : not null access constant UML_Activity_Proxy) 734 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 735 -- Getter of RedefinableElement::redefinitionContext. 736 -- 737 -- References the contexts that this element may be redefined from. 738 739 overriding function Get_Owned_Port 740 (Self : not null access constant UML_Activity_Proxy) 741 return AMF.UML.Ports.Collections.Set_Of_UML_Port; 742 -- Getter of EncapsulatedClassifier::ownedPort. 743 -- 744 -- References a set of ports that an encapsulated classifier owns. 745 746 overriding function Get_Owned_Connector 747 (Self : not null access constant UML_Activity_Proxy) 748 return AMF.UML.Connectors.Collections.Set_Of_UML_Connector; 749 -- Getter of StructuredClassifier::ownedConnector. 750 -- 751 -- References the connectors owned by the classifier. 752 753 overriding function Get_Part 754 (Self : not null access constant UML_Activity_Proxy) 755 return AMF.UML.Properties.Collections.Set_Of_UML_Property; 756 -- Getter of StructuredClassifier::part. 757 -- 758 -- References the properties specifying instances that the classifier owns 759 -- by composition. This association is derived, selecting those owned 760 -- properties where isComposite is true. 761 762 overriding function Get_Role 763 (Self : not null access constant UML_Activity_Proxy) 764 return AMF.UML.Connectable_Elements.Collections.Set_Of_UML_Connectable_Element; 765 -- Getter of StructuredClassifier::role. 766 -- 767 -- References the roles that instances may play in this classifier. 768 769 overriding function Structured_Node 770 (Self : not null access constant UML_Activity_Proxy) 771 return AMF.UML.Structured_Activity_Nodes.Collections.Set_Of_UML_Structured_Activity_Node; 772 -- Operation Activity::structuredNode. 773 -- 774 -- Missing derivation for Activity::/structuredNode : 775 -- StructuredActivityNode 776 777 overriding function Context 778 (Self : not null access constant UML_Activity_Proxy) 779 return AMF.UML.Behaviored_Classifiers.UML_Behaviored_Classifier_Access; 780 -- Operation Behavior::context. 781 -- 782 -- Missing derivation for Behavior::/context : BehavioredClassifier 783 784 overriding function Extension 785 (Self : not null access constant UML_Activity_Proxy) 786 return AMF.UML.Extensions.Collections.Set_Of_UML_Extension; 787 -- Operation Class::extension. 788 -- 789 -- Missing derivation for Class::/extension : Extension 790 791 overriding function Inherit 792 (Self : not null access constant UML_Activity_Proxy; 793 Inhs : AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element) 794 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 795 -- Operation Class::inherit. 796 -- 797 -- The inherit operation is overridden to exclude redefined properties. 798 799 overriding function Super_Class 800 (Self : not null access constant UML_Activity_Proxy) 801 return AMF.UML.Classes.Collections.Set_Of_UML_Class; 802 -- Operation Class::superClass. 803 -- 804 -- Missing derivation for Class::/superClass : Class 805 806 overriding function All_Features 807 (Self : not null access constant UML_Activity_Proxy) 808 return AMF.UML.Features.Collections.Set_Of_UML_Feature; 809 -- Operation Classifier::allFeatures. 810 -- 811 -- The query allFeatures() gives all of the features in the namespace of 812 -- the classifier. In general, through mechanisms such as inheritance, 813 -- this will be a larger set than feature. 814 815 overriding function Conforms_To 816 (Self : not null access constant UML_Activity_Proxy; 817 Other : AMF.UML.Classifiers.UML_Classifier_Access) 818 return Boolean; 819 -- Operation Classifier::conformsTo. 820 -- 821 -- The query conformsTo() gives true for a classifier that defines a type 822 -- that conforms to another. This is used, for example, in the 823 -- specification of signature conformance for operations. 824 825 overriding function General 826 (Self : not null access constant UML_Activity_Proxy) 827 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 828 -- Operation Classifier::general. 829 -- 830 -- The general classifiers are the classifiers referenced by the 831 -- generalization relationships. 832 833 overriding function Has_Visibility_Of 834 (Self : not null access constant UML_Activity_Proxy; 835 N : AMF.UML.Named_Elements.UML_Named_Element_Access) 836 return Boolean; 837 -- Operation Classifier::hasVisibilityOf. 838 -- 839 -- The query hasVisibilityOf() determines whether a named element is 840 -- visible in the classifier. By default all are visible. It is only 841 -- called when the argument is something owned by a parent. 842 843 overriding function Inheritable_Members 844 (Self : not null access constant UML_Activity_Proxy; 845 C : AMF.UML.Classifiers.UML_Classifier_Access) 846 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 847 -- Operation Classifier::inheritableMembers. 848 -- 849 -- The query inheritableMembers() gives all of the members of a classifier 850 -- that may be inherited in one of its descendants, subject to whatever 851 -- visibility restrictions apply. 852 853 overriding function Inherited_Member 854 (Self : not null access constant UML_Activity_Proxy) 855 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 856 -- Operation Classifier::inheritedMember. 857 -- 858 -- The inheritedMember association is derived by inheriting the 859 -- inheritable members of the parents. 860 -- The inheritedMember association is derived by inheriting the 861 -- inheritable members of the parents. 862 863 overriding function Is_Template 864 (Self : not null access constant UML_Activity_Proxy) 865 return Boolean; 866 -- Operation Classifier::isTemplate. 867 -- 868 -- The query isTemplate() returns whether this templateable element is 869 -- actually a template. 870 871 overriding function May_Specialize_Type 872 (Self : not null access constant UML_Activity_Proxy; 873 C : AMF.UML.Classifiers.UML_Classifier_Access) 874 return Boolean; 875 -- Operation Classifier::maySpecializeType. 876 -- 877 -- The query maySpecializeType() determines whether this classifier may 878 -- have a generalization relationship to classifiers of the specified 879 -- type. By default a classifier may specialize classifiers of the same or 880 -- a more general type. It is intended to be redefined by classifiers that 881 -- have different specialization constraints. 882 883 overriding function Exclude_Collisions 884 (Self : not null access constant UML_Activity_Proxy; 885 Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element) 886 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 887 -- Operation Namespace::excludeCollisions. 888 -- 889 -- The query excludeCollisions() excludes from a set of 890 -- PackageableElements any that would not be distinguishable from each 891 -- other in this namespace. 892 893 overriding function Get_Names_Of_Member 894 (Self : not null access constant UML_Activity_Proxy; 895 Element : AMF.UML.Named_Elements.UML_Named_Element_Access) 896 return AMF.String_Collections.Set_Of_String; 897 -- Operation Namespace::getNamesOfMember. 898 -- 899 -- The query getNamesOfMember() takes importing into account. It gives 900 -- back the set of names that an element would have in an importing 901 -- namespace, either because it is owned, or if not owned then imported 902 -- individually, or if not individually then from a package. 903 -- The query getNamesOfMember() gives a set of all of the names that a 904 -- member would have in a Namespace. In general a member can have multiple 905 -- names in a Namespace if it is imported more than once with different 906 -- aliases. The query takes account of importing. It gives back the set of 907 -- names that an element would have in an importing namespace, either 908 -- because it is owned, or if not owned then imported individually, or if 909 -- not individually then from a package. 910 911 overriding function Import_Members 912 (Self : not null access constant UML_Activity_Proxy; 913 Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element) 914 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 915 -- Operation Namespace::importMembers. 916 -- 917 -- The query importMembers() defines which of a set of PackageableElements 918 -- are actually imported into the namespace. This excludes hidden ones, 919 -- i.e., those which have names that conflict with names of owned members, 920 -- and also excludes elements which would have the same name when imported. 921 922 overriding function Imported_Member 923 (Self : not null access constant UML_Activity_Proxy) 924 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 925 -- Operation Namespace::importedMember. 926 -- 927 -- The importedMember property is derived from the ElementImports and the 928 -- PackageImports. References the PackageableElements that are members of 929 -- this Namespace as a result of either PackageImports or ElementImports. 930 931 overriding function Members_Are_Distinguishable 932 (Self : not null access constant UML_Activity_Proxy) 933 return Boolean; 934 -- Operation Namespace::membersAreDistinguishable. 935 -- 936 -- The Boolean query membersAreDistinguishable() determines whether all of 937 -- the namespace's members are distinguishable within it. 938 939 overriding function Owned_Member 940 (Self : not null access constant UML_Activity_Proxy) 941 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 942 -- Operation Namespace::ownedMember. 943 -- 944 -- Missing derivation for Namespace::/ownedMember : NamedElement 945 946 overriding function All_Owning_Packages 947 (Self : not null access constant UML_Activity_Proxy) 948 return AMF.UML.Packages.Collections.Set_Of_UML_Package; 949 -- Operation NamedElement::allOwningPackages. 950 -- 951 -- The query allOwningPackages() returns all the directly or indirectly 952 -- owning packages. 953 954 overriding function Is_Distinguishable_From 955 (Self : not null access constant UML_Activity_Proxy; 956 N : AMF.UML.Named_Elements.UML_Named_Element_Access; 957 Ns : AMF.UML.Namespaces.UML_Namespace_Access) 958 return Boolean; 959 -- Operation NamedElement::isDistinguishableFrom. 960 -- 961 -- The query isDistinguishableFrom() determines whether two NamedElements 962 -- may logically co-exist within a Namespace. By default, two named 963 -- elements are distinguishable if (a) they have unrelated types or (b) 964 -- they have related types but different names. 965 966 overriding function Namespace 967 (Self : not null access constant UML_Activity_Proxy) 968 return AMF.UML.Namespaces.UML_Namespace_Access; 969 -- Operation NamedElement::namespace. 970 -- 971 -- Missing derivation for NamedElement::/namespace : Namespace 972 973 overriding function Conforms_To 974 (Self : not null access constant UML_Activity_Proxy; 975 Other : AMF.UML.Types.UML_Type_Access) 976 return Boolean; 977 -- Operation Type::conformsTo. 978 -- 979 -- The query conformsTo() gives true for a type that conforms to another. 980 -- By default, two types do not conform to each other. This query is 981 -- intended to be redefined for specific conformance situations. 982 983 overriding function Is_Compatible_With 984 (Self : not null access constant UML_Activity_Proxy; 985 P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access) 986 return Boolean; 987 -- Operation ParameterableElement::isCompatibleWith. 988 -- 989 -- The query isCompatibleWith() determines if this parameterable element 990 -- is compatible with the specified parameterable element. By default 991 -- parameterable element P is compatible with parameterable element Q if 992 -- the kind of P is the same or a subtype as the kind of Q. Subclasses 993 -- should override this operation to specify different compatibility 994 -- constraints. 995 996 overriding function Is_Template_Parameter 997 (Self : not null access constant UML_Activity_Proxy) 998 return Boolean; 999 -- Operation ParameterableElement::isTemplateParameter. 1000 -- 1001 -- The query isTemplateParameter() determines if this parameterable 1002 -- element is exposed as a formal template parameter. 1003 1004 overriding function Parameterable_Elements 1005 (Self : not null access constant UML_Activity_Proxy) 1006 return AMF.UML.Parameterable_Elements.Collections.Set_Of_UML_Parameterable_Element; 1007 -- Operation TemplateableElement::parameterableElements. 1008 -- 1009 -- The query parameterableElements() returns the set of elements that may 1010 -- be used as the parametered elements for a template parameter of this 1011 -- templateable element. By default, this set includes all the owned 1012 -- elements. Subclasses may override this operation if they choose to 1013 -- restrict the set of parameterable elements. 1014 1015 overriding function Is_Consistent_With 1016 (Self : not null access constant UML_Activity_Proxy; 1017 Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 1018 return Boolean; 1019 -- Operation RedefinableElement::isConsistentWith. 1020 -- 1021 -- The query isConsistentWith() specifies, for any two RedefinableElements 1022 -- in a context in which redefinition is possible, whether redefinition 1023 -- would be logically consistent. By default, this is false; this 1024 -- operation must be overridden for subclasses of RedefinableElement to 1025 -- define the consistency conditions. 1026 1027 overriding function Is_Redefinition_Context_Valid 1028 (Self : not null access constant UML_Activity_Proxy; 1029 Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 1030 return Boolean; 1031 -- Operation RedefinableElement::isRedefinitionContextValid. 1032 -- 1033 -- The query isRedefinitionContextValid() specifies whether the 1034 -- redefinition contexts of this RedefinableElement are properly related 1035 -- to the redefinition contexts of the specified RedefinableElement to 1036 -- allow this element to redefine the other. By default at least one of 1037 -- the redefinition contexts of this element must be a specialization of 1038 -- at least one of the redefinition contexts of the specified element. 1039 1040 overriding function Owned_Port 1041 (Self : not null access constant UML_Activity_Proxy) 1042 return AMF.UML.Ports.Collections.Set_Of_UML_Port; 1043 -- Operation EncapsulatedClassifier::ownedPort. 1044 -- 1045 -- Missing derivation for EncapsulatedClassifier::/ownedPort : Port 1046 1047 overriding function Part 1048 (Self : not null access constant UML_Activity_Proxy) 1049 return AMF.UML.Properties.Collections.Set_Of_UML_Property; 1050 -- Operation StructuredClassifier::part. 1051 -- 1052 -- Missing derivation for StructuredClassifier::/part : Property 1053 1054 overriding procedure Enter_Element 1055 (Self : not null access constant UML_Activity_Proxy; 1056 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 1057 Control : in out AMF.Visitors.Traverse_Control); 1058 -- Dispatch call to corresponding subprogram of visitor interface. 1059 1060 overriding procedure Leave_Element 1061 (Self : not null access constant UML_Activity_Proxy; 1062 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 1063 Control : in out AMF.Visitors.Traverse_Control); 1064 -- Dispatch call to corresponding subprogram of visitor interface. 1065 1066 overriding procedure Visit_Element 1067 (Self : not null access constant UML_Activity_Proxy; 1068 Iterator : in out AMF.Visitors.Abstract_Iterator'Class; 1069 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 1070 Control : in out AMF.Visitors.Traverse_Control); 1071 -- Dispatch call to corresponding subprogram of iterator interface. 1072 1073end AMF.Internals.UML_Activities; 1074