Графические языки программирования в АСНИ с возможностью распределения задач между ресурсами ЛВС

Рассмотрение программных средств, используемых автоматизированной системой научных исследований. Графический язык программирования, используемый в LabVIEW. Операторы графического языка программирования. Изучение методов реконструкции томограмм.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 22.08.2020
Размер файла 24,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ГРАФИЧЕСКИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ В АСНИ С ВОЗМОЖНОСТЬЮ РАСПРЕДЕЛЕНИЯ ЗАДАЧ МЕЖДУ РЕСУРСАМИ ЛВС

БИЗИН И.В., МОЗГОВ С.С.

Annotation

This article describe the usability of graphic program languages in automatic research system for methods of reconstruction tomographic imaging with distributed computing of local computer networks.

Основная часть

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

На сегодняшний момент существует целый ряд программных средств для выполнения задач АСНИ: LabVIEW (National Instruments), IsaGRAF (ICS Triplex ISAGRAF Inc.). LabVIEW (англ. Laboratory Virtual Instrumentation Engineering Workbench) -- это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США). LabVIEW может быть использована в системах сбора и обработки данных, а также для управления технологическими процессами и техническими объектами. По сути АСНИ типа LabVIEW очень близки к SCADA-системам, но в отличие от них ориентированы на решение задач не столько в области АСУ ТП, сколько в области автоматизации лабораторных исследований.

Графический язык программирования, используемый в LabVIEW, основан на архитектуре потоков данных. В таких языках последовательность выполнения операторов определяется не порядком их следования (как в императивных языках программирования), а наличием данных на входах этих операторов. Операторы, не связанные по данным, выполняются параллельно в произвольном порядке.

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

Одной из таких задач является построение и изучение методов реконструкции томограмм. Все задачи КТ в той или иной степени некорректны, поэтому их исследование должно опираться на основные положения теории некорректно поставленных задач [5]. Это предполагает проведение многократного тестирования алгоритмов решения задач КТ. Концептуально АСНИ методов реконструкции томограмм представляет собой графический редактор языка описания выполнения операций над потоком данных, полученных с томографа. Исследователь строит зависимости между операторами, задавая в виде поточной модели последовательность обработки данных модулями, и показывает альтернативные варианты для проведения сравнительного анализа.

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

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

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

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

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

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

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

Поточная модель управления -- модель программирования, в которой инструкции, процедуры или функции выполняются только тогда, когда все входные данные (т.е. параметры и аргументы) готовы. Альтернативной моделью программирования является командное управление (Control Flow), в которой счетчик команд контролирует переход в памяти программ от одной команды к другой при их последовательном выполнении. Под командами в случае моделирования метода реконструкции мы будем понимать подпрограммы, выполняющие логически обособленные операции метода, например, отдельно подпрограмма обратной проекции и подпрограмма фильтрации в методе реконструкции фильтрованных обратных проекций трансмиссионной томографии.

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

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

Ключевыми моментами при проектировании АСНИ вычислительных экспериментов являются:

– реализация подсистемы формального описания серии экспериментов;

– реализация подсистемы выполнения серии экспериментов;

– реализация подсистемы анализа и систематизации полученных результатов с сохранением в базе данных;

– реализация подсистемы обработки сохраненных результатов различными математическими методами;

– реализация подсистемы статистического анализа результатов и выявления закономерностей.

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

АСНИ методов реконструкции томограмм относится к классу АСНИ, в которой виртуальные приборы часто работают с тем или иным изображением, например, томограммой или фантомом. Одновременно с этим часть функционала графического языка программирования может не потребоваться. За счет этого обстоятельства можно не только значительно упростить представление модели, но и оптимизировать процесс интерпретации и компиляции такого языка.

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

Один из подходов автоматизированного задания ограничений связан с использованием «гравитационных полей» [1]. Гравитационные поля - это области, связанные с действием некоторого ограничения. Попадая в такую область, объект автоматически вовлекается в соответствующее ограничение. Например, круг с центром в созданной ранее точке может представлять гравитационное поле ограничения эквивалентности.

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

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

В качестве основных функций графического редактора, реализующего вывод геометрических ограничений целостности, можно выделить следующие:

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

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

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

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

Литература

1. Borning, A. Constraint-Based Tools for Building User Interfaces [Text] / A. Borning, Duisberg // ACM Transactions on Graphics, 1986. Vol. 5. N.4. P. 345 - 374.

2. Буч, Г. Объектно-ориентированное программирование [Текст] / Г. Буч. М.: Конкорд, 1992. 519 с.

3. Воеводин, В. В. Параллельные вычисления [Текст] / В. В. Воеводин, Вл. В. Воеводин. Спб.: БХВ-Петербург, 2002. 608 с.: ил. ISBN 5-94157-160-7.

4. Налимов, В. В. Теория эксперимента [Текст] / В. В. Налимов. М.: Наука, 1971.

5. Наттерер, Ф. Математические аспекты компьютерной томографии [Текст]: [пер. с англ.] / Ф. Наттерер. М.: Мир, 1990. 288 с.: ил. ISBN 5-03-001355-5.

