RM2EIS

Introduction

A demo video can be found as follows:

RM2EIS is a tool for automatic generation of an EIS from a requirements model. The benefits are as follows:

Input of RM2EIS — Requirements Model

rm

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

Output of RM2EIS — EIS

EIS(Enterprise Information System) integrates business logic, improving business productivity and shortening service, product development, and marketing life cycles.

EIS is important in industrial and commercial domain, but it can only be formally put into use after developement, which is time-consuming, laborious, and error-prone.

Layer structure is common in EIS, where:

Features

Overview

RM2EIS takes the requirement model as input and uses a transformation algorithm to process and parse the user requirement information contained in the requirement model. For the OCL expressions contained in the system operation contract, RM2EIS needs transformation rule to transform them into the system operation code that drives the running of the EIS. Finally, the method outputs a complete and executable EIS, which can be further deployed in K8S.

SpringBoot-based EIS Generation

Mapping OO operations to CRUD: For EIS, CRUD is the most basic operation, so RM2EIS improves OO methods as shown.

Following the Restful style:

RESTFUL is a design style for web applications based on HTTP and can be defined using JSON format, which is suitable for EIS scenarios. In a RESTful web service, each resource has an address. The resource is the target of the method call, and the method list is the same for all resources.

Generating from Requirements Model:

Most of the work is based on a more detailed design model. RM2EIS is generated from a requirements model that contains only external information and no internal information. The template generation method is used, which includes design patterns, development experience, and industry standards.

K8S Auto Deployment

To facilitate users, RM2EIS can generate supporting deployment scripts, including code packaging and containerization, service orchestration, and environment initialization. Users can configure the service information to generate corresponding scripts. In addition to deploying the EIS locally, RM2EIS supports one-click cloud migration With the help of the jkube2 plug-in by integrating the deployment into the maven phase. With containerized management, EIS can easily implement elastic services, error tracing and other features. The cloud service is unaware of Restful interfaces exposed to the outside. Accordingly, RM2EIS also provides a cease-of-deployment instruction.

How to use RM2EIS

Download and Installation

Need

RM2Doc is an advanced feature of RM2PT. We recommend you to use RM2Doc in RM2PT. If you don’t have RM2PT, download here.

Installation

Open RM2PT, click on Help -> Install New Software

image-20220507173100117

Type https://github.com/RM2PT/RM2EIS-UpdateSite in the Work with field, select RM2EIS and click Next.

image-20220507173453144

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

image-20211017150545091

image-20211017150807041

image-20211017150921155

image-20211017150951456

Use of RM2EIS

Need

In order to run an EIS, you need to prepare a local kubernetes environment first. It is recommended to download docker-desktop and open the k8s environment. You may also need a readily available requirements model, where you can fetch at case. Of course, you can do it yourself by following the tutorial.

Generate EIS

Take the CoCoME example as a demonstration, and import it into the workspace first. Then, right click on cocome.remodel -> RM2PT-> ` Advance Features-> Generate Springboot Application` and then make some configuration.

image-20220507174915467

image-20220507174915467

Wait until the EIS is generated.

Start EIS

Use the built-in startup configuration of eclipse. Or you can run mvn clean package k8s:deploy in the root directory.

image-20220507174915467

image-20220507174915467

image-20220507174915467

Now you can inspect the demo through the panel or use the instrction kubectl get pod

image-20220507174915467

Access the EIS

Open the api page and try yourself. You can get more information about how to use such page at swagger.

image-20220507174915467

Or you may want to connect to the DB, just type your port, your username and your password as shown in figure.

image-20220507174915467

Stop EIS

Use the built-in startup configuration of eclipse. Or you can run mvn k8s:undeploy in the root directory.

image-20220507174915467