Race.defaultIcons.metamodel 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793
  1. {
  2. "types": {
  3. "StartIcon": [
  4. {
  5. "name": "typename",
  6. "type": "string",
  7. "default": "StartIcon"
  8. },
  9. {
  10. "name": "position",
  11. "type": "list<double>",
  12. "default": [
  13. 58,
  14. 97
  15. ]
  16. },
  17. {
  18. "name": "orientation",
  19. "type": "double",
  20. "default": 0
  21. },
  22. {
  23. "name": "scale",
  24. "type": "list<double>",
  25. "default": [
  26. 1,
  27. 1
  28. ]
  29. },
  30. {
  31. "name": "mapper",
  32. "type": "code",
  33. "default": "({position:getAttr(\"position\")})"
  34. },
  35. {
  36. "name": "parser",
  37. "type": "code",
  38. "default": "({position:getAttr(\"position\")})"
  39. },
  40. {
  41. "name": "$contents",
  42. "type": "map<string,*>",
  43. "default": {
  44. "nodes": {
  45. "24": {
  46. "src": {
  47. "type": "string",
  48. "value": "/Formalisms/RaceCar/icons/start.png"
  49. },
  50. "width": {
  51. "type": "double",
  52. "value": 12
  53. },
  54. "height": {
  55. "type": "double",
  56. "value": 404
  57. },
  58. "style": {
  59. "type": "map<string,string>",
  60. "value": {
  61. "stroke": "#000000",
  62. "stroke-dasharray": "",
  63. "fill": "#ffffff",
  64. "fill-opacity": 1,
  65. "font-size": "20px",
  66. "stroke-width": 1,
  67. "arrow-start": "none",
  68. "arrow-end": "none"
  69. }
  70. },
  71. "mapper": {
  72. "type": "code",
  73. "value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
  74. },
  75. "parser": {
  76. "type": "code",
  77. "value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
  78. },
  79. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
  80. "position": {
  81. "type": "list<double>",
  82. "value": [
  83. 6,
  84. 5
  85. ]
  86. },
  87. "orientation": {
  88. "type": "double",
  89. "value": 0
  90. },
  91. "scale": {
  92. "type": "list<double>",
  93. "value": [
  94. 1,
  95. 1
  96. ]
  97. }
  98. }
  99. },
  100. "edges": []
  101. }
  102. },
  103. {
  104. "name": "$asuri",
  105. "type": "string",
  106. "default": "-1"
  107. }
  108. ],
  109. "FinishIcon": [
  110. {
  111. "name": "typename",
  112. "type": "string",
  113. "default": "FinishIcon"
  114. },
  115. {
  116. "name": "position",
  117. "type": "list<double>",
  118. "default": [
  119. 386,
  120. 159
  121. ]
  122. },
  123. {
  124. "name": "orientation",
  125. "type": "double",
  126. "default": 0
  127. },
  128. {
  129. "name": "scale",
  130. "type": "list<double>",
  131. "default": [
  132. 1,
  133. 1
  134. ]
  135. },
  136. {
  137. "name": "mapper",
  138. "type": "code",
  139. "default": "({position:getAttr(\"position\")})"
  140. },
  141. {
  142. "name": "parser",
  143. "type": "code",
  144. "default": "({position:getAttr(\"position\")})"
  145. },
  146. {
  147. "name": "$contents",
  148. "type": "map<string,*>",
  149. "default": {
  150. "nodes": {
  151. "25": {
  152. "src": {
  153. "type": "string",
  154. "value": "/Formalisms/RaceCar/icons/finish.png"
  155. },
  156. "width": {
  157. "type": "double",
  158. "value": 200
  159. },
  160. "height": {
  161. "type": "double",
  162. "value": 495
  163. },
  164. "style": {
  165. "type": "map<string,string>",
  166. "value": {
  167. "stroke": "#000000",
  168. "stroke-dasharray": "",
  169. "fill": "#ffffff",
  170. "fill-opacity": 1,
  171. "font-size": "20px",
  172. "stroke-width": 1,
  173. "arrow-start": "none",
  174. "arrow-end": "none"
  175. }
  176. },
  177. "mapper": {
  178. "type": "code",
  179. "value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
  180. },
  181. "parser": {
  182. "type": "code",
  183. "value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
  184. },
  185. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
  186. "position": {
  187. "type": "list<double>",
  188. "value": [
  189. 5,
  190. 3
  191. ]
  192. },
  193. "orientation": {
  194. "type": "double",
  195. "value": 0
  196. },
  197. "scale": {
  198. "type": "list<double>",
  199. "value": [
  200. 1,
  201. 1
  202. ]
  203. }
  204. }
  205. },
  206. "edges": []
  207. }
  208. },
  209. {
  210. "name": "$asuri",
  211. "type": "string",
  212. "default": "-1"
  213. }
  214. ],
  215. "CarIcon": [
  216. {
  217. "name": "typename",
  218. "type": "string",
  219. "default": "CarIcon"
  220. },
  221. {
  222. "name": "position",
  223. "type": "list<double>",
  224. "default": [
  225. 725,
  226. 215
  227. ]
  228. },
  229. {
  230. "name": "orientation",
  231. "type": "double",
  232. "default": 0
  233. },
  234. {
  235. "name": "scale",
  236. "type": "list<double>",
  237. "default": [
  238. 1,
  239. 1
  240. ]
  241. },
  242. {
  243. "name": "mapper",
  244. "type": "code",
  245. "default": "({position:getAttr(\"position\")})"
  246. },
  247. {
  248. "name": "parser",
  249. "type": "code",
  250. "default": "({position:getAttr(\"position\")})"
  251. },
  252. {
  253. "name": "$contents",
  254. "type": "map<string,*>",
  255. "default": {
  256. "nodes": {
  257. "5": {
  258. "src": {
  259. "type": "string",
  260. "value": "/Formalisms/RaceCar/Icons/racecar.png"
  261. },
  262. "width": {
  263. "type": "double",
  264. "value": 183
  265. },
  266. "height": {
  267. "type": "double",
  268. "value": 72
  269. },
  270. "style": {
  271. "type": "map<string,string>",
  272. "value": {
  273. "stroke": "#000000",
  274. "stroke-dasharray": "",
  275. "fill": "#ffffff",
  276. "fill-opacity": 1,
  277. "font-size": "20px",
  278. "stroke-width": 1,
  279. "arrow-start": "none",
  280. "arrow-end": "none"
  281. }
  282. },
  283. "mapper": {
  284. "type": "code",
  285. "value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
  286. },
  287. "parser": {
  288. "type": "code",
  289. "value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
  290. },
  291. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
  292. "position": {
  293. "type": "list<double>",
  294. "value": [
  295. 1,
  296. 2
  297. ]
  298. },
  299. "orientation": {
  300. "type": "double",
  301. "value": 0
  302. },
  303. "scale": {
  304. "type": "list<double>",
  305. "value": [
  306. 1,
  307. 1
  308. ]
  309. }
  310. },
  311. "6": {
  312. "textContent": {
  313. "type": "string",
  314. "value": "name"
  315. },
  316. "style": {
  317. "type": "map<string,string>",
  318. "value": {
  319. "stroke": "#000000",
  320. "stroke-dasharray": "",
  321. "fill": "#000000",
  322. "fill-opacity": 0.75,
  323. "font-size": "12px",
  324. "stroke-width": 1,
  325. "arrow-start": "none",
  326. "arrow-end": "none",
  327. "text-anchor": "middle"
  328. }
  329. },
  330. "mapper": {
  331. "type": "code",
  332. "value": "({textContent:getAttr(\"name\")})"
  333. },
  334. "parser": {
  335. "type": "code",
  336. "value": "({name:getAttr(\"textContent\")})"
  337. },
  338. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
  339. "position": {
  340. "type": "list<double>",
  341. "value": [
  342. 90,
  343. 48
  344. ]
  345. },
  346. "orientation": {
  347. "type": "double",
  348. "value": 0
  349. },
  350. "scale": {
  351. "type": "list<double>",
  352. "value": [
  353. 1,
  354. 1
  355. ]
  356. }
  357. },
  358. "7": {
  359. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
  360. "position": {
  361. "type": "list<double>",
  362. "value": [
  363. 48.88071412763202,
  364. 29.32499990929705
  365. ]
  366. },
  367. "orientation": {
  368. "type": "double",
  369. "value": 0
  370. },
  371. "scale": {
  372. "type": "list<double>",
  373. "value": [
  374. 1,
  375. 1
  376. ]
  377. },
  378. "link-style": {
  379. "type": "map<string,string>",
  380. "value": {
  381. "stroke": "#00ffff",
  382. "stroke-dasharray": "",
  383. "stroke-opacity": 0.1,
  384. "stroke-width": 1
  385. }
  386. }
  387. }
  388. },
  389. "edges": [
  390. {
  391. "src": "5",
  392. "dest": "7"
  393. },
  394. {
  395. "src": "7",
  396. "dest": "6"
  397. }
  398. ]
  399. }
  400. },
  401. {
  402. "name": "$asuri",
  403. "type": "string",
  404. "default": "-1"
  405. }
  406. ],
  407. "CupIcon": [
  408. {
  409. "name": "typename",
  410. "type": "string",
  411. "default": "CupIcon"
  412. },
  413. {
  414. "name": "position",
  415. "type": "list<double>",
  416. "default": [
  417. 950,
  418. 236
  419. ]
  420. },
  421. {
  422. "name": "orientation",
  423. "type": "double",
  424. "default": 0
  425. },
  426. {
  427. "name": "scale",
  428. "type": "list<double>",
  429. "default": [
  430. 1,
  431. 1
  432. ]
  433. },
  434. {
  435. "name": "mapper",
  436. "type": "code",
  437. "default": "({position:getAttr(\"position\")})"
  438. },
  439. {
  440. "name": "parser",
  441. "type": "code",
  442. "default": "({position:getAttr(\"position\")})"
  443. },
  444. {
  445. "name": "$contents",
  446. "type": "map<string,*>",
  447. "default": {
  448. "nodes": {
  449. "29": {
  450. "width": {
  451. "type": "double",
  452. "value": 400
  453. },
  454. "height": {
  455. "type": "double",
  456. "value": 400
  457. },
  458. "cornerRadius": {
  459. "type": "double",
  460. "value": 5
  461. },
  462. "style": {
  463. "type": "map<string,string>",
  464. "value": {
  465. "stroke": "#ffffff",
  466. "stroke-dasharray": "",
  467. "fill": "#ffffff",
  468. "fill-opacity": 0.75,
  469. "font-size": "20px",
  470. "stroke-width": 1,
  471. "arrow-start": "none",
  472. "arrow-end": "none"
  473. }
  474. },
  475. "mapper": {
  476. "type": "code",
  477. "value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
  478. },
  479. "parser": {
  480. "type": "code",
  481. "value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
  482. },
  483. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
  484. "position": {
  485. "type": "list<double>",
  486. "value": [
  487. 6,
  488. 7
  489. ]
  490. },
  491. "orientation": {
  492. "type": "double",
  493. "value": 0
  494. },
  495. "scale": {
  496. "type": "list<double>",
  497. "value": [
  498. 1,
  499. 1
  500. ]
  501. }
  502. },
  503. "32": {
  504. "src": {
  505. "type": "string",
  506. "value": "/Formalisms/RaceCar/Icons/cup.png"
  507. },
  508. "width": {
  509. "type": "double",
  510. "value": 256
  511. },
  512. "height": {
  513. "type": "double",
  514. "value": 256
  515. },
  516. "style": {
  517. "type": "map<string,string>",
  518. "value": {
  519. "stroke": "#000000",
  520. "stroke-dasharray": "",
  521. "fill": "#ffffff",
  522. "fill-opacity": 1,
  523. "font-size": "20px",
  524. "stroke-width": 1,
  525. "arrow-start": "none",
  526. "arrow-end": "none"
  527. }
  528. },
  529. "mapper": {
  530. "type": "code",
  531. "value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
  532. },
  533. "parser": {
  534. "type": "code",
  535. "value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
  536. },
  537. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
  538. "position": {
  539. "type": "list<double>",
  540. "value": [
  541. 89,
  542. 84
  543. ]
  544. },
  545. "orientation": {
  546. "type": "double",
  547. "value": 0
  548. },
  549. "scale": {
  550. "type": "list<double>",
  551. "value": [
  552. 1,
  553. 1
  554. ]
  555. }
  556. },
  557. "35": {
  558. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
  559. "position": {
  560. "type": "list<double>",
  561. "value": [
  562. 111.6080204610389,
  563. 110.10443684384802
  564. ]
  565. },
  566. "orientation": {
  567. "type": "double",
  568. "value": 0
  569. },
  570. "scale": {
  571. "type": "list<double>",
  572. "value": [
  573. 1,
  574. 1
  575. ]
  576. },
  577. "link-style": {
  578. "type": "map<string,string>",
  579. "value": {
  580. "stroke": "#00ffff",
  581. "stroke-dasharray": "",
  582. "stroke-opacity": 0.1,
  583. "stroke-width": 1
  584. }
  585. }
  586. },
  587. "37": {
  588. "textContent": {
  589. "type": "string",
  590. "value": "name"
  591. },
  592. "style": {
  593. "type": "map<string,string>",
  594. "value": {
  595. "stroke": "#000000",
  596. "stroke-dasharray": "",
  597. "fill": "yellow",
  598. "fill-opacity": 1,
  599. "font-size": "40px",
  600. "stroke-width": 1,
  601. "arrow-start": "none",
  602. "arrow-end": "none",
  603. "text-anchor": "middle"
  604. }
  605. },
  606. "mapper": {
  607. "type": "code",
  608. "value": "({textContent:getAttr(\"name\")})"
  609. },
  610. "parser": {
  611. "type": "code",
  612. "value": "({name:getAttr(\"textContent\")})"
  613. },
  614. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
  615. "position": {
  616. "type": "list<double>",
  617. "value": [
  618. 175,
  619. 345
  620. ]
  621. },
  622. "orientation": {
  623. "type": "double",
  624. "value": 0
  625. },
  626. "scale": {
  627. "type": "list<double>",
  628. "value": [
  629. 1,
  630. 1
  631. ]
  632. }
  633. },
  634. "38": {
  635. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
  636. "position": {
  637. "type": "list<double>",
  638. "value": [
  639. 131,
  640. 189.75
  641. ]
  642. },
  643. "orientation": {
  644. "type": "double",
  645. "value": 0
  646. },
  647. "scale": {
  648. "type": "list<double>",
  649. "value": [
  650. 1,
  651. 1
  652. ]
  653. },
  654. "link-style": {
  655. "type": "map<string,string>",
  656. "value": {
  657. "stroke": "#00ffff",
  658. "stroke-dasharray": "",
  659. "stroke-opacity": 0.1,
  660. "stroke-width": 1
  661. }
  662. }
  663. },
  664. "39": {
  665. "textContent": {
  666. "type": "string",
  667. "value": "Winner is:"
  668. },
  669. "style": {
  670. "type": "map<string,string>",
  671. "value": {
  672. "stroke": "#000000",
  673. "stroke-dasharray": "",
  674. "fill": "#000000",
  675. "fill-opacity": 1,
  676. "font-size": "30px",
  677. "stroke-width": 1,
  678. "arrow-start": "none",
  679. "arrow-end": "none",
  680. "text-anchor": "middle"
  681. }
  682. },
  683. "mapper": {
  684. "type": "code",
  685. "value": ""
  686. },
  687. "parser": {
  688. "type": "code",
  689. "value": ""
  690. },
  691. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
  692. "position": {
  693. "type": "list<double>",
  694. "value": [
  695. 168,
  696. 48
  697. ]
  698. },
  699. "orientation": {
  700. "type": "double",
  701. "value": 0
  702. },
  703. "scale": {
  704. "type": "list<double>",
  705. "value": [
  706. 1,
  707. 1
  708. ]
  709. }
  710. },
  711. "40": {
  712. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
  713. "position": {
  714. "type": "list<double>",
  715. "value": [
  716. 119.89583329782226,
  717. 35.78557691441381
  718. ]
  719. },
  720. "orientation": {
  721. "type": "double",
  722. "value": 0
  723. },
  724. "scale": {
  725. "type": "list<double>",
  726. "value": [
  727. 1,
  728. 1
  729. ]
  730. },
  731. "link-style": {
  732. "type": "map<string,string>",
  733. "value": {
  734. "stroke": "#00ffff",
  735. "stroke-dasharray": "",
  736. "stroke-opacity": 0.1,
  737. "stroke-width": 1
  738. }
  739. }
  740. }
  741. },
  742. "edges": [
  743. {
  744. "src": "29",
  745. "dest": "35"
  746. },
  747. {
  748. "src": "35",
  749. "dest": "32"
  750. },
  751. {
  752. "src": "29",
  753. "dest": "38"
  754. },
  755. {
  756. "src": "38",
  757. "dest": "37"
  758. },
  759. {
  760. "src": "29",
  761. "dest": "40"
  762. },
  763. {
  764. "src": "40",
  765. "dest": "39"
  766. }
  767. ]
  768. }
  769. },
  770. {
  771. "name": "$asuri",
  772. "type": "string",
  773. "default": "-1"
  774. }
  775. ]
  776. },
  777. "constraints": [],
  778. "actions": [],
  779. "cardinalities": {
  780. "StartIcon": [],
  781. "FinishIcon": [],
  782. "CarIcon": [],
  783. "CupIcon": []
  784. },
  785. "legalConnections": {},
  786. "connectorTypes": {},
  787. "types2parentTypes": {
  788. "StartIcon": [],
  789. "FinishIcon": [],
  790. "CarIcon": [],
  791. "CupIcon": []
  792. }
  793. }