Размещено на Allbest.ru

...

Подобные документы

  • Понятие и специфические особенности языка программирования Си, история его создания. Интегрированная система Borland C. Процесс программирования с помощью данного языка. Графические примитивы в языках программирования. Преобразования на плоскости.

    курс лекций [782,2 K], добавлен 04.10.2011

  • Основные сведения о языках программирования и их состав. Программа для компьютера. Использование компилятора и операторы. Языки программирования высокого уровня. Концепции объектно-ориентированного программирования. Языки искусственного интеллекта.

    презентация [6,3 M], добавлен 14.08.2013

  • Изучение общей структуры языка программирования Delphi: главные и дополнительные составные части среды программирования. Синтаксис и семантика языка программирования Delphi: алфавит языка, элементарные конструкции, переменные, константы и операторы.

    курсовая работа [738,1 K], добавлен 17.05.2010

  • Системы программирования и их графические возможности. Разработка мультимедиа курса, способствующего эффективному усвоению учащимися базовой школы темы "Графические возможности языка программирования" (на примере языков программирования Basic и Pascal).

    дипломная работа [588,3 K], добавлен 29.12.2010

  • Цели и задачи дисциплины "Технология программирования". Программные средства ПК. Состав системы программирования и элементы языка. Введение в систему программирования и операторы языка Си. Организация работы с файлами. Особенности программирования на С++.

    методичка [126,3 K], добавлен 07.12.2011

  • Характеристика базовых конструкций языков программирования. Изучение истории их развития и классификации. Определение основных понятий языков программирования. Описание основных операторов, которые используются в языках программирования высокого уровня.

    курсовая работа [400,6 K], добавлен 10.11.2016

  • Что такое язык программирования. Для чего нужны языки программирования. Какие существуют языки программирования. Фортран. Алгол. Кобол. Лисп. Бейсик. Форт. Паскаль. Ада. Си. Пролог. Что такое компилятор и интерпретатор.

    реферат [20,2 K], добавлен 27.05.2007

  • Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.

    курсовая работа [407,4 K], добавлен 21.06.2014

  • Язык программирования как формальная знаковая система, предназначенная для записи программ, его отличие от естественных языков. Прописные и строчные буквы латинского алфавита. Ключевые слова языка программирования. Классическая схема создания программы.

    презентация [1,2 M], добавлен 19.02.2014

  • История развития и классификация высокоуровневых языков логического программирования. Определение понятий графического интерфейса, сетевых протоколов и моделей баз данных. Современные системы программирования компании Borland/Inprise и фирмы Microsoft.

    курсовая работа [72,3 K], добавлен 11.07.2011

  • Векторная компьютерная графика. Графические примитивы. Графические возможности языка программирования Pascal. Методические рекомендации к изучению графики в языке программирования Pascal. Построение графиков функций.

    курсовая работа [28,3 K], добавлен 13.06.2007

  • Эволюция языков программирования от низкого уровня до современности. Языки программирования второго поколения - ассемблер. Императивные, функциональные, логические и объектно-ориентированные языки. Машинная независимость. Парадигмы программирования.

    презентация [353,5 K], добавлен 14.10.2013

  • Семантика языков программирования. Процедурные и объектно-ориентированные языки программирования. Стандартная библиотека шаблонов. Независимость байт-кода от операционной системы и оборудования и возможность выполнения Java-приложения на любом устройстве.

    реферат [50,5 K], добавлен 24.11.2009

  • Рассмотрение и ознакомление с одним из наиболее используемых языков программирования - С++. Его применение в процессе работы со строковыми типами данных и символами. Исследование кодов написания программ в режиме разработки консольного приложения.

    курсовая работа [6,1 M], добавлен 20.01.2016

  • Цель информационного программирования; алгоритмический язык как система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Языки программирования низкого и высокого уровня; классификация и использование структуры данных.

    реферат [383,1 K], добавлен 07.01.2012

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

    дипломная работа [471,5 K], добавлен 23.04.2015

  • Описание современных языков программирования (Паскаль, Ассемблер, С++, Бейсик, Лого, Форт, Пролог, Рефал и Лекс). Понятие, назначение и составные элементы систем программирования (машинно-ориентированных и машинно-независимых систем программирования).

    курсовая работа [96,3 K], добавлен 18.08.2010

  • Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.

    курсовая работа [290,9 K], добавлен 05.12.2008

  • Изучение основных стилей программирования: процедурного, функционального, логического, объектно-ориентированного. Язык Ассемблера, предназначенный для представления в символической форме программ, записанных на машинном языке. Многоцелевой язык Basic.

    презентация [905,2 K], добавлен 23.03.2011

  • Этапы создания программы. Транслятор как средство для преобразования текстов из одного языка в другой. Понятие языков программирования, основные моменты их истории. Некоторые операторы языка QBasic. Понятие переменной, ее наглядное представление.

    презентация [22,9 K], добавлен 16.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.