Лаборатория   Информационных  Технологий 

         Положение о JINRLIB - библиотеке программ ОИЯИ


JINRLIB - библиотека программ, предназначенных для решения широкого круга математических и физических проблем, возникающих в ходе научной деятельности сотрудников ОИЯИ.

Цели проекта:

  1. Обеспечить долговременную и стабильную поддержку пользователей компьютеров всех типов, существующих в ОИЯИ;
  2. Обеспечить сохранение результатов труда старшего поколения специалистов по численным методам;
  3. Создать у сотрудников ОИЯИ стимул для разработки собственных программ.

Состав библиотеки:

Основу библиотеки составляют программы из MATHLIB и KERNLIB - ядра программного обеспечения CERN, и LIBDUBNA - популярной в прошлом библиотеки программ. Пополнение библиотеки будет происходить

a) новыми программами, создаваемыми сотрудниками ОИЯИ и их коллаборантами;
б) программами, легально приобретаемыми "на стороне" и адаптированными для нужд ОИЯИ.

Принципы организации и технология сопровождения:

  1. Библиотека - это коллекция программ, распространяемых в виде объектных модулей или в виде самостоятельных пакетов прикладных программ. Каждая программа идентифицируется уникальным индексом или именем. Для индексирования программ, включаемых в библиотеки объектных модулей, используется привычная нашим пользователям классификация, принятая в свое время в LIBDUBNA. Для идентификации остальных программ используется ее имя и классификация, принятая в издательском отделе ОИЯИ.

  2. Библиотечная программа, включаемая в библиотеки объектных модулей, это совокупность не более чем 3 компонентов:
    1. Исходный текст. Это файл, содержащий тексты всех подпрограмм библиотечной программы, пригодных для компиляции на компьютерах различных типов. Обязательный компонент.
    2. Описание программы. Обязательный компонент. Приветствуется предоставление описания программы на обоих языках, русском и английском.
    3. Тестирующая программа. Кроме того, здесь могут понадобиться файлы, содержащие исходные данные для теста и результаты эталонного прогона. Крайне желательный компонент.

  3. Все программы работают только с 64-разрядным представлением чисел с плавающей запятой.
    Использование в программе конкретных особенностей машинного представления чисел допускается только в исключительных случаях. Для Фортрана: каждая подпрограмма должна содержать строку
    IMPLICIT REAL*8 ( A-H, O-Z )
    Для работы с целыми числами используется INTEGER*4, принятое в Фортране по умолчанию.
    Для языков С и С++ должны использоваться типы Double и Long.

  4. Имена файлов, содержащих компоненты библиотечной программы, получаются из ее библиотечного индекса. Расширения имен: .for .c .C .txt .dat .res Каждая программа располагается в отдельной директории, имя которой совпадает с библиотечным индексом или именем.
    Например, программа А101 хранится в директории А101 в виде 6 файлов:
                    А101.for       содержит фортранный текст программы А101,
                    T_А101.for   - файл с тестом программы А101,
                    A101.dat     - набор входных данных для теста,
                    A101.res     - результат прогона теста,
                    A101.txt     - описание программы А101 на русском языке,
                    A101E.txt    - описание программы А101 на английском языке.
    
    

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

  6. Предлагаемая фоpма описания таких программ:
         Название         Библиотека "JINRLIB"                Индекс:
         Автор:
         Язык:
         Назначение:
         Структура:
           Тип:  Подпрограмма, подпрограмма-функция
           Имена входа для пользователя:
           Внутpенние имена:
           Используемые внешние подпрограммы:
         Обращение:
         Метод:
         Точность, ограничения:
         Ошибки исполнения:
         Литература:
    
    

  7. Головная директория библиотеки называется JINRLIB. Здесь размещаются:
    а) программа для полной пересборки библиотеки из ее компонентов;
    б) файл библиотеки, получаемый в процессе сборки;
    в) поддиректории A101-Z999 компонентов библиотеки;
    г) временные файлы, создаваемые в ходе сборки библиотеки.

  8. Программа пересборки библиотеки индивидуальна для каждой платформы. Как правило, это текстовый файл, содержащий команды вызова компилятора и библиотекаря.

  9. Предлагаемая организация материалов библиотеки пригодна для использования современных технологий сопровождения больших систем (например, CVS).

  10. Программы, которые по разным причинам не удовлетворяют требованиям п.2 (нет исходного текста, программа не является мобильной и т.п.), при желании автора также могут регистрироваться в JINRLIB под уникальным именем со ссылкой на первоисточник. Вся информация, предоставленная автором (владельцем) программы, помещается на WWW-сервере и является доступной. По желанию автора это может быть аннотация программы, полное описание или руководство, исполняемый модуль или исходные тексты программы. Дополнительная информация может быть получена только у автора (владельца).

    Для предоставления таких программ может быть использована форма, принятая для авторов программ библиотеки CPC, WWW-форма или форма, приведенная ниже.

         1. Автор (владелец), e-mail
         2. Имя программы
         3. Область применения
         4. Краткое описание возможностей программы, способы представления результатов,
            используемые алгоритмы и математические методы, физические модели и т.д.
         5. Ссылки на публикации, руководства, инструкции, где описана программа
         6. Типы ЭВМ, операционные системы, под которыми работает программа.
            Языки программирования, на которых реализована программа.
         7. Дополнительные библиотеки и пакеты программ, необходимые для работы
            программы (если необходимы)
         8. Другое
    

25.02.2004
А.П.СапожниковТ.Ф.Сапожникова