Login | Register
My pages Projects Community openCollabNet

Project home

2020-04-07: This site is going to be decommissioned and shut down on 2020-07-01. Please copy and archive any data you wish to keep before that date.

If you were registered and logged in, you could join this project.

Summary Simple language and tools for sorting, filtering, and processing
Category requirements
License Apache License
Owner(s) bannerman

Every software project is driven by requirements - at least initially.

Sometimes the requirements are in people's heads; sometimes they are written on index cards; sometimes they are persisted in documents or spreadsheets; and sometimes they are persisted in databases.

Where requirements exist, and the tools we have to find, browse, transform, and share them, determine the extent to which a software project is driven by requirements.  If your experience is like mine, requirements are not as useful as they could or should be.

Often, at the beginning of a project, we just get a general idea of what the requirements are and then forget about them until the defects start coming in.  They usually do not play a vital role in determining where we should apply our efforts each day.

This project provides two solutions: (1) a Requirement Markup Language (RML) with which requirements can be embodied in a file; and (2) a set of configurable software tools to find, browse, transform, and share these requirement files.


The goal of this project is to provide a simple, flexible, and cheap toolset for embodying and manipulating requirements. If we meet this goal, then the larger goal of "requirements driven development" will be enabled.

The scope of this project includes, but is not necessarily limited to:

  • Defining dialacts of the requirements language that are applicable for specific methods (for example: Scrum)
  • Developing tools for programmatic access and transformation of requirements
  • Developing tools for graphical access and transformation of requirements

Here are the current assumptions about the project:

  • we will use requirements markup language (RML) for embodying requirements dialects of all "shapes and sizes."
  • we will develop the tools for manipulating requirements in Java (at least for now).
  • we will specifically aim to support agile development methods with our requirements dialects and toolsets.

Related resources

  • A discussion of the strengths and weaknesses of alternative solutions for embodying and manipulating requirements is available here
  • The xmlbasedsrs project - this project is similar but we intend to embody the requirements at a much more granular level.

Main Project Pages