Помощь в учёбе, очень быстро...
Работаем вместе до победы

Методы разработки переносимых систем автоматизированного проектирования

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

CAD — программы появились очень давно, как только компьютеры стали достаточно мощными для того, чтобы производить необходимые расчеты. В то время операционные системы были намного проще. Поэтому все программное обеспечениеписалось «в расчете на одну конкретную машину. При этом даже были возможны ситуации, когда при небольшом изменении конфигурациимашины программы переставала работать. В то время… Читать ещё >

Содержание

  • Глава 1. Анализ видов переносимого программного обеспечения
    • 1. 1. Базовые определения
    • 1. 2. Классификация переносимых систем
      • 1. 2. 1. Системы, независимые от версии операционной системы на одной архитектурной платформе
      • 1. 2. 2. Системы, независимые от архитектурной платформы в рамках одной версии операционной системы и системы, независимые от версии операционной системы на разных архитектурных платформах
      • 1. 2. 3. Системы, независимые от операционной системы в рамках одной аппаратной архитектуры и системы, независимые от операционной системы на любой аппаратной платформе
      • 1. 2. 4. Полностью независимые
      • 1. 2. 5. — Условно независимые с заменой (переделкой) одного (нескольких) из подмодулей без повторной трансляции всей системы
      • 1. 2. 6. Условно независимые с заменой (переделкой) одного (нескольких) из подмодулей с повторной трансляций всей системы

Методы разработки переносимых систем автоматизированного проектирования (реферат, курсовая, диплом, контрольная)

CAD — программы появились очень давно, как только компьютеры стали достаточно мощными для того, чтобы производить необходимые расчеты. В то время операционные системы были намного проще. Поэтому все программное обеспечениеписалось «в расчете на одну конкретную машину. При этом даже были возможны ситуации, когда при небольшом изменении конфигурациимашины программы переставала работать. В то время это было оправдано. Часто создавалось аппаратное обеспечение для конкретного программного пакета. Ведь, до сих. пор осталось верным? правило, что программное обеспечение: стоит дороже «железа», на котором оно работает. Так продолжалось примерно до того времени, пока не появились персональные компьютеры, стоившие на порядок дешевле больших машин, хотя по мощности это был некоторый шаг назад. Потребовалось перенести популярные программные пакеты = на PC, и начинать писать новые для > этой платформы. Вследствие этого, в этот момент появилось две ветви развития программного обеспечения. В' первой так и остались программы для больших машин, работающие в основном по UNIX, или — подобной ему операционной системе, которая уже выросла в мощную многопользовательскую, многозадачную среду. Система к этому времени, развилась до такого уровнячтоизменение конфигурации машины оказывало очень малое влияние на работу программ: Поэтому актуальность вопроса адаптации программного обеспечения к конкретной машине уменьшилась. Хотя привязанность к определенному типу машин конечноосталась, как и некоторые другие вопросы. Другаяветвь, появилась на PC и подобных им малых и персональных машинах. На первом этапе, когда особых измененийв архитектуре не проводилось, была одна простаядисковая операционная система, путь напоминал тот, которым идут UNIX системы. Но, по мере развития этого класса вычислительной техники, начала сильно меняться? их архитектура, появлялись и исчезали различные стандарты на работу с памятью, с носителями информации, ее отображением и пр. Начали появляться различные операционные системы все сильнее отличавшиеся друг от друга. Вследствие этого начала теряться? совместимость программ и их данных. Это сильно * замедлило развитие GAD программного обеспечения на PC, поскольку переписать большую программу для новой конфигурации стоило очень дорого, и пользователи не хотели платить повторно за тот программный пакет, который они используют. В тоже время мощности-существующих машинбыло уже недостаточно для<�текущих расчетов, тем более что изначально > персональные машиныбыли значительно «слабее» больших рабочих станций. Вследствие этого, наилучшим выходом для большинства предприятий и институтов был возврат к большим машинам-, которые хоть и были значительно дороже персональных, но не требовали постоянного обновления программных средств, которые, как уже было сказано, значительно дороже «железа». На этом ситуация была заморожена примерно до конца 90 годов.

