Обобщенная структура удаленного репозитория языка Пифагор
Информационное хранилище - программный комплекс, сочетающий в себе функции поисковой машины и системы управления базами данных. Наличие поддержки коллективной разработки библиотек и графического интерфейса - требования, предъявляемые к репозиторию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 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