sccd_metamodel.mtn 40 KB

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