Knowledge

JetBrains MPS

Source 📝

324: 270: 129: 63: 22: 206: 534:
According to GDF's case study from Jetbrains, MPS was chosen for three main reasons: the need to provide text-based DSLs, the availability of language extension mechanisms conveying consistency management between abstraction layers, and the provision of generators to automatically derive
374:
While domain-specific language extensions can often be useful in general-purpose programming languages, their text-based nature means that adding domain-specific language extensions can lead to ambiguity in text-based syntax. MPS avoids this grammatical ambiguity by working with the
530:
is a framework for designing and deploying gameful applications. GDF consists of domain-specific languages allowing for stepwise refinement of application definitions, from higher levels of abstraction towards implementation code to be run on a gamification engine.
386:
Because MPS directly uses the abstract syntax tree, MPS supports composable language definitions. This means that languages can be extended, and embedded, and these extensions can be used in the same program in MPS and will not conflict.
395:
MPS provides a reusable language infrastructure which is configured with language definition languages. MPS also provides many IDE services automatically: editor,
774: 682: 363: 185: 167: 110: 49: 145: 92: 73: 138: 35: 352:
which allows users to overcome the limits of language parsers, and build DSL editors, such as ones with tables and diagrams.
355: 249: 847: 409: 233: 798: 450: 508: 345: 88: 593: 469:
mbeddr is an embedded development system based on MPS. It has languages tailored to embedded development and
556: 759:
2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)
581: 376: 349: 832: 380: 323: 780: 359: 337: 149: 41: 770: 715: 762: 292: 280: 686: 624: 639: 269: 700: 544: 470: 285: 84: 841: 784: 430: 429:
Language definition languages - these language are implemented with themselves, i.e.
669:"JetBrains Meta Programming System Supports Language Oriented Programming and DSLs" 396: 668: 144:
It may require cleanup to comply with Knowledge's content policies, particularly
499:
bug tracking system - the first commercial software product developed with MPS.
444: 754: 753:
Bucchiarone, Antonio; Cicchetti, Antonio; Marconi, Annapaola (September 2019).
766: 755:"Exploiting Multi-level Modelling for Designing and Deploying Gameful Systems" 297: 213: 341: 220: 594:
https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicensed
496: 519:
PEoPL is a tool for software product line engineering realised in MPS.
511:
beta was released, the first commercial IDE based on the MPS platform.
625:"Language Workbenches: The Killer-App for Domain Specific Languages?" 205: 582:
https://blog.jetbrains.com/mps/2022/11/mps-2022-2-is-now-available/
412:
reimplemented with MPS. There are many extensions of this language
258: 561: 827: 606: 527: 308: 820: 654: 683:"Language Oriented Programming: The Next Programming Paradigm" 122: 56: 15: 80: 137:
A major contributor to this article appears to have a
729: 91:, and by adding encyclopedic content written from a 358:. MPS is an environment for language definition, a 303: 291: 279: 248: 232: 212: 379:directly. In order to edit this tree, a text-like 730:"PEoPL | Projectional Editing of Product Lines" 716:"Evolving Java Without Changing the Language" 8: 198: 50:Learn how and when to remove these messages 543:The MPS source code is released under the 322: 268: 197: 186:Learn how and when to remove this message 168:Learn how and when to remove this message 111:Learn how and when to remove this message 495:In October 2009, JetBrains released the 655:"The MPS Language Workbench: Volume I." 573: 72:contains content that is written like 7: 523:GDF (Gamification Design Framework) 364:integrated development environment 14: 31:This article has multiple issues. 391:Reusable language infrastructure 204: 148:. Please discuss further on the 127: 61: 20: 336:(Meta Programming System) is a 39:or discuss these issues on the 596:, retrieved: February 19, 2019 1: 714:Charles Humble (2009-10-15). 356:language-oriented programming 239:2022.2 (November 1, 2022) 424:regular expressions language 509:Realaxy ActionScript Editor 298:Apache Software License 2.0 864: 366:(IDE) for such languages. 344:. MPS is a tool to design 767:10.1109/MODELS.2019.00-17 346:domain-specific languages 244: 228: 203: 799:"MPS and GDF Case Study" 653:Fabien Campagne (2014). 557:Intentional programming 199:Meta Programming System 701:"mbeddr official site" 640:"IntentionalSoftware" 535:implementation code. 146:neutral point of view 93:neutral point of view 611:Design your own DSLs 441:constraints language 415:collections language 408:Base Language - 99% 399:, find usages, etc. 377:abstract syntax tree 370:Composable languages 350:projectional editing 507:In April 2010, the 381:projectional editor 200: 85:promotional content 848:Language workbench 761:. pp. 34–44. 667:Srini Penchikala. 435:structure language 403:Existing languages 360:language workbench 338:language workbench 87:and inappropriate 776:978-1-7281-2536-7 421:closures language 331: 330: 196: 195: 188: 178: 177: 170: 141:with its subject. 121: 120: 113: 54: 855: 833:MPS User's Guide 824: 823: 821:Official website 806: 805: 803: 795: 789: 788: 750: 744: 743: 741: 740: 726: 720: 719: 711: 705: 704: 697: 691: 690: 685:. Archived from 679: 673: 672: 664: 658: 657: 650: 644: 643: 635: 629: 628: 620: 614: 613: 603: 597: 590: 584: 578: 460:MPS applications 327: 326: 319: 316: 314: 312: 310: 281:Operating system 272: 267: 264: 262: 260: 224: 223: 208: 201: 191: 184: 173: 166: 162: 159: 153: 139:close connection 131: 130: 123: 116: 109: 105: 102: 96: 74:an advertisement 65: 64: 57: 46: 24: 23: 16: 863: 862: 858: 857: 856: 854: 853: 852: 838: 837: 819: 818: 815: 810: 809: 801: 797: 796: 792: 777: 752: 751: 747: 738: 736: 728: 727: 723: 713: 712: 708: 699: 698: 694: 681: 680: 676: 666: 665: 661: 652: 651: 647: 638:Martin Fowler. 637: 636: 632: 623:Martin Fowler. 622: 621: 617: 605: 604: 600: 592:reference URL: 591: 587: 580:reference URL: 579: 575: 570: 553: 541: 525: 517: 505: 493: 477:Core C language 467: 462: 438:editor language 405: 397:code completion 393: 372: 353: 348:(DSL). It uses 321: 307: 275: 257: 240: 219: 218: 192: 181: 180: 179: 174: 163: 157: 154: 143: 132: 128: 117: 106: 100: 97: 78: 66: 62: 25: 21: 12: 11: 5: 861: 859: 851: 850: 840: 839: 836: 835: 830: 825: 814: 813:External links 811: 808: 807: 790: 775: 745: 721: 706: 703:. 9 June 2010. 692: 689:on 2010-01-30. 674: 659: 645: 630: 615: 607:"What is MPS?" 598: 585: 572: 571: 569: 566: 565: 564: 559: 552: 549: 545:Apache License 540: 537: 524: 521: 516: 513: 504: 503:Realaxy editor 501: 492: 489: 488: 487: 486:State machines 484: 483:Physical units 481: 478: 471:formal methods 466: 463: 461: 458: 457: 456: 455: 454: 448: 442: 439: 436: 427: 426: 425: 422: 419: 418:dates language 416: 404: 401: 392: 389: 371: 368: 329: 328: 305: 301: 300: 295: 289: 288: 286:Cross-platform 283: 277: 276: 274: 273: 254: 252: 246: 245: 242: 241: 238: 236: 234:Stable release 230: 229: 226: 225: 216: 210: 209: 194: 193: 176: 175: 135: 133: 126: 119: 118: 89:external links 69: 67: 60: 55: 29: 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 860: 849: 846: 845: 843: 834: 831: 829: 826: 822: 817: 816: 812: 800: 794: 791: 786: 782: 778: 772: 768: 764: 760: 756: 749: 746: 735: 731: 725: 722: 717: 710: 707: 702: 696: 693: 688: 684: 678: 675: 670: 663: 660: 656: 649: 646: 641: 634: 631: 626: 619: 616: 612: 608: 602: 599: 595: 589: 586: 583: 577: 574: 567: 563: 560: 558: 555: 554: 550: 548: 546: 538: 536: 532: 529: 522: 520: 514: 512: 510: 502: 500: 498: 490: 485: 482: 479: 476: 475: 474: 472: 464: 459: 452: 449: 446: 443: 440: 437: 434: 433: 432: 428: 423: 420: 417: 414: 413: 411: 407: 406: 402: 400: 398: 390: 388: 384: 382: 378: 369: 367: 365: 361: 357: 351: 347: 343: 340:developed by 339: 335: 334:JetBrains MPS 325: 318: 306: 302: 299: 296: 294: 290: 287: 284: 282: 278: 271: 266: 256: 255: 253: 251: 247: 243: 237: 235: 231: 227: 222: 217: 215: 211: 207: 202: 190: 187: 172: 169: 161: 158:February 2024 151: 147: 142: 140: 134: 125: 124: 115: 112: 104: 101:February 2024 94: 90: 86: 82: 76: 75: 70:This article 68: 59: 58: 53: 51: 44: 43: 38: 37: 32: 27: 18: 17: 793: 758: 748: 737:. Retrieved 733: 724: 709: 695: 687:the original 677: 662: 648: 633: 618: 610: 601: 588: 576: 542: 533: 526: 518: 506: 494: 468: 431:bootstrapped 394: 385: 373: 354:It supports 333: 332: 214:Developer(s) 182: 164: 155: 136: 107: 98: 83:by removing 79:Please help 71: 47: 40: 34: 33:Please help 30: 445:type system 739:2017-06-19 568:References 480:Components 383:is used. 311:.jetbrains 263:/JetBrains 250:Repository 81:improve it 36:improve it 785:208206029 539:Licensing 451:generator 342:JetBrains 221:JetBrains 150:talk page 42:talk page 842:Category 828:MPS blog 734:peopl.de 551:See also 497:YouTrack 491:YouTrack 453:language 447:language 304:Website 293:License 783:  773:  465:Mbeddr 362:, and 320:  259:github 802:(PDF) 781:S2CID 562:Xtext 515:PEoPL 771:ISBN 410:Java 315:/mps 313:.com 265:/MPS 261:.com 763:doi 528:GDF 309:www 844:: 779:. 769:. 757:. 732:. 609:. 547:. 473:: 45:. 804:. 787:. 765:: 742:. 718:. 671:. 642:. 627:. 317:/ 189:) 183:( 171:) 165:( 160:) 156:( 152:. 114:) 108:( 103:) 99:( 95:. 77:. 52:) 48:(

Index

improve it
talk page
Learn how and when to remove these messages
an advertisement
improve it
promotional content
external links
neutral point of view
Learn how and when to remove this message
close connection
neutral point of view
talk page
Learn how and when to remove this message
Learn how and when to remove this message

Developer(s)
JetBrains
Stable release
Repository
github.com/JetBrains/MPS
Edit this at Wikidata
Operating system
Cross-platform
License
Apache Software License 2.0
www.jetbrains.com/mps/
Edit this on Wikidata
language workbench
JetBrains
domain-specific languages

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.