Ситуация изменилась, когда персональные машины по мощности стали сравниваться с рабочими станциями, в то же время как по цене: они оставались дешевле. Производители программного обеспечения? опять обратили внимание на этот сектор рынка. И • хотя сначала все серьезные CAD пакеты появляются для рабочих станций, для > операционных системы типа! Solaris, AIX, некоторые фирмы делают версии и для PC платформ, обычно для г Windows и Solaris. В качестве примера? можно привести известный программный продукт Pro/Engineer фирмы РТС. Изначально он был сделан, под UNIX для больших рабочих станций (SunIBM). Но в последнее время появились версии для ранее забытых систем — PC. Другим подобным примером может служить, также известный всем, Unigrafix. К сожалению, позволить себе сделать версии своего программного обеспеченияподразные платформы) могут только большие софтверные фирмы, имеющие достаточно большой штат программистов. Большинство более мелких фирм, чьи продукты не менее популярны, не могут заниматься переносом своих программ, и поэтому выпускают их только для тех платформ, на которых, по их мнению, он принесет наибольший доход. Примером такого продукта может стать SolidWorks. И хотя спрос на многоплатформенные системы, сейчас довольно велик, нишаостается практически незаполненной.

Наиболее интересной стала ситуация совсем: недавно. Сейчас различия между рабочими станциями! и старшими моделями персональных машин практическистерлись и? многие фирмы, которые раньше производили исключительно рабочие станции, обратили внимание на соседнюю рыночную нишу. К примеру, Sun в дополнение к своей традиционной линейке Sun Sparc с операционной: системой Sun Solaris, начал заниматься — Intel х86 совместимыми машинами? на базе серверного 64 разрядного процессора от AMD и с операционными системами Sun Solaris, Linux и Microsoft Windows.

Какова основная причина этой ситуации? В основном в том, что перенос уже существующего продукта под другую платформу очень дорогостоящий процесс, который могут себе позволить очень не многие фирмы. Более дешевый вариант, это уже при создании продукта заложить в него возможность переноса. Это будет значительно дешевле. Но и тут есть проблемы. Старые фирмы обычно создают новые продукты, используя свои прошлые наработкикоторые не были переносимыми, а переписывать их еще раз — дорого [42].

Вследствие: этих причин, на рынке появилась новая небольшая ниша программного обеспечения, а точнее, программных технологийФирмы, работающие в этом направлении-, разрабатывают библиотекии набор инструментов, позволяющих на: их базе и с использованием их API создавать программы, работающие на некотором — определенном списке: поддерживаемых платформ. Эти проекты не всегда носят коммерческий характер, иногда' за возможность переноса на часть платформ необходимо купить лицензию на данный инструментарий. К примеру, так: работает Qt фирмы TrollTech. Их продукт можно использовать по GPL лицензии на всех XI1 совместимых платформах (это большинство UINX, OS/2 и т. д.), но за возможность работать на: платформах с операционной системой Windows, надо купить Professional версию. К сожалению,. из-за малой конкуренции в: этой области? цены на продукцию? данного класса: весьма высоки, и, несмотря' нато, чтосуществуют варианты с GPB лицензий, многие фирмы не могут использовать, эти? продукты в своей работе. Но, несмотря] ни на что, эта" область все: же развивается.

Подобные инструменты используются bl основном малыми — и, среднимифирмами производителями программного обеспечения, поскольку они не могут себе позволить разработку соответствующего инструментария. Это. не относится к крупным компаниям, например Parametric Technology Inc, которые с момента, появленияпроблемы переноса их систем создают свои проприетарные технологии и инструменты.

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

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

Цели и задачи исследования;

Разработать теоретическую основу, необходимую при" разработке, и проектировании переносимых программных систем: о Создать систему классификацию переносимого программного — обеспечения? по классам и категориямо Разработать базовые универсальные методы создания переносимого программного обеспечения.

Проанализировать существующую систему, предоставляемую сторонним производителем для? создания переносимого пользовательского интерфейса и. доступа к некоторым объектам операционной системы: — Qt фирмы.

TrollTech для операционных систем семейств UNIX, Microsoft Windows, IBMOS/2.

Разработать собственный инструментарий — библиотеки, необходимые при разработке и построении переносимых программных систем: о Библиотеку, обеспечивающую использование переносимого пользовательского • интерфейса для переносимых программ написанных Hat языках стандарта Со Библиотеку, обеспечивающую использование объектов операционной системы для переносимых программ написанных на языках стандарта С для операционных систем s семейств Microsoft Windows 9x-NT и UNIX (группы AT, BSD, Posix).

Новые научные результаты. о Предложена общая система" классификации переносимого программного обеспеченияо Разработаны методы создания инструментария обеспечивающего перенос программного обеспечения между различными версиями одной операционной системы семейств Microsoft Windows и Linux, о Разработаны методы создания инструментария" обеспечивающего перенос программного обеспечения < между различными типами операционных систем из семейств Microsoft Windows и Linux.

Практическая ценность. о Разработаны методы созданияинструментария, обеспечивающего перенос программного обеспечения между платформами Windows, Unix и s OS/2 (как между различными версиями одной системы, так и между различными, системами или семействами), о Разработаны готовые библиотеки инструментов создания переносимого графического пользовательского интерфейса для систем семейств Windows, Unix и OS/2. о Разработаны готовые библиотеки инструментов i для работы с объектами ядра операционной системы для платформ Intel х86 и Sun Sparc для операционных систем семейств Windows, Unix и OS/2.

Основные научные положения, выносимые на защиту. о Система классификации переносимого программного обеспеченияо Методы переноса: программ между различными версиями одной операционной системыо Методы переноса программ использующие объекты ядра между различными — операционными системамио Методы переноса программ использующие? графический пользовательский интерфейс между различными операционными системами.

Практическая реализация результатов.

Разработанные в ходе исследования? методы реализованы в виде набора библиотек позволяющих их использовать как инструментарий — при разработке переносимого программного обеспечения^, как для обеспечения работы с объектами ядра операционных систем, так и для создания переносимого графического пользовательского интерфейса.

Внедрение результатов работы. Разработанные в ходе исследований методы и инструментыбыли использованы на нескольких реально работающих проектах: о На базе библиотеки поддержки переносимого графического интерфейса был — построен модуль ECAD по разводкепечатных плат в ЦНИИ РТК им. Калинина. Он обеспечивает работу модуля на всем, парке вычислительной • техники используемой в отделе — Sun Sparc с операционной системой Solaris, Intel х86 с операционными системами Linux, OS/2 и Windows, о Модуль отслеживания событий изменения файловой системы используется в рамках продукта автоматизированной обработки поступающей извне информации и ее сортировки в ООО «Параметр». На данный момент он позволяет работать системе на различных версиях одной операционной системы и в данный момент идет работа по его развитию для обеспечения функционирования в семействах операционных систем различных производителей.

Апробация работы. Основные теоретические результаты работы докладывались на: 1. Политехническом симпозиуме — «Молодые ученые — промышленности северо-западного региона», Санкт-Петербургский ГосударственныйПолитехнический Университет, (Санкт-Петрбург, 2002 год) — 2. Конференции профессорско-преподавательского состава СПбГЭТУ, Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ», (Санкт-Петрбург, 2003 год);

3. Международной конференции по мягким вычислениям и измерениям* БСМ2003, Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ», (Санкт-Петрбург, 2003 год);

4. Конференции профессорско-преподавательского состава СПбГЭТУ, Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ», (Санкт-Петрбург, 2004 год).

Публикации.

Основные положения диссертации были опубликованы в межвузовских сборниках и сборниках тезисов межвузовских и международных конференций [14],[15],[16],[17]. Структура.

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

Далее, во второй главе, рассмотрены: методы переноса программ на различные версии одной операционной системы, и между различными платформами и типами операционных систем. Перенос в рамках одной" операционной системы рассмотрен набазе операционной системы Windows фирмы Microsoft, поскольку эта система наиболее активно изменялась в последнее время! и, вследствие этого, накопилось много различий между версиямичто затрудняет перенос программВ подразделе, посвященном переносу между различными платформами, представлены требованияк подготовке программы к переносу, а также методы построения < промежуточной библиотекинеобходимойдля маскировки различий на разных платформах,. и реализации! отсутствующих функций < или функцийработающих по-разному. Здесь, рассматривается? только системные уровни? API — ввод/вывод, работа с системными, объектами^ и пр. Здесь, же рассмотрены вопросы использования UNICODE символов в различных версиях Microsoft Windows. Сейчас эти вопросы становятся — все более актуальны с развитием мобильных: платформ и переносом программного обеспечения" на них и их взаимодействием между собой и с настольными системами. И в заключении этой главы, были изучены особенности различных ядер UNIX систем, некоторые тонкости наиболее сложной для ¡-переноса подсистемы — IPC, а так же принятые в UNIX стандарты и стандарт Posix, призванный облегчить процесс создания переносимых систем.

