RM2MS

Introduction

RM2MS is a tool can automatically identifiy microservices from the validated requirements model. The benefits of RM2MS are as follows:

  1. Automated dependency extraction.

  2. Automated microservices identification

  3. Microservices visualization.

The video cast its feature is listed as follows (Youtube):

Download and Installation

RM2MS is an advanced feature of RM2PT. It can automatically identifiy the microservices from requirements models.

Prerequest

RM2MS is a plugin of RM2PT. If you don’t have RM2PT, download here.

Installation of RM2MS

Open RM2PT, click on Help -> Install New Software

image-1

Type http://rm2pt.com/RM2MS-UpdateSite in the Work with field, select RM2MS and click Next. image-2

If the update site does not work, you can choose to install it offline. Click here to download RM2MS. Follow the steps below to install.

image-3 image-4 image-5 image-6

RM2MS Tutorial

Input of RM2MS — Requirements Model

The input to RM2MS is a UML requirements model with OCL constraints. The model includes: a conceptual class diagram, a use case diagram, system sequence diagrams, contracts of system operations.

The identified microservices in the requirements models

You can generate microservice model by right click on cocome.remodel -> RM2PT-Dev-> generate microservice model image-7

You can output the initial number of iteration and population in the genetic algorithm

image-8

The generated model is in the ReqModel folder

image-9

The Output of RM2MS

RM2MS introduce the concept of bounded context on the usecase model and concept class diagram aiming to present the decomposition of system functions and system database separately. In addition, provide-interface and receive-interface are defined on the domain context boundary to represent microservices interface information. RM2MS converts the microservices architecture solution to microservices design model, which contains two parts:

CoCoME includes the processes of the cash register, such as scanning products with barcode scanner or paying with credit card or cash, and the management processes of the supermarket, such as replenishing supermarket products and modifying commodity prices. For more details of the , please see GitHub - RM2PT/CaseStudies: RM2PT CaseStudies.

The image below shows a part of CoCoME’s microservice design model generated by RM2MS.

image-microservice

As we can see, RM2MS decomposes CoCoMe into four microservices, namely OrderMicroservice, ItemMicroservice, SupplierMicroservice and SaleMicroservice. In the domain requirement model, not only the entity information contained in each microservice is displayed, but also the functions provided to users and the interfaces for calling between microservices are displayed. In addition, RM2MS can also generate a functional microservice model to describe the system’s functional decomposition scheme in more detail.