{"id":13790698,"url":"https://github.com/ModelingValueGroup/DclareForMPS","last_synced_at":"2025-05-12T09:33:05.661Z","repository":{"id":40680444,"uuid":"150723842","full_name":"ModelingValueGroup/dclareForMPS","owner":"ModelingValueGroup","description":"Adding declarative, reactive and incremental rules to MPS","archived":false,"fork":false,"pushed_at":"2024-04-22T11:03:24.000Z","size":40782,"stargazers_count":21,"open_issues_count":25,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-04-22T12:26:20.010Z","etag":null,"topics":["declarative","jetbrains-mps","mps","reactive","rule-based","rules"],"latest_commit_sha":null,"homepage":"","language":"JetBrains MPS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ModelingValueGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-09-28T10:24:22.000Z","updated_at":"2024-04-22T12:26:22.880Z","dependencies_parsed_at":"2023-11-02T08:28:12.028Z","dependency_job_id":"f05f49e2-d428-4740-b6eb-102fb39d6e39","html_url":"https://github.com/ModelingValueGroup/dclareForMPS","commit_stats":null,"previous_names":[],"tags_count":84,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelingValueGroup%2FdclareForMPS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelingValueGroup%2FdclareForMPS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelingValueGroup%2FdclareForMPS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelingValueGroup%2FdclareForMPS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ModelingValueGroup","download_url":"https://codeload.github.com/ModelingValueGroup/dclareForMPS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253709394,"owners_count":21951131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["declarative","jetbrains-mps","mps","reactive","rule-based","rules"],"created_at":"2024-08-03T22:00:49.985Z","updated_at":"2025-05-12T09:33:04.098Z","avatar_url":"https://github.com/ModelingValueGroup.png","language":"JetBrains MPS","funding_links":[],"categories":["[Built with MPS](#built-with-mps)"],"sub_categories":["Languages"],"readme":"DclareForMPS [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) [![Actions Status](https://github.com/ModelingValueGroup/DclareForMPS/workflows/build/badge.svg)](https://github.com/ModelingValueGroup/DclareForMPS/actions)\n================================\nDclareForMPS adds a language aspect named '_rules_' to MPS.  \nA rule typically derives some part of a model.  \nRules can trigger other rules.  \nA rule runs when something changes in the models that is read by this rule (reactive).  \nThe system terminates on a fixpoint (if no changes occure anymore).  \nThe regular MPS base-languages can be used to specify the rules.  \nRules definitions typically use quotations (light or not) to define the derivations.  \nThe rules are executed incrementally, meaning they perform a minimal amount of changes to derive the defined patterns (\nexpressed in quotations).\n\n## MPS plugin\n\nDclareForMPS is in constant progress.\nIt is available as a plugin in MPS through the plugin marketplace.\n\nAll feedback, functional or technical, is appreciated.\n\n## dclare\n\nDclareForMPS uses the dclare engine of the Modeling Value Group.  \nThe dclare project can be found here: [dclare](https://github.com/ModelingValueGroup/dclare)\n\n## Installation\n\n1. install JetBrains MPS (2020.1 or higher)\n2. start MPS\n3. go to the plugins preferences section and install DclareForMPS from the Marketplace\n4. open one of the example projects (see below)\n5. verify that the 'On' setting is enabled (Settings \u003e Other Settings \u003e Dclare):\n\n   ![check the engine checkbox](documentation/images/DclareEngineOnAtProjectOpen.png \"Dclare Engine On At Project Open\")\n\n4. rebuild the example project\n5. play with the sandbox-models in the example-project\n\n## Examples\n\nMultiple examples can be found on GitHub:\n\n- [Sudoku](https://github.com/ModelingValueGroup/ex-Sudoku)\n- [EntityClassJava](https://github.com/ModelingValueGroup/ex-EntityClassJava)\n- [NiamToOO](https://github.com/ModelingValueGroup/ex-NiamToOO)\n- [FlattenAndCopy](https://github.com/ModelingValueGroup/ex-FlattenAndCopy)\n- [StateMachines](https://github.com/ModelingValueGroup/statemachines)\n\nFor more info, please read the _README.md_ files that are part of these examples.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FModelingValueGroup%2FDclareForMPS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FModelingValueGroup%2FDclareForMPS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FModelingValueGroup%2FDclareForMPS/lists"}