В последней? главе показано,. как, используя: разработанные: методы, можно? создавать переносимое программноеобеспечение: В' первой? части" рассмотрен? инструментарийпредлагаемый^ фирмой? TrollTech для" написания" переносимого? графического пользовательского интерфейса-. На его базе созданодин из работающих переносимых проектов. Во второй части подобная задача решена с использованием? собственной разработки) — библиотеки! графического? пользовательского интерфейса i MWS (Manager Window System): В i заключении i главы рассмотрено создание более: низкоуровневневого универсального1 интерфейса — библиотека отслеживания событий файловой системы.

1. Ауэр К., Миллер Р. Экстремальное программирование: постановка процесса. / К. Ауэр, Р. Миллер. — СПб.: Питер, 2003. — 368 с.

2. Бадд Т. Объектно-ориентированное программирование в действии. / Т. Бадд. — СПб.: Питер, 1997.

3. Бардзинь Я. М., Калкинып A.A. Язык спецификаций SDL/PLUS и его применения. / Я. М. Бардзинь, A.A. Калкинып. — Рига, 1988.

4. Бек К. Экстремальное программирование. / К. Бек. — СПб.: Питер, 2002. — 224 с.

5. Бен-Ари М. Языки программирования. Практический сравнительный анализ. / М. Бен-Ари. — М.: Мир, 2000.

6. Березин Б. И., Березин С. Б. Начальный курс С и С++. / Б. И. Березин, С. Б. Березин. —М.: Диалог-Мифи, 1996. —288 с.

7. Боггс У., Боггс М. UML и Rational Rose. / У. Боггс, М. Боггс. — М.: Лори, 2000.

8. Бредли Д. Программирование на языке ассемблера для персональной ЭВМ фирмы ЮМ. / Д. Бредли. — М.: Радио и связь, 1988.

9. Вендров А. М. CASE-технологии. Современные методы и средства проектирования информационных систем. / А. М. Вендров. — М.: Финансы и статистика, 1998.

10. Вирт Н. Алгоритмы и структуры данных. / Н. Вирт. — М.: Мир, 1989.

11. Галкин A.A. Классификация переносимого программного обеспечения. Часть-1./ A.A. Галкин. // Изв. СПбГЭТУ «ЛЭТИ». Сер. Информатика, управление и компьютерные технологии.-2002.-Вып. 3: —С. 17−20.

12. Галкин!¦ A.A. Классификация переносимого: программного обеспечения. Часть-2./ A.A. Галкин. // Изв. СПбГЭТУ «ЛЭТИ». Сер. Информатика, управление и компьютерные технологии.-2003.-Вып. 2. — С. 28−31.

13. Галкин A.A. Основные принципы создания платформо-независимых программных систем. / A.A. Галкин. // Международнаяконференция: по мягким вычислениям и измерениям: Сб. докл. конф., г. С-Петерб., 25−27 июня. 2003. — СПб.: Изд-во СПбГЭТУ. 2003: — С. 11−18.

14. Гамма Э., Хелм Р. Приемы объектно-ориентированного проектирования. Паттерны проектирования. / Э. Гамма, Р. Хелм: — СПб: Питер, 2001.

15. Грегори К. Использование Visual1 С++ 6. Специальное издание. / К. Грегори — СПб.: Вильяме, 199 920: Джамса К., Коуп К. Программирование для Internet в среде Windows. / К. Джамса, К. Коуп. — СПб-: Питер, 1996. — 688 с.

16. Дженнингс P. Windows-95 в подлиннике. / Р. Дженнингс. — СПб.: BHV-Петербург, 1995.

17. Иванов А., Кознов Д. Поведенческая модель RTST++. / А. Иванов, Д. Кознов. — СПб.: Издательство С.-Петербургского университета, 1998.

18. Иордон Э. Структурные модели в объектно-ориентированном: анализе и проектировании. / Э. Йордон. — М.: Лори, 1999.

