служебные слова сценарного блока стали частью словаря набора
- `КОГДА`, `ТОГДА`, `И`, `ИЛИ` (по-английски WHEN/THEN/AND/OR) подчиняются тем же требованиям, что модальные слова: одна форма на роль, заглавными, набор один на канон и выбирается под естественный язык - модальностью они не являются — обязательности не задают, только структуру, поэтому в строку о версии языка не попадают и под проверку «модальные слова вне правил» не подпадают - единственный сценарный блок канона (SLOG, «Два цикла повтора») переписан с WHEN/AND на русские связки; отказ от `GIVEN/WHEN/THEN` уточнён — он касается общей формы записи, а на стыке правил эта форма взята сознательно
This commit is contained in:
+47
-17
@@ -24,8 +24,8 @@ version: 1
|
||||
| **ISO/IEC Directives, Part 2** | разделение «требование — рекомендация — разрешение — возможность»; запрет модальных глаголов в утверждениях о факте | списки равнозначных словесных форм («is to», «is required to», «only … is permitted») |
|
||||
| **ISO/IEC/IEEE 29148** | обоснование как обязательный атрибут; единичность нормы; проверяемость; метод верификации отдельным атрибутом | остальной аппарат требований: приоритеты, источники, матрицы трассируемости |
|
||||
| **DMN** | таблица решений с объявленной политикой совпадения и требованием полноты | исполняемая семантика и всё, что предполагает движок решений |
|
||||
| **EARS** | вывод о том, что выигрыш даёт жёсткий шаблон, а не его конкретный вид; паттерн «нежелательное поведение» — в виде таблицы | шаблоны с субъектом-системой: `WHEN`, `WHILE`, `WHERE` |
|
||||
| **OpenSpec** | четырёхчастная форма правила; адресуемость правила идентификатором | `SHALL`; `GIVEN/WHEN/THEN` как общая форма записи |
|
||||
| **EARS** | вывод о том, что выигрыш даёт жёсткий шаблон, а не его конкретный вид; паттерн «нежелательное поведение» — в виде таблицы | шаблоны как форма записи правила: `WHEN`, `WHILE`, `WHERE` |
|
||||
| **OpenSpec** | четырёхчастная форма правила; адресуемость правила идентификатором; форма «условие → следствие» для стыка правил | `SHALL`; `GIVEN/WHEN/THEN` как общая форма записи |
|
||||
|
||||
Три отклонения стоят объяснения, потому что выглядят как произвол.
|
||||
|
||||
@@ -40,12 +40,17 @@ version: 1
|
||||
контракт, которого конвенция не даёт. Для англоязычного словаря это означает
|
||||
выбор в пользу `MUST` из BCP 14, а не `shall` из ISO/IEC Directives.
|
||||
|
||||
**`GIVEN/WHEN/THEN` не берётся.** У спецификации субъект — система, и её
|
||||
поведение разворачивается во времени: состояние, событие, исход. У конвенции
|
||||
субъект — автор кода, и разворачивать нечего: есть ситуация выбора и вердикт.
|
||||
Это таблица, а не траектория. Тем же рассуждением отклонены шаблоны EARS с
|
||||
субъектом-системой, а взят из EARS другой результат: измеримый выигрыш дала
|
||||
там сама обязательность шаблона, а не его конкретная форма.
|
||||
**`GIVEN/WHEN/THEN` не берётся как общая форма.** У спецификации субъект —
|
||||
система, и её поведение разворачивается во времени: состояние, событие,
|
||||
исход. У конвенции субъект — автор кода, и разворачивать нечего: есть
|
||||
ситуация выбора и вердикт. Это таблица, а не траектория. Тем же рассуждением
|
||||
отклонены шаблоны EARS как форма записи правила, а взят из EARS другой
|
||||
результат: измеримый выигрыш дала там сама обязательность шаблона, а не его
|
||||
конкретная форма.
|
||||
|
||||
Исключение — стык правил, где субъект действительно система: там форма
|
||||
«условие → следствие» берётся сознательно, вместе со служебными словами под
|
||||
неё. Это единственное место, и оно описано в «Таблицах решений».
|
||||
|
||||
## Что даёт формализация
|
||||
|
||||
@@ -158,9 +163,14 @@ Directives, Part 2, по одной форме записи на ступень,
|
||||
|
||||
## Словарь другого языка
|
||||
|
||||
Для английского готовый словарь даёт BCP 14. Для любого другого языка слова
|
||||
берут из перевода стандарта, если он есть, или переводят сами: шкала и
|
||||
семантика ступеней при этом не меняются — меняется только запись.
|
||||
Словарь набора — это два перечня: модальные слова и служебные слова
|
||||
сценарного блока (`КОГДА`, `ТОГДА`, `И`, `ИЛИ` — см. «Таблицы решений»).
|
||||
Требования к ним одни и те же.
|
||||
|
||||
Для английского готовый словарь модальных слов даёт BCP 14. Для любого
|
||||
другого языка слова берут из перевода стандарта, если он есть, или переводят
|
||||
сами: шкала и семантика ступеней при этом не меняются — меняется только
|
||||
запись.
|
||||
|
||||
| Ступень | Русский | Английский (BCP 14) |
|
||||
|---|---|---|
|
||||
@@ -264,17 +274,37 @@ Directives, Part 2, по одной форме записи на ступень,
|
||||
возможен случай вне перечисленных, он назван отдельной строкой, а не
|
||||
оставлен на догадку.
|
||||
|
||||
Прозаический сценарий остаётся точечным инструментом — для **стыка правил**,
|
||||
когда два правила вместе дают неочевидный результат:
|
||||
Сценарный блок остаётся точечным инструментом — для **стыка правил**, когда
|
||||
два правила вместе дают неочевидный результат:
|
||||
|
||||
```
|
||||
WHEN зависимость недоступна и ретраи вызова исчерпаны → ext-запись ERROR
|
||||
AND тик фонового цикла упал по той же причине → доменная запись WARN
|
||||
КОГДА зависимость недоступна И ретраи вызова исчерпаны
|
||||
ТОГДА внешний вызов даёт запись ERROR,
|
||||
И тик фонового цикла, упавший по той же причине, — запись WARN
|
||||
```
|
||||
|
||||
Такой блок ставится после обоих правил и ссылается на их идентификаторы.
|
||||
Если стыков нет — сценариев в файле нет.
|
||||
|
||||
Форма «условие → следствие» здесь взята намеренно, хотя как **общая** форма
|
||||
записи она отклонена: на стыке правил субъект действительно система, и
|
||||
результат разворачивается во времени — то самое, для чего эта форма и
|
||||
придумана. Служебные слова блока перечислены ниже и подчиняются тем же
|
||||
требованиям, что модальные: одна форма на роль, заглавными, набор один на
|
||||
канон.
|
||||
|
||||
| Роль | Русский | Английский |
|
||||
|---|---|---|
|
||||
| условие | КОГДА | WHEN |
|
||||
| следствие | ТОГДА | THEN |
|
||||
| соединение | И | AND |
|
||||
| выбор | ИЛИ | OR |
|
||||
|
||||
Модальными словами они не являются: обязательности не задают, только
|
||||
структуру. Поэтому в строку о версии языка они не попадают — там
|
||||
перечисляется то, чему нужно определение, а логическая связка читается сама,
|
||||
— и под проверку «модальные слова вне правил» не подпадают.
|
||||
|
||||
## Идентификаторы
|
||||
|
||||
- Формат — `<ПРЕФИКС>-<номер>`: `KEYS-5`, `SLOG-27`. Префикс принадлежит
|
||||
@@ -340,8 +370,8 @@ MIGR-6 не соблюдается в легаси-таблицах `show_histor
|
||||
|
||||
Разбором текста:
|
||||
|
||||
- модальные слова принадлежат объявленному словарю канона, а не смеси
|
||||
словарей;
|
||||
- модальные и служебные слова принадлежат объявленному словарю канона, а не
|
||||
смеси словарей;
|
||||
- префикс в шапке файла совпадает с реестром, состоит из четырёх заглавных
|
||||
латинских букв, не начинается на `X` и не значится в списке выбывших;
|
||||
- заголовки правил файла используют только его собственный префикс;
|
||||
|
||||
Reference in New Issue
Block a user