# Requirements Modeling Framework

Das Requirements Modeling Framework (RMF) ist ein Open-Source-Framework für das Arbeiten mit Anforderungen, die auf dem ReqIF-Standard beruhen. RMF besteht aus einem Kern, der das Lesen, Schreiben und Manipulieren von ReqIF-Daten ermöglicht, als auch einer Benutzeroberfläche, die das Inspizieren und bearbeiten von Anforderungsdaten ermöglicht.
RMF ist die erste und zurzeit einzige Open-Source Referenzimplementierung des ReqIF Standards. Insbesondere wird RMF bereits im ProStep ReqIF Implementor Forum eingesetzt um sicherzustellen, dass kommerzielle Implementierungen von ReqIF interoperabel sind. Seit 2011 wurde regelmäßig in der deutschen und internationalen Fachpresse über RMF berichtet.

## Geschichte

RMF wurde unter dem Namen ProR seit 2009 im Rahmen des DEPLOY Forschungsprojekts entwickelt, wobei sich schnell eine Kooperation mit dem Forschungsprojekt Verde ergab, die das Projekt signifikant beschleunigte. Zu diesem Zeitpunkt basierte das Datenmodell auf RIF, dem Vorgänger von ReqIF.
Im Juni 2011 wurde ein Proposal erstellt, um den Code in ein Eclipse Foundation-Projekt zu überführen. Dieses Proposal wurde im November 2011 angenommen. Im Rahmen der Migration zur Eclipse Foundation wurde auch von RIF auf die aktuelle Version ReqIF 1.0.1 umgestellt.
im Frühjahr 2012 liefen die Forschungsprojekte DEPLOY und Verde aus. Dennoch wird RMF kontinuierlich weiterentwickelt, im Rahmen des Forschungsprojekts Advance als auch von Formal Mind, die kostenlose Erweiterungen zu ProR unter dem Namen ProR Essentials entwickeln.
Ab der Version 0.10.0 gibt es keine Binärdistribution von der Eclipse Foundation mehr. Stattdessen mussten spätere Versionen von ProR über den Update-Site-Mechanismus in ein bestehendes Eclipse installiert werden. Mittlerweile ist dieser Service ebenfalls nicht mehr für die aktuellsten Eclipse Versionen verfügbar, weder Version 0.14 noch 0.13 sind in aktuell Eclipse integrierbar. Die Versionen 0.13.0 (über den release Ordner) und 0.14.0 (über den latest Ordner) sind in altere Versionen, z. B. eclipse Mars.2 Release (4.5.2), integrierbar.

## Funktionalität

Der RMF-Kern ermöglicht das Laden, und Schreiben, Validieren und Manipulieren von ReqIF-Dateien. Das Manipulieren von Daten wird programmatisch über EMF realisiert.
ProR ermöglicht zusätzlich noch das interaktive Erstellen, Inspizieren und Bearbeiten von ReqIF-Modellen. Dabei werden die Anforderungen tabellarisch in einer konfigurierbaren Ansicht dargestellt. Verlinkungen zwischen Anforderungen können über Drag & Drop oder Kontextmenüs erstellt werden.

## Integration mit anderen Werkzeugen

ProR ist auf die Integrierbarkeit mit anderen Eclipse-basierten Werkzeugen ausgelegt. Dazu stellt es einen Extension Point zur Verfügung, der es ermöglicht, eigene Renderer und Editoren zur Verfügung zu stellen, oder auf Drag & Drop-Ereignisse von Außerhalb zu reagieren.
Im Rahmen von DEPLOY und Advance wurde eine Integration für Event-B-Modelle entwickelt.
Das TOPCASED-Projekt hat inzwischen, wie vorgeschlagen, RMF integriert.
Weitere Integrationen wurden vorgeschlagen oder prototypisch umgesetzt.

## Verbreitung

Seit der Migration zu der Eclipse Foundation sind Downloadstatistiken für Projektmitglieder einsehbar. In 2012 wurde RMF ca. 1400 mal heruntergeladen, inzwischen wird die Software ca. 200 mal im Monat abgerufen (Mai 2013). Diese Statistiken beinhalten nicht die Downloads vom Continuous Build Server.