Skip to content

adisandro/MMINT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MMINT Build and Deploy

Model Management INTeractive (MMINT) is an Eclipse-based workbench for graphical, interactive model management. MMINT allows modelers to do rapid prototyping and exploratory modeling while seamlessly keeping track of all relevant artifacts in their workspace. MMINT is developed by the Software Engineering group at the University of Toronto, under the supervision of Professor Marsha Chechik.

Model Management is the management of collections of related models. It provides tools and techniques for dealing with large sets of models, defining relationships among models, manipulating models and relationships using operators (i.e., transformations). A special kind of model, generally called a megamodel, is used to represent such a scenario, with models as nodes and their relationships as arrows. Models and relationships are typically considered to be typed by their respective metamodels.

MMINT Architecture

MMINT provides a graphical form of megamodel called a Model Interconnection Diagram (MID) as the interface through which to perform actions. In addition to the standard megamodel interactions already supported by existing interactive model management techniques, MMINT provides support for an additional layer, the Type megamodel, representing the collection of metamodels, relationships and transformations between them. The Type megamodel can be examined, modified and extended at runtime, allowing the user to have a dynamic type system and a reconfigurable workbench.

MMINT is used by the Software Engineering group as a common research platform and prototyping workbench, and it is rapidly evolving. Please be aware that the project's goal is not to become a production-level software, but to try and make our efforts available to the research community. As such, you will most certainly run into bugs.

Installation

The easiest way of installing MMINT in Eclipse is using the binary packages, which will automatically take care of all the Eclipse dependencies. Alternatively, you can download and build the source code from this git repository. Please take a look at the requirements first to check that your system can run MMINT.

Requirements

  • Java 22
  • Eclipse Modeling Tools 2024-03
  • After downloading Eclipse, open the eclipse.ini file and change the line below -vm to point to your Java 22 installation (for example, on Debian Linux change it to /lib/jvm/java-22-openjdk-amd64/bin, on Windows change it to C:\Program Files\Java\jdk-22\bin)

Binary Packages

Binary packages for MMINT are created at each release and will automatically install the necessary Eclipse dependencies.

  1. Add https://adisandro.github.io/mmint/release to the list of software sites in Eclipse (Help > Install New Software > Available Software Sites).
  2. Install Modeling > MMINT.

You can also install MMINT-A (a version of MMINT for automotive safety assurance), MMINT-PL (a version of MMINT for product lines), a selection of pre-packaged model types, relationship types and operators under the Modelepedia category, or examples from various papers under the Examples category.

Binary packages for the current development version of MMINT are similarly available using the software site https://adisandro.github.io/mmint/develop.

Source code

Add the following update sites to Eclipse (Help > Install New Software > Available Software Sites):

  • https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/2024-03
  • http://download.eclipse.org/modeling/emft/henshin/updates/release
  • https://static.incquerylabs.com/projects/massif/release/0.7.0/repository
  • https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2023-12

Then, install the following components (Help > Install New Software):

  • Acceleo
  • ATL SDK - ATL Transformation Language SDK
  • Henshin SDK
  • M2E - Maven Integration for Eclipse
  • Massif Core
  • Papyrus for UML
  • Sirius Properties Views - Specifier Support
  • Sirius Specifier Environment
  • VIATRA Query and Transformation SDK

To import the source code in your Eclipse workspace, use File > Import and then Projects from Git under the Git category. Wait until everything is built, then right-click on any project and Run As > Eclipse Application.

The projects are under the plugins directory: required projects under Core, projects that significantly extend functionality under Core-Extensions, optional and domain specific projects under Types and projects that deal with external tools under External. The features directory contains the logical units of functionality, tests contains a suite for regression testing, releng contains the release engineering code, and examples contains artifacts created with MMINT for various papers and conferences.

Bundles

MMINT-A

MMINT-A is an extended version of MMINT for automotive safety assurance, aimed to facilitate the creation, analysis, and evolution of safety models. MMINT-A adds the following features:

  • Goal Structured Notation (GSN) assurance case editor.
  • Safety goals decomposition using strategies that are provably deductive.
  • Correctness checks for safety goals decompositions.
  • Megamodel querying.
  • Change impact assessment.

Follow these steps to install MMINT-A:

  1. Add https://adisandro.github.io/mmint/release to the list of software sites in Eclipse (Help > Install New Software > Available Software Sites).
  2. Install Modeling > MMINT-A.

MMINT-PL

MMINT-PL is an extended version of MMINT for product lines, for creating and managing annotative product lines of models as well as to facilitate lifting modeling activities to the product line level. MMINT-PL adds the following features:

  • Annotative Product Line (PL) editor for any EMF metamodel.
  • PL well-formedness checks with respect to feature model and presence conditions.
  • PL initialization from a product.
  • Product instantiation by selection of features.
  • PL-aware model relationships.
  • Lifted VQL engine.

Follow these steps to install MMINT-PL:

  1. Add https://adisandro.github.io/mmint/release to the list of software sites in Eclipse (Help > Install New Software > Available Software Sites).
  2. Install Modeling > MMINT-PL.

Publications

About MMINT

Using MMINT

About

An Eclipse-based workbench for INTeractive Model Management

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages