Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Функции компонент и сервисы модулей

Не нужно путать функцию (поведение компоненты) и сервис (поведение модуля).

Функция -- это внешнее поведение компоненты в её операционном окружении. Функции обсуждают во время работы целевой системы, компоненты взаимосвязаны в своих функциях, чем и обеспечивают эмерджентность -- появление функции, отсутствующей у её взаимосвязанных компонент.

Сервис -- это законтрактованное (т.е. определённое во время разработки и выбора модулей, во время интеграции системы из модулей) внешнее поведение модуля в его операционном окружении, проявляющееся через интерфейс этого модуля. Сервисы по возможности стандартны (open architecture, их интерфейсы не проектируются специально, а определяются опубликованными стандартами).

Сервисы (реальное поведение модулей на их интерфейсах) используются инженерами для того, чтобы реализовать функции (логическое поведение компонент на их связях). Можно сказать, что сервисы (реализуемые модулями) назначаются инженерами на функции (реализуемые компонентами). Модульный синтез по факту является сервисным синтезом -- интересует синтез не только системы-продукта/вещи, но и сервисов, которые на выходе дадут ожидаемое от системы поведение, синтез системы-функции/сервиса/поведения.

Помним, что на границе целевой системы компоненты и модули обычно совпадают. И вообще, в большинстве случаев их соответствие 1:1, но это не всегда так. Стремятся обычно, чтобы множество функций выполнялось одним модулем, множество функций было скрыто за одним интерфейсом.

Так, в компрессоре вентильный двигатель реализован в виде магнитов, прикреплённых к ротору (это часть "роторной сборки", наряду с лопатками колеса турбинки) и каких-то обмоток на корпусе (это часть "корпусной сборки"), плюс внешняя коробочка управляющей и силовой электроники как часть той же "корпусной сборки". Нет модуля двигателя, но есть его функция. Сервис же есть от компрессора в целом, он определяется главным образом поставщиком компрессора. Функция же компрессора в момент поставки неизвестна -- она определяется использующим его в своих проектах инженером по отношению к его системному окружению.

Это разъяснение для тех, кто знаком с моим курсом системного мышления -- все эти слова (компоненты и их связи, модули и их интерфейсы, операционное окружение и эмерджентность) термины, их определения можно посмотреть в учебнике http://techinvestlab.ru/systems_engineering_thinking/. И помнить при этом, что речь идёт не столько о словах-терминах, сколько об их значениях, мы за сами выбранные слова не держимся (в учебнике Косякова, например, наша "компонента" -- это "функциональный элемент", а наш "модуль" -- "компонента").

UPDATE: дискуссия в https://vk.com/wall2449939_1214
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 11 comments