Welcome to MiSAR¶
What is MiSAR?¶
MiSAR is an approach that follows the Model Driven Architecture to semi-automatically generate architectural models of implemented microservice systems.
A video demonstration of MiSAR can be found at:
https://www.youtube.com/watch?v=sdRDkLesyS0
MiSAR consists of a parser that creates a Platform Specific Model from existing systems and a Model Transformation engine that transforms Platform Specific Models into Platform Independent Model instances. An instance of a MiSAR Platform Independent Model is the recovered architectural model of the implemented microservice system.
Workflow Overview¶
- Parse code → Generate PSM (Platform Specific Model)
- Transform PSM → PIM (Platform Independent Model)
- Generate UML diagrams (optional)
sequenceDiagram
participant SRC as Source Code
participant PARSER as Parser
participant PSM as Platform Specific Model
participant QVTO as Eclipse QVTo
participant PIM as Platform Independent Model
participant GMG as Graphical Model Generator
participant UML as UML Diagrams
SRC->>PARSER: Analyse the project
PARSER-->>PSM: Create the PSM
PSM->>QVTO: Transform the model
QVTO-->>PIM: Create the PIM
PIM->>GMG: Generate outputs
GMG-->>UML: Create UML diagrams
This diagram shows the basic MiSAR workflow: the source code is analysed by the parser, converted into a Platform Specific Model, transformed into a Platform Independent Model, and then used to generate UML diagrams.
Prerequisites¶
Before using MiSAR, ensure the following tools and runtimes are installed or available on your system.
| Requirement | Tested Version | Required For |
|---|---|---|
| Python | Python 3.11+ | Running MiSAR.py and the core PSM generation process |
| Java | OpenJDK 21 LTS | Running misar.jar and supporting Eclipse-based tooling |
| Eclipse | Eclipse IDE for Java Developers or Eclipse Modeling Tools | Running the QVT transformation workflow from PSM to PIM |
| QVTo | QVTo 3.11.2 | Transforming PSM models into PIM models |
| EMF SDK | Eclipse 2026-06 update site | Sample Reflective Ecore Model Editor and EMF model tooling |
| Python dependencies | Installed automatically by MiSAR AIO | Required Python modules used by the MiSAR application |
MISAR only requires internet access during the initial setup to download necessary dependencies. Once set up, it can be used offline without any issues.
Supported Technologies/Frameworks¶
- Java (Spring Boot / Spring Cloud)
- Docker / docker-compose
- Python (Flask / FastAPI / Django)
Sections¶
- MISAR Installation
- Create PSM
- QVT Plugin Installation
- QVT Setup
- Create PIM
- Graphical Model Generator
- Uninstallation
- Changelog
Next Steps¶
Ready to get started? Install MISAR by following the installation guide and create your first Platform Specific Model!