Обобщенная структура удаленного репозитория языка Пифагор

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

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

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

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

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

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

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

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

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

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

Для удобства разработки данные файлы помещается в репозиторий (хранилище данных), обеспечивая поддержку совместной работы разработчиков над проектом. Взаимодействие разработчиков с репозиториями может осуществляться различными способами с использованием как графического, так и программного интерфейса. При этом одним из важных является способ организации совместной работы и связанное с ним сопровождение версий (хранение нескольких версий одного и того же файла, возвращение к более ранним версиям, определение разработчика, сделавшего то или иное изменение, и т.д.). В общем случае, все множество существующих систем управления версиями (СУВ) можно разделить на три типа: локальные (нет средств удаленного доступа), централизованные (клиент-серверные системы, имеющие одно общее хранилище), распределенные (каждый клиент - отдельное хранилище). Каждый из перечисленных типов можно характеризовать положительными и отрицательными чертами, являющихся следствием их архитектурных особенностей (Таблица 1).

Таблица 1. Сравнительная таблица типов систем управления версиями

Характеристики

Типы

локальные

централизованные

распределенные

Достоинства

автономность

необходимо хранить только рабочую копию

гибкость

блокировка файла или группы файлов

автономность

слежение за определённым файлом или группой файлов

единая сквозная нумерация версий системы и/или файлов, в которой номер версии монотонно возрастает

локальная работа пользователя с отдельной, небольшой по объёму выборкой

Недостатки

отсутствие удаленного доступа

необходимость доступа к центральному серверу

необходимость хранения всей истории

необходимость хранения всей истории версий

нет блокировки файла или группы файлов

нет возможности слежения за определённым файлом или их группой

нет единой сквозной нумерации версий системы и/или файлов, в которой номер версии монотонно возрастает

работа пользователя со всей историей версий, а не ее выборкой

Каждая из существующих централизованных и распределенных систем поддерживает один или несколько сетевых протоколов передачи данных, наиболее часто встречаемыми из которых являются: HTTP (в 60% СУВ из 30 наиболее распространённых), HTTPS (26%), Email (27%) и собственные протоколы, работающие через SSH (50%).

Так же выделяют класс программ, называемых хранилищем данных - программную подсистему, сочетающую в себе функции системы управления версиями, поисковой машины и системы управления базами данных (СУБД). В функционал хранилища данных входит:

- хранение структурированных и неструктурированных данных,

- полнотекстовый поиск,

- версионирование,

- поддержка транзакций,

- наблюдение за контентом.

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

· на основе анализа особенностей языка программирования формируется внутренняя структура хранилища (репозитория) функционально-потоковых параллельных программ;

· рассматриваются основные функции, обеспечивающие работы с репозиториями;

· анализируются возможности совместного использования нескольких репозиториев при создании одной программы.

Среди основных требований к репозиторию можно выделить:

- децентрализованное хранение данных, при котором каждый из разработчиков может создавать свой репозиторий;

- поддержка коллективной разработки библиотек и версий отдельных функций;

- автоматический учет зависимостей выбранной функции;

- удаленный доступ;

- разграничение прав доступа как к отдельным элементам репозитория, так и ко всему в целом;

- осуществления поиска внутри репозитория;

- возможность полного или частичного исполнения выбранной функции на стороне репозитория;

- графический интерфейс пользователя.

Приняв во внимание описанные выше требования к разрабатываемому репозиторию, а так же проанализировав взаимосвязь данного модуля с другими подсистемами разрабатываемого программного комплекса, пришли к заключению о необходимости создания клиент-серверного программного обеспечения класса хранилища данных. Поддерживающего распределенную модель хранения данных и сочетающего в себе подсистемы: управления версиями, управления базами данных, поиска и предоставления вычислительных ресурсов как сервиса (Рисунок 1).

Рисунок 1 - Структура репозитория

Работа выполняется в рамках ФЦП НПП № 14.A18.21.0396 «Инструментальная поддержка архитектурно-независимой разработки параллельных программ на основе функционально-потоковой парадигмы параллельного программирования».

Литература

репозиторий интерфейс программный

1. Makino J. GRAPE-DR and Next-Generation GRAPE. - Japan: Center for Computational Astrophysics and Division Theoretical Astronomy National Astronomical Observatory of Japan, 2009. - 51 c.

2. Легалов А.И. Функциональный язык для создания архитектурно-независимых параллельных программ. / А.И. Легалов // Вычислительные технологии, № 1 (10) - 2005. - С. 71-89.

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

...

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

  • Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.

    реферат [46,4 K], добавлен 01.11.2009

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

    контрольная работа [19,9 K], добавлен 16.11.2010

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

    презентация [192,3 K], добавлен 13.06.2014

  • Основные функции системы управления базами данных. Комплекс программных и лингвистических средств общего или специального назначения. Условия принятой технологии обработки данных. Управление буферами оперативной памяти. Журнализация и её значение.

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

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

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

  • Понятие и структура, общие требования к информационной системе, этапы разработки и предъявляемые требования. Особенности работы системы управления базами данных, технологии и принцип работы. Разработка, преобразование ER-диаграммы в реляционную модель.

    курсовая работа [383,8 K], добавлен 26.03.2015

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

    контрольная работа [4,1 M], добавлен 18.02.2014

  • Формы представляемой информации. Основные типы используемой модели данных. Уровни информационных процессов. Поиск информации и поиск данных. Сетевое хранилище данных. Проблемы разработки и сопровождения хранилищ данных. Технологии обработки данных.

    лекция [15,5 K], добавлен 19.08.2013

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

    презентация [677,3 K], добавлен 18.03.2015

  • Назначение и основные функции системы управления базами данных СУБД, особенности и признаки их классификации. Архитектура баз данных (БД). Разработка распределенных БД. Язык структурированных запросов (SQL). Правила Кодда: требования к реляционным БД.

    курсовая работа [376,2 K], добавлен 21.07.2012

  • Классификация систем управления базами данных. Выбор операционной системы, языка программирования, среды разработки (IDE) и дополнительных компонент. Разработка интерфейса и функций программы по управлению складом, её тестирование и исходный код файлов.

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

  • Программные продукты компании Microsoft: Access, Visual FoxPro7.0, dBASE. Возможности интеграции, совместной работы и использования данных. Системы управления базами данных (СУБД), их основные функции и компоненты. Работа с данными в режиме таблицы.

    курсовая работа [805,5 K], добавлен 15.12.2010

  • Проектирование программного обеспечения для классифицирования выпускников высшего учебного заведения. Выбор системы управления базами данных и языка программирования. Разработка структуры данных, схема базы данных. Реализация программного комплекса.

    дипломная работа [2,4 M], добавлен 27.03.2013

  • Роль распределенных вычислительных систем в решении современных задач. Инструментальная система DVM для разработки параллельных программ. Средства построения формальной модели графического интерфейса. Требования к графическому интерфейсу DVM-системы.

    курсовая работа [2,7 M], добавлен 15.10.2010

  • Файловая организация баз данных. Взаимодействие администратора баз данных с пользователями. Иерархическая и сетевая даталогические модели системы управления базами данных. Принципиальная организация системы обработки информации на основе БД-технологии.

    реферат [762,0 K], добавлен 23.12.2015

  • Понятие базы данных, их цели и задачи, требования к БД; система управления базами данных. Файловые системы: именование и структуры файлов, программное обеспечение. Уровни абстракции в СУБД, функции абстрактных данных. Экспертные системы и базы знаний.

    презентация [301,6 K], добавлен 17.04.2013

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

    отчет по практике [360,4 K], добавлен 08.02.2014

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

    контрольная работа [939,2 K], добавлен 25.04.2015

  • Структура взаимодействия входной и выходной информации. Требования к программно-аппаратному окружению, к эргономике и технической эстетике интерфейса пользователя. Эскиз и спецификация типовых объектов управления графического интерфейса, тестирование.

    курсовая работа [2,0 M], добавлен 16.02.2016

  • Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.

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

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