In this section we will explore the concepts and ideas that RIDDL uses. This is not about the RIDDL language syntax, but about the concepts that the language uses and how they relate to each other.
RIDDL consists only of definitions that define the design of the desired system.
Definitions in RIDDL are arranged in a hierarchy. Definitions that contain other definitions are known as containers or parents. Definitions that do not contain other definitions are known as leaves.
This is done simply by having an attribute that lists the contents of any definition:
- contents: The contained definitions that define the container. Not all definitions can contain other ones so sometimes this is empty.
The valid hierarchy structure is shown below, but to make this hierarchy easier to comprehend, we’ve taken some short-cuts :
- All the common attributes have been omitted for brevity but are implied on each line of the hierarchy.
- We only descend as far as an Example definition; but you should infer this extended hierarchy wherever an Example occurs:
- We only descend as far as a Type definition. Whenever you see one, you should infer this hierarchy:
With those clarifying simplifications, here’s the hierarchy:
When you’re done exploring all the concepts, check out our guides next.
- Application Element
- On Clauses
- Saga Steps
- Story Case
- Vital Definitions