Requirements Modeling Framework

Last updated
Eclipse Requirements Modeling Framework
Logo Requirements Modeling Framework (RMF).png
Screenshot von Eclipse ProR (RMF).png
Stable release
0.10.0 or 0.14.0, depending on the eclipse version / unknown
Operating system cross-platform
Platform Eclipse
Type Computer-aided software engineering
License Eclipse Public License
Website eclipse.org

The Requirements Modeling Framework (RMF) is an open-source software framework for working with requirements based on the ReqIF standard. RMF consists of a core allowing reading, writing and manipulating ReqIF data, and a user interface allowing to inspect and edit request data.

Contents

RMF is the first and, currently, the only open-source reference implementation of the ReqIF standards. Noteworthy is the fact that RMF has already been deployed in the ProStep ReqIF Implementor Forum [1] in order to ensure the interoperability of the commercial implementation. Since 2011 there have been reports in the German and in the international press about RMF. [2] [3] [4]

History

RMF has been in development under the name ProR since 2009 in the scope of the DEPLOY [5] research project, collaborative efforts quickly developed with the research project Verde [6] resulting in significant acceleration of development. [7] At this point, the data model is based on RIF, the predecessor of ReqIF.

In June 2011, a proposal [8] was created to transform the code into an Eclipse Foundation project. This proposal was adopted in November 2011. A part of the migration to the Eclipse Foundation was the conversion of RIF to the current version of ReqIF 1.0.1.

In the spring of 2012 DEPLOY and Verde opted out of the research projects. Nevertheless, RMF keeps on evolving, within the framework of the research project Advance. [9] From Formal Mind [10] free extensions to ProR under the name ProR Essentials are developed. [11]

Currently neither version 0.14 nor 0.13 can be integrated into the latest version of eclipse, neither ProR nor RMF. [12] Only version 0.10.0 remains, reasons for that are unknown. Version 0.13 (from the release folder) and version 0.14 (from the latest folder) can be integrated into eclipse version "Mars.2 Release (4.5.2)".

Functionality

The RMF core allows for storing, writing, validating and manipulating ReqIF files. The manipulation of data is implemented programmatically using EMF.

ProR additionally enables the interactive creation, inspecting and editing of ReqIF models. The requirements are then presented in configurable tables. Links between requirements can be created via Drag & Drop, or through context menus.

Integration with other tools

ProR is designed for integration with other Eclipse-based tools. There is an extension point available, which makes it possible to integrate other available renderers and editors, or to react to Drag & Drop events from outside.

As part of DEPLOY and Advance, the integration of Event-B models was developed. [13] [14]

The TOPCASED -project has now, as suggested, [15] integrated RMF.

Further integrations have been proposed or implemented in a prototype. [16]

Related Research Articles

OSGi

The OSGi Alliance, formerly known as the Open Services Gateway initiative, is an open standards organization founded in March 1999 that originally specified and continues to maintain the OSGi standard.

Eclipse (software) Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

AspectJ is an aspect-oriented programming (AOP) extension created at PARC for the Java programming language. It is available in Eclipse Foundation open-source projects, both stand-alone and integrated into Eclipse. AspectJ has become a widely used de facto standard for AOP by emphasizing simplicity and usability for end users. It uses Java-like syntax, and included IDE integrations for displaying crosscutting structure since its initial public release in 2001.

WebObjects Java web application server and framework originally developed by NeXT Software

WebObjects is a Java web application server and a server-based web application framework originally developed by NeXT Software, Inc. As of 2009 the software has been independently maintained by a volunteer community.

Delphi (software)

Delphi is a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

CIMOSA

CIMOSA, standing for "Computer Integrated Manufacturing Open System Architecture", is an enterprise modeling framework, which aims to support the enterprise integration of machines, computers and people. The framework is based on the system life cycle concept, and offers a modelling language, methodology and supporting technology to support these goals.

QVT

QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group.

The Spring Framework is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. Although the framework does not impose any specific programming model, it has become popular in the Java community as an addition to the Enterprise JavaBeans (EJB) model. The Spring Framework is open source.

Aptana Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.

Azure DevOps Server is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle, and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Rational Software Architect is a modeling and development environment that uses the Unified Modeling Language (UML) for designing architecture for C++ and Java EE (JEE) applications and web services. Rational Software Architect is built on the Eclipse open-source software framework and includes capabilities focused on architectural code analysis, C++, and model-driven development (MDD) with the UML for creating applications and web services.

Service Component Architecture (SCA) is a software technology designed to provide a model for applications that follow service-oriented architecture principles. The technology, created by major software vendors, including IBM, Oracle Corporation and TIBCO Software, encompasses a wide range of technologies and as such is specified in independent specifications to maintain programming language and application environment neutrality. Many times it uses an enterprise service bus (ESB).

KNIME, the Konstanz Information Miner, is a free and open-source data analytics, reporting and integration platform. KNIME integrates various components for machine learning and data mining through its modular data pipelining "Lego of Analytics" concept. A graphical user interface and use of JDBC allows assembly of nodes blending different data sources, including preprocessing, for modeling, data analysis and visualization without, or with only minimal, programming.

Xtext is an open-source software framework for developing programming languages and domain-specific languages (DSLs). Unlike standard parser generators, Xtext generates not only a parser, but also a class model for the abstract syntax tree, as well as providing a fully featured, customizable Eclipse-based IDE.

Requirements Interchange Format

RIF/ReqIF is an XML file format that can be used to exchange requirements, along with its associated metadata, between software tools from different vendors. The requirements exchange format also defines a workflow for transmitting the status of requirements between partners. Although developed in the automotive industry, ReqIF is suitable for lossless exchange of requirements in any industry.

Vert.x

Eclipse Vert.x is a polyglot event-driven application framework that runs on the Java Virtual Machine.

YAKINDU Statechart Tools

YAKINDU Statechart Tools is a tool for the specification and development of reactive, event-driven systems with the help of finite-state machines. It consists of a tool for the graphical editing of statecharts and provides validation, simulation, and source code generators for various target platforms and programming languages. YAKINDU Statechart Tools are available as a standard and as a professional edition, with no-cost licenses for non-commercial resp. academic usage. Users are coming from both industry and academia.

Oracle TopLink is a mapping and persistence framework for Java developers. TopLink is produced by Oracle and is a part of Oracle's OracleAS, WebLogic, and OC4J servers. It is an object-persistence and object-transformation framework. TopLink provides development tools and run-time functionalities that ease the development process and help increase functionality. Persistent object-oriented data is stored in relational databases which helps build high-performance applications. Storing data in either XML or relational databases is made possible by transforming it from object-oriented data.

References

  1. ReqIF Implementor Forum, ProSTEP website, accessed on May 28, 2013
  2. Michael Jastram, Andreas Graf: Requirements Modeling Framework. In: Eclipse Magazin, 6.11, 2011
  3. Michael Jastram, Mark Brörkens: ReqIF in der Open Source: Das Eclipse Requirements Modeling Framework Archived 2012-10-02 at the Wayback Machine . In: ReConf 2012
  4. Michael Jastram Christof Ebert: ReqIF: Seamless Requirements Interchange Format between Business Partners. In: IEEE Software, 2012
  5. FP7 Deploy Research Project, Homepage. Accessed on May 29, 2013
  6. itea Verde Research Project, Homepage. Accessed on May 29, 2013
  7. Michael Jastram: ProR, an Open Source Platform for Requirements Engineering based on RIF. In: SeisConf 2010
  8. RMF Proposal, Eclipse Homepage. Accessed on May 29, 2013
  9. FP7 Advance Research Project, Homepage. Accessed on May 29, 2013
  10. Formal Mind GmbH, Homepage. Accessed on May 29, 2013
  11. Michael Jastram: ReqIF-olution: Mit Eclipse und ReqIF zur Open-Source ALM-Werkzeugkette. In: ObjektSpektrum 3/2013
  12. Bug 539645 - Plugin can not be installed, Bugticket proofing obsolescence of the project. Accessed on September 29, 2018
  13. Integration für Event-B-Modelle, Event-B Homepage. Accessed on May 29, 2013
  14. Hallerstede, Stefan; Jastram, Michael; Ladenberger, Lukas (2013). "A Method and Tool for Tracing Requirements into Specifications" (PDF). Science of Computer Programming. 82: 2–21. doi: 10.1016/j.scico.2013.03.008 .
  15. Michael Jastram, Andreas Graf: Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF). In: First Topcased Days Toulouse, 2011
  16. Michael Jastram: The ProR Approach: Traceability of Requirements and System Descriptions. In: Inaugural-Dissertation, 2012