sccd_metamodel.mtn 41 KB

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