R_checkGameFinished.model 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. {
  2. "csm": {
  3. "nodes": {
  4. "0": {
  5. "typename": {
  6. "type": "string",
  7. "value": "LHSIcon"
  8. },
  9. "position": {
  10. "type": "list<double>",
  11. "value": [
  12. 383,
  13. 148
  14. ]
  15. },
  16. "orientation": {
  17. "type": "double",
  18. "value": 0
  19. },
  20. "scale": {
  21. "type": "list<double>",
  22. "value": [
  23. 1,
  24. 1.076
  25. ]
  26. },
  27. "mapper": {
  28. "type": "code",
  29. "value": ""
  30. },
  31. "parser": {
  32. "type": "code",
  33. "value": ""
  34. },
  35. "$contents": {
  36. "type": "map<string,*>",
  37. "value": {
  38. "nodes": {
  39. "4": {
  40. "segments": {
  41. "type": "string",
  42. "value": "m0,0 l350,0 l100,250 l-100,250 l-350,0z"
  43. },
  44. "style": {
  45. "type": "map<string,string>",
  46. "value": {
  47. "stroke": "#000000",
  48. "stroke-dasharray": "",
  49. "fill": "#ffffff",
  50. "fill-opacity": 0.75,
  51. "stroke-width": 2,
  52. "arrow-start": "none",
  53. "arrow-end": "none"
  54. }
  55. },
  56. "mapper": {
  57. "type": "code",
  58. "value": ""
  59. },
  60. "parser": {
  61. "type": "code",
  62. "value": ""
  63. },
  64. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
  65. "position": {
  66. "type": "list<double>",
  67. "value": [
  68. 1,
  69. 0
  70. ]
  71. },
  72. "orientation": {
  73. "type": "double",
  74. "value": 0
  75. },
  76. "scale": {
  77. "type": "list<double>",
  78. "value": [
  79. 1,
  80. 1
  81. ]
  82. }
  83. }
  84. },
  85. "edges": []
  86. }
  87. },
  88. "$asuri": {
  89. "type": "string",
  90. "value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/LHS/0.instance"
  91. },
  92. "$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon"
  93. },
  94. "2": {
  95. "typename": {
  96. "type": "string",
  97. "value": "CarIcon"
  98. },
  99. "position": {
  100. "type": "list<double>",
  101. "value": [
  102. 464,
  103. 329
  104. ]
  105. },
  106. "orientation": {
  107. "type": "double",
  108. "value": 0
  109. },
  110. "scale": {
  111. "type": "list<double>",
  112. "value": [
  113. 1,
  114. 1
  115. ]
  116. },
  117. "mapper": {
  118. "type": "code",
  119. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  120. },
  121. "parser": {
  122. "type": "code",
  123. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  124. },
  125. "$contents": {
  126. "type": "map<string,*>",
  127. "value": {
  128. "nodes": {
  129. "5": {
  130. "src": {
  131. "type": "string",
  132. "value": "/Formalisms/RaceCar/Icons/racecar.png"
  133. },
  134. "width": {
  135. "type": "double",
  136. "value": 183
  137. },
  138. "height": {
  139. "type": "double",
  140. "value": 72
  141. },
  142. "style": {
  143. "type": "map<string,string>",
  144. "value": {
  145. "stroke": "#000000",
  146. "stroke-dasharray": "",
  147. "fill": "#ffffff",
  148. "fill-opacity": 1,
  149. "font-size": "20px",
  150. "stroke-width": 1,
  151. "arrow-start": "none",
  152. "arrow-end": "none"
  153. }
  154. },
  155. "mapper": {
  156. "type": "code",
  157. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  158. },
  159. "parser": {
  160. "type": "code",
  161. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  162. },
  163. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
  164. "position": {
  165. "type": "list<double>",
  166. "value": [
  167. 1,
  168. 2
  169. ]
  170. },
  171. "orientation": {
  172. "type": "double",
  173. "value": 0
  174. },
  175. "scale": {
  176. "type": "list<double>",
  177. "value": [
  178. 1,
  179. 1
  180. ]
  181. }
  182. },
  183. "6": {
  184. "textContent": {
  185. "type": "string",
  186. "value": "name"
  187. },
  188. "style": {
  189. "type": "map<string,string>",
  190. "value": {
  191. "stroke": "#000000",
  192. "stroke-dasharray": "",
  193. "fill": "#000000",
  194. "fill-opacity": 0.75,
  195. "font-size": "12px",
  196. "stroke-width": 1,
  197. "arrow-start": "none",
  198. "arrow-end": "none",
  199. "text-anchor": "middle"
  200. }
  201. },
  202. "mapper": {
  203. "type": "code",
  204. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  205. },
  206. "parser": {
  207. "type": "code",
  208. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  209. },
  210. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
  211. "position": {
  212. "type": "list<double>",
  213. "value": [
  214. 90,
  215. 48
  216. ]
  217. },
  218. "orientation": {
  219. "type": "double",
  220. "value": 0
  221. },
  222. "scale": {
  223. "type": "list<double>",
  224. "value": [
  225. 1,
  226. 1
  227. ]
  228. }
  229. },
  230. "7": {
  231. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
  232. "position": {
  233. "type": "list<double>",
  234. "value": [
  235. 48.88071412763202,
  236. 29.32499990929705
  237. ]
  238. },
  239. "orientation": {
  240. "type": "double",
  241. "value": 0
  242. },
  243. "scale": {
  244. "type": "list<double>",
  245. "value": [
  246. 1,
  247. 1
  248. ]
  249. },
  250. "link-style": {
  251. "type": "map<string,string>",
  252. "value": {
  253. "stroke": "#00ffff",
  254. "stroke-dasharray": "",
  255. "stroke-opacity": 0.1,
  256. "stroke-width": 1
  257. }
  258. }
  259. },
  260. "__pLabelText": {
  261. "position": {
  262. "type": "list<double>",
  263. "value": [
  264. 0,
  265. 0
  266. ]
  267. },
  268. "orientation": {
  269. "type": "double",
  270. "value": 0
  271. },
  272. "scale": {
  273. "type": "list<double>",
  274. "value": [
  275. 1,
  276. 1
  277. ]
  278. },
  279. "textContent": {
  280. "type": "string",
  281. "value": "0"
  282. },
  283. "style": {
  284. "type": "map<string,string>",
  285. "value": {
  286. "stroke": "#6000ff",
  287. "fill": "#6000ff",
  288. "font-size": "15px",
  289. "opacity": "1"
  290. }
  291. },
  292. "mapper": {
  293. "type": "code",
  294. "value": "({'textContent':getAttr('__pLabel')})"
  295. },
  296. "parser": {
  297. "type": "code",
  298. "value": "({'__pLabel':getAttr('textContent')})"
  299. },
  300. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
  301. }
  302. },
  303. "edges": [
  304. {
  305. "src": "5",
  306. "dest": "7"
  307. },
  308. {
  309. "src": "7",
  310. "dest": "6"
  311. }
  312. ]
  313. }
  314. },
  315. "$asuri": {
  316. "type": "string",
  317. "value": "/Formalisms/RaceCar/Race.pattern/__pCar/2.instance"
  318. },
  319. "$type": "/Formalisms/RaceCar/Race.defaultIcons.pattern/__pCarIcon"
  320. },
  321. "3": {
  322. "link-style": {
  323. "type": "map<string,string>",
  324. "value": {
  325. "stroke": "#00ff00",
  326. "stroke-dasharray": "",
  327. "stroke-opacity": 0.2,
  328. "stroke-width": 1,
  329. "arrow-start": "none",
  330. "arrow-end": "classic-wide-long"
  331. }
  332. },
  333. "typename": {
  334. "type": "string",
  335. "value": "PatternContentsLink"
  336. },
  337. "position": {
  338. "type": "list<double>",
  339. "value": [
  340. 470.09735847208105,
  341. 265.11433960093234
  342. ]
  343. },
  344. "orientation": {
  345. "type": "double",
  346. "value": 0
  347. },
  348. "scale": {
  349. "type": "list<double>",
  350. "value": [
  351. 1,
  352. 1
  353. ]
  354. },
  355. "mapper": {
  356. "type": "code",
  357. "value": ""
  358. },
  359. "parser": {
  360. "type": "code",
  361. "value": ""
  362. },
  363. "$contents": {
  364. "type": "map<string,*>",
  365. "value": {
  366. "nodes": {},
  367. "edges": []
  368. }
  369. },
  370. "$asuri": {
  371. "type": "string",
  372. "value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents/3.instance"
  373. },
  374. "$segments": {
  375. "type": "map<string,list<string>>",
  376. "value": {
  377. "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon/0.instance--/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/3.instance": "M384,164L470.09735847208105,265.11433960093234",
  378. "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/3.instance--/Formalisms/RaceCar/Race.defaultIcons.pattern/__pCarIcon/2.instance": "M470.0972115159524,265.1141670129208L555.9997062354562,365.9996549974543"
  379. }
  380. },
  381. "$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink"
  382. },
  383. "10": {
  384. "typename": {
  385. "type": "string",
  386. "value": "FinishIcon"
  387. },
  388. "position": {
  389. "type": "list<double>",
  390. "value": [
  391. 559,
  392. 162
  393. ]
  394. },
  395. "orientation": {
  396. "type": "double",
  397. "value": 0
  398. },
  399. "scale": {
  400. "type": "list<double>",
  401. "value": [
  402. 1,
  403. 1
  404. ]
  405. },
  406. "mapper": {
  407. "type": "code",
  408. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  409. },
  410. "parser": {
  411. "type": "code",
  412. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  413. },
  414. "$contents": {
  415. "type": "map<string,*>",
  416. "value": {
  417. "nodes": {
  418. "25": {
  419. "src": {
  420. "type": "string",
  421. "value": "/Formalisms/RaceCar/icons/finish.png"
  422. },
  423. "width": {
  424. "type": "double",
  425. "value": 200
  426. },
  427. "height": {
  428. "type": "double",
  429. "value": 495
  430. },
  431. "style": {
  432. "type": "map<string,string>",
  433. "value": {
  434. "stroke": "#000000",
  435. "stroke-dasharray": "",
  436. "fill": "#ffffff",
  437. "fill-opacity": 1,
  438. "font-size": "20px",
  439. "stroke-width": 1,
  440. "arrow-start": "none",
  441. "arrow-end": "none"
  442. }
  443. },
  444. "mapper": {
  445. "type": "code",
  446. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  447. },
  448. "parser": {
  449. "type": "code",
  450. "value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
  451. },
  452. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
  453. "position": {
  454. "type": "list<double>",
  455. "value": [
  456. 5,
  457. 3
  458. ]
  459. },
  460. "orientation": {
  461. "type": "double",
  462. "value": 0
  463. },
  464. "scale": {
  465. "type": "list<double>",
  466. "value": [
  467. 1,
  468. 1
  469. ]
  470. }
  471. },
  472. "__pLabelText": {
  473. "position": {
  474. "type": "list<double>",
  475. "value": [
  476. 0,
  477. 0
  478. ]
  479. },
  480. "orientation": {
  481. "type": "double",
  482. "value": 0
  483. },
  484. "scale": {
  485. "type": "list<double>",
  486. "value": [
  487. 1,
  488. 1
  489. ]
  490. },
  491. "textContent": {
  492. "type": "string",
  493. "value": "1"
  494. },
  495. "style": {
  496. "type": "map<string,string>",
  497. "value": {
  498. "stroke": "#6000ff",
  499. "fill": "#6000ff",
  500. "font-size": "15px",
  501. "opacity": "1"
  502. }
  503. },
  504. "mapper": {
  505. "type": "code",
  506. "value": "({'textContent':getAttr('__pLabel')})"
  507. },
  508. "parser": {
  509. "type": "code",
  510. "value": "({'__pLabel':getAttr('textContent')})"
  511. },
  512. "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
  513. }
  514. },
  515. "edges": []
  516. }
  517. },
  518. "$asuri": {
  519. "type": "string",
  520. "value": "/Formalisms/RaceCar/Race.pattern/__pFinish/10.instance"
  521. },
  522. "$type": "/Formalisms/RaceCar/Race.defaultIcons.pattern/__pFinishIcon"
  523. },
  524. "11": {
  525. "link-style": {
  526. "type": "map<string,string>",
  527. "value": {
  528. "stroke": "#00ff00",
  529. "stroke-dasharray": "",
  530. "stroke-opacity": 0.2,
  531. "stroke-width": 1,
  532. "arrow-start": "none",
  533. "arrow-end": "classic-wide-long"
  534. }
  535. },
  536. "typename": {
  537. "type": "string",
  538. "value": "PatternContentsLink"
  539. },
  540. "position": {
  541. "type": "list<double>",
  542. "value": [
  543. 534.75,
  544. 289
  545. ]
  546. },
  547. "orientation": {
  548. "type": "double",
  549. "value": 0
  550. },
  551. "scale": {
  552. "type": "list<double>",
  553. "value": [
  554. 1,
  555. 1
  556. ]
  557. },
  558. "mapper": {
  559. "type": "code",
  560. "value": ""
  561. },
  562. "parser": {
  563. "type": "code",
  564. "value": ""
  565. },
  566. "$contents": {
  567. "type": "map<string,*>",
  568. "value": {
  569. "nodes": {},
  570. "edges": []
  571. }
  572. },
  573. "$asuri": {
  574. "type": "string",
  575. "value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents/11.instance"
  576. },
  577. "$segments": {
  578. "type": "map<string,list<string>>",
  579. "value": {
  580. "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon/0.instance--/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/11.instance": "M384,164L534.75,289",
  581. "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/11.instance--/Formalisms/RaceCar/Race.defaultIcons.pattern/__pFinishIcon/10.instance": "M534.8076549885793,289.0478067898668L661.4994677993955,410.9995587059665"
  582. }
  583. },
  584. "$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink"
  585. }
  586. },
  587. "edges": [],
  588. "metamodels": [
  589. "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons",
  590. "/Formalisms/RaceCar/Race.defaultIcons.pattern"
  591. ]
  592. },
  593. "asm": {
  594. "nodes": {
  595. "0": {
  596. "Condition": {
  597. "type": "code",
  598. "value": "result = (getAttr('position','1')[0]-getAttr('position','0')[0])<77"
  599. },
  600. "$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/LHS"
  601. },
  602. "2": {
  603. "__pLabel": {
  604. "type": "string",
  605. "value": "0"
  606. },
  607. "__pPivotIn": {
  608. "type": "string",
  609. "value": ""
  610. },
  611. "__pPivotOut": {
  612. "type": "string",
  613. "value": "winner"
  614. },
  615. "__pMatchSubtypes": {
  616. "type": "boolean",
  617. "value": false
  618. },
  619. "name": {
  620. "type": "code",
  621. "value": "result = True"
  622. },
  623. "position": {
  624. "type": "code",
  625. "value": "result = True"
  626. },
  627. "$type": "/Formalisms/RaceCar/Race.pattern/__pCar"
  628. },
  629. "3": {
  630. "$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents"
  631. },
  632. "10": {
  633. "__pLabel": {
  634. "type": "string",
  635. "value": "1"
  636. },
  637. "__pPivotIn": {
  638. "type": "string",
  639. "value": ""
  640. },
  641. "__pPivotOut": {
  642. "type": "string",
  643. "value": ""
  644. },
  645. "__pMatchSubtypes": {
  646. "type": "boolean",
  647. "value": false
  648. },
  649. "name": {
  650. "type": "code",
  651. "value": "result = True"
  652. },
  653. "position": {
  654. "type": "code",
  655. "value": "result = True"
  656. },
  657. "$type": "/Formalisms/RaceCar/Race.pattern/__pFinish"
  658. },
  659. "11": {
  660. "$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents"
  661. }
  662. },
  663. "edges": [
  664. {
  665. "src": "0",
  666. "dest": "3"
  667. },
  668. {
  669. "src": "3",
  670. "dest": "2"
  671. },
  672. {
  673. "src": "0",
  674. "dest": "11"
  675. },
  676. {
  677. "src": "11",
  678. "dest": "10"
  679. }
  680. ],
  681. "metamodels": [
  682. "/Formalisms/__Transformations__/TransformationRule/TransformationRule",
  683. "/Formalisms/RaceCar/Race.pattern"
  684. ]
  685. }
  686. }