Решетневские чтения. 2017
УДК 519.683, 519.685
ФУНКЦИОНАЛЬНО-ОБЪЕКТНОЕ ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ
В. О. Каледин, А. Е. Гилёва
Новокузнецкий институт (филиал) ФБОУ ВО «Кемеровский государственный университет» Российская Федерация, 654041, г. Новокузнецк, ул. Циолковского, 23 E-mail: [email protected]
Рассматривается функционально-объектный подход реализации вычислительных алгоритмов, применимых при проектировании сложных промышленных изделий. Показаны преимущества предложенного способа при разработке компьютерной программы.
Ключевые слова: вычислительный алгоритм, объектная декомпозиция, функциональная зависимость, визуальное программирование.
FUNCTIONAL-OBJECT PROGRAMMING MATHEMATICAL MODELING ALGORITHMS
V. O. Kaledin, A. E. Gileva
The Novokuznetsk branch of the Kemerovo State University 23, Tsiolkovsky Str., Novokuznetsk, 654041, Russian Federation E-mail: [email protected]
The paper discusses a functional-object approach to the implementation of the computational algorithms used in the design of complex industrial products. The research shows the advantages of the proposed method for constructing a software code.
Keywords: computing algorithm, object decomposition, functional dependency, visual programming.
Предварительным этапом создания сложных конструкций, применяемых в авиа- и ракетостроении, строительстве и многих других промышленных областях является тщательный анализ параметров происходящих в них физических процессов. Для этой цели широко применяются методы математического моделирования. Одним из этапов математического моделирования является выбор и обоснование методов решения поставленной задачи. Чаще всего используются численные методы, применимые к широкому кругу математических постановок.
Программная реализация численных методов считается трудоёмкой задачей, требующей усилий больших коллективов. Этим вызвано распространение дорогостоящих универсальных программных комплексов. Однако применение подобных комплексов влечет за собой ряд проблем: высокие квалификационные требования к пользователю, трудоемкость использования универсальных программ, закрытость программного кода, что ограничивает круг решаемых частных задач.
Таким образом, разработка универсального программного комплекса для решения широкого класса задач, основанного на математически строго обоснованном подходе, актуальна на сегодняшний день [1].
Для программирования сложных алгоритмов в виде масштабируемых программных комплексов предлагается функционально-объектное программирование - способ программной реализации, в котором алгоритм представляется графически в виде функ-
циональных зависимостей программных объектов. Функционально-объектный подход даёт наглядное представление об используемом математическом аппарате [2-4]. Такой подход позволяет отслеживать промежуточные данные на каждом этапе расчета, что повышает доверие к полученным результатам.
В основу разрабатываемых вычислительных программ положена концепция объектной декомпозиции решаемой задачи [5]. При этом выделяются функциональные объекты, отвечающие за вычисление и хранение некоторых сущностей, и устанавливаются функциональные зависимости между этими сущностями. Весь алгоритм расчета представляется как последовательность элементарных шагов. Разбиение алгоритма, состоящего из большого количества взаимосвязанных шагов, направлено на снижение сложности вычислительной программы и трудностей в ее отладке и тестировании. Элементарным шагом алгоритма является вычисления значений функциональных объектов, одни из которых могут являться аргументами других. Каждый функциональный объект должен быть наделен определенной функциональностью, которая определяется классом объекта. Класс реализуется в виде программного кода на языке С++. Для вычисления объект может использовать данные других объектов, это обеспечивается установкой на графической схеме зависимости вида «аргумент-функция». Построенная функциональная схема определяет, в какой последовательности будут выполняться операции алгоритма.
Программные средства и информационные технологии
Представленный подход программирования вычислительных алгоритмов ускоряет процесс перехода от математической модели к программному коду, снижает время на отладку программы, значительно расширяет круг решаемых задач.
Библиографические ссылки
1. Каледин В. О., Глечиков Д. И., Локтионов В. Д. Открытая архитектура программ для математического моделирования в механике конструкций // Вестник Моск. энергетич. ин-та, 2008, № 4. С. 14-20.
2. Развитие пакета программ математического моделирования сопряженных задач механики неоднородных конструкций / Т. В. Бурнышева [и др.] // Вестник Кемеров. гос. ун-та. 2010, № 1. С. 3-8.
3. Программная система для алгоритмизации численного решения задач механики сплошной среды / В. О. Каледин [и др.] // Известия Алтай. гос. ун-та. 2014, № 1-1 (81). С. 161-164.
4. Среда визуального формирования исходной модели для конечноэлементных расчетов / А. Б. Митке-вич [и др.] // Информационные технологии и программирование. М. : Моск. гос. индустриальный ун-т, 2004. Вып. 1 (10). Ч. 2. С. 27-30.
5. Применение объектной декомпозиции математических моделей при разработке программного комплекса /В. О. Каледин [и др.] // В мире научных открытий. 2013, № 10 (46) С. 121-141.
References
1. Kaledin V. O., Glechikov D. I., Loktionov V. D. [Bulletin of the moscow Power Engineering institute].
Vestnik Mosk. energeticheskogo institute. 2008, No. 4. P. 14-20.
2. [Bulletin of the Kemerovo state University] / T. V. Burnysheva [et al.]. Vestnik Kemerov. gos. un-ta. 2010, no. 1. P. 3-8.
3. [Software system for algorithmization numerical solution of problems of continuum mechanics] / V. O. Kaledin [et al.]. Izvestiya Altay. gos. un-ta. 2014, No. 1-1 (81). P. 161-164. (In Rus.)
4. [Information technology and programming] / A. B. Mitkevich [et al.]. Informatsionnye tekhnologii i programmirovanie, 2004, No. 1. Part 2. P. 27-30.
5. [Application object decomposition of mathematical models in the development software] / V. O. Kaledin [et al.]. V mire nauchnykh otkrytiy. 2013, No. 10 (46). P. 121-141. (In Russ.)
© Каледин В. О., Гилева А. Е., 2017