Michael Jastram, Andreas Graf
ReqIF – the new Requirements Standard and its Open Source implementation Eclipse RMF
[Bibtex]Technical Report, Commercial Vehicle Technology Symposium, 2012.
A Method and Tool for Tracing Requirements into Specifications
[PDF] [Bibtex]Submitted to Science of Computer Programming
The creation of a consistent system description is a challenging problem of requirements engineering. Formal and informal reasoning can greatly contribute to meet this challenge. However, this demands that formal and informal reasoning and the system description are connected in such way that the reasoning permits drawing conclusions about the system description.
We describe an incremental approach to requirements modelling and validation that incorporates formal and informal reasoning. Our main contribution is an approach to requirements tracing that delivers the necessary connection that links the reasoning to the system description. Formal refinement is used in order to deal with large and complex system descriptions.
We discuss tool support for our approach of requirements tracing that combines informal requirements modelling with formal modelling and verification while tracing requirements among each other and into the formal model.
Developing Camille, a text editor for Rodin
[Bibtex]Software: Practice and Experience, 41(2): 189-198, 2011.
Initially, the Rodin platform for Event-B did away with a textual representation for models. In this paper, we explain why a textual representation was required after all and we present the semantic-aware text editor Camille for Rodin. We explain the design choices of Camille, such as splitting the syntax into two-levels for machine and formula syntax. We also describe the challenges, such as synchronizing the textual representation with the Rodin database, and how they were overcome using an EMF abstraction layer.
Michael Jastram
ProR - Eine Softwareplattform für Requirements Engineering
[PDF] [Bibtex]Softwaretechnik-Trends, 31(1), 2011.
Gute Werkzeugunterstützung ist ein wichtiger Aspekt im Requirements Engineering. Es gibt zwar ein breites kommerzielles Angebot, aber wenige offene Lösungen. ProR ist eine OpenSource Software zum Arbeiten mit natürlichsprachigen Anforderungen. Es basiert auf dem Requirements Interchange Format (RIF), womit wir die Interoperabilität mit anderen Werkzeugen gewährleisten. Wir legen großen Wert auf die Erweiterbarkeit der Plattform, was wir mit einem Integrations-Plugin für die formale Event-B-Methode belegen.
Michael Jastram, Andreas Graf
Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF)
[PDF] [Bibtex]First Topcased Days Toulouse, 2011.
One important step of the systems engineering process is requirements engineering. Parallel to the development of Topcased, which includes tooling for requirements engineering, a new standard for requirements exchange is emerging at the OMG under the name “ReqIF” (formally called RIF). In our talk we introduce the activities of two research projects and their tool developments, VERDE (Yakindu Requirements) and Deploy (ProR) and discuss possible synergies with Topcased.
Mixing Formal and Informal Model Elements for Tracing Requirements
[PDF] [Bibtex]In booktitle, AVOCS 2011, 2011.
Tracing between informal requirements and formal models is challenging. A method for such tracing should permit to deal efficiently with changes to both the requirements and the model. A particular challenge is posed by the persisting interplay of formal and informal elements.
In this paper, we describe an incremental approach to requirements validation and systems modelling. Formal modelling facilitates a high degree of automation: it serves for validation and traceability.
The foundation for our approach are requirements that are structured according to the WRSPM reference model. We provide a system for traceability with a state-based formal method that supports refinement. We do not require all specification elements to be modelled formally and support incremental incorporation of new specification elements into the formal model. Refinement is used to deal with larger amounts of requirements in a structured way.
We provide a small example using Problem Frames and Event-B to demonstrate our approach.
Michael Jastram, Andreas Graf
Requirements, Traceability and DSLs in Eclipse with the Requirements Interchange Format (RIF/ReqIF)
[PDF] [Bibtex]Technical Report, Dagstuhl-Workshop MBEES 2011: Modellbasierte Entwicklung eingebetteter Systeme, 2011.
Requirements engineering (RE) is a crucial aspect in systems development and is the area of ongoing research and process improvement. However, unlike in modelling, there has been no established standard that activities could converge on.
In recent years, the emerging Requirements Interchange Format (RIF/ReqIF) gained more and more visibility in industry, and research projects start to investigate these standards. To avoid redundant efforts in implementing the standard, the VERDE and Deploy projects cooperate to provide a stable common basis for RIF/ReqIF that could be leveraged by other research projects too. In this paper, we present an Eclipse-based extensible implementation of a RIF/ReqIF-based requirements editing platform.
In addition, we are concerned with two related aspects of RE that take advantage of the common platform. First, how can the quality of requirements be improved by replacing or complementing natural language requirements with formal approaches such as domain specific languages or models. Second, how can we establish robust traceability that links requirements and model constructs and other artefacts of the development process. We present two approaches to traceability and two approaches to modelling.
We believe that our research represents a significant contribution to the existing tooling landscape, as it is the first clean-room implementation of the RIF/ReqIF standard. We believe that it will help reduce gaps in often heterogeneous tool chains and inspire new conceptual work and new tools.
Michael Jastram
ProR, an Open Source Platform for Requirements Engineering based on RIF
[PDF] [Bibtex]SEISCONF, 2010.
Proper tool support in requirements engineering is important. A number of proprietary solutions are available in the market place, but few open solutions, and none that are widespread at this time.
In this paper, we introduce ProR, an open platform for requirements engineering. The project was initiated by the EU FP7 Project ``Deploy'', which has the goal to make major advances in engineering methods for dependable systems through the deployment of formal engineering methods. Rather than building a project-specific solution, we decided to develop an extensible, general purpose platform.
We based the tool's data model on the Requirements Interchange Format (RIF / ReqIF), a standard driven by the automotive industry. This gives us interoperability with a number of existing tools. The tool is based on the Eclipse Platform and uses the Eclipse Modeling Framework (EMF). We managed to establish a cooperation with the ITEA-Project ``Verde'', which supplied the implementation of the RIF data model.
In this paper, we will introduce the tool, describe its architecture, and present a small case study. ProR is still under development, and we welcome contributors and are very interested in potential users to validate our approach. Please visit www.pror.org for more information, and to download the current development version.
An Approach of Requirements Tracing in Formal Refinement
[PDF] [Bibtex]In VSTTE, volume 6217 of Lecture Notes in Computer Science, Springer, 2010.
Formal modeling of computing systems yields models that are intended to be correct with respect to the requirements that have been formalized. The complexity of typical computing systems can be addressed by formal refinement introducing all the necessary details piecemeal. We report on preliminary results that we have obtained for tracing informal natural-language requirements into formal models across refinement levels. The approach uses the WRSPM reference model for requirements modeling, and Event-B for formal modeling and formal refinement. The combined use of WRSPM and Event-B is facilitated by the rudimentary refinement notion of WRSPM, which provides the foundation for tracing requirements to formal refinements.
We assume that requirements are evolving, meaning that we have to cope with frequent changes of the requirements model and the formal model. Our approach is capable of dealing with frequent changes, making use of corresponding techniques already built into the Event-B method.
Michael Jastram
Inspection and Feature Extraction of Marine Propellers
[Bibtex] Massachusetts Institute of Technology, 1996.
Localization Localization is the process of determining the rigid-body translations and rotations that must be performed on a set of points measured on a manufactured surface (like a propeller blade) to move those points into the closest correspondence with the ideal design surface. An additional parameter is an offset distance, such that the Euclidean motion brings the measured points as close as possible to an offset of the design surface. An algorithm to determine the seven parameters (three rotations, three translations, one offset) was developed in 1991 by R. A. Jinkerson. But that algorithm makes some assumptions about the surface and the measured points, which are sometimes not fulfilled. Specifically, it assumes, that a measured point has always an orthogonal projection on the offset surface, regardless of the translation and rotation parameters. This thesis extends Jinkerson's algorithm, so that these assumptions are not necessary any longer. This involves the development of a new objective function and its gradient.
Feature extraction During the manufacturing process, a propeller blade surface is subject to manufacturing inaccuracies, that result in small changes to the data describing its features. It is therefore desirable to recompute these features for comparison with the original design data. Most of the characteristics of a propeller blade are embedded in the camber lines of its hydrofoil sections. The objective of this part of the thesis is to recompute the camber line from a hydrofoil shape curve. An algorithm for this task has already been developed, but it makes the assumption that the blade thickness has a single maximum, which is often not fulfilled, especially, if the hydrofoil has been generated from measured data. In this thesis, a new algorithm has been developed. It generates a highly accurate camber line by using a two pass iteration method: The first pass generates an approximation of the camber line, and the second pass refines this approximation to the desired accuracy.
2012
Michael Jastram, Mark Brökens
ReqIF in der Open Source: Das Eclipse Requirements Modeling Framework (RMF)
[Bibtex]ReConf, 2012.
Durch die Freigabe des ReqIF-Standards im April 2011 durch die OMG gibt es nun einen internationalen Standard, der das verteilte Arbeiten mit komplexen Anforderungen ermöglicht. Damit könnte ReqIF für Anforderungen das werden, was die UML in der Modellierung geleistet hat: Einen gemeinsamen Standard bereitstellen, auf den die Gemeinschaft konvergieren kann. In diesem Vortrag stellen wir das Requirements Modeling Framework (RMF) vor. RMF ist ein neues Eclipse Foundation Projekt, das aus einem RIF/ReqIF-Kern und einer ReqIF-GUI besteht. RMF ist aus den zwei europäischen Forschungsprojekten Deploy und Verde entstanden. RMF stellt drei Kerne für RIF 1.1a, RIF 1.2 und ReqIF 1.0.1 zu Verfügung. Diese sind mit dem Eclipse Modeling Framework realisiert und ermöglichen das effektive programmatische Arbeiten mit RIF- und ReqIF-Daten. ProR ist der Name der GUI, mit der ReqIF-Daten komfortabel bearbeitet werden können. Dabei werden Anforderungen intuitiv tabellarisch dargestellt. ProR stellt Erweiterungspunkte zur Verfügung, über die andere Eclipse-basierte Werkzeuge integriert werden können. In diesem Vortrag werden wir das Projekt vorstellen, die Architektur beschreiben, die Möglichkeiten einer Eclipse-basierten Plattform demonstrieren und eine Demo von ProR geben.
Online unter http://2012.reconf.de/methodenvortrge1/reqif-in-der-open-source-das-eclipse-requirements-modeling-framework-rmf/
Michael Jastram
Strukturierung von Anforderungen für eine enge Integration mit Modellen
[PDF] [Bibtex]ReConf, 2012.
Anforderungsmanagement und Modellierung - schon lange ist bekannt, dass sich diese beiden Ansätze gut ergänzen, aber wie verzahnt sind sie in der Praxis wirklich? Schauen wir uns doch mal einen Ansatz wie SysML an: Zwar können damit Anforderungen mit Modellelementen verknüpft werden; aber die Anforderungen sind nach wie vor einfach nur Textblöcke. In diesem Vortrag stellen wir einen Ansatz vor, bei dem die natürlichsprachigen Anforderungen umstrukturiert werden, um die Nachverfolgbarkeit zu Modellen zu vereinfachen. Wir basieren unsere Arbeit auf dem WRSPM-Referenzmodell von Gunter. Diese Strukturierung allein verbessert bereits die Qualität der Anforderungen. Aber noch wichtiger, sie ermöglicht eine wesentlich tiefere Verknüpfung mit einem Modell. Unser Ansatz kann mit verschiedenen Modellen umgesetzt werden. In unserer Forschungsarbeit arbeiten wir mit der formalen Event-B-Methode. In diesem Vortrag werden wir aber auch zeigen, wie der Ansatz mit leichtgewichtigen Modellen genutzt werden kann, zum Beispiel SysML. Einer der Hauptvorteile unseres Ansatzes ist es, dass nicht alle Anforderungen mit dem Modell verknüpft werden müssen. Denn nicht alle Anforderungen eignen sich für die Modellierung. Neben der theoretischen Arbeit zeigen wir auch das von uns entwickelte Werkzeug ProR, das das Arbeiten mit diesem Ansatz ermöglicht. ProR ist Teil des Eclipse Foundation Projekts RMF (Requirements Modeling Framework). Mit entsprechenden Erweiterungen ist eine Integration von ReqIF-basierten Anforderungen mit Event-B oder SysML prototypisch umgesetzt worden.
Online unter http://2012.reconf.de/wissenschaftstrack01/christian-albrechts-universit010/
2011
Michael Jastram, Andreas Graf
Eclipse Magazin, 6.11, 2011.
Im August 2011 hat das Requirements Modeling Framework (RMF) als ein neues Eclipse-Projekt das Licht der Welt erblickt. RMF besteht aus einem Kern, der Daten im Requirements Exchange Format (RIF/ReqIf) verarbeiten kann, und einem GUI namens ProR, mit dem sich diese Daten komfortabel bearbeiten lassen. ProR stellt einen Extension Point zur Verfügung, der die Integration mit anderen Werkzeugen ermöglicht.
Online unter http://it-republik.de/jaxenter/artikel/Das-Eclipse-Requirements-Modeling-Framework-4403.html
2008
Eclipse Rich Client Platform, Teil 2
[Bibtex]Java Magazin, 1, 2008.
Im ersten Teil dieser Artikelreihe wurden die Grundlagen der Eclipse Rich Client Platform vermittelt und damit begonnen, einen einfachen File Browser zu bauen. Am Ende des Artikels hatten wir ein lauffähiges Programm mit eingeschränkter Funktionalität. In diesem zweiten Artikel wird dem System ein Editor hinzugefügt. Des Weiteren werden Actions beschrieben, und gezeigt, wie man diese über Konfigurationen mehrfach in die Anwendung einbinden kann.
Eclipse Rich Client Platform, Teil 3
[Bibtex]Java Magazin, 2, 2008.
In den vorherigen Teilen der Artikelreihe wurden Erweiterungspunkte der Rich Client Platform (RCP) verwendet. In diesem Artikel wird gezeigt, wie man Erweiterungspunkte selber definieren kann. Aus einer einfachen Anwendung wird dadurch eine erweiterbare Plattform.
Die Eclipse Rich Client Platform: Entwicklung von erweiterbaren Anwendungen mit RCP
[Bibtex]Software und Support Verlag, ISBN: 9783939084914, 2008.
Plug-in- und Rich-Client-Entwicklung ist auch für erfahrene Entwickler eine große Herausforderung. Sie müssen sich an neue Standards anpassen. Das macht ein Umdenken notwendig. Das Buch zeigt, warum dieses Umdenken sich lohnt. Es stellt die Plug-in-Entwicklung in den Mittelpunkt. Eine komplexe RCP-Beispielanwendung wird in kleinen, gut verständlichen Schritten erarbeitet. Ein leichter Einstieg für alle Entwickler, die zum ersten Mal eine RCP-Anwendung schreiben wollen. Ein Buch für Entwickler, Programmierer, die sich an RCP-Anwendungen versuchen wollen Alle Codebeispiele, Java Virtual Machine, Eclipse auf der Webseite jmage.net
2007
Eclipse Rich Client Platform, Teil 1
[Bibtex]Java Magazin, 12, 2007.
Mit der Eclipse Rich Client Platform (RCP) steht dem Entwickler von Desktop-Applikationen ein Framework zur Verfügung, das weit über die reine Darstellung hinaus Funktionalität, wie automatische Updates, anbietet. Zusätzlich kann man eigene Applikationen durch weitere Plug-ins von Drittanbietern ergänzen, z.B. durch grafische Editoren. In dieser Artikelreihe wollen wir einen einfachen Datei-Browser als Rich Client erstellen und dabei die grundlegenden Techniken darstellen.
Michael Jastram
Wie gründe ich eine Java User Group?
[Bibtex]JavaSpektrum, 3, 2007.
In den USA sind Java User Groups (JUGs) weit verbreitet und in jeder größeren Stadt zu finden. In Deutschland ist das noch nicht der Fall. Zwar gibt es eine Handvoll etablierter und sehr erfolgreicher JUGs, aber dennoch ist Deutschland bei weitem nicht mit aktiven JUGs abgedeckt. Die Düsseldorfer JUG hat in gut einem Jahr 200 Mitglieder gewonnen, davon nehmen 40 bis 80 aktiv an den Veranstaltungen teil. Dieser Beitrag beschreibt die Gründung bzw. Wiederbelebung der Düsseldorfer JUG und gibt Tipps, wie man eine erfolgreiche JUG auf die Beine stellen kann.
2005
Michael Jastram
JavaSpektrum, 6, 2005.
Das Spring-Framework erfreut sich wachsender Beliebtheit bei der Entwicklung eleganter, gut entworfener Anwendungen. Dieser Artikel setzt sich speziell mit der JDBC-Unterstützung in Spring auseinander und zeigt, wie schnell mit Spring-JDBC Resultate erzeugt werden können und wie man in existierenden Altanwendungen fließend zur Nutzung von Spring übergehen kann.
2001
Michael Jastram
Adding Multibyte Capabilities After the Fact
[Bibtex]Multilingual Computing & Technology, 12, 2001.
A case history of adapting e-mail marketing software that was not designed with internationalization in mind.
1988
Michael Jastram
PC Plus Magazin, 11, 1988.