Научная статья на тему 'СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ НА ОСНОВЕ МАТРИЧНЫХ КОНСТРУКЦИЙ'

СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ НА ОСНОВЕ МАТРИЧНЫХ КОНСТРУКЦИЙ Текст научной статьи по специальности «Математика»

CC BY
47
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
системный анализ / система управления / модуль / объекты / нисходящее проектирование / декомпозиция / целостность / systems analysis / control system / module / objects / top-down design / decomposition / integrity

Аннотация научной статьи по математике, автор научной работы — Льноградский Леонид Аркадьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SYSTEM DESIGN BASED ON MATRIX CONSTRUCTIONS

The basic concepts of systems theory are considered from the standpoint of a developer performing a specific project. A sequence of design decisions is proposed, which allows ensuring the integrity of the system at all stages of design. A construction based on a formal definition of the system and concepts of components, which allows fixing design solutions in a predetermined form, is proposed. The advantages of the matrix approach in solving practical problems are briefly outlined.

Текст научной работы на тему «СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ НА ОСНОВЕ МАТРИЧНЫХ КОНСТРУКЦИЙ»

УДК 303.732

doi:10.18720/SPBPU/2/id21-70

Льноградский Леонид Аркадьевич,

руководитель ИТ отделения, канд. техн. наук

СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ НА ОСНОВЕ МАТРИЧНЫХ КОНСТРУКЦИЙ

Россия, г. Самара, ООО «ССИ Шефер», l.a.lnograd@gmail.com

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

Ключевые слова: системный анализ, система управления, модуль, объекты, нисходящее проектирование, декомпозиция, целостность.

Leonid A. Lnogradsky,

Head of IT Department, Candidate of Technical Sciences

SYSTEM DESIGN BASED ON MATRIX CONSTRUCTIONS

Russia, Samara, LLC "SSI Schaefer", l.a.lnograd@gmail.com

Abstract. The basic concepts of systems theory are considered from the standpoint of a developer performing a specific project. A sequence of design decisions is proposed, which allows ensuring the integrity of the system at all stages of design. A construction based on a formal definition of the system and concepts of components, which allows fixing design solutions in a predetermined form, is proposed. The advantages of the matrix approach in solving practical problems are briefly outlined.

Keywords: systems analysis, control system, module, objects, top-down design, decomposition, integrity.

Задачи теоретического исследования систем и задачи их проектирования различаются тем, что в первом случае мы идем от реального объекта к его модели, а во втором сначала появляется модель, а уже потом ее реализация. Как следствие, методы исследования и методы разработки используют одни и те же понятия и представления, но у разработчика возникает свое видение основных положений теории систем.

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

стабильных потоков ресурсов (объектов), которые участвуют в соответствующих процессах. Допустим, нас интересуют регулярные потоки ресурсов. Тогда наши рассуждения сводятся к следующему.

Мир состоит из множества ресурсов, которые постоянно находятся в движении. В пределах любого промежутка времени часть ресурсов остается неизменной, другая часть просто перемещается, а третья превращается в новые ресурсы. Выбирая один из регулярных потоков, в котором основные события постоянно повторяются, мы называем его системой, и при этом включаем в это понятие и все обеспечивающие его объекты и процессы.

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

В предлагаемой работе рассматривается один из подходов к формированию такой конструкции. Выделение системы из окружащего мира приводит к появлению «внутренней части», которую мы рассматриваем во всех подробностях, а также «внешней части», которая обеспечивает систему необходимым сырьем и принимает готовые результаты. Несмотря на то, что внешние процессы нас не интересуют, мы вынуждены участвовать в них. Например, анализировать рынок сбыта, искать потребителей, заключать с ними договоры, планировать отгрузку. Разделение на внутреннюю и внешнюю части зависит от позиции наблюдателя, а в сложных системах представляет собой многоуровневую структуру. Заметим, что оно проводится как в пространстве, так и во времени.

