Бизнес-процессы можно автоматизировать разными способами, отличающимися степенью жесткости автоматизации. Другими словами, некоторые способы автоматизации позволяют повторять процесс с меньшими вариациями.

Семантическая точность - это то, что определяет жесткие и гибкие части автоматизации бизнес-процесса. Чем выше точность, тем меньше гибкости.

Semantics in Business Systems

Обычно более семантически точные системы/процессы являются более эффективными. Но это не всегда так.

В случае компьютерных приложений очевидно, что семантический уровень (semantic awareness) закладывается архитектором, поскольку именно архитектор определяет используемые абстракции. Пользователи системы не могут изменить этот уровень и вынуждены пользоваться имеющимся. Поскольку вариативность бизнес-процесса исходит от пользователей, они оказываются в ситуации, когда ПО неспособно реализовать требуемую автоматизацию для новой версии бизнес-процесса даже с небольшими отклонениями от первоначального варианта.

Другими словами, современные компьютерные системы зачастую очень жестко автоматизируют процесс, так как работают с очень семантически точными данными, то есть функционируют на предельно конкретном уровне. Жесткость автоматизации приводит к тому, что при малейших изменениях процесса ПО приходится изменять на уровне артефактов (изменять код, перекомпилировать, деплоить новый экземпляр).

За счет введения семантически оправданных абстракций возможно обобщить системы и таким образом “смягчить” автоматизацию и поддержать большее количество вариаций в бизнес-процессах. Это можно (и нужно) делать инкрементно, т.е. при получении новых требований расширять/обобщать (а не заменять нужную часть) ПО, чтобы поддержать любые изменения такого рода (в идеале - без изменения кода и деплоя нового экземпляра). Другими словами, Обязательно следовать OCP при изменениях кода.

Тут возможны связи, которые еще предстоит обдумать: