Реинжиниринг системы компьютерной алгебры АНАЛИТИК

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

Full description

Saved in:
Bibliographic Details
Published in:Математичні машини і системи
Date:2010
Main Authors: Клименко, В.П., Ляхов, А.Л., Гвоздик, Д.Н.
Format: Article
Language:Russian
Published: Інститут проблем математичних машин і систем НАН України 2010
Subjects:
Online Access:https://nasplib.isofts.kiev.ua/handle/123456789/83309
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Cite this:Реинжиниринг системы компьютерной алгебры АНАЛИТИК / В.П. Клименко, А.Л. Ляхов, Д.Н. Гвоздик // Мат. машини і системи. — 2010. — № 4. — С. 18-23. — Бібліогр.: 10 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859609838456143872
author Клименко, В.П.
Ляхов, А.Л.
Гвоздик, Д.Н.
author_facet Клименко, В.П.
Ляхов, А.Л.
Гвоздик, Д.Н.
citation_txt Реинжиниринг системы компьютерной алгебры АНАЛИТИК / В.П. Клименко, А.Л. Ляхов, Д.Н. Гвоздик // Мат. машини і системи. — 2010. — № 4. — С. 18-23. — Бібліогр.: 10 назв. — рос.
collection DSpace DC
container_title Математичні машини і системи
description В данной работе рассматривается новый этап развития системы компьютерной алгебры АНАЛИТИК - реинжиниринг на основе новых прогрессивных технологий. Описаны процесс реинжиниринга, достигнутые и ожидаемые результаты. Показано, что в результате реинжиниринга, кроме усовершенствований, система приобретает качественно новые возможности и потенциал для дальнейшего развития. У даній роботі розглядається новий етап розвитку системи комп'ютерної алгебри АНАЛІТИК - реінжиніринг на основі нових прогресивних технологій. Описано процес реінжинірингу, досягнуті та очікувані результати. Показано, що в результаті реінжинірингу, окрім удосконалень, система набуває якісно нових можливостей та потенціалу для подальшого розвитку. In the article we consider a new stage of development of computer algebra system ANALITIC - reengineering based on new advanced technologies. Process of reengineering, achieved and expected results are described. It is shown that as a result of reengineering, except improvements, the system acquires the qualitatively new opportunities and the potential for further development.
first_indexed 2025-11-28T10:37:50Z
format Article
fulltext 18 © Клименко В.П., Ляхов А.Л., Гвоздик Д.Н., 2010 ISSN 1028-9763. Математичні машини і системи, 2010, № 4 УДК 618.086 В.П. КЛИМЕНКО, А.Л. ЛЯХОВ, Д.Н. ГВОЗДИК РЕИНЖИНИРИНГ СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ АНАЛИТИК Анотація. У даній роботі розглядається новий етап розвитку системи комп’ютерної алгебри АНАЛІТИК – реінжиніринг на основі нових прогресивних технологій. Описано процес реінжинірин- гу, досягнуті та очікувані результати. Показано, що в результаті реінжинірингу, окрім удоскона- лень, система набуває якісно нових можливостей та потенціалу для подальшого розвитку. Ключові слова: АНАЛІТИК, системи комп’ютерної алгебри, реінжиніринг. Аннотация. В данной работе рассматривается новый этап развития системы компьютерной алгебры АНАЛИТИК – реинжиниринг на основе новых прогрессивных технологий. Описаны про- цесс реинжиниринга, достигнутые и ожидаемые результаты. Показано, что в результате реин- жиниринга, кроме усовершенствований, система приобретает качественно новые возможности и потенциал для дальнейшего развития. Ключевые слова: АНАЛИТИК, системы компьютерной алгебры, реинжиниринг. Abstract. In the article we consider a new stage of development of computer algebra system ANALITIC – reengineering based on new advanced technologies. Process of reengineering, achieved and expected re- sults are described. It is shown that as a result of reengineering, except improvements, the system acquires the qualitatively new opportunities and the potential for further development. Key words: ANALITIC, computer algebra systems, reengineering. 1. Введение Основанное в СССР академиком В.М. Глушковым направление теоретических и приклад- ных исследований по созданию языков семейства АНАЛИТИК [1] продолжает активно развиваться. В настоящее время коллективом разработчиков, состоящим из сотрудников Института проблем математических машин и систем НАН Украины (г. Киев) и Полтавско- го национального технического университета имени Ю.Кондратюка (г. Полтава), выпол- няется комплекс работ по созданию систем компьютерной алгебры (СКА) с входными языками нового поколения семейства АНАЛИТИК. На основании анализа современных тенденций развития науки и инженерии, систем компьютерной математики как средств автоматизации этой деятельности, а также опыта решения прикладных задач, были сформулированы требования к языкам нового поколения [2–6], основные из которых следующие: 1. Одной из основных тенденций развития науки и инженерии является стремитель- ный рост сложности и объема данных задач, что ведет к критическому падению продук- тивности их интерактивного решения. Уровень языка СКА должен быть достаточным для программирования автоматического выполнения всех функций решателя, включая интел- лектуальные. 2. Согласно разработанной теоретико-множественной модели задачи, данные в про- цессе решения представляют собой не совокупность отдельных выражений, а целостный объект с дуализмом свойств – комплекс, порожденный отношением абстрактной зависи- мости над множеством атомарных данных, и комплекса, порожденного отношением час- тичной упорядоченности над множеством операций, выполняемых в процессе решения. В частном случае комплексы могут быть иерархическими структурами, подобными исполь- зуемым при описании научных и технических теорий. 3. Входной язык должен быть набором базисных средств, достаточно полным для программирования процесса распознавания свойств и преобразования таких объектов. ISSN 1028-9763. Математичні машини і системи, 2010, № 4 19 4. Входной язык должен содержать набор базисных средств, достаточно полный для проблемной ориентации компактного ядра и интерфейса СКА. К настоящему времени в соответствии с этими требованиями разработаны специ- фикации языка АНАЛИТИК-2000 [7] и его модификация АНАЛИТИК-2007 [8]. В качестве базиса для программной реализации этих языков использовалась реали- зация языка АНАЛИТИК-93 [9]. В настоящее время реализация АНАЛИТИК-2007 пере- шла на стадию системного тестирования, а проект в целом – к стадии создания версии, ориентированной на широкого пользователя. 2. Реинжиниринг СКА АНАЛИТИК В процессе анализа сборки и тестирования сборки оказалось, что реализация на основе АНАЛИТИК-93 (который относится к началу 1990-х годов) не может обеспечить совокуп- ность системных свойств, в полной мере соответствующих изложенным выше требовани- ям. Разработка систем АНАЛИТИК-2000, -2007 по объективным причинам выполня- лась в течение достаточно долгого времени и не удовлетворяет условиям стандартизации и новациям в информационных технологиях и программировании. Реализация также не удовлетворяет ни одному из существующих стандартов про- граммного обеспечения (ПО) – не содержит потенциала для развития и адаптации к быст- ро изменяющимся современным внешним и внутренним условиям применения программ- ных продуктов и, в частности, систем компьютерной математики. Исходя из изложенных соображений, было принято решение о реинжиниринге [10] системы на основе современных технологий и с учетом современных тенденций в разви- тии программного обеспечения в области компьютерной математики. 2.1. Реверс-инжиниринг СКА АНАЛИТИК Существующая реализация АНАЛИТИК-2007 создавалась в течение длительного времени и разными программистами, со многими из которых связь утеряна, следствием чего явля- ется существенная нехватка информации о структуре и способе создания системы. Пред- ставляется целесообразным в качестве первого этапа реинжиниринга выполнить реверс- инжиниринг, т.е. исследование системы и имеющейся документации с целью понять принципы ее работы. Конечная цель этого этапа – выявить все ключевые подсистемы, обеспечивающие работу СКА в целом, механизмы их взаимодействия и их воспроизведе- ние на основе новых технологий, но с аналогичными функциями. Исследования показали, что в имеющейся реализации внимание уделялось в основ- ном свойствам языка, его сигнатуре, типам данных, алгоритмам, операторам и функциям языка для их обработки, которые тщательно тестировались и являются вполне надежными. Соответствующую часть программной реализации было решено оставить без особых из- менений. Вместе с тем в процессе испытаний был выявлен целый ряд существенных недос- татков. Представляется необходимым в первую очередь устранить такие: 1. Следует полностью изменить подсистему, обрабатывающую ошибки. Ранее ис- пользовался механизм АВОСТов – аварийных остановок работы ядра программы при воз- никновении ошибок. При работе с системой в режиме «командной строки» такая реализа- ция особых проблем не создавала. Однако при работе с системой, обладающей GUI, такая реализация делает ее неработоспособной – при АВОСТе работа или аварийно завершается, или оставшийся «мусор» не позволяет корректно продолжать работу. Предлагается подсистема, позволяющая автоматически и корректно обрабатывать возникшие ошибки с помощью специальных языковых конструкций. 20 ISSN 1028-9763. Математичні машини і системи, 2010, № 4 2. АНАЛИТИК обладает механизмом проблемной ориентации ядра, имеющей оп- ределенные преимущества над аналогичными [8]. В настоящее время для этого использу- ется единая библиотека функций, которую можно изменять, добавляя или удаляя пользо- вательские функции. Однако при таком подходе функции разной проблематики размеща- ются в одной и той же библиотеке и не сгруппированы по областям применения, что соз- дает определенные трудности. Представляется необходимым, сохраняя для пользователя возможность проблемно ориентировать ядро, полностью изменить механизм проблемной ориентации ядра во внут- реннем представлении системы, в частности, механизмы создания и подключения пользо- вательских функций. Вместо библиотеки функций предложен механизм, дающий возмож- ность как добавлять отдельные пользовательские функции и пользовательские операторы, так и пакеты функций и операторов. Под пакетом понимается некий набор пользователь- ских функций и операторов, объединенных согласно некоторому принципу, который целе- сообразен для пользователя. Благодаря предложенному механизму, обеспечивается возможность накопления и каталогизации пользовательских функций из разных областей знаний, обеспечивающих решение задач соответствующей проблематики. В частности, в разных пакетах могут со- держаться функции с одинаковыми именами. 2.2. Прямой реинжиниринг СКА АНАЛИТИК Прямой реинжиниринг программного обеспечения – это процесс создания новой функ- циональности или устранения ошибок путём кардинального изменения разработанного программного обеспечения [10]. Архитектура текущей реализации продиктована парадигмой структурного про- граммирования, которая являлась господствующей при проектировании программных сис- тем и организации труда программистов в конце 90-х годов, и поэтому она требует карди- нального изменения. В основу разработки новой архитектуры положен объектно-ориентированный под- ход. Ядро реализуется как динамически подключаемая библиотека с набором классов, дос- таточно полным для выполнения системы требований к АНАЛИТИКу. В качестве платформы для реализации была выбрана .NET 2.0, что позволяет сразу естественным образом решить одну из наиболее серьезных проблем текущей реализации – проблему распределения памяти и сборку «мусора». Как показали эксперименты, сущест- венного уменьшения производительности системы такой подход не вызывает по сравне- нию с используемым в СКА Maple, Mathematica, у которых эти функции выполняет ядро. Существующая реализация .NET Framework для Unix-подобных систем (проект Mono) дает возможность запускать программы, написанные с использованием .NET, прак- тически на всех операционных системах, что решает вопросы, связанные с кроссплатфор- менностью, актуальные на следующих этапах жизненного цикла СКА АНАЛИТИК. Подход на основе .NET также обеспечивает дополнительные возможности: • классы могут быть использованы не только интерфейсом, но и любой программой, написанной на .NET, что соответствует одной из современных тенденций в разработке программных продуктов – возможность интеграции различных программных систем; • возможность использования технологии ASP.NET для создания Web-приложений на основе функциональности языка АНАЛИТИК без изменений ядра системы; • может быть создана подсистема для тестирования СКА удаленным пользователем, что даст возможность более продуктивно и в короткие сроки провести как альфа, так и бе- та-тестирование; • возможность реальных применений новых представлений о данных, как о ком- плексе над множеством связанных выражений, одной из парадигм языка АНАЛИТИК, для ISSN 1028-9763. Математичні машини і системи, 2010, № 4 21 организации параллельных вычислений как локальных, так и, например, в качестве ядра GRID-вычислений. Существенным является и то, что в результате реинжиниринга набор классов ядра СКА АНАЛИТИК иерархически упорядочен. Это упрощает понимание работы ядра для конечного пользователя и обеспечивает выполнение требования п. 3 (см. выше). Для по- вышения производительности системы развит принцип повторного использования кода, написанного на С++ и Assembler и реализующего часто применяемые и трудоемкие мето- ды. 2.3. Изменения и развитие СКА АНАЛИТИК В результате реинжиниринга СКА АНАЛИТИК приобретает целый ряд новых возможно- стей. Предложенный механизм обработки ошибок направлен на развитие доминанты сис- тем этого семейства. Он ориентирован на разработку автоматических программ. Более то- го, благодаря этому механизму, будет предоставлена возможность создавать в теле про- граммы обработчики ошибок с элементами интеллектуального поведения, в соответствии с заданными или выработанными в процессе решения критериями распознавать существен- ные и несущественные ошибки и, соответственно, прекращать или не прекращать процесс автоматического решения. Новая подсистема для работы с ошибками позволяет генерировать сообщения об ошибках на разных языках. В свете развития проекта в направлении создания версии СКА для широкого пользователя это означает, что приобретается возможность создавать лока- лизации ядра без его изменения. Замена механизма библиотеки функций на механизм пакетов пользователей также является не просто заменой, а развитием СКА АНАЛИТИК в направлении создания вер- сии для широкого пользователя (бета-версии) и предпосылкой к следующему этапу – соз- данию коммерческой версии. Механизм пакетов расширения качественно усиливает возможности по расшире- нию функциональности и проблемной ориентации ядра. Само ядро при этом остается ком- пактным и содержит только базисный набор функций, что соответствует требованиям к системе. Языковый механизм для работы с пакетами будет сохранен (как и ранее, для под- ключения и исключения функций, пакетов, операторов будут использоваться функции ИСКЛ и ВКЛ). Вызов функции из пакета может происходить как по имени функции, если оно уникально, так и путем указания перед функцией имени пакета (например, Па- кет.Функция1()). Подобный механизм используется в большинстве современных СКА, од- нако в результате реинжиниринга закладывается большой потенциал для развития АНА- ЛИТИКа. В частности, в новой реализации в пакете могут содержаться не только сами функции, но и справочная информация по ним, примеры вызова и использования и др. В соответствии с требованиями АНАЛИТИК ориентирован на решение сложных задач с большими объемами данных. В настоящее время в качестве хранилищ больших объемов данных используются преимущественно базы данных. Логичным развитием ука- занного свойства является введение в язык нового типа данных «Таблица». Такое развитие языка и архитектура на основе .NET дают возможность СКА АНАЛИТИК работать прак- тически со всеми современными базами данных и знаний. Введение типа «Таблица» существенно расширит область применимости АНАЛИ- ТИКа. На основе этого типа возможно внедрение в язык АНАЛИТИК SQL-подобных кон- струкций. В перспективе такие конструкции будут работать не только с типом «Таблица», но и с векторами. Например, появляется возможность выбирать все координаты из векто- ра, зависящие от заданного выражения, и др. Представляет интерес и возможность с по- 22 ISSN 1028-9763. Математичні машини і системи, 2010, № 4 мощью типа «Таблица» сохранять результаты вычислений в базах данных, подготовлен- ных как АНАЛИТИКом, так и другими программными системами. Внедрение в АНАЛИТИК SQL-подобных конструкций может стать основой каче- ственно новых технологий обработки аналитических выражений. Более того, тип данных «Таблица» может стать основой принципиально нового подхода к реализации представле- ний о структуре данных (п. 2), которые являются еще одной доминантой языков семейства АНАЛИТИК. В настоящее время АНАЛИТИК ориентирован, в основном, на аналитические пре- образования и численные расчеты. Возможности для работы с графикой весьма скромные. В процессе реинжиниринга планируется реализация базовых функций для работы с 2D и 3D графическими примитивами, графиками функций и др. С этой целью вводятся но- вый класс «Графический объект» и базовые методы для работы с экземплярами этого класса. На основе этого класса становится возможным построение сколь угодно сложных графических объектов, а в целом АНАЛИТИК становится полноценным инструментом решения и визуализации решения сложных прикладных задач численно-аналитическими методами. 3. Выводы В результате реинжиниринга АНАЛИТИК будет отличаться от текущей реализации сле- дующим образом. • Новая реализация осуществляется с использованием перспективных технологий на основе платформы .NET. • Такой подход позволяет сохранить все существенные функциональные возможно- сти предыдущих реализаций АНАЛИТИКа. • Благодаря введению SQL-подобных конструкций, язык АНАЛИТИК приобретает качественно новые изобразительные возможности, что можно рассматривать как повыше- ние уровня интеллекта языка. • Вместе с тем, благодаря качественным изменениям в архитектуре, новая реализа- ция в значительно большей мере соответствует требованиям к конечной цели проекта. Перечисленные выше сделанные и планируемые изменения и нововведения на ос- новании реинжиниринга СКА АНАЛИТИК в целом дают возможность рассматривать АНАЛИТИК как язык четвертого поколения и позволяют говорить о новом этапе развития системы. СПИСОК ЛИТЕРАТУРЫ 1. Клименко В.П. Развитие и реализация идей ЭВМ МИР / В.П. Клименко // Третья международная научно-техническая конференция «Компьютерная математика в науке, инженерии и образовании» (CMSEE-2009), (Полтава, 1–31 октября 2009 г.). – Киев: Изд-во НАН Украины, 2009. – С. 5 – 11. 2. Фишман Ю.С. Основные особенности создания и применения средств реализации численно- аналитических методов / Ю.С. Фишман // Математические машины и системы. – 1998. – № 2. – С. 9 – 18. 3. Клименко В.П. Основные тенденции развития языков систем компьютерной алгебры / В.П. Кли- менко, А.Л. Ляхов, Ю.С. Фишман // Математичні машини і системи. – 2002. – № 2. – С. 29 – 64. 4. Ляхов О.Л. Деякі сучасні проблеми застосування чисельно-аналітичних методів / О.Л. Ляхов // Математичні машини і системи. – 2003. – № 2. – С. 54 – 65. 5. Клименко В.П. Прикладная математическая задача как объект компьютерной алгебры / В.П. Клименко, А.Л. Ляхов // Математичні машини і системи. – 2003. – № 3–4. – С. 103 – 123. 6. Клименко В.П. Інтелектуалізація розв’язування складних прикладних задач методами комп’ютерної алгебри / В.П. Клименко, О.Л. Ляхов. – К.: Логос, 2009. – 293 с. 7. АНАЛИТИК-2000 / А.А. Морозов, В.П. Клименко, А.Л. Ляхов [и др.] // Математичні машини і системи. – 2001. – № 1–2. – С. 66 – 99. ISSN 1028-9763. Математичні машини і системи, 2010, № 4 23 8. АНАЛИТИК-2007 / А.А. Морозов, В.П. Клименко, Ю.С. Фишман [и др.] // Математичні машини і системи. – 2007. – № 3–4. – С. 8 – 52. 9. АНАЛИТИК-93 / А.А. Морозов, В.П. Клименко, Ю.С. Фишман [и др.] // Кибернетика и систем- ный анализ. – 1995. – № 5. – С. 127 – 157. 10. Chikofsky E. Reverse Engineering and Design Recovery: A Taxonomy / Е. Chikofsky, J. Cross // IEEE Software. – 1990. – N 7 (1). – P. 13 – 18. Стаття надійшла до редакції 23.06.2010
id nasplib_isofts_kiev_ua-123456789-83309
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1028-9763
language Russian
last_indexed 2025-11-28T10:37:50Z
publishDate 2010
publisher Інститут проблем математичних машин і систем НАН України
record_format dspace
spelling Клименко, В.П.
Ляхов, А.Л.
Гвоздик, Д.Н.
2015-06-18T09:41:52Z
2015-06-18T09:41:52Z
2010
Реинжиниринг системы компьютерной алгебры АНАЛИТИК / В.П. Клименко, А.Л. Ляхов, Д.Н. Гвоздик // Мат. машини і системи. — 2010. — № 4. — С. 18-23. — Бібліогр.: 10 назв. — рос.
1028-9763
https://nasplib.isofts.kiev.ua/handle/123456789/83309
618.086
В данной работе рассматривается новый этап развития системы компьютерной алгебры АНАЛИТИК - реинжиниринг на основе новых прогрессивных технологий. Описаны процесс реинжиниринга, достигнутые и ожидаемые результаты. Показано, что в результате реинжиниринга, кроме усовершенствований, система приобретает качественно новые возможности и потенциал для дальнейшего развития.
У даній роботі розглядається новий етап розвитку системи комп'ютерної алгебри АНАЛІТИК - реінжиніринг на основі нових прогресивних технологій. Описано процес реінжинірингу, досягнуті та очікувані результати. Показано, що в результаті реінжинірингу, окрім удосконалень, система набуває якісно нових можливостей та потенціалу для подальшого розвитку.
In the article we consider a new stage of development of computer algebra system ANALITIC - reengineering based on new advanced technologies. Process of reengineering, achieved and expected results are described. It is shown that as a result of reengineering, except improvements, the system acquires the qualitatively new opportunities and the potential for further development.
ru
Інститут проблем математичних машин і систем НАН України
Математичні машини і системи
Обчислювальні системи
Реинжиниринг системы компьютерной алгебры АНАЛИТИК
Реінжиніринг системи комп'ютерної алгебри АНАЛІТИК
Reengineering of computer algebra system ANALITIC
Article
published earlier
spellingShingle Реинжиниринг системы компьютерной алгебры АНАЛИТИК
Клименко, В.П.
Ляхов, А.Л.
Гвоздик, Д.Н.
Обчислювальні системи
title Реинжиниринг системы компьютерной алгебры АНАЛИТИК
title_alt Реінжиніринг системи комп'ютерної алгебри АНАЛІТИК
Reengineering of computer algebra system ANALITIC
title_full Реинжиниринг системы компьютерной алгебры АНАЛИТИК
title_fullStr Реинжиниринг системы компьютерной алгебры АНАЛИТИК
title_full_unstemmed Реинжиниринг системы компьютерной алгебры АНАЛИТИК
title_short Реинжиниринг системы компьютерной алгебры АНАЛИТИК
title_sort реинжиниринг системы компьютерной алгебры аналитик
topic Обчислювальні системи
topic_facet Обчислювальні системи
url https://nasplib.isofts.kiev.ua/handle/123456789/83309
work_keys_str_mv AT klimenkovp reinžiniringsistemykompʹûternoialgebryanalitik
AT lâhoval reinžiniringsistemykompʹûternoialgebryanalitik
AT gvozdikdn reinžiniringsistemykompʹûternoialgebryanalitik
AT klimenkovp reínžiníringsistemikompûternoíalgebrianalítik
AT lâhoval reínžiníringsistemikompûternoíalgebrianalítik
AT gvozdikdn reínžiníringsistemikompûternoíalgebrianalítik
AT klimenkovp reengineeringofcomputeralgebrasystemanalitic
AT lâhoval reengineeringofcomputeralgebrasystemanalitic
AT gvozdikdn reengineeringofcomputeralgebrasystemanalitic