В определении, сформулированном В.Н. Волковой, система понимается как совокупность взаимодействующих компонент

S = ( Z, STR, TECH, COND )

где Z - структура целей, STR - структуры, реализующие цели, TECH - технологии и COND - условия существования системы [1].

При определенной трактовке можно увидеть в этом определении две пары компонент - пространственную и временную. Например, если считать, что STR - это внутренние процессы и ресурсы, а COND - внешние, получаем единую пространственную структуру, в которой наблюдатель занял определенную позицию, разделив ее на две компоненты.

С точки зрения разработчика сложной системы, выделение двух уровней для моделирования недостаточно. Например, хотелось бы иметь уровни рабочего места, участка, цеха, завода. Все они обмениваются не-

которыми ресурсами S, а также имеют другие, внутренние ресурсы W, которые не выходят за пределы уровней. Тогда все множество ресурсов можно разделить на группы:

R = {Gi, G2, G3, ... } = {(Wj, Sn); (S12, W2, S23); (S23, W3, S34) ... }

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

Функция обмена ресурсами Ti,i+j ={ Tt ( Si,i+j), Ti+j( Si,i+j) } представлена в виде двух согласованных составляющих, каждая из которых выполняется на соответствующем уровне. Отгрузке ресурса должна соответствовать его приемка другой стороной. Функции переработки имеют вид Rj = Pj ( Sx, Wy,... ), где Rj может быть как S, так и W, а в качестве аргументов могут участвовать любые ресурсы данного уровня. Переработка осуществляется только внутри групп.

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

До сих пор рассматривалось пространственное разделение ресурсов и функций по уровням. Аналогичный результат получаем, рассматривая их разделение по времени. В этом случае компоненты Z и TECH образуют пару, разбиваемую на несколько уровней. Например, день, неделя, месяц, квартал, год. Для того, чтобы обеспечить ежедневный выпуск продукции (цель) необходимо выполнять еженедельную смазку оборудования, ежемесячную выплату зарплаты, закупку нового оборудования и так далее (технологии). Получаем соответствующие группы ресурсов, где V - это ресурсы одного уровня, а C - ресурсы, используемые на смежных уровнях.

R = {Qi, Q2, Q3,...} = {(Vi, C12); (C12, V2, C23); (C23, V3, C34)...}

Функции обмена и переработки выглядят аналогично:

Ti,i+1 = { Ti ( Ci,i+1 ), Ti+1( Ci,i+1 ) } Rj = Pj (CX, Vy,."),

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

Возьмем, к примеру, группу ресурсов V1. Это внутренние ресурсы первого уровня временной оси. Однако каждый ресурс, входящий в V1, одновременно входит в одну из территориальных групп - W1, S12, W2, ...

Пересекая эти группы между собой, получим группы ресурсов для соответствующих клеток матрицы: W1 Уг &Уг), 812 Уг, W2 Уг (рис. 1). Заметим, что обмен ресурсами ведется только по строкам и столбцам.

1 II 1Г

: :

W2 Уг W2 У2

С12 W2

Б12 Уг I J 1 1 г I 812 У2 | ¡Ц

Wl У С12 Wl У2

Рис. 1. Распределение ресурсов по клеткам матрицы

Что же касается функций, то их разбиение по клеткам не добавит наглядности, поскольку ясно, что должны быть реализованы функции обмена между клетками на основе соответствующих ресурсов, а функции переработки пока еще не были детализированы. Таким образом, матричная структура определяется в основном обозначением ресурсов, находящихся на пересечении клеток.

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

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

В системном анализе важное место занимают многоуровневые иерархические структуры, обозначенные М. Месаровичем как стратифицированные, многослойные и многоэшелонные [2]. При этом для каждой системы предлагается выбрать одну из этих структур в качестве базовой,

