/trunk/matreshka/design/amf2/uml/generated/amf-uml-states.ads

http://github.com/landgraf/matreshka · Ada · 319 lines · 110 code · 34 blank · 175 comment · 1 complexity · 3a52aaa94f04edf2f1b482c10c239f42 MD5 · raw file

  1. ------------------------------------------------------------------------------
  2. -- --
  3. -- Matreshka Project --
  4. -- --
  5. -- Ada Modeling Framework --
  6. -- --
  7. -- Runtime Library Component --
  8. -- --
  9. ------------------------------------------------------------------------------
  10. -- --
  11. -- Copyright Š 2011, 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$ $Date$
  43. ------------------------------------------------------------------------------
  44. -- This file is generated, don't edit it.
  45. ------------------------------------------------------------------------------
  46. -- A state models a situation during which some (usually implicit) invariant
  47. -- condition holds.
  48. -- The states of protocol state machines are exposed to the users of their
  49. -- context classifiers. A protocol state represents an exposed stable
  50. -- situation of its context classifier: when an instance of the classifier is
  51. -- not processing any operation, users of this instance can always know its
  52. -- state configuration.
  53. ------------------------------------------------------------------------------
  54. limited with AMF.UML.Behaviors;
  55. limited with AMF.UML.Classifiers;
  56. limited with AMF.UML.Connection_Point_References.Collections;
  57. limited with AMF.UML.Constraints;
  58. with AMF.UML.Namespaces;
  59. limited with AMF.UML.Pseudostates.Collections;
  60. with AMF.UML.Redefinable_Elements;
  61. limited with AMF.UML.Regions.Collections;
  62. limited with AMF.UML.State_Machines;
  63. limited with AMF.UML.Triggers.Collections;
  64. with AMF.UML.Vertexs;
  65. package AMF.UML.States is
  66. pragma Preelaborate;
  67. type UML_State is limited interface
  68. and AMF.UML.Redefinable_Elements.UML_Redefinable_Element
  69. and AMF.UML.Namespaces.UML_Namespace
  70. and AMF.UML.Vertexs.UML_Vertex;
  71. type UML_State_Access is
  72. access all UML_State'Class;
  73. for UML_State_Access'Storage_Size use 0;
  74. not overriding function Get_Connection
  75. (Self : not null access constant UML_State)
  76. return AMF.UML.Connection_Point_References.Collections.Set_Of_UML_Connection_Point_Reference is abstract;
  77. -- Getter of State::connection.
  78. --
  79. -- The entry and exit connection points used in conjunction with this
  80. -- (submachine) state, i.e. as targets and sources, respectively, in the
  81. -- region with the submachine state. A connection point reference
  82. -- references the corresponding definition of a connection point
  83. -- pseudostate in the statemachine referenced by the submachinestate.
  84. not overriding function Get_Connection_Point
  85. (Self : not null access constant UML_State)
  86. return AMF.UML.Pseudostates.Collections.Set_Of_UML_Pseudostate is abstract;
  87. -- Getter of State::connectionPoint.
  88. --
  89. -- The entry and exit pseudostates of a composite state. These can only be
  90. -- entry or exit Pseudostates, and they must have different names. They
  91. -- can only be defined for composite states.
  92. not overriding function Get_Deferrable_Trigger
  93. (Self : not null access constant UML_State)
  94. return AMF.UML.Triggers.Collections.Set_Of_UML_Trigger is abstract;
  95. -- Getter of State::deferrableTrigger.
  96. --
  97. -- A list of triggers that are candidates to be retained by the state
  98. -- machine if they trigger no transitions out of the state (not consumed).
  99. -- A deferred trigger is retained until the state machine reaches a state
  100. -- configuration where it is no longer deferred.
  101. not overriding function Get_Do_Activity
  102. (Self : not null access constant UML_State)
  103. return AMF.UML.Behaviors.UML_Behavior_Access is abstract;
  104. -- Getter of State::doActivity.
  105. --
  106. -- An optional behavior that is executed while being in the state. The
  107. -- execution starts when this state is entered, and stops either by
  108. -- itself, or when the state is exited, whichever comes first.
  109. not overriding procedure Set_Do_Activity
  110. (Self : not null access UML_State;
  111. To : AMF.UML.Behaviors.UML_Behavior_Access) is abstract;
  112. -- Setter of State::doActivity.
  113. --
  114. -- An optional behavior that is executed while being in the state. The
  115. -- execution starts when this state is entered, and stops either by
  116. -- itself, or when the state is exited, whichever comes first.
  117. not overriding function Get_Entry
  118. (Self : not null access constant UML_State)
  119. return AMF.UML.Behaviors.UML_Behavior_Access is abstract;
  120. -- Getter of State::entry.
  121. --
  122. -- An optional behavior that is executed whenever this state is entered
  123. -- regardless of the transition taken to reach the state. If defined,
  124. -- entry actions are always executed to completion prior to any internal
  125. -- behavior or transitions performed within the state.
  126. not overriding procedure Set_Entry
  127. (Self : not null access UML_State;
  128. To : AMF.UML.Behaviors.UML_Behavior_Access) is abstract;
  129. -- Setter of State::entry.
  130. --
  131. -- An optional behavior that is executed whenever this state is entered
  132. -- regardless of the transition taken to reach the state. If defined,
  133. -- entry actions are always executed to completion prior to any internal
  134. -- behavior or transitions performed within the state.
  135. not overriding function Get_Exit
  136. (Self : not null access constant UML_State)
  137. return AMF.UML.Behaviors.UML_Behavior_Access is abstract;
  138. -- Getter of State::exit.
  139. --
  140. -- An optional behavior that is executed whenever this state is exited
  141. -- regardless of which transition was taken out of the state. If defined,
  142. -- exit actions are always executed to completion only after all internal
  143. -- activities and transition actions have completed execution.
  144. not overriding procedure Set_Exit
  145. (Self : not null access UML_State;
  146. To : AMF.UML.Behaviors.UML_Behavior_Access) is abstract;
  147. -- Setter of State::exit.
  148. --
  149. -- An optional behavior that is executed whenever this state is exited
  150. -- regardless of which transition was taken out of the state. If defined,
  151. -- exit actions are always executed to completion only after all internal
  152. -- activities and transition actions have completed execution.
  153. not overriding function Get_Is_Composite
  154. (Self : not null access constant UML_State)
  155. return Boolean is abstract;
  156. -- Getter of State::isComposite.
  157. --
  158. -- A state with isComposite=true is said to be a composite state. A
  159. -- composite state is a state that contains at least one region.
  160. not overriding function Get_Is_Orthogonal
  161. (Self : not null access constant UML_State)
  162. return Boolean is abstract;
  163. -- Getter of State::isOrthogonal.
  164. --
  165. -- A state with isOrthogonal=true is said to be an orthogonal composite
  166. -- state. An orthogonal composite state contains two or more regions.
  167. not overriding function Get_Is_Simple
  168. (Self : not null access constant UML_State)
  169. return Boolean is abstract;
  170. -- Getter of State::isSimple.
  171. --
  172. -- A state with isSimple=true is said to be a simple state. A simple state
  173. -- does not have any regions and it does not refer to any submachine state
  174. -- machine.
  175. not overriding function Get_Is_Submachine_State
  176. (Self : not null access constant UML_State)
  177. return Boolean is abstract;
  178. -- Getter of State::isSubmachineState.
  179. --
  180. -- A state with isSubmachineState=true is said to be a submachine state.
  181. -- Such a state refers to a state machine (submachine).
  182. not overriding function Get_Redefined_State
  183. (Self : not null access constant UML_State)
  184. return AMF.UML.States.UML_State_Access is abstract;
  185. -- Getter of State::redefinedState.
  186. --
  187. -- The state of which this state is a redefinition.
  188. not overriding procedure Set_Redefined_State
  189. (Self : not null access UML_State;
  190. To : AMF.UML.States.UML_State_Access) is abstract;
  191. -- Setter of State::redefinedState.
  192. --
  193. -- The state of which this state is a redefinition.
  194. not overriding function Get_Redefinition_Context
  195. (Self : not null access constant UML_State)
  196. return AMF.UML.Classifiers.UML_Classifier_Access is abstract;
  197. -- Getter of State::redefinitionContext.
  198. --
  199. -- References the classifier in which context this element may be
  200. -- redefined.
  201. not overriding function Get_Region
  202. (Self : not null access constant UML_State)
  203. return AMF.UML.Regions.Collections.Set_Of_UML_Region is abstract;
  204. -- Getter of State::region.
  205. --
  206. -- The regions owned directly by the state.
  207. not overriding function Get_State_Invariant
  208. (Self : not null access constant UML_State)
  209. return AMF.UML.Constraints.UML_Constraint_Access is abstract;
  210. -- Getter of State::stateInvariant.
  211. --
  212. -- Specifies conditions that are always true when this state is the
  213. -- current state. In protocol state machines, state invariants are
  214. -- additional conditions to the preconditions of the outgoing transitions,
  215. -- and to the postcondition of the incoming transitions.
  216. not overriding procedure Set_State_Invariant
  217. (Self : not null access UML_State;
  218. To : AMF.UML.Constraints.UML_Constraint_Access) is abstract;
  219. -- Setter of State::stateInvariant.
  220. --
  221. -- Specifies conditions that are always true when this state is the
  222. -- current state. In protocol state machines, state invariants are
  223. -- additional conditions to the preconditions of the outgoing transitions,
  224. -- and to the postcondition of the incoming transitions.
  225. not overriding function Get_Submachine
  226. (Self : not null access constant UML_State)
  227. return AMF.UML.State_Machines.UML_State_Machine_Access is abstract;
  228. -- Getter of State::submachine.
  229. --
  230. -- The state machine that is to be inserted in place of the (submachine)
  231. -- state.
  232. not overriding procedure Set_Submachine
  233. (Self : not null access UML_State;
  234. To : AMF.UML.State_Machines.UML_State_Machine_Access) is abstract;
  235. -- Setter of State::submachine.
  236. --
  237. -- The state machine that is to be inserted in place of the (submachine)
  238. -- state.
  239. overriding function Containing_State_Machine
  240. (Self : not null access constant UML_State)
  241. return AMF.UML.State_Machines.UML_State_Machine_Access is abstract;
  242. -- The query containingStateMachine() returns the state machine that
  243. -- contains the state either directly or transitively.
  244. not overriding function Is_Composite
  245. (Self : not null access constant UML_State)
  246. return Boolean is abstract;
  247. -- A composite state is a state with at least one region.
  248. overriding function Is_Consistent_With
  249. (Self : not null access constant UML_State;
  250. Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
  251. return Boolean is abstract;
  252. -- The query isConsistentWith() specifies that a redefining state is
  253. -- consistent with a redefined state provided that the redefining state is
  254. -- an extension of the redefined state: A simple state can be redefined
  255. -- (extended) to become a composite state (by adding a region) and a
  256. -- composite state can be redefined (extended) by adding regions and by
  257. -- adding vertices, states, and transitions to inherited regions. All
  258. -- states may add or replace entry, exit, and 'doActivity' actions.
  259. not overriding function Is_Orthogonal
  260. (Self : not null access constant UML_State)
  261. return Boolean is abstract;
  262. -- An orthogonal state is a composite state with at least 2 regions
  263. not overriding function Is_Redefinition_Context_Valid
  264. (Self : not null access constant UML_State;
  265. Redefined : AMF.UML.States.UML_State_Access)
  266. return Boolean is abstract;
  267. -- The query isRedefinitionContextValid() specifies whether the
  268. -- redefinition contexts of a state are properly related to the
  269. -- redefinition contexts of the specified state to allow this element to
  270. -- redefine the other. The containing region of a redefining state must
  271. -- redefine the containing region of the redefined state.
  272. not overriding function Is_Simple
  273. (Self : not null access constant UML_State)
  274. return Boolean is abstract;
  275. -- A simple state is a state without any regions.
  276. not overriding function Is_Submachine_State
  277. (Self : not null access constant UML_State)
  278. return Boolean is abstract;
  279. -- Only submachine states can have a reference statemachine.
  280. not overriding function Redefinition_Context
  281. (Self : not null access constant UML_State)
  282. return AMF.UML.Classifiers.UML_Classifier_Access is abstract;
  283. -- The redefinition context of a state is the nearest containing
  284. -- statemachine.
  285. end AMF.UML.States;