a Data Dictionary Notation for Data Flow Diagram, inspired by EBNF and normal programming languages
- It is more about human-friendliness than syntactic rigor.
- Its notation should be able to written by normal IME.
- It is should be easy to understand and use for software developers.
- 'Data Element' corresponds 'element' in EBNF.
- Unlike EBNF, No predefined terminal symbols or elements. Every element is basically considered as terminal, excepting 'Composite Data Element'.
- Unspecified behaviors should be construed in terms of EBNF and DD as possible.
- Notation symbols must be in ASCII charset in order to make typing easy. Format text such as superscripts are not used unlike general DD notation.
symbol | meaning | EBNF | DD |
---|---|---|---|
= |
equals, is composed of, assignment, definition | = , ::= |
:= |
+ |
and, concatenation, sequence | , |
+ |
- |
exception | - |
|
| |
mutually exclusive or, alternation, selection | | |
[|] |
() |
grouping | () |
|
{} , {}min..max |
repetition, iterationmin or max can be omitted and its default values are 0, infinity. |
{} |
{} |
[] |
optional | [] |
() |
<> |
non-terminal data element | <> |
|
* * |
comment | (* *) |
* * |
-
It defines non-terminal composite data element.
-
Assignment statement enclosed with
()
can be evaluated to composite element. (like 'assignment expression' in JavaScript)example:
<request> = header + ( <body> = { item } + metadata )
()
,{}
,[]
+
,-
,|
=