sccd_metamodel.mtn 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714
  1. alias Model = protected.formalisms.SimpleClassDiagrams
  2. package protected.formalisms:
  3. Model:
  4. name = 'SCCD'
  5. Attribute:
  6. name = 'name'
  7. type = String
  8. Attribute:
  9. name = 'author'
  10. type = String
  11. Attribute:
  12. name = 'description'
  13. type = String
  14. #####################
  15. ####Classes
  16. #####################
  17. ## Class related
  18. Class:
  19. name = 'Named'
  20. is_abstract = True
  21. id_field = 'Named.name'
  22. Attribute:
  23. name = 'name'
  24. type = String
  25. Class:
  26. name = 'ID'
  27. is_abstract = True
  28. id_field = 'ID.id'
  29. Attribute:
  30. name = 'id'
  31. type = String
  32. Class:
  33. name = 'Class'
  34. Attribute:
  35. name = 'default'
  36. type = Boolean
  37. Class:
  38. name = 'Attribute'
  39. Attribute:
  40. name = 'type'
  41. type = String
  42. Attribute:
  43. name = 'default'
  44. type = String
  45. Class:
  46. name = 'Relationship'
  47. is_abstract = True
  48. Attribute:
  49. name = 'class'
  50. type = String
  51. Attribute:
  52. name = 'min'
  53. type = Integer
  54. Attribute:
  55. name = 'max'
  56. type = Integer
  57. Class:
  58. name = 'Inheritance'
  59. Attribute:
  60. name = 'priority'
  61. type = Integer
  62. Class:
  63. name = 'Association'
  64. Attribute:
  65. name = 'name'
  66. type = String
  67. Class:
  68. name = 'Composition'
  69. Class:
  70. name = 'Aggregation'
  71. ## Method related
  72. Class:
  73. name = 'AbsMethod'
  74. is_abstract = True
  75. Class:
  76. name = 'Method'
  77. Attribute:
  78. name = 'returnType'
  79. type = String
  80. Attribute:
  81. name = 'name'
  82. type = String
  83. Class:
  84. name = 'Constructor'
  85. Class:
  86. name = 'Destructor'
  87. Class:
  88. name = 'Parameter'
  89. Attribute:
  90. name = 'name'
  91. type = String
  92. Attribute:
  93. name = 'default'
  94. type = String
  95. ## Action Statements related
  96. Class:
  97. name = 'ActionBlock'
  98. Class:
  99. name = 'Top'
  100. Class:
  101. name = 'Bottom'
  102. ## Statemachine related
  103. Class:
  104. name = 'StateMachine'
  105. Class:
  106. name = 'InPort'
  107. Class:
  108. name = 'AbsState'
  109. is_abstract = True
  110. Attribute:
  111. name = 'name'
  112. type = String
  113. Class:
  114. name = 'State'
  115. Class:
  116. name = 'OnEnter'
  117. Class:
  118. name = 'OnExit'
  119. Class:
  120. name = 'OrthogonalComponent'
  121. Class:
  122. name = 'PseudoState'
  123. is_abstract = True
  124. Attribute:
  125. name = 'name'
  126. type = String
  127. Class:
  128. name = 'InitialState'
  129. Class:
  130. name = 'FinalState'
  131. Class:
  132. name = 'HistoryState'
  133. Attribute:
  134. name = 'isDeepHistory'
  135. type = Boolean
  136. Class:
  137. name = 'Transition'
  138. Attribute:
  139. name = 'target'
  140. type = String
  141. Attribute:
  142. name = 'after'
  143. type = Float
  144. Attribute:
  145. name = 'default'
  146. type = Boolean
  147. Class:
  148. name = 'Event'
  149. Attribute:
  150. name = 'name'
  151. type = String
  152. Class:
  153. name = 'Guard'
  154. Class:
  155. name = 'Raise'
  156. Class:
  157. name = 'Scope'
  158. Class:
  159. name = 'Target'
  160. ## Action Statements related
  161. Class:
  162. name = 'Statement'
  163. is_abstract = True
  164. Class:
  165. name = 'Import'
  166. Attribute:
  167. name = 'location'
  168. type = String
  169. Attribute:
  170. name = 'from'
  171. type = String
  172. Attribute:
  173. name = 'as'
  174. type = String
  175. Class:
  176. name = 'Declaration'
  177. Attribute:
  178. name = 'name'
  179. type = String
  180. Class:
  181. name = 'Assignment'
  182. is_abstract = True
  183. Class:
  184. name = 'PlainAssignment'
  185. Class:
  186. name = 'PlusAssignment'
  187. Class:
  188. name = 'MinusAssignment'
  189. Class:
  190. name = 'IfElse'
  191. Class:
  192. name = 'While'
  193. Class:
  194. name = 'Continue'
  195. Class:
  196. name = 'Break'
  197. Class:
  198. name = 'Return'
  199. Class:
  200. name = 'AbsMethodCall'
  201. is_abstract = True
  202. Attribute:
  203. name = 'name'
  204. type = String
  205. Class:
  206. name = 'MethodCallStm'
  207. Class:
  208. name = 'Argument'
  209. Attribute:
  210. name = 'name'
  211. type = String
  212. ## Expressions related
  213. Class:
  214. name = 'Expression'
  215. is_abstract = True
  216. Class:
  217. name = 'MethodCall'
  218. Class:
  219. name = 'AbsNavigationExpression'
  220. is_abstract = True
  221. Class:
  222. name = 'NavigationExpression'
  223. Class:
  224. name = 'SelfExpression'
  225. Class:
  226. name = 'DotExpression'
  227. Attribute:
  228. name = 'path'
  229. type = String
  230. Class:
  231. name = 'Unop'
  232. is_abstract = True
  233. Class:
  234. name = 'Not'
  235. Class:
  236. name = 'Parenthesis'
  237. Class:
  238. name = 'Minus'
  239. Class:
  240. name = 'Binop'
  241. is_abstract = True
  242. Class:
  243. name = 'Or'
  244. Class:
  245. name = 'And'
  246. Class:
  247. name = 'NEqual'
  248. Class:
  249. name = 'Equal'
  250. Class:
  251. name = 'LEThan'
  252. Class:
  253. name = 'LThan'
  254. Class:
  255. name = 'GEThan'
  256. Class:
  257. name = 'GThan'
  258. Class:
  259. name = 'Mod'
  260. Class:
  261. name = 'Div'
  262. Class:
  263. name = 'Mult'
  264. Class:
  265. name = 'Subtract'
  266. Class:
  267. name = 'Add'
  268. Class:
  269. name = 'Selection'
  270. Class:
  271. name = 'AtomValue'
  272. is_abstract = True
  273. Class:
  274. name = 'StringValue'
  275. Attribute:
  276. name = 'value'
  277. type = String
  278. Class:
  279. name = 'FloatValue'
  280. Attribute:
  281. name = 'value'
  282. type = Float
  283. Class:
  284. name = 'IntegerValue'
  285. Attribute:
  286. name = 'value'
  287. type = Integer
  288. Class:
  289. name = 'BooleanValue'
  290. Attribute:
  291. name = 'value'
  292. type = Boolean
  293. Class:
  294. name = 'Composite'
  295. is_abstract = True
  296. Class:
  297. name = 'Dict'
  298. Class:
  299. name = 'Array'
  300. Class:
  301. name = 'Tuple'
  302. Class:
  303. name = 'CompositeArgument'
  304. is_abstract = True
  305. Class:
  306. name = 'RegularArgument'
  307. Class:
  308. name = 'DictArgument'
  309. #####################
  310. ####Associations
  311. #####################
  312. Association:
  313. name = 'class_attribute'
  314. from_port = 'from_class'
  315. from_class = Class
  316. to_min = 0
  317. to_max = *
  318. to_port = 'to_attribute'
  319. to_class = Attribute
  320. id_field = 'class_attribute.name'
  321. Attribute:
  322. name = 'name'
  323. type = String
  324. Association:
  325. name = 'class_relationship'
  326. from_port = 'from_class'
  327. from_class = Class
  328. to_min = 0
  329. to_max = *
  330. to_port = 'to_relationship'
  331. to_class = Relationship
  332. id_field = 'class_relationship.name'
  333. Attribute:
  334. name = 'name'
  335. type = String
  336. Association:
  337. name = 'class_method'
  338. from_port = 'from_class'
  339. from_class = Class
  340. to_min = 0
  341. to_max = *
  342. to_port = 'to_method'
  343. to_class = AbsMethod
  344. id_field = 'class_method.name'
  345. Attribute:
  346. name = 'name'
  347. type = String
  348. Association:
  349. name = 'class_statemachine'
  350. from_port = 'from_class'
  351. from_class = Class
  352. to_min = 0
  353. to_max = 1
  354. to_port = 'to_statemachine'
  355. to_class = StateMachine
  356. id_field = 'class_statemachine.name'
  357. Attribute:
  358. name = 'name'
  359. type = String
  360. Association:
  361. name = 'statemachine_absstate'
  362. from_port = 'from_statemachine'
  363. from_class = StateMachine
  364. to_min = 0
  365. to_max = *
  366. to_port = 'to_absstate'
  367. to_class = AbsState
  368. id_field = 'statemachine_absstate.name'
  369. Attribute:
  370. name = 'name'
  371. type = String
  372. Association:
  373. name = 'statemachine_pseudostate'
  374. from_port = 'from_statemachine'
  375. from_class = StateMachine
  376. to_min = 0
  377. to_max = *
  378. to_port = 'to_pseudostate'
  379. to_class = PseudoState
  380. id_field = 'statemachine_pseudostate.name'
  381. Attribute:
  382. name = 'name'
  383. type = String
  384. Association:
  385. name = 'absstate_absstate_inner'
  386. from_port = 'from_absstate'
  387. from_class = AbsState
  388. to_min = 0
  389. to_max = *
  390. to_port = 'to_absstate'
  391. to_class = AbsState
  392. id_field = 'absstate_absstate_inner.name'
  393. Attribute:
  394. name = 'name'
  395. type = String
  396. Association:
  397. name = 'absstate_pseudostate'
  398. from_port = 'from_absstate'
  399. from_class = AbsState
  400. to_min = 0
  401. to_max = *
  402. to_port = 'to_pseudostate'
  403. to_class = PseudoState
  404. id_field = 'absstate_pseudostate.name'
  405. Attribute:
  406. name = 'name'
  407. type = String
  408. Association:
  409. name = 'transition_event_trigger'
  410. from_port = 'from_transition'
  411. from_class = Transition
  412. to_min = 0
  413. to_max = 1
  414. to_port = 'to_event'
  415. to_class = Event
  416. id_field = 'transition_event_trigger.name'
  417. Attribute:
  418. name = 'name'
  419. type = String
  420. Association:
  421. name = 'transition_guard'
  422. from_port = 'from_transition'
  423. from_class = Transition
  424. to_min = 0
  425. to_max = 1
  426. to_port = 'to_guard'
  427. to_class = Guard
  428. id_field = 'transition_guard.name'
  429. Attribute:
  430. name = 'name'
  431. type = String
  432. Association:
  433. name = 'guard_expression'
  434. from_port = 'from_guard'
  435. from_class = Guard
  436. to_min = 1
  437. to_max = 1
  438. to_port = 'to_expression'
  439. to_class = Expression
  440. id_field = 'guard_expression.name'
  441. Attribute:
  442. name = 'name'
  443. type = String
  444. Association:
  445. name = 'transition_raise'
  446. from_port = 'from_transition'
  447. from_class = Transition
  448. to_min = 0
  449. to_max = *
  450. to_port = 'to_raise'
  451. to_class = Raise
  452. id_field = 'transition_raise.name'
  453. Attribute:
  454. name = 'name'
  455. type = String
  456. Association:
  457. name = 'raise_methodcall'
  458. from_port = 'from_raise'
  459. from_class = Raise
  460. to_min = 1
  461. to_max = 1
  462. to_port = 'to_methodcall'
  463. to_class = MethodCall
  464. id_field = 'raise_methodcall.name'
  465. Attribute:
  466. name = 'name'
  467. type = String
  468. Association:
  469. name = 'raise_target'
  470. from_port = 'from_raise'
  471. from_class = Raise
  472. to_min = 0
  473. to_max = 1
  474. to_port = 'to_Target'
  475. to_class = Target
  476. id_field = 'raise_target.name'
  477. Attribute:
  478. name = 'name'
  479. type = String
  480. Association:
  481. name = 'target_expression'
  482. from_port = 'from_target'
  483. from_class = Target
  484. to_min = 1
  485. to_max = 1
  486. to_port = 'to_expression'
  487. to_class = Expression
  488. id_field = 'target_expression.name'
  489. Attribute:
  490. name = 'name'
  491. type = String
  492. Association:
  493. name = 'raise_scope'
  494. from_port = 'from_raise'
  495. from_class = Raise
  496. to_min = 0
  497. to_max = 1
  498. to_port = 'to_scope'
  499. to_class = Scope
  500. id_field = 'raise_scope.name'
  501. Attribute:
  502. name = 'name'
  503. type = String
  504. Association:
  505. name = 'scope_expression'
  506. from_port = 'from_scope'
  507. from_class = Scope
  508. to_min = 1
  509. to_max = 1
  510. to_port = 'to_expression'
  511. to_class = Expression
  512. id_field = 'scope_expression.name'
  513. Attribute:
  514. name = 'name'
  515. type = String
  516. Association:
  517. name = 'class_inport'
  518. from_port = 'from_class'
  519. from_class = Class
  520. to_min = 0
  521. to_max = *
  522. to_port = 'to_inport'
  523. to_class = InPort
  524. id_field = 'class_inport.name'
  525. Attribute:
  526. name = 'name'
  527. type = String
  528. Association:
  529. name = 'transition_inport'
  530. from_port = 'from_transition'
  531. from_class = Transition
  532. to_min = 0
  533. to_max = 1
  534. to_port = 'to_inport'
  535. to_class = InPort
  536. id_field = 'transition_inport.name'
  537. Attribute:
  538. name = 'name'
  539. type = String
  540. Association:
  541. name = 'transition_actionblock'
  542. from_port = 'from_transition'
  543. from_class = Transition
  544. to_min = 0
  545. to_max = 1
  546. to_port = 'to_actionblock'
  547. to_class = ActionBlock
  548. id_field = 'transition_actionblock.name'
  549. Attribute:
  550. name = 'name'
  551. type = String
  552. Association:
  553. name = 'absstate_onenter'
  554. from_port = 'from_absstate'
  555. from_class = AbsState
  556. to_min = 0
  557. to_max = 1
  558. to_port = 'to_onenter'
  559. to_class = OnEnter
  560. id_field = 'absstate_onenter.name'
  561. Attribute:
  562. name = 'name'
  563. type = String
  564. Association:
  565. name = 'absstate_onexit'
  566. from_port = 'from_absstate'
  567. from_class = AbsState
  568. to_min = 0
  569. to_max = 1
  570. to_port = 'to_onexit'
  571. to_class = OnExit
  572. id_field = 'absstate_onexit.name'
  573. Attribute:
  574. name = 'name'
  575. type = String
  576. Association:
  577. name = 'absstate_transition'
  578. from_port = 'from_absstate'
  579. from_class = AbsState
  580. to_min = 0
  581. to_max = *
  582. to_port = 'to_transition'
  583. to_class = Transition
  584. id_field = 'absstate_transition.name'
  585. Attribute:
  586. name = 'name'
  587. type = String
  588. Association:
  589. name = 'statemachine_transition'
  590. from_port = 'from_statemachine'
  591. from_class = StateMachine
  592. to_min = 0
  593. to_max = *
  594. to_port = 'to_transition'
  595. to_class = Transition
  596. id_field = 'statemachine_transition.name'
  597. Attribute:
  598. name = 'name'
  599. type = String
  600. Association:
  601. name = 'event_parameter'
  602. from_port = 'from_event'
  603. from_class = Event
  604. to_min = 0
  605. to_max = 1
  606. to_port = 'to_parameter'
  607. to_class = Parameter
  608. id_field = 'event_parameter.name'
  609. Attribute:
  610. name = 'name'
  611. type = String
  612. Association:
  613. name = 'absmethod_parameter'
  614. from_port = 'from_absmethod'
  615. from_class = AbsMethod
  616. to_min = 0
  617. to_max = *
  618. to_port = 'to_parameter'
  619. to_class = Parameter
  620. id_field = 'absmethod_parameter.name'
  621. Attribute:
  622. name = 'name'
  623. type = String
  624. Association:
  625. name = 'parameter_parameter_next'
  626. from_port = 'from_parameter'
  627. from_class = Parameter
  628. to_min = 0
  629. to_max = 1
  630. to_port = 'to_parameter'
  631. to_class = Parameter
  632. id_field = 'parameter_parameter_next.name'
  633. Attribute:
  634. name = 'name'
  635. type = String
  636. Association:
  637. name = 'parameter_type_expression'
  638. from_port = 'from_parameter'
  639. from_class = Parameter
  640. to_min = 0
  641. to_max = 1
  642. to_port = 'to_type_expression'
  643. to_class = NavigationExpression
  644. id_field = 'parameter_type_expression.name'
  645. Attribute:
  646. name = 'name'
  647. type = String
  648. Association:
  649. name = 'absmethod_actionblock_body'
  650. from_port = 'from_absmethod'
  651. from_class = AbsMethod
  652. to_min = 1
  653. to_max = 1
  654. to_port = 'to_actionblock'
  655. to_class = ActionBlock
  656. id_field = 'absmethod_actionblock_body.name'
  657. Attribute:
  658. name = 'name'
  659. type = String
  660. Association:
  661. name = 'assignment_expression_left'
  662. from_port = 'from_assignment'
  663. from_class = Assignment
  664. to_min = 1
  665. to_max = 1
  666. to_port = 'to_expression'
  667. to_class = Expression
  668. id_field = 'assignment_expression_left.name'
  669. Attribute:
  670. name = 'name'
  671. type = String
  672. Association:
  673. name = 'assignment_expression_right'
  674. from_port = 'from_assignment'
  675. from_class = Assignment
  676. to_min = 1
  677. to_max = 1
  678. to_port = 'to_expression'
  679. to_class = Expression
  680. id_field = 'assignment_expression_right.name'
  681. Attribute:
  682. name = 'name'
  683. type = String
  684. Association:
  685. name = 'while_actionblock_body'
  686. from_port = 'from_while'
  687. from_class = While
  688. to_min = 1
  689. to_max = 1
  690. to_port = 'to_actionblock'
  691. to_class = ActionBlock
  692. id_field = 'while_actionblock_body.name'
  693. Attribute:
  694. name = 'name'
  695. type = String
  696. Association:
  697. name = 'while_expression_condition'
  698. from_port = 'from_while'
  699. from_class = While
  700. to_min = 1
  701. to_max = 1
  702. to_port = 'to_expression'
  703. to_class = Expression
  704. id_field = 'while_expression_condition.name'
  705. Attribute:
  706. name = 'name'
  707. type = String
  708. Association:
  709. name = 'ifelse_actionblock_ifbody'
  710. from_port = 'from_ifelse'
  711. from_class = IfElse
  712. to_min = 1
  713. to_max = 1
  714. to_port = 'to_actionblock'
  715. to_class = ActionBlock
  716. id_field = 'ifelse_actionblock_ifbody.name'
  717. Attribute:
  718. name = 'name'
  719. type = String
  720. Association:
  721. name = 'ifelse_actionblock_elsebody'
  722. from_port = 'from_ifelse'
  723. from_class = IfElse
  724. to_min = 0
  725. to_max = 1
  726. to_port = 'to_actionblock'
  727. to_class = ActionBlock
  728. id_field = 'ifelse_actionblock_elsebody.name'
  729. Attribute:
  730. name = 'name'
  731. type = String
  732. Association:
  733. name = 'ifelse_expression_condition'
  734. from_port = 'from_ifelse'
  735. from_class = IfElse
  736. to_min = 1
  737. to_max = 1
  738. to_port = 'to_expression'
  739. to_class = Expression
  740. id_field = 'ifelse_expression_condition.name'
  741. Attribute:
  742. name = 'name'
  743. type = String
  744. Association:
  745. name = 'return_expression'
  746. from_port = 'from_return'
  747. from_class = Return
  748. to_min = 0
  749. to_max = 1
  750. to_port = 'to_expression'
  751. to_class = Expression
  752. id_field = 'return_expression.name'
  753. Attribute:
  754. name = 'name'
  755. type = String
  756. Association:
  757. name = 'actionblock_statement'
  758. from_port = 'from_actionblock'
  759. from_class = ActionBlock
  760. to_min = 0
  761. to_max = 1
  762. to_port = 'to_statement'
  763. to_class = Statement
  764. id_field = 'actionblock_statement.name'
  765. Attribute:
  766. name = 'name'
  767. type = String
  768. Association:
  769. name = 'statement_statement_next'
  770. from_port = 'from_statement'
  771. from_class = Statement
  772. to_min = 0
  773. to_max = 1
  774. to_port = 'to_statement'
  775. to_class = Statement
  776. id_field = 'statement_statement_next.name'
  777. Attribute:
  778. name = 'name'
  779. type = String
  780. Association:
  781. name = 'declaration_expression_init'
  782. from_port = 'from_declaration'
  783. from_class = Declaration
  784. to_min = 0
  785. to_max = 1
  786. to_port = 'to_expression'
  787. to_class = Expression
  788. id_field = 'declaration_expression_init.name'
  789. Attribute:
  790. name = 'name'
  791. type = String
  792. Association:
  793. name = 'declaration_navigationexpression_type'
  794. from_port = 'from_declaration'
  795. from_class = Declaration
  796. to_min = 1
  797. to_max = 1
  798. to_port = 'to_navigationexpression'
  799. to_class = NavigationExpression
  800. id_field = 'declaration_navigationexpression_type.name'
  801. Attribute:
  802. name = 'name'
  803. type = String
  804. Association:
  805. name = 'methodcall_argument'
  806. from_port = 'from_methodcall'
  807. from_class = AbsMethodCall
  808. to_min = 0
  809. to_max = *
  810. to_port = 'to_argument'
  811. to_class = Argument
  812. id_field = 'methodcall_argument.name'
  813. Attribute:
  814. name = 'name'
  815. type = String
  816. Association:
  817. name = 'argument_value'
  818. from_port = 'from_argument'
  819. from_class = Argument
  820. to_min = 0
  821. to_max = *
  822. to_port = 'to_value'
  823. to_class = Expression
  824. id_field = 'argument_value.name'
  825. Attribute:
  826. name = 'name'
  827. type = String
  828. Association:
  829. name = 'argument_argument_next'
  830. from_port = 'from_argument'
  831. from_class = Argument
  832. to_min = 0
  833. to_max = 1
  834. to_port = 'to_argument'
  835. to_class = Argument
  836. id_field = 'argument_argument_next.name'
  837. Attribute:
  838. name = 'name'
  839. type = String
  840. Association:
  841. name = 'methodcall_sender'
  842. from_port = 'from_methodcall'
  843. from_class = AbsMethodCall
  844. to_min = 0
  845. to_max = 1
  846. to_port = 'to_expression'
  847. to_class = Expression
  848. id_field = 'methodcall_sender.name'
  849. Attribute:
  850. name = 'name'
  851. type = String
  852. Association:
  853. name = 'binop_expression_left'
  854. from_port = 'from_binop'
  855. from_class = Binop
  856. to_min = 1
  857. to_max = 1
  858. to_port = 'to_expression'
  859. to_class = Expression
  860. id_field = 'binop_expression_left.name'
  861. Attribute:
  862. name = 'name'
  863. type = String
  864. Association:
  865. name = 'binop_expression_right'
  866. from_port = 'from_binop'
  867. from_class = Binop
  868. to_min = 1
  869. to_max = 1
  870. to_port = 'to_expression'
  871. to_class = Expression
  872. id_field = 'binop_expression_right.name'
  873. Attribute:
  874. name = 'name'
  875. type = String
  876. Association:
  877. name = 'unop_expression'
  878. from_port = 'from_unop'
  879. from_class = Unop
  880. to_min = 1
  881. to_max = 1
  882. to_port = 'to_expression'
  883. to_class = Expression
  884. id_field = 'unop_expression.name'
  885. Attribute:
  886. name = 'name'
  887. type = String
  888. Association:
  889. name = 'composite_compositeargument'
  890. from_port = 'from_composite'
  891. from_class = Composite
  892. to_min = 1
  893. to_max = 1
  894. to_port = 'to_compositeargument'
  895. to_class = CompositeArgument
  896. id_field = 'composite_compositeargument.name'
  897. Attribute:
  898. name = 'name'
  899. type = String
  900. Association:
  901. name = 'regularargument_expression'
  902. from_port = 'from_regularargument'
  903. from_class = RegularArgument
  904. to_min = 1
  905. to_max = 1
  906. to_port = 'to_expression'
  907. to_class = Expression
  908. id_field = 'regularargument_expression.name'
  909. Attribute:
  910. name = 'name'
  911. type = String
  912. Association:
  913. name = 'dictargument_expression'
  914. from_port = 'from_regularargument'
  915. from_class = DictArgument
  916. to_min = 1
  917. to_max = 1
  918. to_port = 'to_expression'
  919. to_class = Expression
  920. id_field = 'dictargument_expression.name'
  921. Attribute:
  922. name = 'name'
  923. type = String
  924. Association:
  925. name = 'dictargument_labelexpression'
  926. from_port = 'from_dictargument'
  927. from_class = DictArgument
  928. to_min = 1
  929. to_max = 1
  930. to_port = 'to_expression'
  931. to_class = Expression
  932. id_field = 'dictargument_labelexpression.name'
  933. Attribute:
  934. name = 'name'
  935. type = String
  936. Association:
  937. name = 'compositeargument_compositeargument_next'
  938. from_port = 'from_compositeargument'
  939. from_class = CompositeArgument
  940. to_min = 1
  941. to_max = 1
  942. to_port = 'to_compositeargument'
  943. to_class = CompositeArgument
  944. id_field = 'compositeargument_compositeargument_next.name'
  945. Attribute:
  946. name = 'name'
  947. type = String
  948. Association:
  949. name = 'navigationexpression_absnavigationexpression'
  950. from_port = 'from_navigationexpression'
  951. from_class = NavigationExpression
  952. to_min = 1
  953. to_max = 1
  954. to_port = 'to_absnavigationexpression'
  955. to_class = AbsNavigationExpression
  956. id_field = 'navigationexpression_absnavigationexpression.name'
  957. Attribute:
  958. name = 'name'
  959. type = String
  960. Association:
  961. name = 'selfexpression_dotexpression'
  962. from_port = 'from_selfexpression'
  963. from_class = SelfExpression
  964. to_min = 0
  965. to_max = 1
  966. to_port = 'to_dotexpression'
  967. to_class = DotExpression
  968. id_field = 'selfexpression_dotexpression.name'
  969. Attribute:
  970. name = 'name'
  971. type = String
  972. #####################
  973. ####Inheritances
  974. #####################
  975. Inheritance:
  976. name = 'Class_i_Named'
  977. from_class = Class
  978. to_class = Named
  979. Inheritance:
  980. name = 'Attribute_i_Named'
  981. from_class = Attribute
  982. to_class = Named
  983. Inheritance:
  984. name = 'Relationship_i_ID'
  985. from_class = Relationship
  986. to_class = ID
  987. Inheritance:
  988. name = 'Inheritance_i_Relationship'
  989. from_class = Inheritance
  990. to_class = Relationship
  991. Inheritance:
  992. name = 'Aggregation_i_Relationship'
  993. from_class = Aggregation
  994. to_class = Relationship
  995. Inheritance:
  996. name = 'Composition_i_Relationship'
  997. from_class = Composition
  998. to_class = Relationship
  999. Inheritance:
  1000. name = 'Association_i_Relationship'
  1001. from_class = Association
  1002. to_class = Relationship
  1003. Inheritance:
  1004. name = 'ActionBlock_i_ID'
  1005. from_class = ActionBlock
  1006. to_class = ID
  1007. Inheritance:
  1008. name = 'OnEnter_i_ActionBlock'
  1009. from_class = OnEnter
  1010. to_class = ActionBlock
  1011. Inheritance:
  1012. name = 'OnExit_i_ActionBlock'
  1013. from_class = OnExit
  1014. to_class = ActionBlock
  1015. Inheritance:
  1016. name = 'Top_i_ActionBlock'
  1017. from_class = Top
  1018. to_class = ActionBlock
  1019. Inheritance:
  1020. name = 'Bottom_i_ActionBlock'
  1021. from_class = Bottom
  1022. to_class = ActionBlock
  1023. Inheritance:
  1024. name = 'StateMachine_i_ID'
  1025. from_class = StateMachine
  1026. to_class = ID
  1027. Inheritance:
  1028. name = 'InPort_i_Named'
  1029. from_class = InPort
  1030. to_class = Named
  1031. Inheritance:
  1032. name = 'AbsState_i_ID'
  1033. from_class = AbsState
  1034. to_class = ID
  1035. Inheritance:
  1036. name = 'State_i_AbsState'
  1037. from_class = State
  1038. to_class = AbsState
  1039. Inheritance:
  1040. name = 'OrthogonalComponent_i_AbsState'
  1041. from_class = OrthogonalComponent
  1042. to_class = AbsState
  1043. Inheritance:
  1044. name = 'PseudoState_i_ID'
  1045. from_class = PseudoState
  1046. to_class = ID
  1047. Inheritance:
  1048. name = 'HistoryState_i_PseudoState'
  1049. from_class = HistoryState
  1050. to_class = PseudoState
  1051. Inheritance:
  1052. name = 'InitialState_i_PseudoState'
  1053. from_class = InitialState
  1054. to_class = PseudoState
  1055. Inheritance:
  1056. name = 'FinalState_i_PseudoState'
  1057. from_class = FinalState
  1058. to_class = PseudoState
  1059. Inheritance:
  1060. name = 'Transition_i_ID'
  1061. from_class = Transition
  1062. to_class = ID
  1063. Inheritance:
  1064. name = 'Event_i_ID'
  1065. from_class = Event
  1066. to_class = ID
  1067. Inheritance:
  1068. name = 'Guard_i_ID'
  1069. from_class = Guard
  1070. to_class = ID
  1071. Inheritance:
  1072. name = 'Raise_i_ID'
  1073. from_class = Raise
  1074. to_class = ID
  1075. Inheritance:
  1076. name = 'Scope_i_ID'
  1077. from_class = Scope
  1078. to_class = ID
  1079. Inheritance:
  1080. name = 'Target_i_ID'
  1081. from_class = Target
  1082. to_class = ID
  1083. Inheritance:
  1084. name = 'AbsMethod_i_ID'
  1085. from_class = AbsMethod
  1086. to_class = ID
  1087. Inheritance:
  1088. name = 'Method_i_AbsMethod'
  1089. from_class = Method
  1090. to_class = AbsMethod
  1091. Inheritance:
  1092. name = 'Constructor_i_AbsMethod'
  1093. from_class = Constructor
  1094. to_class = AbsMethod
  1095. Inheritance:
  1096. name = 'Destructor_i_AbsMethod'
  1097. from_class = Destructor
  1098. to_class = AbsMethod
  1099. Inheritance:
  1100. name = 'Parameter_i_ID'
  1101. from_class = Parameter
  1102. to_class = ID
  1103. Inheritance:
  1104. name = 'Statement_i_ID'
  1105. from_class = Statement
  1106. to_class = ID
  1107. Inheritance:
  1108. name = 'Import_i_Statement'
  1109. from_class = Import
  1110. to_class = Statement
  1111. Inheritance:
  1112. name = 'Assignment_i_Statement'
  1113. from_class = Assignment
  1114. to_class = Statement
  1115. Inheritance:
  1116. name = 'PlainAssignment_i_Assignment'
  1117. from_class = PlainAssignment
  1118. to_class = Assignment
  1119. Inheritance:
  1120. name = 'PlusAssignment_i_Assignment'
  1121. from_class = PlusAssignment
  1122. to_class = Assignment
  1123. Inheritance:
  1124. name = 'MinusAssignment_i_Assignment'
  1125. from_class = MinusAssignment
  1126. to_class = Assignment
  1127. Inheritance:
  1128. name = 'Declaration_i_Statement'
  1129. from_class = Declaration
  1130. to_class = Statement
  1131. Inheritance:
  1132. name = 'IfElse_i_Statement'
  1133. from_class = IfElse
  1134. to_class = Statement
  1135. Inheritance:
  1136. name = 'While_i_Statement'
  1137. from_class = While
  1138. to_class = Statement
  1139. Inheritance:
  1140. name = 'Continue_i_Statement'
  1141. from_class = Continue
  1142. to_class = Statement
  1143. Inheritance:
  1144. name = 'Break_i_Statement'
  1145. from_class = Break
  1146. to_class = Statement
  1147. Inheritance:
  1148. name = 'Return_i_Statement'
  1149. from_class = Return
  1150. to_class = Statement
  1151. Inheritance:
  1152. name = 'MethodCallStm_i_AbsMethodCall'
  1153. from_class = MethodCallStm
  1154. to_class = AbsMethodCall
  1155. Inheritance:
  1156. name = 'MethodCallStm_i_Statement'
  1157. from_class = MethodCallStm
  1158. to_class = Statement
  1159. Inheritance:
  1160. name = 'Argument_i_ID'
  1161. from_class = Argument
  1162. to_class = ID
  1163. Inheritance:
  1164. name = 'Expression_i_ID'
  1165. from_class = Expression
  1166. to_class = ID
  1167. Inheritance:
  1168. name = 'MethodCall_i_Expression'
  1169. from_class = MethodCall
  1170. to_class = Expression
  1171. Inheritance:
  1172. name = 'MethodCall_i_AbsMethodCall'
  1173. from_class = MethodCall
  1174. to_class = AbsMethodCall
  1175. Inheritance:
  1176. name = 'NavigationExpression_i_Expression'
  1177. from_class = NavigationExpression
  1178. to_class = Expression
  1179. Inheritance:
  1180. name = 'AbsNavigationExpression_i_ID'
  1181. from_class = AbsNavigationExpression
  1182. to_class = ID
  1183. Inheritance:
  1184. name = 'DotExpression_i_AbsNavigationExpression'
  1185. from_class = DotExpression
  1186. to_class = AbsNavigationExpression
  1187. Inheritance:
  1188. name = 'SelfExpression_i_AbsNavigationExpression'
  1189. from_class = SelfExpression
  1190. to_class = AbsNavigationExpression
  1191. Inheritance:
  1192. name = 'Unop_i_Expression'
  1193. from_class = Unop
  1194. to_class = Expression
  1195. Inheritance:
  1196. name = 'Not_i_Unop'
  1197. from_class = Not
  1198. to_class = Unop
  1199. Inheritance:
  1200. name = 'Parenthesis_i_Unop'
  1201. from_class = Parenthesis
  1202. to_class = Unop
  1203. Inheritance:
  1204. name = 'Minus_i_Unop'
  1205. from_class = Minus
  1206. to_class = Unop
  1207. Inheritance:
  1208. name = 'Binop_i_Expression'
  1209. from_class = Binop
  1210. to_class = Expression
  1211. Inheritance:
  1212. name = 'Or_i_Binop'
  1213. from_class = Or
  1214. to_class = Binop
  1215. Inheritance:
  1216. name = 'And_i_Binop'
  1217. from_class = And
  1218. to_class = Binop
  1219. Inheritance:
  1220. name = 'NEqual_i_Binop'
  1221. from_class = NEqual
  1222. to_class = Binop
  1223. Inheritance:
  1224. name = 'Equal_i_Binop'
  1225. from_class = Equal
  1226. to_class = Binop
  1227. Inheritance:
  1228. name = 'LEThan_i_Binop'
  1229. from_class = LEThan
  1230. to_class = Binop
  1231. Inheritance:
  1232. name = 'LThan_i_Binop'
  1233. from_class = LThan
  1234. to_class = Binop
  1235. Inheritance:
  1236. name = 'GEThan_i_Binop'
  1237. from_class = GEThan
  1238. to_class = Binop
  1239. Inheritance:
  1240. name = 'GThan_i_Binop'
  1241. from_class = GThan
  1242. to_class = Binop
  1243. Inheritance:
  1244. name = 'Mod_i_Binop'
  1245. from_class = Mod
  1246. to_class = Binop
  1247. Inheritance:
  1248. name = 'Div_i_Binop'
  1249. from_class = Div
  1250. to_class = Binop
  1251. Inheritance:
  1252. name = 'Mult_i_Binop'
  1253. from_class = Mult
  1254. to_class = Binop
  1255. Inheritance:
  1256. name = 'Subtract_i_Binop'
  1257. from_class = Subtract
  1258. to_class = Binop
  1259. Inheritance:
  1260. name = 'Add_i_Binop'
  1261. from_class = Add
  1262. to_class = Binop
  1263. Inheritance:
  1264. name = 'Selection_i_Binop'
  1265. from_class = Selection
  1266. to_class = Binop
  1267. Inheritance:
  1268. name = 'AtomValue_i_Expression'
  1269. from_class = AtomValue
  1270. to_class = Expression
  1271. Inheritance:
  1272. name = 'StringValue_i_AtomValue'
  1273. from_class = StringValue
  1274. to_class = AtomValue
  1275. Inheritance:
  1276. name = 'FloatValue_i_AtomValue'
  1277. from_class = FloatValue
  1278. to_class = AtomValue
  1279. Inheritance:
  1280. name = 'IntegerValue_i_AtomValue'
  1281. from_class = IntegerValue
  1282. to_class = AtomValue
  1283. Inheritance:
  1284. name = 'BooleanValue_i_AtomValue'
  1285. from_class = BooleanValue
  1286. to_class = AtomValue
  1287. Inheritance:
  1288. name = 'Composite_i_Expression'
  1289. from_class = Composite
  1290. to_class = Expression
  1291. Inheritance:
  1292. name = 'Array_i_Composite'
  1293. from_class = Array
  1294. to_class = Composite
  1295. Inheritance:
  1296. name = 'Tuple_i_Composite'
  1297. from_class = Tuple
  1298. to_class = Composite
  1299. Inheritance:
  1300. name = 'Dict_i_Composite'
  1301. from_class = Dict
  1302. to_class = Composite
  1303. Inheritance:
  1304. name = 'CompositeArgument_i_ID'
  1305. from_class = CompositeArgument
  1306. to_class = ID
  1307. Inheritance:
  1308. name = 'DictArgument_i_CompositeArgument'
  1309. from_class = DictArgument
  1310. to_class = CompositeArgument
  1311. Inheritance:
  1312. name = 'RegularArgument_i_CompositeArgument'
  1313. from_class = RegularArgument
  1314. to_class = CompositeArgument