нентами анализируемой реализации колебательного процесса.
Подводя итоги, следует отметить, что разработана специализированная ИС, ПО которой выполнено на основе парадигмы объектно-ориентированного программирования, что позволяет расширять набор функциональных модулей для подготовки и проведения спектрального анализа данных. Программная организация ИС на основе алгоритмов вычисления оценок амплитудного спектра с использованием знакового аналого-стохастического квантования исследуемых колебательных процессов обеспечивает оперативность проведения технической диагностики.
Литература
1. Васильев Ю.Н., Бесклетный М.Е., Игумцев Е.А. Вибрационный контроль технического состояния газотурбинных, газоперекачивающих агрегатов. М.: Недра, 1987. 197 с.
2. Tsypin B.V., Myasnikova M.G., Kozlov V.V., Ionov S.V., Application of methods of digital spectral estimation in the measurement of the parameters of a signal, Measurement Techniques, 2011, Vol. 53, no. 10, pp. 1118-1124.
3. Marple S.L.J., Digital Spectral Analysis with Applications. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1987, 492 p.
4. Якимов В.Н. Математическое представление потоков дискретного знакового преобразования непрерывных сигналов // Вестн. Самар. гос. техн. ун-та. 2000. Вып. 8. С. 190-192. (Технические науки).
5. Yakimov V.N., Digital harmonic analysis of multicompo-nent random processes, Measurement Techniques, Publisher: Springer, NY, 2006, Vol. 49, no. 4, pp. 341-347.
6. Fowler M., Rice D., Foemmel M., Hieatt E., Mee R., Stafford R., Patterns Of Enterprise Application Architecture, Addison Wesley, 2002, 560 p.
References
1. Vasilev Yu.N., Beskletny M.E., Igumtsev E.A., Vibratsionny kontrol tekhnicheskogo sostoyaniya gazoturbinnykh, gazoperekachivayushchikh agregatov [Diagnosis vibration control of gas turbine units and gas-compressor units], Moscow, Nedra, 1987, 197 p.
2. Tsypin B.V., Myasnikova M.G., Kozlov V.V., Ionov S.V., Measurement Techniques, 2011, Vol. 53, no. 10, pp. 1118-1124.
3. Marple S.L.J., Digital Spectral Analysis with Applications, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1987, 492 p.
4. Yakimov V.N., Vestnik Samarskogo gos. tekhnich. univ., Tekhnich. nauki [Proc. Samara State Technical Univ., Technics], Samara, 2000, iss. 8, pp. 190-192.
5. Yakimov V.N., Measurement Techniques, Springer, NY, 2006, Vol. 49, no. 4, pp. 341-347.
6. Fowler M., Rice D., Foemmel M., Hieatt E., Mee R., Stafford R., Patterns Of Enterprise Application Architecture, Addison Wesley, 2002, 560 p.
УДК 621.397:004.738
СРЕДСТВА ПРОТОТИПИРОВАНИЯ ПРЕЦЕДЕНТОВ В ПРОЕКТИРОВАНИИ АВТОМАТИЗИРОВАННЫХ СИСТЕМ
В.А. Маклаев, к.т.н., генеральный директор (НПО «Марс», ул. Солнечная, 20, г. Ульяновск, 432022, Россия, [email protected]); П.И. Соснин, д.т.н., профессор, зав. кафедрой; К.В. Святов, к.т.н., доцент (Ульяновский государственный технический университет, ул. Северный Венец, 32, г. Ульяновск, 432027, Россия, [email protected], [email protected])
Рассмотрены средства прототипирования проектных решений, реализуемых моделями прецедентов, составляющие которых ориентированы на экспериментирование с решениями. Для представления прецедентов предложена интегральная модель, включающая в себя группу моделей специального назначения. Формирование моделей осуществляется в процессе построения проектного решения и его проверки, что обусловливает необходимость оперативного связывания составляющих решения в его прототип. Для представления элементов решений и их сборки в прототипы предложены средства псевдокодового программирования и интерфейсного связывания, которое также осуществляется с использованием механизмов псевдокодового программирования. Для формирования интерфейсных сборок используются механизмы проектирования, управляемого моделями, а также библиотека интерфейсных метрик. Средства прототипирования реализованы в составе инструментально-моделирующей среды, обслуживающей концептуальное проектирование сложных автоматизированных систем.
Ключевые слова: проектирование автоматизированной системы, прецедент, вопросно-ответное моделирование.
PRECEDENT PROTOTYPING TOOLS IN DESIGN OF COMPUTER-AIDED SYSTEMS
Maklaev V.A., Ph.D., director general (Federal Research-and-Production Center Open Joint-Stock Company «Research-and-Production Association «Mars», Solnechnaya St., 20, Ulyanovsk, 432022, Russia, [email protected]);
Sosnin P.I., Ph.D., professor, head of chair; Svyatov K. V., Ph.D., associate professor (Ulyanovsk State Technical University, Severny Venets St., 32, Ulyanovsk, 432027, Russia, [email protected], [email protected]) Abstract. The article describes the prototyping tools of the design decisions which are presented as precedent models. The components of these models are focused on experimenting with decisions. An integrated model is proposed for imagin-
ing the precedents. It consists of the group of special purpose models. Modeling process is implemented during producing and checking of the design decision. As a result, it leads to a need for an operative binding of decision components to its prototype. The pseudo code programming software and interface binding, which also is implemented by using of pseudo code programming tools are proposed in order to present decisions elements and their assembly to prototypes. Model-driven design mechanisms and interface metrics library are used for development of interface assembly. Prototyping tools are implemented as a part of tools modeling environment that services concept design of complex computer-aided systems.
Keywords: design of computer-aided systems, precedent, question-answer modeling.
В наиболее общем смысле под прецедентом принято понимать поведение (принятие решения) в определенной ситуации, которое полезно как образец для повторений при аналогичных обстоятельствах [1]. Код прецедента, представляющий собой интеллектуально обработанный условный рефлекс, является базовой единицей человеческого опыта. Расширяющаяся компьютеризация деятельности человека привела к совершенно новым возможностям создания прецедентов и их кодирования (в формах программирования) для последующих повторных использований.
Принципиальным моментом при создании прецедентов является их моделирование на естественном языке в его алгоритмическом употреблении, которое при отсутствии компьютеров являлось и является единственно возможной формой кодирования прецедентов. Подобное моделирование логично осуществлять и обеспечивать инструментами так, чтобы алгоритмические коды модели транслировались в исполнение прецедента с помощью компьютера [2].
В результате данных рассуждений авторы пришли к идее вопросно-ответного программирования (QA-программирования) прецедентов [3], ориентируясь на то, что активность человека, использующего компьютерный инструментарий, нацелена на решение задач в рамках его опыта, потенциал которого расширяется за счет создания новых прецедентов и их программных моделей, а также программных моделей прецедентов, освоенных им или другими лицами ранее.
Идея QA-программирования по принципиальным позициям доведена до ее материального воплощения в инструментальной моделирующей среде WIQA (Working In Questions and Answers), разработанной в ряде версий [4] для решения задач в концептуальном проектировании сложных автоматизированных систем (АС). Такие решения являются прототипами, подготавливающими создание их исходных кодов на языке программирования. После их создания прототипы будут многократно использоваться и в этом плане относятся к классу прецедентов, а для прецедентов являются формой их состояния. В повторных применениях (в процессе разработки АС) прототипы адаптируются и становятся прецедентами, но уже в составе, например, программных средств АС. Именно в таком аспекте в статье рассматриваются действия проектиров-
щиков АС, названные прототипированием прецедентов.
Среда WIQA
Инструментарий WIQA предназначен для формирования и регистрации текущего состояния проекта АС в форме динамического дерева проектных задач, каждая из которых представлена вопросно-ответным протоколом (QA-протоколом) ее решения, включая сформулированные проектные решения. Компонентный состав системы WIQA, представленный на рисунке 1, открыт для расширений. Последним из таких расширений является включение в состав системы средств псевдокодирования, ориентированных на прецеденты.
WEB-оболочка
Оргструктура
QA-БД
База Имитатор
прецедентов экспертной системы
Средства визуализации
Средства псевдокодирования
Средства Редакторы:
визуализации текст, графика
Средства развития: компоненты, данные, агенты
Рис. 1. Компонентный состав системы WIQA
Естественно-языковое сопровождение процессов создания и использования прецедентов осуществляется проектировщиками АС в операционной обстановке, показанной на рисунке 2. В таком сопровождении за каждую задачу несет ответственность определенный проектировщик, обязанный создать (и согласовать) постановку задачи провести ее вопросно-ответный анализ
Рис. 2. Операционная обстановка концептуального решения задач -1-
(ОА-анализ) и зарегистрировать его протокол ^А-протокол, QA(Zi)).
Процесс QA-анализа автоматизирован за счет использования комплекса средств, способствующих обнаружению множества вопросов {Qy} в текстах постановок задач, в частности в тексте Т(^). По этой причине преобразование
Щ,) ^ QA(Z1) (1)
можно рассматривать как перевод текста постановки задачи Т^,) в формализованное представление QA(Zi) ее концептуального решения, в результате которого создается ОА-структура решения (из иерархически связанной совокупности вопросов и ответов), заполненная определенным содержанием. Если задача нацелена на создание прецедента, то выражение (1) определяет первый шаг формального представления и преобразования в про-тотипировании соответствующего прецедента. В результате этого шага создаются текстовая модель РТ=Т^г) прецедента Р, и его вопросно-ответная модель P<QA=QA(Z1), которая является и вопросно-ответной моделью (ОА-моделью) задачи Zi.
Второй шаг состоит в преобразовании текстовой информации, вложенной в Т^,) и ОЛ^,), в логическое представление Р прецедента Р, следующего вида: имя прецедента Р,-:
в так как [формула (Фм) для мотивов {Ц} ы поскольку [Фс для целей {Ск}
б если [Фи для предусловия и]
о то реакция гд(Г)],
р из-за чего [Фи для постусловия и"]
есть альтернативы [{гр}].
Формирование логического описания осуществляется в форме машинного перевода текстового описания прецедента на язык логики предикатов первого порядка. В построенной логической формуле выделяются две части: условие доступа и, к прецеденту и логические спецификации реакции г^).
Третий шаг заключается в преобразовании условия доступа и, к прецеденту в его псевдокодовое представление в виде функции Р, с использованием следующего шаблона:
Р / ОА-программа типа функции (условие доступа к прецеденту)
Переменная V_1 / Комментарий_1?
А1. Значение V_1.
Q2. Переменная V_2 / Комментарий_2?
А2. Значение V 2.
QN. Переменная V_M / Комментарий_М? AN. Значение V_M.
Q0. Fj = логическое выражение (V_1, V_2, ..., V_M)?
A0. Значение функции.
End.
Имена переменных и функций могут быть выражены на языке разрабатываемого проекта АС. Проектировщик может свободно вводить и использовать подходящие ему синонимы.
В тексты QA-протоколов, если это необходимо по нормативам или для понимания, может быть включена графика (например ЦМЬ-диаграммы или другие виды Ыоск-аМ-Ипе-схем).
Для псевдокодового представления реакции гч(Г) используются модели РТ, Р^ и Р, а также следующий шаблон-процедура:
Кд: ОА-программа типа процедуры (реакция прецедента):
Q1. К_ь ..., РЬ_к ? А1. *
О2. К_т, ОА-Р_п, ..., K_q? А2.*
QN. K_s, Pl_t, ..., QA-P_v?
AN. #
End,
где K_i - команда, активизируемая пользователем в акте интерактивного взаимодействия с компьютером; PL_k - вызов пользователем плагина и переход к его функционалу; QA-P - вызов QA-про-граммы.
Псевдокодирование условий и реакции прецедента, а также их объединение в рамках прецедента приводят к модели PSC - прецедент P в виде исходного кода. В общем случае эта модель может быть представлена на любом алгоритмическом языке, для которого на рабочем месте имеется соответствующий транслятор. Система WIQA поддерживает две версии модели PSC: псевдокодовую и на языке C#.
Модель PSC введена в состав совокупности моделей прецедента для обеспечения возможности его адаптации к новым условиям применения. Для применения прецедента особенно важна трансформация этой модели в исполняемый код, то есть в модель PEC, которую тоже следует включать в состав совокупности моделей прецедента.
В общем случае QA-программы реакции прецедента могут состоять из совокупности процедур и функций, что требует обеспечить их связность.
Для решения такой задачи инструментарий WIQA предоставляет две возможности.
1. С помощью графического редактора - связывание в формах человеко-компьютерного взаимодействия с интерфейсами, реализованными в виде диаграмм (block-and-line-схем), в блоки которых введены интерактивные имена процедур и функций.
2. С помощью средств интерфейсного прото-типирования - использование механизмов трансформации интерфейсных диаграмм в исполнямые коды интерфейсных решений, объединяющих в единое целое псевдокодовые программы и другие составляющие прототипов.
Первая версия связывания проще для пользователя, поскольку требует от него только зарисовать схему связи. Если же в совокупности процедур и функций имеется иерархия вызовов, пользователю придется использовать несколько диаграммных
схем с переходами между ними. Кроме того, в этом решении нет возможности использовать интерфейсные поля ввода данных (ввод приходится программировать в QA-программах).
Вторая версия является универсальной, так как в ней для интерфейсного связывания пользователь может использовать любые типовые интерфейсные решения (интерфейсные метрики в терминах стандарта ИСО/МЭК 9126), которые в системе WIQA представлены в виде прецедентов, собранных в специальную библиотеку и включающих исполняемые коды. Отметим, что и в первой, и во второй версиях используется графическая модель прецедента Р°.
Представленные выше модели прецедента фиксируют его состояния в определенные моменты жизненного цикла. Каждое из таких состояний полезно не только для его преобразования в очередную модель, но и при повторных применениях прецедента для обслуживания его адаптации к очередным условиям. По этой причине в системе WIQA поддерживается работа с базой прецедентов, каждый из которых (Р) представлен интегральной моделью
Р=РТ^Рвл^Рь^Р°^Р8С^РЕС. (2)
Важнейшей составляющей представления Р являются ключи предварительного доступа, после срабатывания которых, если это встроено в прецедент, осуществляется псевдокодовая проверка условия применимости.
Интерфейсное прототипирование прецедентов
В разработках АС практически все решения по содержанию очередного проектного решения и его включению в проект принимаются на концептуальном этапе проектирования. Именно на данном этапе строят и начинают (повторно) использовать в различных целях прототипы решений, каждый из которых, по крайней мере в этом плане, является прецедентом. А значит, такие прототипы в среде WIQA целесообразно строить как прецеденты независимо от того, будут они затем вложены в базу прецедентов или нет.
Для проектных решений концептуального этапа характерно то, что их прототипы собирают из составных частей [5], имеющих различные и разнородные состояния проработки и формы существования (текстовые единицы, графические конструкты, табличные формы, сценарии разных видов, псевдокоды, исходные и исполняемые коды). В комплекс WIQA встроены средства, позволяющие связать интерфейсами, в том числе и интерактивными, определенный комплект таких частей в единое целое (в прототип), которое способно выполнять функции имитационной модели [6].
В результате прототипирования появляется возможность проводить имитационные экспери-
менты, проверяя тем самым предполагаемое проектное решение с различных точек зрения. Такая возможность особенно полезна проектировщикам (и другим лицам, заинтересованным в разработке АС), не обладающим навыками профессионального программирования, но влияющих на принятие программных решений, вкладываемых в АС.
В большей мере на таких разработчиков рассчитаны встроенные в систему WIQA средства интерфейсного связывания составных частей решений в прототип [7]. Одной из специфик интерфейсного связывания является порождение исполняемого кода интерфейсов, который можно включить в программные коды АС в том состоянии, в котором он действует в прототипе.
Создание интерфейсного прототипа начинается с построения в среде графического редактора интерфейсной диаграммы, демонстрационный пример которой приведен на рисунке 3.
□ I— • " * ' * | * ИНСТРУМЕНТАЛЬНАЯ ПАНЕЛЬ
ЭЛЕМЕНТЫ ОБЪЕКТЫ ПРЕДМЕТНОЙ ОБЛАСТИ
Рис. 3. Интерфейсная диаграмма
Интерфейсная диаграмма предназначена для визуального представления модели задач пользователя. На первом этапе построения интерфейсной диаграммы осуществляется определение акторов проектируемого решения и задач, которые им придется решать. По этим позициям интерфейсная диаграмма подобна диаграммам прецедентов языка Ц^. Задачи раскрываются через спецификации действий акторов и элементов, над ними осуществляются действия в их связи с объектами предметной области.
За построение диаграммы несет ответственность проектировщик, который осуществляет ряд автоматических и автоматизированных преобразований, переводящих описание интерфейсной диаграммы через ряд моделей - от абстрактной до исполняемой в прототип, причем никаких знаний программирования в таких преобразованиях от проектировщика не требуется. Схема преобразований с указанием типов файлов приведена на рисунке 4.
Абстрактная модель пользовательского интерфейса представляется в QA-протоколе, что позволяет подробнее специфицировать акты человеко-компьютерного взаимодействия с использованием
средств QA-моделирования, определять более подробную структуру задач, чем в интерфейсной диаграмме.
Конкретная модель пользовательского интерфейса проектных решений проектируемой АС необходима для определения визуального представления предлагаемых проектных решений - кон-тролов, элементов управления, с их поведением, ссылками на внешние модули и визуальным оформлением. В процессе формирования конкретной модели используются элементы библиотеки интерфейсных прецедентов.
Генерация псевдокодового прототипа осуществляется на основе данных конкретной модели путем обратных объектно-вопросно-ответных преобразований. При этом в псевдокод встраиваются элементы XML, представляющие собой формы (окна), элементы управления, их свойства и события, параметры для вызова методов внешних библиотек, параметры для вызова методик из системы WIQA и параметры для вызова функциональности, запрограммированной в базе прецедентов.
Псевдокодовое представление проектных решений осуществляется автоматически с использованием средств объектно-реляционных преобразований, когда из QA-протокола с используемой системой атрибутики формируются объекты, представляющие собой конкретный прототип системы. Эта объектная модель автоматически средствами языка C# преобразуется в XML-пред-ставление, которое затем может быть трансформировано на целевой платформе языка программирования (реализовано для С#).
На рисунке 5 представлена семантика интерфейсной диаграммы для задачи управле-
ния графическими моделями конструкций, решение которой обеспечивает просмотр списка моделей на условном сервере, просмотр списка параметров выбранной модели, ее редактирование во внешнем редакторе, а также вызов операций добавления и удаления модели с сервера.
Интерфейсное обеспечение прототипа, построенного по интерфейсной диаграмме, приведено на рисунке 6. Интерфейсы имеют профессиональный вид, и их исполняемые коды могут быть включены в разрабатываемую АС.
Пример также демонстрирует то, что создаваемый интерфейсный прототип может состоять из совокупности оконных форм и комплексироваться с внешними приложениями.
В заключение необходимо отметить следующее. Практика разработки сложных АС подтверждает, что использование прецедентов, в том числе в форме прототипов, способствует снижению особо дорогостоящих ошибок концептуального этапа проектирования. Это обусловлено тем, что прецеденты уже проверены, а прототипы как имитационные модели позволяют разработчикам АС, экспериментируя с прототипами и не надеясь только на собственные умозаключения и коллективные обсуждения, обнаруживать ошибки.
Предложенные и обеспеченные инструментами средства формального представления и преобразования, обслуживающие прототипирование прецедентов, ориентированы на моделирование вопросно-ответных рассуждений проектировщиков в их взаимодействии с проектным опытом и его мо-
£ £
АДМИНИСТРАТОР ОПЕРАТОР
Рис. 5. Семантика интерфейсной диаграммы -1-
Визуальный контроль разработчиками процесса прототипирования с возможным использованием дополнительных инструментальных средств
Рис. 4. Схема преобразований, управляемая моделями
делями. Формализация и преобразования начинаются с формулировки очередной постановки задачи и ее QA-анализа.
По всей цепочке представлений и преобразований осуществляются работы с формальными текстами, в каждом из которых используется определенный формальный язык. По этой причине преобразования осуществляются в формах машинного перевода. В число форм представления прецедентов и их прототипов включены псевдопрограммы, ориентированные на проектировщиков, не обладающих знаниями профессионального программирования. Более того, псевдопрограммы интерфейсов, связывающих части прототипов в целое, создаются из интерфейсной диаграммы и затем преобразуются в исходный код практически без участия проектировщиков. Представленные выше средства прошли представительную проверку в производственной практике и подтвердили свою эффективность.
Литература
1. Precedent. URL: http://dictionary.reference.com/browse/ precedent (дата обращения: 18.11.2011).
2. Nguyen P. and Chun R., Model Driven Development with Interactive Use Cases and UML Models. URL: pnguyen.tigris.org/ SER4505.pdf (дата обращения: 18.11.2011).
3. Соснин П.И. Вопросно-ответное программирование человеко-компьютерной деятельности. Ульяновск: Изд-во Ул-ГТУ, 2010. 240 с.
4. Sosnin P., Programming of Human-Computer Interactions in Development of Software Intensive Systems, Intern. Journ. of Computer Information Systems and Industrial Management Applications, 2011, Vol. 3, pp. 444-452.
5. Arnowitz J., Arent M. and Berger N., Effective Prototyping for Software Makers. Morgan Kaufmann, Elsevier, 2007, 624 p.
6. Sosnin P., Question-Answer Approach to HumanComputer Interaction in Collaborative Designing. Chapt. in the book «Cognitively Informed Intelligent Interfaces: Systems Design and Development» IGI Global Publ., 2012, pp. 157-176.
7. Sosnin P., Pseudo-code Programming of Designer Activity in Development of Software Intensive Systems, Proc. 25-th Intern. Conf. IEA/AIE 2012, Dalian, Chine, 2012, pp. 45-46.
References
1. Precedent, Available at: http://dictionary.reference.com/ browse/precedent (accessed 18 Nov. 2011).
2. Nguyen P., Chun R., Model Driven Development with Interactive Use Cases and UML Models, Available at: http://pnguyen.tigris.org/SER4505.pdf (accessed 18 Nov. 2011).
3. Sosnin P., Voprosno-otvetnoe programmirovanie chelove-ko-kompyuternoy deyatelnosti [Question-Answer Programming of Human-Comp. Interactions], Ulyanovsk, Ulyanovsk State Technical Univ., 2010, 240 p.
4. Sosnin P., IJCISIM, Vol. 3, 2011, pp. 444-452.
5. Arnowitz J., Arent M., Berger N., Effective Prototyping for Software Makers, Morgan Kaufmann, Elsevier, 2007, 624 p.
6. Sosnin P., Cognitively Informed Intelligent Interfaces: Systems Design and Development, IGI Global, 2012, pp. 157-176.
7. Sosnin P., Proc. of the 25th Int. Conf. on Industrial Engineering and other Applications of Applied Intelligent Systems (IEA/AIE 2012), Dalian, Chine, 2012, pp. 45-46.
УДК 62.50
КОМПЛЕКСНЫЙ МЕТОД ВЫПОЛНЕНИЯ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ НАД НЕЧЕТКИМИ ЧИСЛАМИ И ЕГО ПРИМЕНЕНИЕ ПРИ ЭКОНОМИЧЕСКОМ АНАЛИЗЕ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ
А.А. Усков, д.т.н., профессор; И.А. Киселев, аспирант (Российский университет кооперации, ул. В. Волошиной, 12/30, г. Мытищи, 141014, Россия, [email protected])
Аппарат нечеткой логики широко используется при математическом описании сложных систем в условиях неопределенности, позволяя описывать знания, представленные в качественной форме, не требуя выполнения предпосылок применимости теории вероятностей.
Нечеткие числа LR-типа - это разновидность нечетких чисел специального вида, задаваемых по определенным правилам с целью снижения объема вычислений при операциях над ними.
В статье доказана теорема, позволяющая сводить арифметические операции над симметричными нечеткими числами LR-типа (сложение, умножение, нахождение противоположного и обратного элементов) к арифметическим операциям над комплексными числами.