доступный непосредственно в процессе моделирования, что значительно расширяет функциональные возможности программного комплекса. Семантическая модель характеризуется следующими группами свойств и функциональных возможностей: списки шаблонов элементов, связей и альтернатив; набор шаблонов сетей и иерархий; среда вычислений; номер версии и поддержка возможностей сравнения различных версий моделей, и выполнением отката внесенных изменений. Класс шаблона элемента задается свойствами, описанными в его математической модели (3.12): имя элемента, формы детализации значения элемента, правило синтеза обобщенной оценки, списки связей различных видов и т.д. Реализованы методы добавления и удаления элемента, сохранения данных в ХМЬ формате. Класс шаблон связи основан на математической модели (3.13) и задается следующими свойствами: имя связи, тип связи, шкала (реализуется с помощью вспомогательной иерархии классов и т.д.), элементы, между которыми установлена связь, сила связи. Класс модели задачи соответствует математической модели (3.6) и описывается следующими основными свойствами: главной цслыо; набором управляющих критериев; средой вычислений. Основными компонентами, применяемыми в решающих моделях, являются сети, иерархии и составляющие их компоненты. При реализации их программных представлений использовались математические модели (3.17) (3.19). Для организации внешнего представления классов используется расширяемый язык разметки ХМЬ (Ех1епыЫе Магкир Ьап^иа^е), ставший международным стандартом при хранении и обмене данными. 130 |
из Кроме этого, для обеспечения взаимодействия между классами и реализации сформулированных требований к ПК, реализованы вспомогательные классы: модель объекта задачи, среда вычислений и т.д. Таким образом, в общей сложности реализовано более 100 классов, которые условно можно разбить на три группы: классы поддержки семантического моделирования, классы поддержки модели задачи и вспомогательные классы. Рассмотрим подробнее основные их них, показанные на рис. 4.1. Базовым классом, обеспечивающим общую для всех классов функциональность, поддержку взаимодействия между классами и возможности обмена данными по стандартным интерфейсам, реализует класс модели объекта задачи. Он описывается набором следующих свойств: название и описание элемента, имя тега в ХМЬ модели, связь с вышестоящим элементом (владельцем) и т.д. Так же он содержит ряд чисто виртуальных методов взаимодействия с ХМЬ моделями, обновления и набором стандартных конструкторов, обеспечивающих гибкие возможности по инициализации объектов. Этот класс является абстрактным (т.е. не может существовать объектом этого класса) и выступает в качестве предка для всех остальных классов ПК, которые наследуют общие свойства и функциональность. Реализация концепции среды вычислений позволяет связать с каждой семантической моделью и порождаемыми от нее моделями задач, собственный набор констант, переменных, функциональных зависимостей, задаваемых пользователем, и т.п. Среда вычислений позволяет строить произвольные параметрические модели, в частности, реализует поддержку метода динамических приоритетов. Фактически она представляет пользователю интерпретируемый Сподобный язык программирования [57], доступный непосредственно в процессе моделирования, что значительно расширяет функциональные возможности программного комплекса. Семантическая модель характеризуется следующими группами свойств и функциональных возможностей: списки шаблонов элементов, связей и альтернатив; набор шаблонов сетей и иерархий; среда вычислений; номер версии и поддержка возможностей сравнения различных версий моделей, и выполнением отката внесенных изменений. Класс шаблона элемента задается свойствами, описанными в его математической модели (3.2): имя элемента, формы детализации значения элемента, правило синтеза обобщенной оценки, списки связей различных видов и т.д. Реализованы методы добавления и удаления элемента, сохранения данных в ХМЬ формате. Класс шаблон связи основан на математической модели (3.3) и задается следующими свойствами: имя связи, тип связи, шкала (реализуется с помощью вспомогательной иерархии классов и т.д.), элементы, между которыми установлена связь, сила связи. Класс модели задачи соответствует математической модели (3.6) и описывается следующими основными свойствами: главной целью; набором управляющих критериев; средой вычислений. Основными компонентами, применяемыми в решающих моделях, являются сети, иерархии и составляющие их компоненты. При реализации их программных представлений использовались математические модели (3.7) (3.9). Для организации внешнего представления классов используется расширяемый язык разметки ХМЬ (Ех1еп$1Ые Магкир Ьап&иа§е) [21, 23], ставший международным стандартом при хранении и обмене данными. Разработанная форма представления моделей в формате ХМЬ приведена в прил. 5. Таким образом, представление разработанных математических моделей при их программной поддержке связано с целым рядом понятий, между которыми могут быть различные типы связей. Основные фрагменты программного |