19. Калянов F.H. CASE структурный системный анализ (автоматизация и применение). / Г. Н. Калянов. — М.: ЛОРИ, 1996.

20. Карабегов A.B., Тер-Микаэлян T. Mi Введение в язык SDL. / A.B. Карабегов, Т.М. Тер-Микаэлян. — М-: Радио и связь, 1993.

21. Касаткин А. И. Профессиональное программирование на языке С. Управление ресурсами. / А. И. Касаткин. — Минск: Высшая школа, 1993.

22. Кенту-М. Delphi 4 для профессионалов. / М. Кенту- — СПб.: Питер, Л999.

23. Керниган Б., Ритчи Д. Язык программирования С. / Б. Керниган, Д. Ритчи.М.: Финансы и статистика, 1992.

24. Кнут Д. Искусство программирования для ЭВМ.7 Д. Кнут. — М.: Мир, 1976.

25. Кознов Д. В. Проблемы разработки компонентного программного обеспечения. / Д. В. Кознов. — СПб.: Издательство С.-Петербургского университета, 1999.

26. Костельцев A.B. GTK+. Разработка переносимых графических интерфейсов. / A.B. Костельцев. — СПб.: BHV-Петербург, 2002. — 368 с.

27. Коуд П. Объектные модели. Стратегии, шаблоны и приложения. / П. КоудМ.: Лори, 1999.

28. Крэнц Дж., Майзел Э. Операционная система OS/2. Возможности, функции и приложения. / Дж. Крэнц, Э. Майзел. — М.: Мир, 1991.

29. Кэмпбелл Дж. Л. Операционная система OS/2. Справочное руководство для программистов. / Дж. Л. Кэмпбелл. — М.: Финансы и статистика, 199 138-Леоненков А. Самоучитель-UML. / А-Леоненков. — СПб.: BHV-Петербург, 2001.

30. Лямин Л. В. Макроассемблер MASM. / Л. В. Лямин. — М.: Радио и связь, 1994.

31. Мансуров H.H., Майлингова O. JL Методы формальной спецификации программ: языки MSC и SDL. / H.H. Мансуров, O.JI. Майлингова. — М.: «Диалог-МГУ», 1998?

32. Мейерс С. Эффективное использование STL. / С. Мейерс. — СПб.: Питер, 2002. —224 с.

33. Мюррей У., Паппас К. Создание переносимых, приложений для Windows. / У. Мюррей, К. Паппас. — СПб-: BHV-Петербург, 199 743-Нортон П., Сохуэ ДЯзык ассемблера для IBM PC. / П. Нортон, Д. Сохуэ.— М.: Издательство «Компьютер» Финансы и статистика, 1992.

34. Парфенов В-В., Терехов А. Н. RTST технология программирования встроенных-систем реального времени- / В. В. Парфенов, А. Н. Терехов.— Новосибирск, 1997.

35. Петерсен Р. Linux, Руководство по операционной системе. / Р. Петерсен — K.:BHV, 1997.

36. Пильщиков В. Н. Программирование на языке ассемблера IBM PC. / B. Hi Пильщиков. — М: Диалог-Мифи,. 1996.

37. Поттосин И. В. Программная инженерия: содержание, мнения и тенденции. / И. В. Поттосин. — М.: Программирование, 1997.

38. Рихтер Дж.-Windows для профессионалов: создание эффективных Win32 приложений- / Дж. Рихтер. — 4-е изд. — СПб-: Питер, 2001. —752 с.

39. Роббинс Дж. Отладка Windows-приложений. / Дж. Роббинс. —М.: ДМК, 2001. —448 с.

40. Романовский К. Ю, Кузнецов C.B., Кознов Дм. В: Объектно-ориентированная подход и диаграммы классов в UML. / К. Ю. Романовский, C.B. Кузнецов, Дм: В. Кознов. — СПб-: Издательство С.-Петербургского университета, 1999.

41. Саймон P. Microsoft Windows 2000 API. Энциклопедия программиста. / Р. Саймон. — СПб.: ДиаСофт, 2002. — 1088 с.

42. Свами М. Графы, сети и алгоритмы. / М. Свами. — СПб.: BHV-Петербург, 1995.

43. Секунов Hi Самоучитель С#. / Н. Секунов. — СПб.: BHV-Петербург, 2001.

44. Скловская С. Команды Linux. / С. Скловская.— К.: Издательство «ДиаСофт», 2001.

45. Стивене Р. Протоколы TCP/IP. Практическое руководство. / Р. Стивене. — СПб.: BHV-Петербург, 2003. — 672 с.

46. Стивенс У. Р. UNIX: Взаимодействие процессов. / У. Р. Стивене. — СПб.: Питер, 2003. —576 с.

47. Страуструп Б. Язык программирования С++. / Б. Страуструп. — Киев: ДиаСофт, 1993.

48. Терехов А. Н., Романовский К. Ю Объектно-ориентированная методология разработки информационных систем и систем реального времени. / А. Н. Терехов.— СПб.: Издательство С.-Петербургского-университета,.1999.

49. Терехов А. Н., Романовский К. Ю. Методология и CASE-средство для разработки систем реального времени и информационных систем. / А. Н: Терехов: — М.: Программирование, 1999.

50. Фролов A.B., Фролов F.B. Библиотека системного программиста. / А. В. Фролов, F.B. Фролов. — М.: Диалог-Мифи, 1991.

51. Фролов A.B., Фролов Г. В. Операционная система IBM OS/2 Warp. / A.B. Фролов, Г. В. Фролов. — М.: Диалог-Мифи, 1995.

52. Хорстманн К., Корнелл Г. Библиотека профессионала. Java2. Том 2. Тонкости программирования. / К. Хорстманн, F. Корнелл. — М.: Вильяме, 2002. — 1120 с.

53. Хорстманн К. С., Корнелл F. Библиотека профессионала. Java 2. Том 1. Основы. / К. С. Хорстманн, Г. Корнелл. — М.: Вильяме, 2003. — 848 с.

54. Чеппел Д. Технологии ActiveX и OLE. / Д. Чеппел. — М.: Издательский отдел «Русская редакция», 199 765. шилдт Г. Java 2. / F. Шилдт— СПб.: BHV-Петербург, 2001. — 1072 с.

55. Шрайбер С. Недокументированные возможности Windows 2000. Библиотека программиста. / С. Шрайбер. — СПб.: Питер, 2002. — 544 с.

56. Эккель Б. Философия Java. Библиотека программиста. / Б. Эккель. — СПб.: Питер, 2001. —880 с.

57. Cooper A. The Essentials of User Interface Design. / A. Cooper. — IDG Books, 1995.

58. Bach M.J. The Design of the UNIX Operating System. / M.J. Bach. — Prentice Hall, 1986.

59. Bach. M The Design of the UNIX Operating System. / M. Bach. — Prentice-Hall, 1986.

60. Bar M. Linux File Systems. / M. Bar. — McGraw-Hill, 2001.

61. Barker R. Storage Area Networking Essentials. / R. Barker. — John Wiley & Sons, 200 273-Beck M: Linux Kernel Internals. / M: Beck: — Addison-Wesley- 1996.

62. Booch G. Object-Oriented Analysis And Design With Application. / G. Booch. — The Benjamin/Cummings Publishing Company, Inc, 1994. — 589 p.

63. Braek F. The Engineering Real Time Systems. / F. Braek. — Prentice Hall, 1993. — 398 p.

64. Butenhorf D.R. Programming with POSIX Threads. / D.R. Butenhorf. — Addison-Wesley, 1997.

65. Coplien J.O. Advanced C++ Programming Styles and Idioms. / J.O. Coplien. — Addison-Wesley, 1995.

66. Corbin J.R. Programming Techniques for Remote Procedure Calls. / J.R. Corbin. — Springer-Verlag, 1991.

67. Douglass B.P. Real-Time UML. / B.P. Douglass. — Addison-Wesley, 1998. — 365 p.

68. Edward A. Interactive Computer Graphics. / A. Edward. — Addison-Wesley, 1996.

69. Foley J. Introduction to Computer Graphics. / J. Foley. — Addison-Wesley, 1994.

70. Foley J., Dam V. Computer Graphics is C: Principles and Particle. / J. Foley, V. Dam. — Addison-Wesley, 1995.

71. Gallmeister B. Posix.4: Programming for the Real World. / B. Gallmeister. — O'Reilly, 1995.

72. Garfinkel S.L. Practical UNIX and Internet Security. / S.L. Garfinkel. — O'Reilly, 1996.

73. Goodheart B. The Internals of UNIX System V Release 4, an Open systems Design. / B. Goodheart. — Prentice Hall, 1994.

74. Hamilton G. The Spring Nuclear: A Microkernel for Objects. / G. Hamilton. — Cincinnati, 1993.

75. Harel D. Modeling Reactive Systems with State charts: state machine approach. / D • Harel. — McGraw-Hill, 1998: — 258 p.

76. Helm R. Design Patterns: Elements of Reusable Object-Oriented Software. / R. Helm. — Addison-Wesley, 199 589-Jeffrey E. Friedl Mastering Regular Expression. / E. Jeffrey. — O'Reilly, 1997.

77. Josey A. The Authorized Guide to Version 2 of the Single UNIX Specification. / A. Josey. — Prentice Hall, 1997.

78. Kernighan B: The UNIX Programming Environment. / B. Kernighan. — Prentice Hall, 1984.

79. Kleiman S. Programming with Treads. / S. Kleiman. — prentice Hall- 1996;

80. Kruchten P. The Rational Unified Process: An Introduction. / P. Kruchten.— Addison-Wesley, 1998. — 255 p.

81. Lewine D. POSIX Programmer’s Guide. / D. Lewine. — O'Reilly, 1992.

82. Lewis B. Multithreaded Programming with pthreads. / B. Lewis. — Prentice Hall, 1998.

83. Lippman S. Inside the C++ Object Model. / S. Lippman. — Addison-Wesley, 1994.

84. Mandel T. The Elements of User Interface Design. / T. Mandel. — John Wiley, 1997.

85. Matthias K.D. Programming with Qt. / K.D. Matthias. — O'Reilly, 1999.

86. McKusickM.K. The Design and Implementation of the 4.4BSD Operating System. / M.K. McKusick. — Addison-Wesley, 1996.

87. Moo B. Ruminations on C++. / B. Moo. — Addison-Wesley, 1996.

88. Quinn B. Windows Sockets Network Programming. / B. Quinn. — Addison-Wesley, 1996.

89. Rochkind M.J. Advanced UNIX Programming. / M.J. Rochkind. — Prentice Hall, 1985.

90. Rumbaugh J. Obj ect-oriented modeling and design. / J. Rumbaugh. — Prentice-Hall, 1991. — 500 p.

91. Rumbaugh J. The Unified Modeling Language Reference Manual. / J. Rumbaugh. — Addison-Wesley, 1999. — 550 p.

92. Salus P.H. Quarter Century of Unix. / P.H. Salus. — Addison-Wesley, 1994.

93. Scott M. Effective C++. / M. Scott. — Addison-Wesley, 1998.

94. Scott M. More Effective C++. / M. Scott. — Addison-Wesley,. 1996.

95. Selic B. Real-Time Object-Oriented Modeling. / B. Selic. — John Wiley & Sons. Inc, 1994. — 525 p.

96. Siegel J. CORBA Fundamentals and Programming. / J. Siegel. — John Wiley & Sons, Inc, 1997. — 693 p.

97. Stevens W.R. Unix Network Programming. / W. Rl Stevens. — Prentice-Hal^ 1997.

98. Stevens W.R. Advanced Programming in the UNIX Environment. / W.R. Stevens. — Addison-Wesley, 1992.

99. Stevens W.R. TCP/IP Illustrated Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols. / W.R. Stevens. — Addison-Wesley, 1996.

100. Stevens W.R. TCP/IP Illustrated Volume 1: The Protocols. / W.R. Stevens. — Addison-Wesley, 1994.

101. Stevens W.R. UNIX Network Programming, Volume 1, Networking APIs: Sockets and XTI. / W.R. Stevens. — Prentice Hall, 1998.115- Stevens W.R. UNIX Network Programming, Volume 2, Intercrosses Communications. / W.R. Stevens. — Prentice Hall, 1999.

102. Vahalia U. UNIX Internals: The New Frontiers. / U. Vahalia. — Prentice hall, 1996.

103. Wright G.R. TCP/IP Illustrated, Volume 2: The Implementation. / G.R. Wright. — Addison-Wesley, 1995.

Показать весь текст
Заполнить форму текущей работой