domain.mark 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. .//============================================================================
  2. .// File: domain.mark
  3. .//
  4. .// Description:
  5. .// This marking file is used to indicate xtUML domain specialization(s)
  6. .// to the model compiler's translation engine.
  7. .//
  8. .// Notice:
  9. .// (C) Copyright 1999-2013 Mentor Graphics Corporation
  10. .// All rights reserved.
  11. .//============================================================================
  12. .// Notes:
  13. .// (1) Marking is specified via archetype function invocation(s) in this file.
  14. .// A function invocation statement MUST be specified on a single line.
  15. .// All indicated function input parameters must be supplied.
  16. .// (2) All quoted string parameters are case sensitive.
  17. .// (3) Comments in this file start with ".//".
  18. .// (4) Do not leave any blank lines in this file.
  19. .//============================================================================
  20. .//
  21. .//
  22. .//============================================================================
  23. .// Mark Initialization Function:
  24. .//
  25. .// To indicate to the model compiler that a function serves as an
  26. .// initialization function in a domain, use the following invocation
  27. .// (one for each initialization object):
  28. .//
  29. .// MarkInitializationFunction( "component", "function_name" )
  30. .//
  31. .// Where the input parameter(s) are:
  32. .// component = name of component (domain) containing initialization function
  33. .// function_name = name of the domain function (synchronous service)
  34. .//
  35. .// Example:
  36. .// .invoke MarkInitializationFunction( "*", "setup" )
  37. .// .invoke MarkInitializationFunction( "SeatHeater", "test" )
  38. .//
  39. .// Notes:
  40. .// (1) If multiple functions are tagged, they will be invoked in
  41. .// alphabetical order.
  42. .// (2) Function bearing arguments may not be used as initialization
  43. .// functions.
  44. .// (3) This interface supersedes and obsoletes tagging initialization
  45. .// objects.
  46. .//============================================================================
  47. .//
  48. .//
  49. .//============================================================================
  50. .// Exclude Function(s) From Implementation Code Generation:
  51. .//
  52. .// To indicate to the model compiler that a function should be excluded
  53. .// from implementation code generation, use the following invocation
  54. .// (one for each excluded object):
  55. .//
  56. .// MarkFunctionTranslationOff( "component", "function_name" )
  57. .//
  58. .// Where the input parameter(s) are:
  59. .// component = name of component (domain) containing function
  60. .// function_name = name of domain function to not be translated
  61. .//
  62. .// Example:
  63. .// .invoke MarkFunctionTranslationOff( "component", "initialize_AS" )
  64. .// .invoke MarkFunctionTranslationOff( "*" )
  65. .//============================================================================
  66. .//
  67. .//
  68. .//============================================================================
  69. .// Exclude Object From Implementation Code Generation:
  70. .//
  71. .// To indicate to the model compiler that an object should be excluded
  72. .// from implementation code generation, use the following invocation
  73. .// (one for each excluded object):
  74. .//
  75. .// MarkExcludeObjectFromCodeGen( "component", "key_letters" )
  76. .//
  77. .// Where the input parameter(s) are:
  78. .// component = name of component (domain) being marked
  79. .// key_letters = Key letters of the object to be excluded.
  80. .//
  81. .// Example:
  82. .// .invoke MarkExcludeObjectFromCodeGen( "TST_OBJ" )
  83. .//============================================================================
  84. .//
  85. .//
  86. .//============================================================================
  87. .// Exclude Subsystem From Code Generation:
  88. .//
  89. .// To indicate to the model compiler that all objects in a specified
  90. .// subsystem should be excluded from implementation code generation, use the
  91. .// following invocation (one for each excluded subsystem):
  92. .//
  93. .// MarkExcludeSubsystemFromCodeGen( "component", "subsystem" )
  94. .//
  95. .// Where the input parameter(s) are:
  96. .// component = name of component (domain) being marked
  97. .// subsystem = Name of the subsystem to be excluded.
  98. .//
  99. .// NOTES: 1) 'white space' in the subsystem name will be ignored.
  100. .// 2) The subsystem name is not case sensitive.
  101. .//
  102. .// Example:
  103. .// .invoke MarkExcludeSubsystemFromCodeGen( "ModelVerifier Unit Tests" )
  104. .//============================================================================
  105. .//
  106. .//
  107. .//============================================================================
  108. .// *** Debug Control Marks ***
  109. .//============================================================================
  110. .//
  111. .//
  112. .//============================================================================
  113. .// Debug Tooling: Enable state transition level tracing.
  114. .//
  115. .// To indicate to the model compiler that state transition tracing
  116. .// capabilities should be generated, use the following invocation:
  117. .//
  118. .// MarkStateTransitionTracingOn( "component" )
  119. .//
  120. .// Where the input parameter(s) are:
  121. .// component = name of component (domain) being marked
  122. .//
  123. .// Example:
  124. .// .invoke MarkStateTransitionTracingOn( "component" )
  125. .//============================================================================
  126. .invoke MarkStateTransitionTracingOn( "*" )
  127. .//
  128. .//
  129. .//============================================================================
  130. .// Debug Tooling: Enable state action language level tracing.
  131. .//
  132. .// To indicate to the model compiler that state action statement tracing
  133. .// capabilities should be generated, use the following invocation:
  134. .//
  135. .// MarkActionStatementTracingOn( "component" )
  136. .//
  137. .// Where the input parameter(s) are:
  138. .// component = name of component (domain) being marked
  139. .//
  140. .// Example:
  141. .// .invoke MarkActionStatementTracingOn( "Tracking" )
  142. .//============================================================================
  143. .invoke MarkActionStatementTracingOn( "*" )
  144. .//
  145. .//
  146. .//============================================================================
  147. .// Debug Tooling: Enable interface message tracing.
  148. .//
  149. .// To turn on the tracing of messages passing between components, use
  150. .// the following invocation:
  151. .//
  152. .// MarkMessageTracingOn( "component", "port", "message" )
  153. .//
  154. .// Where the input parameter(s) are:
  155. .// component = name of component being marked
  156. .// port = name of specific port on the component being marked
  157. .// message = name of one message
  158. .//
  159. .// Example:
  160. .// .invoke MarkMessageTracingOn( "Tracking", "HR", "heartRateChanged" )
  161. .// .invoke MarkMessageTracingOn( "Tracking", "*", "*" )
  162. .//============================================================================
  163. .// .invoke MarkMessageTracingOn( "*", "*", "*" )
  164. .//
  165. .//
  166. .//============================================================================
  167. .// Debug Tooling: Enable detection of empty instance handle usage.
  168. .//
  169. .// To steer the model compiler into generating code that detects the
  170. .// use of empty instance references and instance set references (handles),
  171. .// use the following invocation:
  172. .//
  173. .// MarkEmptyHandleDetectionOn( "component" )
  174. .//
  175. .// Where the input parameter(s) are:
  176. .// component = name of component (domain) being marked
  177. .//
  178. .// Example:
  179. .// .invoke MarkEmptyHandleDetectionOn()
  180. .//============================================================================
  181. .invoke MarkEmptyHandleDetectionOn( "*" )
  182. .//
  183. .//
  184. .//============================================================================
  185. .// Debug Tooling: Disable first pass optimizations in generated code.
  186. .//
  187. .// To indicate to the model compiler first pass optimizations in the generated
  188. .// code should be disabled, use the following invocation:
  189. .//
  190. .// MarkFirstPassOptimizationsOff( "component" )
  191. .//
  192. .// Where the input parameter(s) are:
  193. .// component = name of component (domain) being marked
  194. .//
  195. .// Example:
  196. .// .invoke MarkFirstPassOptimizationsOff( "ship" )
  197. .//============================================================================
  198. .//
  199. .//
  200. .//============================================================================
  201. .// *** Generated Code Commenting and Naming Control Marks ***
  202. .//
  203. .// The following marks provide control of action language commenting and
  204. .// variable naming in the generated code. They are intended to allow style
  205. .// choices primarily for those modifying or learning about the model compiler.
  206. .//============================================================================
  207. .//
  208. .//
  209. .//============================================================================
  210. .// This mark will render the original BPAL state actions as a comment block
  211. .// prior to the generate code for each state action. By default, block level
  212. .// comments of the BPAL are not generated.
  213. .//
  214. .// MarkStateActionCommentBlocksEnabled( "component )
  215. .//
  216. .// Where the input parameter(s) are:
  217. .// component = name of component (domain) being marked
  218. .//
  219. .// Example:
  220. .// .invoke MarkStateActionCommentBlocksEnabled( "*" )
  221. .//============================================================================
  222. .//
  223. .//
  224. .//============================================================================
  225. .// This mark will disable the emission of BPAL syntax statements immediately
  226. .// before the corresponding generated code segment. By default, statement
  227. .// level comments of the BPAL are generated.
  228. .//
  229. .// MarkStateActionStatementCommentsDisabled( "component )
  230. .//
  231. .// Where the input parameter(s) are:
  232. .// component = name of component (domain) being marked
  233. .//
  234. .// Example:
  235. .// .invoke MarkStateActionStatementCommentsDisabled( "SeatHeater" )
  236. .//============================================================================
  237. .//
  238. .//============================================================================
  239. .// Do not add anything at the end of this file!
  240. .//============================================================================