{"id":20082430,"url":"https://github.com/emoflon/emoflon-ibex","last_synced_at":"2025-05-06T00:31:56.372Z","repository":{"id":12469286,"uuid":"71907938","full_name":"eMoflon/emoflon-ibex","owner":"eMoflon","description":"Shared, eMoflon-specific component for incremental unidirectional and bidirectional graph transformations","archived":false,"fork":false,"pushed_at":"2024-10-29T13:29:13.000Z","size":75661,"stargazers_count":12,"open_issues_count":17,"forks_count":4,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-29T16:06:13.795Z","etag":null,"topics":["bidirectional","graph-transformation","graph-transformation-systems","incremental","model-driven-development","model-transformations","tgg","triple-graph-grammars","unidirectional"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eMoflon.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,"publiccode":null,"codemeta":null}},"created_at":"2016-10-25T14:54:14.000Z","updated_at":"2024-07-26T11:03:29.000Z","dependencies_parsed_at":"2023-01-14T07:00:22.301Z","dependency_job_id":"6c9510e6-0486-4027-903d-1d64d646b403","html_url":"https://github.com/eMoflon/emoflon-ibex","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Femoflon-ibex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Femoflon-ibex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Femoflon-ibex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMoflon%2Femoflon-ibex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eMoflon","download_url":"https://codeload.github.com/eMoflon/emoflon-ibex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252598435,"owners_count":21774256,"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":["bidirectional","graph-transformation","graph-transformation-systems","incremental","model-driven-development","model-transformations","tgg","triple-graph-grammars","unidirectional"],"created_at":"2024-11-13T15:43:22.740Z","updated_at":"2025-05-06T00:31:51.361Z","avatar_url":"https://github.com/eMoflon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eMoflon::IBeX\n\neMoflon::IBeX is an Eclipse-based incremental interpreter for\n\tbidirectional graph transformations based on Triple Graph Grammars (TGGs)\n\tand unidirectional graph transformations.\nIt uses [eMoflon::IBeX UI](https://github.com/eMoflon/emoflon-ibex-ui)\n\tfor the textual rule specification.\n\nThis repository contains only the part which is independent from a concrete pattern matcher.\n- [eMoflon::IBeX Democles](https://github.com/eMoflon/emoflon-ibex-democles)\n\tuses eMoflon::IBeX with the Democles pattern matching engine.\n- [eMoflon::IBeX HiPE](https://github.com/eMoflon/emoflon-ibex-hipe)\n\tuses eMoflon::IBeX with our new HiPE parallel pattern matching engine.\n\nThere are 4 ways how to use eMoflon::IBeX:\n1. Use our [pre-built Eclipse download](#pre-built-eclipse) with eMoflon::IBeX installed (or the version without eMoflon::IBeX to develop it).\n1. Use our [pre-built virtual machine (VM)](#pre-built-virtual-machine-vm) with eMoflon::IBeX installed.\n1. Prepare your Eclipse environment step-by-step with the section [how to develop](#how-to-develop).\n1. [Install eMoflon::IBeX](#how-to-install) into your existing Eclipse installation.\n\n\n## Pre-built Eclipse\n\n1. Install [GraphViz](http://www.graphviz.org/download/).\n1. Choose the right pre-built Eclipse version for your need. A comparisson table can be found in the [readme of the emoflon-ibex-eclipse-build repository](https://github.com/eMoflon/emoflon-ibex-eclipse-build). Typically, you want to download:\n\t+ `eclipse-emoflon-$yourOS-dev.zip` if you want to develop eMoflon::IBeX\n\t+ `eclipse-emoflon-$yourOS-user.zip` if you want to use eMoflon::IBeX without developing it\n1. Download your chosen [Eclipse archive](https://github.com/eMoflon/emoflon-ibex-eclipse-build/releases/latest).\n1. Extract the archive to a folder, e.g., to `~/eclipse-apps/emoflon-ibex`.\n1. Start your Eclipse (= the binary in the extracted folder) and create a new workspace.\n\n### eclipse-emoflon-user\n\nYou can now create eMoflon projects and/or start using it with existing projects, e.g., from the [tutorial](https://github.com/eMoflon/emoflon-ibex-tutorial).\n\n### eclipse-emoflon-dev\n\nSome additional steps are needed:\nComplete steps 9, 10, 12-15 from [the next section](#how-to-develop) to clone the code and verify your build.\n\n\n## Pre-built virtual machine (VM)\n\nYou can download the latest version of our pre-built virtual machine image from the [release section](https://github.com/eMoflon/emoflon-ibex-vm/releases).\nFor detailed installation instructions, please refer to the [README.md file](https://github.com/eMoflon/emoflon-ibex-vm#usageinstallation) within the repository.\n\n\n## How to develop\n\n1. Install a Java JDK \u003e= 21.\n1. Install [GraphViz](http://www.graphviz.org/download/).\n1. Get the latest version of the [Eclipse Modeling Tools](https://www.eclipse.org/downloads/packages/). You need at least **Eclipse 2024-06**.\n1. Install Xtext from this update site (or use the Eclipse Marketplace):\n\thttp://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/\n1. Install PlantUML from this update site (or use the Eclipse Marketplace):\n\thttp://hallvard.github.io/plantuml/\n1. Install HiPE from this update site:\n\thttps://hipe-devops.github.io/HiPE-Updatesite/hipe.updatesite/\n1. Install the EPackage Registration Feature from http://www.kermeta.org/k2/update\n1. Check the encoding for Xtend files.\n    - In Eclipse: Go to ```Window-\u003ePreferences-\u003eGeneral-\u003eWorkspace```.\n    - Change the text file encoding to 'Other: UTF-8'.\n1. (Important!) Set standard git folder to (workspace) relative path, e.g., (Eclipse -\u003e) Window -\u003e Preferences -\u003e Team (or Version Control) -\u003e Git -\u003e Default Repository Folder = `${workspace_loc}\\git` (for Windows) or `${workspace_loc}/git` (for Linux and macOS)\n1. Go to ```File/Import.../Team/Team Project Set```, check URL and enter in and import this PSF file:\n\t- https://raw.githubusercontent.com/eMoflon/emoflon-ibex-deployment/master/devProjectSet.psf\n1. Execute MWE2\n    - Open package ```org.emoflon.ibex.common/launch```.\n    - Right-click on ```Run all eMoflon MWE2 files.mwe2```.\n    - Press ```Run As -\u003e Run all eMoflon MWE2 files```.\n1. Set UTF-8 as file encoding for the development workspace (*Window \u0026rarr; Preferences \u0026rarr; General/Workspace*) and manually build all projects by clicking (*Project \u0026rarr; Clean... \u0026rarr; Clean all projects*) to trigger code generation (and get rid of errors). Make sure to check *Project \u0026rarr; Build Automatically*.\n1. Set up your runtime and test workspaces by starting a runtime Eclipse workspace from your development workspace:\n\t- To start the runtime workspace, do the following steps *inside* your development workspace: *Run \u0026rarr; Run Configurations...;* double click on *Eclipse Application*, give it a name (e.g., *test-workspace*) and click on *Run*.\n\t\t- Your development Eclipse should now start another Eclipse instance with all eMoflon plug-ins installed.\n\t- Inside your runtime workspace:\n\t\t- Check and/or apply the git setting of **step 8** again.\n\t\t- Import this PSF file:  \n\t\thttps://raw.githubusercontent.com/eMoflon/emoflon-ibex-tests/master/testProjectSet.psf\n1. Execute MWE2\n    - Open package ```/org.emoflon.express/src/org.emoflon.express```\n    - Right-click on ```GenerateExpress.mwe2```\n    - Press ```Run As -\u003e MWE2 Workflow```\n1. Inside the runtime workspace, build all projects (*Project \u0026rarr; Clean... \u0026rarr; Clean all projects*) to trigger code generation.\n\t- Hint: It may be required to trigger a full eMoflon build on all projects. Select all projects in *Package Explorer* and click on the black hammer symbol.\n1. Run the JUnit tests to ensure that all is well by right-clicking\n\tone of the ```Testsuite_*.launch``` in the ```Testsuite``` project\n\tand ```TestsuiteGT.launch``` in the ```TestsuiteGT``` project\n\tand start the tests by selecting ```Run As/JUnit```.\n\tIf everything is set up correctly, all tests should be green.\n\nRunning ```Testsuite_GLPK.launch``` requires GLPK (see installation step 5).\n\t\nRunning ```Testsuite_Gurobi.launch``` requires Gurobi (see installation step 6).\n\nRunning ```Testsuite_CBC.launch``` requires Google OR tools (see installation step 7).\n\n```Testsuite_SAT4J.launch``` uses the SAT4J (automatically installed, but the slowest option).  \n\n\n## How to install\n\neMoflon::IBeX can be installed via its updatesite: https://github.com/eMoflon/emoflon-ibex-updatesite\n\nPlease notice: You need at least Eclipse 2024-06.\n\nPlease notice: Ensure that your Eclipse runs with an OpenJDK \u003e= 21.\n\n(Please notice:\nThis section is for *installation purpose* only.\nIf you already setup your development workspace as described above, this section is irrelevant for you.\nFurthermore, you may need to install some additional dependencies if Eclipse tells you to.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femoflon%2Femoflon-ibex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femoflon%2Femoflon-ibex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femoflon%2Femoflon-ibex/lists"}