Донецкий национальный технический университет


Фридштанд Михаил Игоревич


Разработка подсистемы графического интерфейса для автоматизированного проектирования программного обеспечения технологических систем


Руководитель: Шевченко О.Г.


Специальность: "Компьютерные системы и сети"


Автореферат магистрской выпускной работы

 

Донецк-2002

E-mail: fridshtand_vt97g@rambler.ru


1. Общая характеристика работы.

2. Содержание работы.

3. Основные результаты работы.

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


Общая характеристика работы

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

Автоматизация проектирования интерфейса технологических систем (ТС) подразумевает предоставление разработчику ПО ТС такого инструментария, посредством которого возможно оформление автоматизированного рабочего места (АРМ) оператора технолога, как на этапе проектирования, так и на этапе функционирования ПО ТС. При этом первый этап предполагает:

Дизайн рабочих полей подразумевает одно или несколько информационных окон системы автоматизации, которые должны создавать комфортный условия для многочасовой работы за экраном-пультом. Комфорт за АРМ предполагает:

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

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


Содержание работы

Вехи в развитии информационных технологии

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

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

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

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

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

Для создания масштабных систем в информатике необходимо использовать автоматизированную систему производства программных средств, которая носит название CASE-технологии (Computer-Aided Software/System Engineering). В широком смысле CASE-технология представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения (ПО), поддержанную комплексом взаимосвязанных средств автоматизации.

Большинство CASE-средств основано на парадигме методология/метод/нотация/средство. Методология определяет шаги работы и их последовательность, а также правила распределения и назначения методов. Метод - это систематическая процедура генерации описаний компонент ПО. Нотации предназначены для описания структур данных, порождающих систем и метасистем. Средства - инструментарий для поддержки методов с использованием принятой нотации. Эти инструменты поддерживают работу пользователей при создании и редактировании проекта в интерактивном режиме, они способствуют организации проекта в виде иерархии уровней абстракции, осуществляют генерацию ПО и используются при его тестировании.

Методология создания систем автоматизированного проектированния ПО

Любая система, в том числе и система ПО, включает два основных компонента: множество объектов и множество связей между ними. Иерархия классов в данной системе определяется уровнями знаний относительно рассматриваемых явлений (рис. 1).

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



Рисунок 1 - Иерархия уровней знаний и их модели.

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

После того как исходная система дополнена данными, т.е. фактическими состояниями переменных, рассматривают новую систему (исходную систему с данными) как определенную на уровне 1. Системы этого уровня называют системами данных.

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

Поскольку задачей генерации свойств является реализация процесса, при котором состояния переменных могут порождаться по множеству параметров при определенных начальных или граничных условиях, системы уровня 2 называют порождающими системами (generative system).
На уровне 3 системы, определенные как порождающие или системы более низкого уровня, называют подсистемами общей системы. Эти подсистемы могут соединяться в том смысле, что они имеют некоторые общие переменные. Системы этого уровня называют структурированными системами (structured system).

На уровнях 4 и выше системы состоят из набора систем, определенных на уровнях 0, 1, 2 или 3, и некоторой метахарактеристики (правила, отношения, процедуры), описывающей замены в системах более низкого уровня.

Каждый из перечисленных уровней имеет свой язык, методику формирования и средства их реализации.

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

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

Порождающие системы на уровне 2 делятся на два основных класса: математические и экспертные. При этом первые имеют подчиненное значение по отношению ко вторым.
Формирование структурированных систем уровня 3 производится автоматически в процессе ввода данных на нижних уровнях.

Объектно-ориентированный подход в системах автоматизированного проектирования ПО

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

Существует специфика применения объектно-ориентированных методов при создании интеллектуальных комплексных систем автоматизации проектирования.

Выделяют три существенных момента ООП:

  1. ООП использует в качестве элементов объекты, а не алгоритмы;
  2. Каждый объект является реализацией какого-либо определенного класса;
  3. Классы организованы иерархически.

В ООП различают пассивные и активные объекты. Последние постоянно готовы к приему сообщений и заняты их обработкой на основе знаний, которыми они обладают. Активные объекты часто называют агентами. Однако понятие агент не сводится к активному объекту. Мультиагентные системы являются, как правило, существенно распределенными: пространственно - распределенными и/или функционально - распределенными.

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

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

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

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

Основные результаты работы.

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

  1. Пуртов А. Общие проблемы систем подготовки управляющих программ и их частное решение в рамках проекта SprutCAM. "САПР и графика", 2000, №1.
  2. Безбородов В., Крючков А. САПР. Процесс или ритуал. "САПР и графика", 1998, №9.
  3. Крючков А., Евгенев Г. Еще раз о прорывных технологиях автоматизации предприятий. "САПР и графика", 1998, №4.
  4. Крючков А., Лазебник Е. Вопросы комплексной автоматизации предприятий. "САПР и графика", 1997, №7.
  5. Евгенев Г. Сапр XXI века: проблема соотношения формы и содержания. "САПР и графика", 1999, №12.
  6. Рейсдорф К., Хендерсон К. Borland C++ Builder. Освой самостоятельно.
  7. Дейтел Х., Дейтел П. Как программировать на С++.