а остальные рассматривать как вспомогательные. Таким образом, кроме четырех взаимосвязанных компонент мы получаем еще три структуры, связь между которыми также определена не вполне четко.

Рассмотрим этот вопрос с позиции матрицы. Если допустить, что стратификация связана с пространственной осью, то взаимодействие уровней достигается через общие решения (аналогия с объектами обмена). При этом на каждой страте решаются свои «внутренние» вопросы, не затрагивающие другие страты (аналогия с внутренними функциями). Все это позволяет нам совместить представления о стратифицированных структурах с разбиением системы по пространственной оси.

Аналогично многослойная структура связана с разделением процессов по времени, от коротких событий к длинным периодам. На каждом новом уровне появляются дополнительные процессы планирования и управления, снабжения и поддержки. Эта структура соответствует оси времени.

Управление системой предполагает разбиение задач между работниками. Допустим, каждый работник занимается задачами одной клетки. Нетрудно увидеть, что наиболее сложные задачи относятся ко всей системе и к максимальному временному периоду. Далее сложность уменьшается при движении по диагонали матрицы к левой нижней клетке. Таким образом, матрица отражает и многоэшелонную структуру (рис 2).

V,

Vп.2

Уп Уп-1

Уп-2 Уп-3

V У г,п Уп

V, уп-1 кп.1 Уп

^п Уп-2 Кп.1 Уп.1 Кп.2 Уп

Кп 1 Уп-1 Кп.2 Уп-1

Рис. 2. Отражение на матрицу стратифицированной структуры (слева), многослойной структуры и многоэшелонной структуры (справа)

В результате получаем единую структуру системы, в которой место для основных понятий определено априорно. Использование единой структуры системы в виде типовой конструкции (модели) позволяет коллегам, занятым разными системами, гораздо лучше понимать друг друга и использовать опыт, полученный в смежных проектах.

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

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

Удобным является модульное конструирование, где модулем мы называем одну клетку с примыкающими к ней объектами обмена во всех направлениях. Такой подход особенно важен при работе с типовыми системами, где возможно прямое использование моделей и готовых решений (например, программ), полученных в предыдущем проекте. И если сами системы оказываются все же разными, то на уровне модулей совпадения гораздо более вероятны, что экономит усилия как на этапе моделирования, так и на этапе разработки.

Развитие матрицы позволяет использовать идеи, заложенные в технологиях нисходящего проектирования и ERP. В первом случае итерации совершаются путем многократного прохождения от общей схемы к все более детализированной. Верхние уровни постоянно проверяются, а в случае необходимости корректируются. Во втором случае проектирование ведется от конечного результата в сторону обеспечивающих процессов. Та и другая идеи имеют много общего, поэтому их можно объединить.

Проектирование ведется от цели в сторону процессов поддержки. В зависимости от ситуации целью может быть создание новой системы, реорганизация старой, интеграция, переход к серийной разработке и т. д. Аналитик поступит верно, если начнет строить как раз ту часть матрицы, которая связана с основной целью. Таким образом, нам представляется, что должна использоваться итерационная техника нисходящего проектирования, только не сверху вниз, а от цели к обеспечивающим процессам.

Идеи, изложенные здесь, были опубликованы в 2000 и в 2013 году и с тех пор прошли многократную проверку в различных предметных сферах [3, 4] Они оказались полезными в разработке системы управления электротехническим предприятием, в системе управления университетом, в логистических и экологических проектах.

Список литературы

1. Волкова В.Н., Денисов А.А. Теория систем. - М.: Высш.шк., 2006. - 511 с.

2. Месарович М., Мако Д., Такахара И. Теория иерархических многоуровневых систем. - М.: Мир, 1973. - 344 с.

3. Льноградский Л.А. Горизонты системного анализа. - Самара: ИЭКА «Поволжье», 2000. - 244 с.

4. Льноградский Л.А. Системная матрица. - Самара: «Издательство СНЦ РАН». -2013. - 92 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.