Оценка эффективности построения программных средств гидроакустических информационных систем с использованием конфигурируемого программного каркаса - Статья
Оценка величины "Дополнительная сложность", зависимость трудоемкости от количества алгоритмов. Аппроксимация трудоемкости при классическом подходе и при использовании каркаса. Экономический эффект от применения каркаса в различных стадиях его развития.
Гидроакустическая информационная система (далее ГА ИС) - это такая система, направленная на решение задач в области гидроакустики, в которой антенные подсистемы и подсистемы прием/передачи являются средствами получения данных, а основной функционал системы и ее свойства определяются программными средствами, функционирующими на базе вычислительной техники общего назначения [1]. Основной задачей каркаса является статическая реализация задач по взаимодействию с аппаратной составляющей ГА ИС (управление параметрами излучения и прием эхо-сигналов) и предоставление точек динамического расширения для задач связанных с алгоритмами обработки эхо-сигналов, правилами отображения результирующей информации и алгоритмами выработки управляющих воздействий. Таким образом, каркас должен в какой-то мере обеспечить решение двух основных проблем разработки программного обеспечения: отсутствие систематического повторного использования артефактов и семантический разрыв между средствами описания решений и средствами их реализации [11]. Оценка будет дана как для ситуации, в которой каркас решает проблему семантического разрыва, так и для ситуации в которой появляется эффект от систематического повторного использования артефактов предметной области. Так же необходимо провести похожую оценку количества алгоритмов для системы, планируемой к построению - Доплеровский измеритель скорости движения, совмещенный с навигационным эхолотом, которая по предварительным оценкам должна состоять из 10 алгоритмов.Из результатов проведенного эксперимента следует, что при создании программных средств гидроакустических информационных систем экономия от использования программного каркаса может составлять от 40 до 82 процентов.
Введение
Гидроакустическая информационная система (далее ГА ИС) - это такая система, направленная на решение задач в области гидроакустики, в которой антенные подсистемы и подсистемы прием/передачи являются средствами получения данных, а основной функционал системы и ее свойства определяются программными средствами, функционирующими на базе вычислительной техники общего назначения [1]. Построение программных средств ГА ИС является сложной и дорогостоящей задачей [2,3], поэтому вопросы повышения эффективности этого процесса крайне актуальны. Под повышением эффективности построения программных средств принято понимать сокращение трудоемкости и стоимости относительно существующих на сегодняшний день методик [4] и инструментов при сохранении соответствующего качества [5]. Конфигурируемый программный каркас [6,7], есть результат реализации метода конфигурирования функциональности программных средств ГА ИС, изложенного в работах [8,9]. Основной задачей каркаса является статическая реализация задач по взаимодействию с аппаратной составляющей ГА ИС (управление параметрами излучения и прием эхо-сигналов) и предоставление точек динамического расширения для задач связанных с алгоритмами обработки эхо-сигналов, правилами отображения результирующей информации и алгоритмами выработки управляющих воздействий. Таким образом, каркас должен в какой-то мере обеспечить решение двух основных проблем разработки программного обеспечения: отсутствие систематического повторного использования артефактов и семантический разрыв между средствами описания решений и средствами их реализации [11].
Целью данной статьи является оценка эффективности построения программных средств ГА ИС с использованием созданного каркаса по сравнению с традиционными методами программирования. Оценка будет дана как для ситуации, в которой каркас решает проблему семантического разрыва, так и для ситуации в которой появляется эффект от систематического повторного использования артефактов предметной области.
Для проведения оценки эффективности был проведен эксперимент, исходные данные и схема проведения которого изложена в пункте 2 данной статьи. В пункте 3 описывается методика проведения. В заключении дается оценка полученным результатам.
Схема проведения эксперимента и исходные данные
Как было показано в работах [8,9,10], программный каркас статически реализует задачи связанные с системным программированием и взаимодействием между алгоритмами программного средства. Задачи подобного рода называют «дополнительная сложность», которую каркас исключает. Так же каркас может повышать эффективность разработки за счет систематического накопления и использования артефактов предметной области. Такое повышение эффективности будет напрямую зависеть от количества уникальных артефактов предметной области находящихся в распоряжении каркаса. Поэтому первой задачей проведения эксперимента является оценка величины «дополнительная сложность». Второй задачей является оценка уровня эффективности каркаса в различных эволюционных состояниях на примере планируемой к построению гидроакустической системы.
Для оценки величины «дополнительная сложность» предлагается использовать исходные данные, полученные в ходе реального производственного процесса на предприятии ООО «Аквазонд».
В период с 2009 по 2011 годы в ООО «Аквзаонд» были разработаны следующие системы: промерный глубоководный эхолот, промерный эхолот с возможностью бокового обзора межгалсовых опасностей, параметрический профилограф. Для каждой из приведенных систем разрабатывались собственные уникальные программные средства с использованием классических приемов и методов проектирования и программирования. Любая задача, связанная с разработкой указанных программных средств логировалась в системе управления проектами Redmine. Важные для эксперимента данные из системы управления проектами представлены в таблице № 1.
Таблица № 1 Данные из системы управления проектами Redmine
Проект в Redmine Общее количество часов, затраченное на проект, час Количество алгоритмов обработки и управления Пронормированное к максимальному время, %
Промерный глубоководный эхолот 4196 6 65.03
Промерный эхолот с боковым обзором 6452 12 100
Параметрический профилограф 5678 8 88
Для оценки уровня эффективности каркаса в различных эволюционных состояниях необходимо по очереди реализовать приведенные в таблице № 1 программные средства средствами каркаса. В процессе реализации каждого программного средства необходимо вести оценку количества алгоритмов, для которых истинно одно из следующих событий: A1 - алгоритм создан с нуля;
A2 - использован уже имеющийся алгоритм, в котором переделано около 70%;
A3 - использован уже имеющийся алгоритм, в котором переделано около 30%;
A4 - использован уже имеющийся алгоритм без каких-либо переработок.
Так же необходимо провести похожую оценку количества алгоритмов для системы, планируемой к построению - Доплеровский измеритель скорости движения, совмещенный с навигационным эхолотом, которая по предварительным оценкам должна состоять из 10 алгоритмов.
Из полученных количественных значений следует рассчитать вероятности возникновения каждого из четырех возможных событий. Затем следует построить функции распределения вероятностей в зависимости от количества алгоритмов для каждого из возможных событий. После чего необходимо оценить изменение трудоемкости с учетом полученных функций распределения вероятностей в каждом эволюционном состоянии каркаса.
В качестве средств обеспечения эксперимента будут использованы: математический пакет Mathematica 9 Wolfram; программный каркас sea-watcher-core, спецификации систем из таблицы № 1, а так же спецификация функциональных требований к системе «Доплеровский измеритель скорости движения, совмещенный с навигационным эхолотом».
Методика проведения эксперимента. Оценка величины «Дополнительная сложность»
Для оценки величины «дополнительная сложность» из данных, приведенных в таблице № 1, построим три точки на двумерной плоскости, каждая из которых будет характеризовать зависимость трудоемкости, выраженной в процентах от количества доменных алгоритмов m.
Результат на рис. 1, из которого видно, что общая зависимость трудоемкости от количества алгоритмов близка к линейной. Для того чтобы оценить уровень трудоемкости при нулевом количестве алгоритмов необходимо найти линейную функцию которая будет наиболее лучшим образом вписываться в представленные точки.
Рис. 1. - Зависимость трудоемкости от количества алгоритмов
Выполним поиск такой функции с помощью метода наименьших квадратов: y0 = 37.3329 5.42429 x (1)
Подставляя в выражение (1) вместо x нулевое количество алгоритмов m, получим величину «дополнительная сложность», которая будет составлять около 37.33 %.
Далее в статьей будем полагать, что использование программного каркаса избавляет от дополнительной сложности, но при этом характер зависимости трудоемкости от количества доменных алгоритмов будет оставаться таким же как в выражении (1). Тогда зависимость трудоемкости от количества алгоритмов будет определяться выражением: LINEFRAMEWORK = 5.42429*x(2)
На рисунке 2 представлен график, отображающий реальные данные из системы управления проектами, их аппроксимацию и характер изменения трудоемкости при использовании каркаса.
Рис. 2. - Аппроксимация трудоемкости в случае классического подхода (синяя линия) и в случае использования каркаса (зеленая линия)
Оценка уровня эффективности каркаса в различных эволюционных состояниях
При реализации каждой системы из таблицы № 1 средствами каркаса фиксировались следующие показатели: n - общее количество алгоритмов и n(Ai) - количество алгоритмов для которых истинно событие Ai. Соответственно вероятность возникновения события в точке эволюционного развития каркаса j будет определяться выражением (3).
,(3) где j - это номер стадии эволюционного развития, при этом будем полагать, что создание любой новой системы с использованием каркаса будет приводить к появлению новой стадии. В дополнение к вышеприведенным величинам будем также фиксировать параметр N, который отражает общее количество доменных алгоритмов находящихся в распоряжении каркаса. Значения указанных величин приведены в таблице № 2 и таблице № 3.
Таблица № 2 Количество алгоритмов для которых истинно событие Ai
Номер стадии (j) Наименование системы nj nj(A1) nj(A2) nj(A3) nj(A4)
1 Промерный глубоководный эхолот 6 6 0 0 0
2 Параметрический профилограф 8 5 2 1 0
3 Промерный эхолот с боковым обзором 12 1 5 3 3
4 Доплеровский измеритель скорости движения совмещенный с навигационным эхолотом 10 1 1 2 6
Таблица № 3 Вероятности возникновения событий Ai в различных эволюционных стадиях развития каркаса
Номер стадии (j) N Pj(A1) Pj(A2) Pj(A3) Pj(A4)
1 0 1 0 0 0
2 6 0.625 0.25 0.125 0
3 14 0.083 0.416 0.25 0.25
4 26 0.1 0.1 0.2 0.6
Проведя линейную интерполяцию между парами образуемыми столбцом N из таблицы № 3 и столбцами Pj(A1), Pj(A2), Pj(A3), Pj(A4), получим функции распределения вероятности возникновения каждого из возможных событий в зависимости от общего количества доменных алгоритмов находящихся в распоряжении системы (рис. 3).
Рис. 3. - Распределения вероятностей возникновения событий Ai в зависимости от количества имеющихся доменных алгоритмов
Далее используя полученные распределения вероятностей, оценим на примере системы «Доплеровский измеритель скорости движения совмещенный с навигационным эхолотом», которая предположительно должна состоять из 10 алгоритмов, теоретическое изменение трудоемкости в зависимости от эволюционной стадии в которой находится каркас (точки оси N равные 0, 6, 14 и 26). Для этого на каждой эволюционной стадии развития каркаса будем проводить разбиение 10 алгоритмов на отрезки, длина которых пропорциональна распределению вероятностей возникновения каждого события в этой точке. Затем вычисляется отклонение каждой точки, каждого отрезка от базисной трудоемкости, характерной для использования каркаса без учета накопления артефактов предметной области, которая определяется выражением (2). Для вычисления отклонения будем пользоваться следующим выражением: , (4) где .
Для упрощения расчетов на отрезке, для которого полагается истинным событие A1, будем рассчитывать две точки: начальную точку отрезка и конечную точку отрезка. Для остальных отрезков каждое последующее значение будет определяться выражением (4). Результаты расчетов представлены в таблице № 4. Графики функций отражающих трудоемкость на каждой из эволюционных стадий каркаса представлены на рис. 4.
Рис. 4. - Трудоемкость реализации системы для различных эволюционных стадий развития каркаса
От трудоемкости для системы «Доплеровский измеритель скорости совмещенный с навигационным эхолотом» выраженной в процентах перейдем к трудоемкости, выраженной в часах с помощью соотношения: час(5)
Выразить абсолютную разницу в процентах между традиционным способом построения и способом с использованием каркаса можно с помощью выражения: каркас алгоритм аппроксимация сложность
(6)
Таблица № 5 Экономический эффект получаемый от применения каркаса в различных стадиях его развития yj(10),% delta, % tj, час t0- tj,час Экономия (1ч=150руб), руб. y0 91.57 0 5908 0 0 y1 54.24 40.76 3499 2409 361350 y2 49.71 45.71 3207 2701 405150 y3 37.35 59.21 2409 3499 524850 y4 15.9 82.63 1025 4883 732450
Вывод
Из результатов проведенного эксперимента следует, что при создании программных средств гидроакустических информационных систем экономия от использования программного каркаса может составлять от 40 до 82 процентов. Величина экономии варьируется в зависимости от того, сколько уже было построено программных средств с использованием каркаса, насколько эти системы близки между собой в доменном плане и каково общее количество доменных алгоритмов в распоряжении каркаса. Следует отметить, что приведенные численные значения расчетов верны для предметной области малоканальной гидроакустики, а для других предметных областей могут отличаться, тем не менее, есть основания полагать, что общая тенденция должна сохранятся.
Важным дополнением к проведенному эксперименту является тот факт, что в нем никаким образом не учитывались временные затраты необходимые для ознакомления разработчика с каркасом и предметной областью. Это обстоятельство может косвенно указывать на направление дальнейших исследований, направленных на проектирование и разработку лингвистических и контекстно-подсказывающих средств работы с каркасом и предметно-ориентированным содержимым, накопленным в нем в процессе эксплуатации.
Список литературы
1. CAI Zhiming, WANG Ximin Concept and development of the software-defined sonar. Electronic Engineering College, Naval University of Engineering, Wuhan 430033, China, Technical Acoustics; 2007-05, p. 201-206
2. Бурякова Н.А., Чернов. А.В. Классификация частично формализованных и формальных моделей и методов верификации программного обеспечения. [Электронный ресурс] // Инженерный вестник Дона, №4, 2010. Режим доступа: http://www.ivdon.ru/magazine/archive/n4y2010/259 (доступ свободный) - Загл. с экрана. - Яз. рус.
3. Яловой, И.О. Анализ требований и управление изменениями программных проектов [Электронный ресурс] // Инженерный вестник Дона, №4, 2008. Режим доступа: http://www.ivdon.ru/magazine/archive/n4y2008/102 (доступ свободный) - Загл. с экрана. - Яз. рус.
4. XU Renzhou, Qiu Feng, Cai Zhiming, Wang Ximin. Software-defined sonar domain modeling based on UML. 2nd International Conference on Computer Engineering and Technology, 2010, p. 2844-2849
5. Рогозов, Ю.И., Дегтярев А.А. Информационные процессы в малоканальных гидроакустических комплексах ближнего действия построенных на основе программно-ориентированной архитектуры [Текст] // ИТСАУ11 IX Всероссийская научная конференция молодых ученых, аспирантов и студентов «Информационные технологии, системный анализ и управление»: Сборник материалов. - Таганрог: Изд-во ТТИ ЮФУ, 2011. - Т.1. c.64-68
6. Рощин, М.А. Проектирование многокомпонентных программных систем на основе гибридных логических моделей [Текст]: Дис… канд. тех. наук: 05.13.01, 05.13.12 - Волгоград, 2007 - 124 с.
7. Дегтярев А.А., Дегтярева Е.Е., Рогозов Ю.И. Конфигурируемый каркас для гидроакустических компьютеризированных приборов. // Свидетельство о государственной регистрации программы для ЭВМ №2013660087 от 23 октября 2013.
8. Дегтярев, А.А. Архитектура программного ядра для построения информационных систем сбора, обработки и хранения данных на примере малоканальных гидроакустических систем [Текст] // Высокопроизводительные вычислительные системы: Сб. науч. тр. Вып. 2. - Таганрог: Изд-во ЮФУ, 2012 - С. 7 - 11.
9. Рогозов Ю.И., Дегтярев А.А. Формальные модели механизма конфигурирования функциональности гидроакустических информационных систем [Текст] // Информатизация и связь. 2013. N2. С. 28-31.
10. Рогозов Ю.И., Дегтярев А.А. Основы метода конфигурирования функциональности программных средств гидроакустических информационных систем [Текст] // Технологии разработки информационных систем ТРИС-2013: материалы конференции. Том 1. - Таганрог: Издательство Технологического института ЮФУ, 2013. С. 25-31.
11. Дегтярев, А.А. Подход к построению программного обеспечения гидроакустических информационных систем ближнего действия [Текст] // Труды одиннадцатой всероссийской конференции «Прикладные технологии гидроакустики и гидрофизики» - СПБ.: Наука,2012. - 504с. стр. 140-142.
Размещено на .ru
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы