ICL VME
Разработчик | Интернэшнл Компьютерс Лимитед , Фуджицу |
---|---|
Написано в | С3 , С |
Рабочее состояние | Текущий |
Первоначальный выпуск | середина 1970-х годов |
Платформы | серии ICL 2900 , ICL серии 39 Мэйнфреймы |
Под влиянием | Мультикс , Джордж 3 |
Лицензия | Собственное коммерческое программное обеспечение |
Официальный сайт | сайт VME |
VME ( Virtual Machine Environment ) — для мэйнфреймов, операционная система разработанная британской компанией International Computers Limited (ICL, ныне часть группы Fujitsu ). Первоначально разработанная в 1970-х годах (как VME/B , позже VME 2900 ) для управления новыми мэйнфреймами ICL серии 2900 , операционная система теперь известна как OpenVME, включающая подсистему Unix , и работает на ICL Series 39 и Trimetra. [ 1 ] мэйнфреймы, а также стандартные серверы x64 . [ 2 ]
Происхождение
[ редактировать ]Программа разработки системы New Range началась после слияния компаний International Computers and Tabulators (ICT) и English Electric Computers в 1968 году. Одним из фундаментальных решений было создание новой операционной системы. В рамках ICL был проведен ряд различных технико-экономических обоснований и проектных исследований, из которых наиболее заметными являются:
- VME/B (первоначально System B), ориентированная на большие процессоры, такие как 2970/2980, разработанная в Кидсгроув , Стаффордшир и Вест-Гортон , Манчестер.
- VME/K (первоначально System T), ориентированный на системы среднего класса, такие как 2960, и разработанный в Брэкнелле после того, как первоначальный дизайн этих небольших процессоров, System D, был отвергнут. VME/K был разработан и представлен на рынке, но в конечном итоге был заменен VME/B.
- VME/T, который так и не был запущен, но заслуживает упоминания, поскольку он был задуман для поддержки «отказоустойчивости» и предшествовал усилиям успешного американского стартапа Tandem Computers в этой области.
Главным архитектором VME/B был Брайан Уорбойс , впоследствии ставший профессором разработки программного обеспечения в Манчестерском университете . В его дизайне можно увидеть ряд влияний, например, Multics и более раннюю операционную систему ICL George 3 ; однако по сути он был разработан с нуля.
VME/B рассматривалась в первую очередь как конкурирующая с System/370 мейнфреймом IBM как коммерческая операционная система и приняла EBCDIC кодировку символов . [ 3 ]
История
[ редактировать ]Когда New Range был впервые запущен в октябре 1974 года, его операционная система называлась «Система B». К моменту первой поставки он стал называться «VME/B». [ 4 ]
VME/K (первоначально известная внутри компании как «System T» от «Tiny») была разработана независимо (по словам Кэмпбелла-Келли, «по прихоти Эда Мака») и позже поставлялась с меньшими мэйнфреймами, такими как 2960. В то время VME/B все еще страдала от проблем с производительностью и надежностью, и у руководства, в основном американского, были опасения по этому поводу.
Существовал также проект, известный как System D, который представлял собой передовую модульную операционную систему, предназначенную для настройки и создания индивидуальных приложений, работающих практически в реальном времени. Хотя он использовался для участия в торгах на систему для British Rail, впоследствии он был отменен из-за нехватки инженерных ресурсов.
ICL продала Европейскому космическому агентству большую систему для обработки данных Meteosat в своем операционном центре в Дармштадте . Специальный вариант VME/K, известный как VME/ESA, был разработан на месте для удовлетворения требований заказчика.
После финансового кризиса 1980 года в ICL пришло новое руководство: Кристофор Лэйдлоу в качестве председателя и Робб Уилмот в качестве управляющего директора. Первым решением нового руководства было отказаться от VME/K. [ 5 ] Таким образом, в июле 1981 года был запущен VME 2900. [ 4 ] : 340 Хотя для клиентов это было представлено как слияние VME/B и VME/K, на самом деле это была база VME/B с привитыми к ней несколькими избранными функциями из VME/K. Это дало возможность отказаться от некоторых устаревших функций, которые остались доступными для нуждающихся в них клиентов в виде опции «BONVME». [ нужна ссылка ]
Суффикс «2900» был исключен из версии системы 213 (SV213), когда ICL выпустила серию 39 в 1985 году в качестве преемника исходной серии 2900, а префикс «Open» был добавлен после SV294. VME стал способен размещать приложения, изначально написанные для Unix, через подсистему на базе UNIX System V Release 3 , называемую VME/X, адаптированную для работы под VME и использующую кодировку символов ASCII . [ 6 ] [ 7 ] [ 8 ] ICL первоначально объявила о размещении Unix-системы для VME в 1985 году, с доступностью и поддержкой стратегических приложений, которые появятся в течение восемнадцати месяцев. [ 9 ] Сообщается, что это средство, поддерживающее SVR1 , находилось на «полевых испытаниях» и должно было быть модернизировано до SVR2 перед общим выпуском летом 1987 года. [ 10 ] Затем для существующих клиентов VME было объявлено об ограниченной доступности, а остальным было рекомендовано использовать линейку ведомственных систем Unix ICL Clan. [ 11 ] В октябре 1987 года ICL сделала доступной версию VME SV221 с поддержкой запуска SVR2 в качестве гостя системы VME Unix. [ 12 ] Эта реализация, описанная как «непродаваемый» продукт, также известный как VNS, послужила основой для разработки VME/X, в значительной степени новой реализации, которая сама была выпущена в 1991 году и признана совместимой с XPG3, а в 1992 году последовала совместимость с XPG4 base 1. [ 8 ] : 489–490
В 2007 году Fujitsu анонсировала версию VME, работающую как размещенную подсистему, под названием superNova , в Microsoft Windows , или SUSE или Red Hat Enterprise Linux на оборудовании x86-64 . [ 2 ]
В 2012 году группа пользователей VME, AXiS, объявила, что спустя почти 40 лет она будет распущена из-за сокращения базы пользователей. [ 13 ]
Fujitsu намеревалась поддерживать VME на компьютерах клиентов до 2020 года. [ 14 ]
В 2020 году Fujitsu перенесла 13 налоговых и таможенных приложений HM со своих компьютеров на виртуальную управляемую хостинговую платформу VME Fujitsu. [ 15 ] [ 16 ]
По состоянию на 2021 год Департамент труда и пенсий полностью заменил свои системы на базе VME после завершения отмеченной наградами программы замены VME-R. [ 17 ]
Архитектура
[ редактировать ]VME структурирован как набор уровней, каждый из которых имеет доступ к ресурсам на разных уровнях абстракции. Виртуальные ресурсы, предоставляемые одним уровнем, создаются из виртуальных ресурсов, предлагаемых уровнем ниже. Доступ к ресурсам каждого уровня контролируется с помощью набора уровней доступа: чтобы процесс мог использовать ресурс на определенном уровне доступа, он должен иметь ключ доступа, предлагающий доступ к этому уровню. Концепция аналогична «кольцам защиты» в Multics . Архитектура допускает 16 уровней доступа, из которых 6 внешних зарезервированы для кода пользовательского уровня.
Ортогонально уровням доступа операционная система предоставляет приложениям ресурсы в форме виртуальной машины (ВМ). Виртуальная машина может запускать несколько процессов. На практике виртуальная машина в VME ближе к концепции процесса в других операционных системах, тогда как процесс VME (или подпроцесс, созданный приложением) больше похож на поток в других системах. Однако процессы, выполняемые внутри виртуальной машины, не могут выполняться одновременно и поэтому напоминают пользовательские потоки , существующие в других системах. [ 18 ] : 32 Специальная инструкция участвует в передаче управления между процессами, использующими одну и ту же виртуальную машину. [ 8 ] : 483
При выделении ресурсов виртуальной машине используется модель стека: при извлечении стека все ресурсы, выделенные на этом уровне стека, освобождаются. Таким образом, вызовы из приложения в операционную систему выполняются вызовом, который сохраняет тот же стек процессов, но с изменением уровня защиты; результирующая эффективность системных вызовов является одной из особенностей, делающих архитектуру конкурентоспособной.
Связь между виртуальными машинами осуществляется посредством событий (названных каналов связи) и областей общей памяти. Аппаратная архитектура также предоставляет семафорные инструкции INCT (приращение и проверка) и TDEC (проверка и уменьшение).
Файлы и другие постоянные объекты записываются в хранилище, называемое Каталогом. Иерархия именования файлов не зависит от расположения файла на конкретной ленте или дисковом томе. В те дни, когда потребность в автономном хранилище была большей, это позволяло легко отслеживать файлы независимо от их местоположения и перемещать файлы между местами, не переименовывая их. Помимо файлов, Каталог отслеживает пользователей и группы пользователей, тома, устройства, сетевые подключения и многие другие ресурсы. Метаданные файлов могут храниться в объекте, называемом описанием файла. Каталог был, вероятно, первым примером того, что позже будет называться базой данных сущностей-связей .
Прерывания обрабатываются путем создания нового кадра стека в стеке для соответствующего процесса, обработки прерывания с использованием этой новой среды, а затем извлечения стека для возврата к прерванному процессу.
Исключения во время выполнения, называемые непредвиденными обстоятельствами , фиксируются обработчиком ошибок объектной программы (OPEH), который может создавать отчет (эквивалент трассировки стека ), либо в интерактивном режиме, либо записываемый в журнал.
ОМФ
[ редактировать ]Скомпилированный объектный код сохраняется в формате, называемом OMF (формат объектного модуля), который является одновременно выходными данными компилятора и форматом, используемым загрузчиком. Доступны различные компиляторы, а также утилиты, в частности Collector, который связывает код нескольких модулей OMF в один модуль для более эффективной загрузки во время выполнения, и Module Amender, который позволяет исправлять инструкции в OMF. модуль для исправления ошибок, используя синтаксис языка ассемблера.
СКЛ
[ редактировать ]Командный язык для VME известен как SCL (язык управления системой).
Это гораздо более узнаваемый типизированный язык программирования высокого уровня , чем языки управления заданиями или оболочки, встречающиеся в большинстве других операционных систем: его можно сравнить с языками сценариев, такими как JavaScript , хотя его поверхностный синтаксис заимствован из Algol 68 .
SCL предназначен как для построчного интерактивного использования с консоли или из командного файла , так и для создания исполняемых сценариев или программ (когда язык компилируется в формат объектного модуля так же, как и любое другое программирование VME). язык). Объявление процедуры в SCL также действует как определение простой формы или шаблона, позволяющего вызывать процедуру из интерактивного терминала с полями, проверяемыми в соответствии с типами данных базовых параметров процедуры или с использованием значений параметров процедуры по умолчанию.
Во встроенном словаре команд используется согласованное соглашение об именах: за повелительным глаголом следует существительное: например, DELETE_FILE или DISPLAY_LIBRARY_DETAILS. Команду можно записать полностью или в сокращенной форме, сочетающей стандартные сокращения глагола и существительного: например XF (X — УДАЛИТЬ, F — ФАЙЛ) или DLBD (D — ДИСПЛЕЙ, LB — БИБЛИОТЕКА, D — ПОДРОБНОСТИ) .
SCL имеет блочную структуру, при этом блоки начала/конца выполняют двойную и дополняющую роль: определяют лексическую область объявлений переменных и определяют точки, в которых должны быть освобождены ресурсы, полученные от операционной системы. Переменные в языке (которые доступны из приложений в форме переменных среды ) могут иметь ряд простых типов, таких как строки, суперстроки (последовательности строк), логические значения и целые числа, а также используются для хранения ссылок на системные ресурсы. такие как файлы и сетевые подключения.
Программу SCL из OMF можно «разобрать» обратно в исходный код SCL с помощью команды READ_SCL (или RSCL). Однако выходные данные не всегда идеальны и часто содержат ошибки, которые могут остановить повторную компиляцию без вмешательства пользователя.
Простой пример кода можно увидеть на сайте 99 бутылок пива . [ 19 ]
Более реалистичный пример, где SCL используется для компиляции программы, написанной на S3 , показан ниже. Этот пример взят из Колумбийского университета Архива реализаций Kermit . [ 20 ]
BEGIN WHENEVER RESULT GT 0 +_ THEN +_ SEND_RESULT_MESSAGE (RES = RESULT, ACT = "QUIT()") FI INT KMT_SRC, KMT_OMF, KMT_REL ASSIGN_LIBRARY (NAM = KERMIT.SOURCE, LNA = KMT_SRC) ASSIGN_LIBRARY (NAM = KERMIT.OMF, LNA = KMT_OMF) ASSIGN_LIBRARY (NAM = KERMIT.REL, LNA = KMT_REL) BEGIN DELETE_FILE (NAM = *KMT_OMF.KMT_DATA_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_DH_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_EH_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_FH_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_HELP_MTM(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_MAIN_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_PH_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_PP_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_SP_MODULE(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_SP_MTM(101)) DELETE_FILE (NAM = *KMT_OMF.KMT_UI_MODULE(101)) DELETE_FILE (NAM = *KMT_REL.KERMIT(101)) DELETE_FILE (NAM = *KMT_REL.KERMIT_MODULE(101)) END S3_COMPILE_DEFAULTS (LIS = OBJECT & XREF, DIS = ERRORLINES) S3_COMPILE (INP = *KMT_SRC.KMT_DATA_MODULE(101), OMF = *KMT_OMF.KMT_DATA_MODULE(101)) S3_COMPILE (INP = *KMT_SRC.KMT_DH_MODULE(101), OMF = *KMT_OMF.KMT_DH_MODULE(101)) S3_COMPILE (INP = *KMT_SRC.KMT_EH_MODULE(101), OMF = *KMT_OMF.KMT_EH_MODULE(101)) S3_COMPILE (INP = *KMT_SRC.KMT_FH_MODULE(101), OMF = *KMT_OMF.KMT_FH_MODULE(101)) NEW_MESSAGE_TEXT_MODULE (CON = *KMT_SRC.KMT_HELP_MTM(101), OMF = *KMT_OMF.KMT_HELP_MTM(101)) S3_COMPILE (INP = *KMT_SRC.KMT_MAIN_MODULE(101), OMF = *KMT_OMF.KMT_MAIN_MODULE(101)) S3_COMPILE (INP = *KMT_SRC.KMT_PH_MODULE(101), OMF = *KMT_OMF.KMT_PH_MODULE(101)) S3_COMPILE (INP = *KMT_SRC.KMT_PP_MODULE(101), OMF = *KMT_OMF.KMT_PP_MODULE(101)) S3_COMPILE (INP = *KMT_SRC.KMT_SP_MODULE(101), OMF = *KMT_OMF.KMT_SP_MODULE(101)) NEW_MESSAGE_TEXT_MODULE (CON = *KMT_SRC.KMT_SP_MTM(101), OMF = *KMT_OMF.KMT_SP_MTM(101)) S3_COMPILE (INP = *KMT_SRC.KMT_UI_MODULE(101), OMF = *KMT_OMF.KMT_UI_MODULE(101)) COLLECT () ---- INPUT(*KMT_OMF.KMT_DATA_MODULE(101) & *KMT_OMF.KMT_DH_MODULE(101) & *KMT_OMF.KMT_EH_MODULE(101) & *KMT_OMF.KMT_FH_MODULE(101) & *KMT_OMF.KMT_HELP_MTM(101) & *KMT_OMF.KMT_MAIN_MODULE(101) & *KMT_OMF.KMT_PH_MODULE(101) & *KMT_OMF.KMT_PP_MODULE(101) & *KMT_OMF.KMT_SP_MODULE(101) & *KMT_OMF.KMT_SP_MTM(101) & *KMT_OMF.KMT_UI_MODULE(101)) NEWMODULE(*KMT_REL.KERMIT_MODULE(101)) SUPPRESS RETAIN(KERMIT_THE_FROG) LISTMODULE PERFORM ++++ COMPILE_SCL (INP = *KMT_SRC.KERMIT(101), OUT = *KMT_REL.KERMIT(101), COD = NOTIFWARNINGS, OPT = FIL) END
Команды, показанные в этом фрагменте, включают WHENEVER (объявляет политику обработки ошибок), ASSIGN_LIBRARY (привязывает локальное имя для каталога файлов), DELETE_FILE (делает постоянный файл временным, а затем удаляет его в КОНЦЕ блока), S3_COMPILE (компилирует программа, написанная на S3: эта команда нарушает обычное соглашение между глаголом и существительным), NEW_MESSAGE_TEXT_MODULE (создает модуль, содержащий параметризованные сообщения об ошибках, пригодные для локализации) и COMPILE_SCL, который компилирует программу SCL в объектный код.
Команда COLLECT объединяет различные модули объектного кода в один модуль и управляется собственным локальным командным файлом, который встроен в SCL между разделителями «----» и «++++». Подкоманды INPUT и NEWMODULE определяют имена модулей ввода и вывода; SUPPRESS и RETAIN определяют внешнюю видимость именованных процедур внутри собранного модуля; и LISTMODULE запрашивает отчет с описанием модуля вывода.
Обратите внимание, что "." используется для разделения частей иерархического имени файла. Звездочка в начале обозначает локальное имя библиотеки, связанное с помощью команды ASSIGN_LIBRARY. Число в скобках после имени файла — это номер поколения. Операционная система связывает номер поколения с каждым файлом, и запросы на файл получают последнее поколение, если не указано иное. Создание нового файла по умолчанию создаст следующее поколение, оставив предыдущее поколение нетронутым; однако эта программа намеренно выбирает поколение 101, чтобы идентифицировать публичный выпуск.
Варианты повышенной безопасности
[ редактировать ]В результате активного участия ICL в предоставлении компьютерных услуг государственному сектору Великобритании, в частности тем, которые предъявляют особые требования к безопасности, такие как OPCON CCIS , она одним из первых вышла на рынок безопасных систем .
VME сформировала ядро деятельности ICL в области безопасных систем. Преимущество этой системы заключалось в том, что она была последней крупномасштабной операционной системой, когда-либо разработанной и построенной с нуля, и ее базовая архитектура включала в себя множество примитивов, необходимых для разработки безопасной системы, в частности аппаратно поддерживаемые регистры контроля доступа (ACR) для ограничения к привилегиям, которые может получить любой процесс (включая пользователей).
Это привело к тому, что Центральное вычислительное и телекоммуникационное агентство правительства Великобритании ( CCTA ) в середине 1980-х годов профинансировало проект Spaceman для Центра оборонных технологий ICL (DTC) по разработке варианта VME с повышенной безопасностью. [ 21 ] ICL запустила это как пару взаимодополняющих продуктов: коммерческая версия называлась High Security Option (HSO), а версия для государственного сектора, включая технологии государственного шифрования (GFE), называлась Government Security Option (GSO).
HSO и GSO были официально протестированы в соответствии со схемой оценки CESG UK (безопасность), одной из предшественников ITSEC и Common Criteria , и при этом стали первой основной операционной системой, официально сертифицированной.
Серия 39
[ редактировать ]В линейке Series 39 представлена Nodal Architecture — новая реализация распределенной общей памяти , которую можно рассматривать как гибрид многопроцессорной системы и кластерной конструкции. Каждая машина состоит из нескольких узлов , и каждый узел содержит свой собственный процессор кода заказа (ЦП) и основную память. Виртуальные машины обычно располагаются (в любой момент времени) на одном узле, но могут работать на любом узле и перемещаться с одного узла на другой. Диски и другие периферийные устройства используются совместно узлами. Узлы соединяются с помощью высокоскоростной оптической шины, которая используется для предоставления приложениям виртуальной общей памяти. Сегменты памяти, помеченные как общие (общедоступные или глобальные сегменты), реплицируются на каждый узел, а обновления передаются по межузловой сети. Процессы, использующие неразделяемые сегменты памяти (узловые или локальные), выполняются в полной изоляции от других узлов и процессов.
Процесс разработки
[ редактировать ]Первоначально VME был почти полностью написан на S3 , специально разработанном языке системного программирования на базе Algol 68R (однако VME/K был написан преимущественно на языке ассемблера SFL). Хотя используется язык высокого уровня , операционная система не спроектирована так, чтобы быть независимой от базовой аппаратной архитектуры: напротив, архитектура программного и аппаратного обеспечения тесно интегрирована.
С начала 1990-х годов некоторые совершенно новые подсистемы VME были написаны частично или полностью на языке программирования C.
С самого начала VME разрабатывался с помощью разработки программного обеспечения, системы репозитория известной как CADES , первоначально разработанной и управляемой Дэвидом Пирсоном (ученым-компьютерщиком) и созданной для этой цели с использованием базовой базы данных IDMS . CADES — это не просто система контроля версий для модулей кода: она управляет всеми аспектами жизненного цикла программного обеспечения: от сбора требований, методологии проектирования и спецификации до обслуживания на местах. CADES использовался при разработке модулей VME для хранения отдельных определений структур данных (режимов), констант (литералов), процедурных интерфейсов и основных алгоритмов. Могут существовать несколько версий («жизней») каждого из этих компонентов. Алгоритмы были написаны на языке разработки систем (SDL), который затем был преобразован в S3 . исходный код [ 22 ] с помощью препроцессора. Можно создать несколько версий одних и тех же модулей.
Инструменты разработки приложений
[ редактировать ]Инструменты разработки приложений, предлагаемые с помощью VME, делятся на две категории:
Набор инструментов VME необычайно однороден: большинство клиентов используют один и тот же базовый набор языков и инструментов. В результате инструменты также очень хорошо интегрированы. Сторонние инструменты произвели сравнительно мало впечатления.
В течение многих лет подавляющее большинство пользователей VME писали приложения на COBOL , обычно используя базу данных IDMS и TPMS монитор обработки транзакций . Другие языки программирования включали Fortran , Pascal , ALGOL 68RS , Coral 66 и RPG2 , но они служили интересам меньшинства. Позже, в середине 1980-х годов, компиляторы для C стали доступны как внутри, так и за пределами подсистемы Unix, в основном для обеспечения возможности переноса программного обеспечения, такого как системы реляционных баз данных . Интересно, что подмножество компилятора PL/I было написано EEC для помощи в переносе программ с IBM на оборудование ICL.
Компиляторы, разработанные в рамках ICL, имеют общую архитектуру и в некоторых случаях совместно используют такие компоненты, как генераторы кода. Многие компиляторы использовали модуль под названием ALICE [Внутренняя общая среда языка ассемблера] и создавали раннюю форму предварительно скомпилированного кода (P-Code), называемую ROSE, что делало скомпилированные библиотеки формата объектных модулей (OMF) загружаемыми на любую машину в диапазоне. .
Языки системного программирования: S3 и SFL.
[ редактировать ]Основным языком, используемым для разработки как самой операционной системы VME, так и другого системного программного обеспечения, такого как компиляторы и мониторы обработки транзакций, является S3 . Это язык высокого уровня, во многом основанный на Algol 68 , но типы данных, низкоуровневые функции и операторы тесно связаны с архитектурой серии 2900.
SFL язык ( системных функций язык ) . ассемблерный Также доступен Он использовался для разработки VME/K, разработчики которого не были уверены, что язык высокого уровня сможет обеспечить адекватную производительность, а также для системы баз данных IDMS, поскольку она возникла как продукт стороннего производителя. Первоначально SFL назывался Macro Assembler Language Programming E Marketing ( MAPLE . ICL ), но поскольку архитектура 2900 позиционировалась как состоящая из языковых машин высокого уровня, название было изменено по просьбе Он был разработан как часть инструментария для Системы D, который впоследствии был отменен. Родственные семейства ассемблеров для других архитектур (CALM-xx, работающие под управлением VME, PALM-xx, разработанные на языке Pascal и работающие на различных хостах), были разработаны для внутреннего использования.
Ни S3, ни SFL никогда не рекламировались как коммерческий инструмент разработки приложений для конечных пользователей, поскольку они обычно не поставлялись как стандартная часть операционной системы и не продавались явно как самостоятельные продукты. Однако и SFL, и S3 были доступны в качестве опций для пользовательских организаций и третьих лиц, у которых была в них особая потребность.
Быстрая сборка
[ редактировать ]Среда разработки приложений QuickBuild на VME оказалась весьма успешной, несмотря на то, что приложения в основном привязаны к среде VME. В основе этой среды лежит система словарей данных (DDS, также называемая OpenDDS), ранняя и очень успешная попытка создать комплексный репозиторий , поддерживающий все другие инструменты, с полной поддержкой жизненного цикла разработки. Помимо схем баз данных, описаний файлов и записей, словарь отслеживает такие объекты, как отчеты и запросы, дизайны экранов и код 4GL; он также поддерживает различные модели на уровне сбора требований, такие как модели «сущность-связь» и модели процессов.
QuickBuild 4GL поставляется в двух формах:
- ApplicationMaster для создания онлайн-приложений TP
- ReportMaster для пакетной отчетности.
Оба являются декларативными языками высокого уровня, использующими структурированное программирование Джексона в качестве парадигмы проектирования. ApplicationMaster необычен в своем подходе к проектированию приложений, поскольку он фокусируется на сеансе пользователя, как если бы он выполнялся в одном диалоговом процессе, полностью скрывая сложность поддержания состояния во время взаимодействия с пользователем. Поскольку 4GL и другие инструменты, такие как дизайнер экрана, работают только со словарем DDS, который также содержит схемы базы данных, происходит значительное повторное использование метаданных, что редко достигается с другими 4GL.
Ссылки
[ редактировать ]- ^ «Сегодня, завтра VME» (PDF) . Фуджицу . Архивировано из оригинала (PDF) 22 февраля 2012 года.
- ^ Перейти обратно: а б Введение в архитектуру superNOVA (PDF) (Отчет). Фуджицу. Январь 2007 г. Архивировано из оригинала (PDF) 28 сентября 2007 г.
- ^ Барри Дж. Грэм (2002). «Затраты Fujitsu OpenVME по сравнению с затратами на мэйнфреймы IBM» (PDF) . Сервисы Фуджицу. Архивировано из оригинала (PDF) 1 февраля 2014 года . Проверено 28 января 2014 г.
- ^ Перейти обратно: а б Кэмпбелл-Келли, Мартин (1989). ICL: История бизнеса и техники . Издательство Оксфордского университета. ISBN 0-19-853918-5 . Проверено 30 мая 2024 г.
- ^ Найт, Майкл (лето 2008 г.). «Маяк 1963-7: конструкция системы, опередившая свое время?» . Компьютерное воскрешение (43).
По многочисленным и разнообразным причинам, выходящим за рамки знаний или компетентности автора, VME/K стал не успехом, а травмой. VME/K была окончательно прекращена в 1981 году недавно назначенным управляющим директором Роббом Уилмотом.
- ^ Дэйв Бейли (PowerPoint) (30 ноября 2000 г.). «Непрерывное развитие OpenVME» . ICL. Архивировано из оригинала 2 февраля 2014 года . Проверено 28 января 2014 г.
- ^ «Open VME ICL оказывается подмножеством Unix в рамках VME; приложения уже на подходе» . Обзор компьютерного бизнеса . 10 февраля 1992 года . Проверено 28 января 2014 г.
- ^ Перейти обратно: а б с Коутс, П. (1993). «VME-X: открытие VME» (PDF) . Технический журнал ICL . ICL: 473. ISSN 0142-1557 . Архивировано из оригинала (PDF) 5 марта 2016 года . Проверено 7 ноября 2015 г.
- ^ «Банки ICL о стратегии открытых систем» . Компьютерный мир . 14 октября 1985 г., стр. 30–31 . Проверено 3 июня 2024 г.
- ^ «Unix под VME сейчас проходит полевые испытания» . Униграмма/X . 27 сентября 1986 г. с. 4 . Проверено 22 июля 2024 г.
- ^ «ICL устанавливает Unix под VME на сентябрь» . Униграмма/X . 27 июня 1987 г. с. 1 . Проверено 22 июля 2024 г.
- ^ «ICL принимает Unix в новой версии VME, добавляет урезанные модели мэйнфреймов 39/80» . Униграмма/X . 3 октября 1987 г. с. 2 . Проверено 22 июля 2024 г.
- ^ Клатт, Гарольд (2012). «Группа пользователей ICL будет расформирована после почти 40 лет преданной службы сообществу VME» . Ось. Архивировано из оригинала 24 марта 2012 года . Проверено 11 июля 2018 г.
- ^ Кларк, Линдси (21 января 2022 г.). «Возможно, вам стоит подумать о стоимости отказа от модернизации устаревших технологий, — сообщили в Министерстве труда и пенсий Великобритании» . Регистр . Проверено 24 января 2022 г.
- ^ Эвенстад, Лис (13 октября 2020 г.). «HMRC подписывает пятилетний контракт на сумму 169 миллионов фунтов стерлингов с Fujitsu на платформу VME» . Компьютерный еженедельник . Проверено 24 января 2022 г.
- ^ «Великобритания-Салфорд: поставщики услуг приложений» . Электронная газета «Тендеры» . Евросоюз. 12 октября 2020 г. 2020/S 198-481324 . Проверено 24 января 2022 г.
- ^ Эвенстад, Лис (26 марта 2021 г.). «DWP завершает собственный проект по замене УМЭ» . Компьютерный еженедельник . Проверено 27 мая 2024 г.
- ^ Холт, Ник (1995). Архитектура OpenVME (PDF) . Интернэшнл Компьютерс Лимитед . Проверено 21 июня 2024 г.
- ^ Пример кода SCL на сайте 99 бутылок пива.
- ^ «Архив исходного кода программного обеспечения Kermit» . Проект Кермита Колумбийского университета. 22 августа 2011 года . Проверено 1 марта 2013 г.
- ^ Олдрич, Ричард Дж.; Работа, Джей Ди (2022). «Проект космонавт: ранняя британская компьютерная безопасность и автоматическая обработка данных» . Разведка и национальная безопасность . 38 (4): 525–537. дои : 10.1080/02684527.2022.2139342 . Проверено 25 июня 2024 г.
- ^ Хуан Ф Рамиль. «Постоянная оценка усилий для развития на примере тематического исследования» (PDF) .
Источники
[ редактировать ]- Архитектура OpenVME . Ник Холт. Публикация ICL 55480001. Без даты (вероятно, около 1995 г.).
Внешние ссылки
[ редактировать ]- VME — в будущее , Fujitsu UK.