Фундаментальные концепции моделирования ( FMC ) предоставляют основу для описания систем с интенсивным программным обеспечением. Они делают сильный акцент на коммуникации о системах с интенсивным программным обеспечением с использованием полуформальной графической нотации, которую легко понять.
FMC различает три точки зрения на программную систему:
FMC определяет специальный тип диаграммы для каждой перспективы. Диаграммы FMC используют простую и лаконичную нотацию. Цель диаграмм FMC — облегчить общение о программной системе не только между техническими экспертами, но и между техническими экспертами и экспертами по бизнесу или предметной области. Понятность диаграмм FMC сделала их известными среди их сторонников.
Обычный подход при работе с FMC заключается в том, чтобы начать с высокоуровневой диаграммы композиционной структуры системы. Эта диаграмма «большой картины» служит в качестве справочного материала в общении со всеми заинтересованными сторонами проекта. Позже высокоуровневая диаграмма итеративно уточняется для моделирования технических деталей системы. Дополнительные диаграммы для процессов, наблюдаемых в системе, или доменов значений, обнаруженных в системе, вводятся по мере необходимости.
FMC использует три типа диаграмм для моделирования различных аспектов системы:
Все диаграммы FMC являются двудольными графами. Каждый двудольный граф состоит из двух непересекающихся наборов вершин с условием, что ни одна вершина не соединена с другой вершиной того же набора. В диаграммах FMC элементы одного набора представлены угловатыми фигурами, а элементы другого набора представлены изогнутыми фигурами. Каждый элемент в диаграмме FMC может быть уточнен другой диаграммой того же типа, при условии, что объединенный граф также является двудольным. Этот механизм позволяет моделировать все соответствующие уровни абстракции с помощью одной и той же нотации.
Диаграммы композиционной структуры отображают статическую структуру системы и отношения между компонентами системы. Компоненты системы могут быть активными или пассивными. Агенты — это активные компоненты системы. Они выполняют действия в системе. Хранилища и каналы — это пассивные компоненты, которые хранят или передают информацию.
Изображение справа — пример диаграммы композиционной структуры. Она содержит агентов Order Processor , Supplier Manager , Supplier , Online Shop и неназванного агента-человека . Агенты представлены прямоугольниками. Точки и тень агента Supplier указывают на то, что этот агент имеет несколько экземпляров, т. е. менеджер-поставщик общается с одним или несколькими поставщиками. Так называемый агент-человек представляет собой пользователя, взаимодействующего с системой.
Диаграмма содержит хранилища Orders , Purchase Order и Product Catalog . Хранилища представлены изогнутыми фигурами. Агенты могут считывать данные из хранилищ, записывать данные в хранилища или изменять содержимое хранилищ. Направления стрелок указывают, какую операцию выполняет агент. На диаграмме менеджер по работе с поставщиками может изменять содержимое Product Catalog , тогда как обработчик заказов может только считывать содержимое Product Catalog .
Агенты общаются через каналы. Направление потока информации указывается стрелками (не показано на рисунке), символом запрос-ответ (например, между менеджером по работе с поставщиками и поставщиком ) или опускается (например, между обработчиком заказов и менеджером по работе с поставщиками ).
Динамические структуры выводятся из сетей Петри .
Диаграммы структур диапазонов значений (также известные как диаграммы сущностей-связей FMC) можно сравнить с моделью «сущность-связь» .