A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/sscit/rel below:

sscit/rel: A domain specific language for requirements engineering. Besides the DSL, the REL framework contains Python integration, and a Visual Studio Code Extension for IDE support to work with the DSL.

REL - Requirements Engineering Language

The REL framework includes a domain specific language to handle requirements in large software projects. It is used to create a requirements model, which consists of the specification and the actual requirements data.

The Requirements Specification (file extension rs) contains definitions of types and enumerations, which structure the requirements. For every project, it is necessary to define the requirements specification and adapt it to the project's needs.

The Requirements Data (file extension rd) contains the actual data. It consists of instances of the types defined in the specification, which carry the corresponding data.

Requirements Specification spec.rs:

type Requirement
{
    Unique_Id : id,
    Text : string,
    /* Defines the state of the requirement,
       whether it is already accepted by
       the product owner. */
    State : RequirementState,
}

type Information
{
    Unique_Id : id,
    Text : string,
}

enum RequirementState 
{
    Draft,
    In_Discussion,
    Accepted,
    Rejected,
}

Typically in the specification, a type Requirement is defined, which has a set of attributes, like the requirement text and a unique identifier. Additionally, enumerations can be used for further attributes and their discrete values.

Requirements Data req_data.rd:

Requirement
{
    Unique_Id : dsl1,
    Text : "The REL language shall support comments in both
    specification and data files.",
    State : Accepted,
}

Within the data part, the type Requirement is instantiated multiple times, each instance containing the text of the requirement, its unique identifier and the current state of the requirement.

The following libraries and tools are part of the REL framework:

Development Enviroment of REL Framework

The REL project uses Bazel as build environment.

Branch main is protected and pushes directly to the branch will be rejected. Create a feature branch and pull request, to get changes into main.

Every PR that is supposed to go into main is validated in CI via Github Action. The action builds all libraries and binaries of the framework, runs all test cases and validates REL's requirements with rel_cli

The following tools are required to build and run REL:

Validate REL framework requirements

To process REL framework requirements, execute the following steps:

  1. Clone this repository from Github
  2. Build REL command line interface: bazel build //rel-cli:rel_cli
  3. Run the binary with the following command: bazel-bin/rel-cli/rel_cli -r -v ./requirements/

Additionally, the following projects give an impression of the language on a larger scale:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4