Commit af842b4d authored by Alvaro Mario Veizaga Campero's avatar Alvaro Mario Veizaga Campero
Browse files


parent 876c62fe
# Rimay a Controlled Natural Language for Functional Requirements
Rimay is a domain specific language for writing functional requirements in the financial domain. Rimay editor is implemented using the Xtext language engineering framework.
## Prerequisites:
- Java Runtime Environment
- Eclipse IDE for Java and DSL Developers ([download link](
## Steps:
1. Open Eclipse and select a workspace
2. Use the Import wizard and select `General > Existing Projects into Workspace` to import the modules.
2. Run the file `dsl_rimay/org.xtext.dsl_rimay/src/org/xtext/Dsl_rimay.xtext` selection the option `Generate Xtext Artifacts`.
3. Select the root project `dsl_rimay/org.xtext.dsl_rimay/` and click in the `run` button and select `run as Eclipse application`
4. A new instance of Eclipse with the Rimay installed will be opened.
5. Create a file with the extension `.rimay` and you can start writing functional requirements
There is no public update site for DDK yet, so
import all plugins from this repository into a new Eclipse workspace
change current target to
compile and export the four features available in the workspace (runtime, and the DDK itself)
Install the exported features into your Eclipse
## Examples of Functional Requirements written in Rimay:
Actors: actor SystemA, actor SystemB, actor SystemC
Classes: class Instruction := description record
\\Requirement 1:
When SystemB receives an "email alert" from SystemA, SystemB must send an Instruction to SystemC.
\\Requirement 2:
If Instruction.description contains a "Keyword" or Instruction.record is "Live", then SystemA must create "A".
\\Requirement 3:
If the following conditions are satisfied:
- the "Instruction" has the properties described on "Section Y",
- the "Instruction" has the properties: "Owner, Status and Settlement Date" and
- the "Account Number" field contains "0000", then SystemA must send Instruction to SystemB.
\\Requirement 4:
The User must upload the "excel file" to the "SystemA".
\\Requirement 5:
The SystemA must do the following actions in sequence:
1 create an "Instruction"
2 send "Instruction" to SystemB.
## License:
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment