Decision Cost Recognition Factor
The recognition of what, when, where, why, and how much decisions change the costs on a project. This factor should be documented on all projects, but seldom to much extent. Every project should recognize that minimizing any one cost will influence one or more factors. Additionally, time frames for savings (long term vs. short term) are decision cost points and should be documented. What decisions changed the cost of the project and to what extent?
Conclusion
Software Engineering Methodology results have varied wildly in implementation, definition, project size, and success from industry experiences and observations. Objective examination and documentation of success and failures is a critical part of furthering development methodology paths for the future. Documentation of the results may help organizations and teams plan for or delay methodology implementations. This is a valuable process for organizations involved in and organizations considering
methodology changes. ... u
Information Systems need to be able to adapt themselves to the business world as it changes. The businesses that are able to exploit these changes in more rapid and more repeatable ways will lead or dominate future markets of the world. These businesses are not just information and communication businesses. All world's markets will be touched by Information Systems in the future. As we help study, understand, and improve the Software Process, we will help to improve the interface between a growing global society &nd the changing world marketplace. The use of this model for measuring our Software Processes can pave the path to our future Software Process.
УДК 681.324
В.Ф.Гуэик, М.Ю.Поленов, С.М.Гушанский, В.А.Калнев Комплексный иерархический подход к исследованию и проектированию
систем
Анализ многих работ, связанных с проблемой проектирования вычислительных систем (ВС), показывает, что традиционным является метод описания и моделирования систем, характеризующийся преимущественным исследованием аппаратных средств и определением программного о еспечения в обобщенной форме. При исследовании многопроцессорных вс, имеющих проблемную ориентацию (ПОВС), анализу программного обеспечения следует Уделить особое внимание, поскольку для данных систем необходимо учитывать ориентацию на заранее определенный класс решаемых задач. Таким о раз , является актуальной задача разработки средств автоматизированного исследования и проектирования, учитывающих особенности организации
В качестве решения данной проблемы предлагается комплексный алгоритме ориентированнный подход к разработке ВС. В отличие от широко используемых методов описания вычислительных систем, предлагаемый подход х®Р?*ТДРизУетс* Детальной предварительной проработкой алгоритмов, решаемых на ПОВС задач, с их последующим отображением на архитектуру системы.
Для заданной задачи X в общем случае существует множество А алгоритмов ее решения: Z-> А = {а,},/ = 1,# при этом каждому алгоритму соответствует
подмножество архитектур а,- -► Я/ = = \,NJ = 1 ,М{.
Для сокращения временных затрат на разработку ПОВС и числа исследуемых архитектур предлагается произвести двухуровневую оптимизацию с выбором оптимального алгоритма, отображением алгоритма на архитектуру ПОВС и поиском оптимальной архитектуры. Таким образом, основными этапами подхода являются: 1) описание алгоритма задачи при помощи средств формализации; 2) распараллеливание алгоритма; 3) отображение параллельного алгоритма на архитектуру; 4) выбор оптимальной архитектуры.
На первом этапе производится описание представляемого алгоритма при помощи средств формализации и переход к графу зависимостей ва:
щщ -+ва =<У,Р>, где V- множество вершин; И- множество дуг.
Для реализации первого этапа предложен метод преобразования алгоритма или программы к графу зависимостей. На основе анализа различного типа зависимостей между отдельными вершинами, а также выявления их принадлежности циклам производится распределение вершин графа по уровням с присвоением каждой вершине ряда параметров, позволяющих определить порядок выполнения вершин и уровень вложенности циклов. При этом каждому ребру графа ставится в соответствие вектор расстояния зависимостей, что позволяет легко выявить тип участка алгоритма, которому принадлежит конкретная вершина, и сократить число вершин графа.
Следующим этапом является распараллеливание полученного графа зависимостей и получение набора подграфов параллельной реализации:
<Р2'^*а ^ ^р ~ л =
Поскольку разрабатываемая ПОВС имеет иерархическую организацию, то выделяются три уровня параллелизма: крупноблочный; циклических и
ациклических участков; крупных операций и выражений. Для перехода с уровня на уровень и получения субоптимального алгоритма выбирается критерий оценки по двум параметрам: времени вычислений по алгоритму Та и сложности алгоритма 5а. Данные параметры рассматриваются в предположении соответствия архитектуры алгоритму, т.е. вершинам графа из множества V соответствуют определенные типы функциональных узлов или блоков из множества и
<руУ I/= {иг},г = \, Ри , гпсРи- число типов узлов. Каждый узел ит е С/имеет собственное время выполнения и сложность 8Г. Тогда для параллельного алгоритма время реализации
А*
где 7/- время выполнения 1-го последовательного участка; ДО/ -число прохождений иго последовательного участка; - время выполнения к-й ветви
го параллельного участка; И? - число прохождений ]-го параллельного участка;
Ау и Ьр число последовательных и параллельных участков. Сложность
алгоритма
р ^
Ба = X 21 та*№гк )^Г,Ь = Ь,\)Ьр,
г=1 к=1 1еЬ
где - число узлов г-го типа для /-го оператора к-й ветви; К число
параллельных ветвей.
Таким образом, можно сформулировать задачу построения оптимального параллельного алгоритма по критериям быстродействия и сложности, т.е. необходимо найти алгоритм с минимальной сложностью при заданных ограничениях на время выполнения:
тт(5а|Га 5 Тор),
аеА
где Тор - время решения задачи, связанное с ограничениями йа быстродействие. С учетом рассмотренных соотношений
Процесс распараллеливания начинается с выявления крупных программных модулей с минимальным количеством связей и разбиения алгоритма на слабосвязанные участки. Для реализации распределения программных модулей рассматривается алгоритм поиска числа ветвей для их параллельного выполнения, позволяющий также произвести анализ циклических участков графа. При выполнении условия осуществляется ПОИСК пип Яд и если условие не выполнено, то производится переход к следующему уровню иерархического представления алгоритма, определяемого структурой вложенности циклов. Если при распределении циклических конструкций не удалось достичь требуемого Та> то
переходим к следующему уровню распараллеливания.
На данном уровне используется разработанный метод распараллеливания ациклических участков алгоритмов. На основе анализа определенных на этапе отображения зависимостей и непосредственно предшествующих вершин, производится распределение вершин графа алгоритма по ветвям, согласно выбранным критериям. Помимо минимизации времени и сложности исполнения алгоритма данный метод позволяет: получить сбалансированные по длине ветви, заполнить образующиеся в ветвях участки простоя; определить необходимый набор операций для каждой ветви и распределять вершины, не имеющие ограничений на число источников данных. Универсальность метода также заключается в том, что он может быть использован и на следующем уровн распараллеливания.
При получении графа (7р осуществляется переход к этапу отображения
алгоритма на архитектуру: _______
^>4—> В = = 1»-^/ •
Отображение производится путем проекции графа алгоритма на структуру вычислительных средств определенного уровня, соответствующего уровн представления алгоритма. В зависимости от типа полученного параллельного графа выбирается направление проекции и формируется параметрическое описание архитектуры ПОВС:
Ь]=<0,С,№,Н>,
где О - множество выполняемых операций; С - матрица соединений, задающая связность процессоров одного уровня; W - матрица объемов требуемой памяти; Н -матрица назначений участков параллельного графа на исполнительные модули ПОВС. Таким образом, после завершения данного этапа в распоряжении разработчика оказывается не только описание архитектуры, но и соответствующая архитектурному уровню программная компонента создаваемой ПОВС.
От описания архитектуры осуществляется переход к формированию ее модели:
где Е подсистема отображения аппаратных средств; С? подсистема отображения программного обеспечения. Данный этап состоит из следующих основных шагов: формализованное описание архитектуры; программирование на языке описания и моделирования систем; моделирование работы ПОВС; анализ результатов экспериментов и выбор оптимальной архитектуры. В качестве критерия также используется критерий быстродействия и сложности:
5 Тор ), но оценивается быстродействие аппаратуры и сложность
архитектуры с ориентацией на конкретную элементную базу, имеющую определенные значения времен выполнения операций и сложность. При моделировании исследуются возможные варианты архитектуры, и если условие 7д <, Тор не выполняется, то происходит возврат на этап описания алгоритмов.
УДК [658.52.011.56:658.512.011.56]:001.51
Э.Е. Кудряшова
Гипертекстовая среда автоматизированного проектирования CAD/C AM на
принципах синергетики
Автоматизация проектирования сложной системы связана с определением большого числа факторов, требующих не только использования разностороннего инструментария, но и разработки единого научного подхода.
Анализ развития информационных технологий в области интегрированного проектирования технических систем (ТС) показывает, что организации, занимающиеся проектированием, ориентированы в настоящее время на использование рабочих станций ведущих фирм SUN, HP, DEC и других, что требует больших валютных вложений. Общепринятая в настоящее время методика разработки ТС строится на анализе технических функций, выполняемых CAD/CAM, и синтезе оптимальной функциональной структуры системы, а далее • генерации альтернативных физических элементов системы.
Предлагается новая синергическая концепция в теории интегрированных автоматизированных технических систем типа АСТПП/САПР/ГПС ( далее CAD/CAM ) в области машиностроения. Разрабатываемая теория CAD/CAM опирается на фундаментальное свойство самоорганизации сложных систем организационного типа с многосвязным управлением. Синергический подход создает возможность установления единства в оценках влияния процессов различной природы на целевые функции системного взаимодействия.
Рассматривается интегрированная автоматизированная техническая система с набором показателей, обеспечивающих: работу системы по принципу
"безбумажной технологии"; гибкость системы в зависимости от социально-экономических требований.
В данной работе предлагается для прогнозирования процесса развития CAD/CAM применить информационно-энтропийную оценку. В результате взаимодействия потоков информации, энергии и материи между элементами