Bringing ReqIF Models to the Web

At itemis, designing and implementing domain specific engineering tools is part of our core business. These tools usually were rich-client applications that ran on a desktop and had a very complex user interface. But technologies and user expectations evolve and web-based technologies become more and more important for this kind of tools.

In terms of the domain specific languages tool chain, we are actively developing the next generation of collaborative domain specific tools with our current in-house project.

No alt text provided for this image


Since itemis is one of the main committers to the Eclipse RMF project, which provides a ReqIF serialization and deserialization, we obviously also have been thinking about bringing ReqIF models to the web. Having a strong expertise in RMF and Eclipse, the question is - what role do those two still play when we move to new technology stacks for tooling?

The Eclipse-based RMF (Requirements Modeling Framework) is available as open source. We have been using it to create all kind of software engineering tools, from small utilities to massive data integration backbones. So any architecture that makes use of RMF will save itself some work.

The basic architecture that comes to mind immediately, is to use some kind of server in the back end, that serves information about the ReqIF model through a REST API and any web client that consumes that information to create a viewer / editor in a browser.

RMF is based on the Eclipse Modeling Framework (EMF), which is also used by many tool projects as a basic framework and we are not the only group to bring models to the web based on EMF. The EMF cloud project provides a nice demo for an EMF based web editor at (https://www.eclipse.org/emfcloud/#coffeeeditoroverview).

However, we evaluated this technology stack for serving models based on the AUTOSAR stanadard and EMF.cloud (https://www.eclipse.org/emfcloud/) used in the demo above framework is not prepared to deal with this kind of model loading and other concepts relevant for Sphinx based models such as Artop. Extending EMF.cloud to deal with Artop resulted in the conclusion, that it would be less effort to create a REST-based model server from scratch that is based on Sphinx/Artop concepts and we are reusing this approach for ReqIF models.

Since Eclipse and other open source projects provide such rich functionality, setting up a prototypical REST model server for ReqIF is a matter of an hour - if you exclude getting class loading / class path management for OSGi and local libraries right. Once that was figured out, creating a server, that provides read access to a ReqIF model.

Our server can be accessed through simple URI requests and serves (part of the) ReqIF model as JSON.

No alt text provided for this image


These JSON results can now be used by any web-based viewer to create user-friendly viewing (and in future editing) functionalities that even could allow distributed collaboration.

To view or add a comment, sign in

More articles by Andreas Graf

Others also viewed

Explore content categories