CADES ( Computer Aided Design and Evaluation System ) - система репозитория программной инженерии, созданная для поддержки разработки операционной системы VME / B для компьютеров ICL New Range - впоследствии 2900 - компьютеров.
С самого начала VME / B разрабатывался с помощью CADES, который был построен для этой цели с использованием базовой базы данных IDMS (недавно обновленной до IDMS (X) ). CADES был не просто системой контроля версий для модулей кода: он был предназначен для управления всеми аспектами жизненного цикла программного обеспечения от сбора требований до обслуживания на месте.
Именно дизайн CADES проложил путь для проекта Alvey в области IPSE (интегрированных сред поддержки проекта) и механизмов управления процессами. Поскольку CADES использовался более 20 лет в ходе разработки большого проекта разработки программного обеспечения, собранные данные использовались в качестве исходных данных для ряда исследований эволюции программного обеспечения.
Ранняя история
CADES был создан в 1970 году Дэвидом Пирсоном и Брайаном Варбойсом, когда они работали в Технологическом центре операционных систем ICL, OSTECH, в Кидсгроуве. [1] [2] Пирсон, физик-теоретик по образованию, стал специалистом по компьютерному моделированию и присоединился к ICL в 1968 году после работы в области конечно-элементного моделирования в Кембридже и исследований в области моделирования в Имперском колледже. Warboys был главным архитектором мультидоступной операционной системы ICL System 4 Multijob.
Приверженность ICL крупномасштабной разработке программного обеспечения для компьютеров серии 2900 послужила основой для ранней работы Пирсона и Варбоев над новой средой разработки программного обеспечения, которая будет решать проблемы производительности дизайнера / программиста, целостности проекта, оценки и тестирования, контроля версий и системная регрессия. [3] [4]
При разработке первоначальной архитектуры среды CADES Пирсон, в частности, искал параллели с ведущими аппаратными системами автоматизированного проектирования того времени, даже пытаясь использовать графику в процессе проектирования. Подход CADES к проектированию, названный «Структурное моделирование», был жестко управляем данными и иерархичен и выражался на формальном языке проектирования, SDL . Проектные спецификации, написанные на SDL, обрабатывались анализатором проектирования перед вводом в базу данных CADES Product Database, базу данных проектирования и реализации, поддерживающую собственный язык запросов и составляющую ядро информационной системы о продукте. [5] [6] [7]
Намерение состояло в том, чтобы эти проекты можно было оценивать / моделировать с помощью Animator, а код реализации S3 автоматически генерировался из них с помощью процессора среды. Генерация сборок и контроль версий также основывались на базе данных продуктов, что привело к очень дисциплинированному подходу к сборкам новых систем. Таким образом, системная регрессия контролировалась с самого раннего этапа жизненного цикла программного обеспечения. [8] [9]
Основы
Чтобы контролировать разработку VME / B , каждая разработка была разделена на части для упрощения управления. Структура была иерархической, в которой все важные компоненты VME (ядро, хранилище файлов и т. Д.) Были разделены на подсистемы. В ходе разработки каждой подсистемы была создана последовательность версий.
Эти подразделения и подразделения VME / B были отражены в иерархической структуре базы данных CADES. Это позволило повторно использовать код в VME / B (одна из целей разработки программного обеспечения). Это, в сочетании с набором инструментов и использованием SDL ( Software Design Language ) в качестве языка разработки, истории версий и концепции надежного исходного кода (то есть кода, прошедшего контроль качества и впоследствии находящегося в файловом хранилище CADES) улучшило разработку. время, обеспечивая при этом удовлетворительные контрольные журналы и процессы обеспечения качества.
CADES принял термин «холон» для обозначения модулей кода (таких как процедуры и макросы). Это слово произошло от греческого holo, означающего «целое», и было заимствовано из книги Артура Кестлера « Призрак в машине» . Пирсон всегда утверждал, что он сформулировал архитектуру CADES, изучая книгу Кестлера на пляже в Тунисе. Организованные в виде иерархии холоны обеспечивают «семейное древо» (для каждой подсистемы), используя отношения родитель / потомок. Холоны также сохранили атрибуты взаимодействия, позволяя одному холону взаимодействовать с другими холонами, тем самым обеспечивая более модульную разработку и облегчая повторное использование. Аналогичным образом CADES также сохранил информацию о постоянных значениях (также называемых литералами), определяемых пользователем типах и определяемых пользователем структурах.
Разработка с использованием CADES
Разработка под CAdES была достигнута с использованием набора инструментов , известных как ModPro ( Mod ОЮЛ Pro cessing) , который выступал в качестве интерфейса (или брокера) между разработчиком и CAdES. Эти инструменты позволили разработчику сосредоточиться на разработке, а не на задачах администрирования, контроля качества или SCM . Не было необходимости знать, как манипулировать данными в CADES, приложение генерировало необходимый DNL (язык навигации по данным) для достижения требуемых результатов.
Разработка с использованием MODPRO не требовала специальных знаний ни S3, ни SCL (целевой язык для последующей компиляции), но SDL, язык проектирования программного обеспечения : абстракция над двумя предыдущими. Который в сочетании с расширенным редактором EDSDL ( Ed it SDL ) взаимодействовал с CADES для управления разработкой или переделкой. Затем, опять же с информацией из CADES, при использовании с инструментом MODPRO EPETC (он же E nvironmental P rocessor или EP и т. Д.) Позволял правильно нацелить результирующий файл для компиляции S3 или SCL . Последующие инструменты в пакете облегчили различные этапы разработки, такие как:
- Подробная информация о холоне с использованием CHED (CADES Holon Environment Details),
- Взаимодействие с CADES с использованием DIL (язык интерфейса баз данных, используемый для создания DNL),
- Создание отчетов с использованием CRP (CADES Report Producer),
- Перенесите действительные файлы / код в безопасный репозиторий, а именно CADES, или извлеките из него, используя XFER.
Ниже показан типичный маршрут разработки MODPRO.
Рекомендации
- ^ BCWarboys "Проект IPSE 2.5: Моделирование процессов как основа для вспомогательной среды" Международная конференция по средам и фабрикам для разработки систем, май 1989 г., Берлин
- ^ Мартин Кэмпбелл-Келли "ICL: история бизнеса и техники" Clarendon Press, Oxford 1989
- ^ DJPearson "CADES - Система автоматизированной разработки и оценки" Computer Weekly , 1973
- ^ DJPearson и BCWarboys "Структурное моделирование - философия" OSTC / IN / 40 июля 1970 г.
- ^ GDPratten и RASnowden "CADES, поддержка разработки сложного программного обеспечения" EUROCOMP, 1976
- ^ MAFirth и другие "Улучшение среды разработки программного обеспечения с использованием объектно-ориентированной технологии" TOOLS (8), 1992
- ^ BWChatters, MMLehman и другие "Моделирование процесса эволюции программного обеспечения" Процесс разработки программного обеспечения: улучшение и практика, сентябрь 2000 г.
- ^ DJPearson "Использование и злоупотребление системой разработки программного обеспечения" Национальная компьютерная конференция, Нью-Йорк, 1979
- ^ Дон Ливитт "Обзор методов разработки считается полезным" Computerworld, июнь 1979 г.
дальнейшее чтение
- BC Warboys (25 января 1988 г.). «Экстраполяция уроков CADES на сегодняшний день». Коллоквиум IEE по влиянию программной инженерии на промышленность : 3.
- RW McGuffin; А. Э. Эллистон; BR Tranter; П. Н. Вестмакотт (сентябрь 1979 г.). «CADES - программная инженерия на практике» . IEEE Proceedings 4-я Международная конференция по разработке программного обеспечения, Мюнхен, Германия .
- Б. Китченхэм (май 1982 г.). «Динамика развития системы VME / B». Технический журнал ICL : 42–57.
- BW Chatters; MM Lehman; JF Ramil; П. Верник (2000). «Моделирование процесса эволюции программного обеспечения: долгосрочное тематическое исследование» . Программный процесс: улучшение и практика . 5 (2–3): 91–102. DOI : 10,1002 / 1099-1670 (200006/09) 5: 2/3 <91 :: АИД-SPIP123> 3.0.CO; 2-л . Архивировано из оригинала на 2013-01-05.
- Р. А. Сноуден (май 1990 г.). «Введение в проект IPSE 2.5». Технический журнал ICL . 6 (3).
- BC Warboys , П. Визи (май 1990 г.). «Двадцать лет с опорной средой». Технический журнал ICL . 6 (3).