Моделювання розподілу ресурсів в мережах сервісу Triple Play (Delphi)

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Міністерство освіти і науки, молоді та спорту України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій і управління

Кафедра технічної кібернетики

ДИПЛОМНА РОБОТА

зі спеціальності

7. 91 402 «Гнучкі комп’ютеризовані системи та робототехніка»

ПОЯСНЮВАЛЬНА ЗАПИСКА

«Моделювання розподілу ресурсів в мережах сервісу Triple Play (Delphi)»

Студента групи ГКС-06-з Шустова Віталія Сергійовича

Керівник роботи ст. викл. Кислова Марія Алімівна

Консультанти:

з економічної частини доц., к. е. н. Тимко Є.В.

з охорони праці доц., к. т. н. Климович Г. Б.

нормоконтроль ст. викл. Супрунова Ю. А.

Завідувач кафедри ТК доц., к. т. н. Старіков О.М.

Кривий Ріг 2011

Міністерство освіти і науки, молоді та спорту України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій і управління

Кафедра технічної кібернетики

Спеціальність 7. 91 402 «Гнучкі комп’ютеризовані системи та робототехніка»

ЗАТВЕРДЖУЮ

Зав. кафедрою доц., к. т. н. Старіков О. М.

ЗАВДАННЯ

на дипломну роботу студента

Шустова Віталія Сергійовича

1. Тема роботи: Моделювання розподілу ресурсів в мережах сервісу Triple Play

__________________________________________________________________

затверджена наказом по інституту від «29 «жовтня 2010 р. № 55С-01_____________

2. Термін здачі студентом закінченої роботи 25. 05. 11. _

3. Вхідні дані до роботи: Вимоги до кінцевого програмного продукту, вихідні масиви даних, матеріали наукових досліджень, нормативні документи.

4. Зміст розрахунково-пояснювальної записки (перелік питань, що підлягають розробці): Постановка завдання; Теоретичне дослідження основ теорії систем масового обслуговування стосовно задач телекомунікації; Середовище DELPHІ як засіб проектування інтерфейсу користувача; Опис функціональних можливостей та програмної реалізації проектованої системи; Економічне обґрунтування доцільності розробки програмного продукту; Охорона праці.

5. Перелік графічного матеріалу (з точними вказівками обов’язкових креслень)

1. Схематичне зображення системи масового обслуговування

2. Діаграма Ганта для системи з трьома серверами

3. Діаграма Кивіата для телефонної лінії

4. Функція щільності вірогідності і функція нормального розподілу

5. Блок-схема моделі розподілу ресурсів в мережах сервісу Triple Play

6. Алгоритми основних процедур системи

7. Приклади вікон системи в різних робочих режимах

8. Графіки, побудовані на основі досліджень

6. Консультанти з роботи, з вказівками розділів роботи, що належать до них

Розділ

Консультант

Підпис, дата

Завдання видав

Завдання прийняв

Економічна частина

Тимко Є.В.

Охорона праці

Климович Г. Б.

7. Дата видачі завдання 01. 11. 10 р.

Керівник____________________

(підпис)

Завдання прийняв до виконання____________________

(підпис)

Календарний план

№ п/п

Найменування етапів дипломної роботи

Термін виконання етапів роботи

Примітки

Отримання завдання на дипломну роботу

01. 11. 10

Огляд існуючих рішень

20. 02. 11

Теоретичне дослідження основ теорії систем масового обслуговування стосовно задач телекомунікації

13. 03. 11

Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми)

28. 04. 11

Оформлення пояснювальної записки

05. 05. 10

Оформлення графічної документації

14. 05. 11

Оформлення електронних додатків до диплому

20. 05. 11

Представлення дипломної роботи до захисту

25. 05. 11

Студент-дипломник _________________

(підпис)

Керівник роботи _________________

(підпис)

Анотація

Метою даної дипломної роботи є розробка системи, що дозволяє побудувати модель та одержувати статистичні звіти про процеси в системах, побудованих за принципом Triple Play.

Розроблена система може бути корисна інженерам, що займаються розробкою та аналізом мереж Triple Play-сервісу.

Розділів 6, схем та рисунків 16, таблиць 5, бібліографічних посилань 33, загальний обсяг — _______.

Зміст

  • Вступ
  • 1. Постановка завдання
  • 1.1 Найменування та галузь застосування
  • 1.2 Підстава для створення
  • 1.3 Характеристика розробленого програмного забезпечення
  • 1.4 Мета й призначення
  • 1.5 Загальні вимоги до розробки
  • 2. Теоретичне дослідження основ теорії систем масового обслуговування стосовно задач телекомунікації
  • 2.1 Системи масового обслуговування та їхні характеристики
  • 2.2 Базова модель СМО та теорія телетрафіку
  • 2.3 Основні визначення теорії телетрафіку
  • 2.4 Завдання аналізу і проектування телекомунікаційних мереж і систем
  • 2.5 Вимірювання трафіку
  • 2.6 Моделі даних для опису телетрафіка
  • 2.6.1 Моделі потоків подій
  • 2.6.2 Нормальний розподіл
  • 2.7 Генерування псевдовипадкових чисел
  • 2.7.1 Математична модель лінійного конгруентного методу
  • 2.7.2 Практична реалізація лінійного конгруентного методу в стандартних бібліотеках різних компіляторів
  • 3. Середовище delphі як засіб проектування інтерфейсу користувача
  • 3.1 Загальні характеристики середовища Delphi
  • 3.2 Високопродуктивний компілятор у машинний код
  • 3.3 Delphі як об'єктно-орієнтована мова
  • 3.4 Основні концепції створення додатків у середовищі Wіndows
  • 3.5 Особливості написання програм у середовищі Delphі
  • 3.6 Огляд палітри компонентів
  • 4. Опис функціональних можливостей та програмної реалізації проектованої системи
  • 4.1 Предметна область і задачі, покладені на проектовану систему
  • 4.2 Розробка блок-схеми моделі розподілу ресурсів
  • 4.3 Математична модель системи
  • 4.4 Розробка алгоритмів та програмна реалізація
  • 4.5 Опис інтерфейсу користувача
  • 5. Економічне обґрунтування доцільності розробки програмного продукту
  • 6. Охорона праці
  • 6.1 Аналіз небезпечних й шкідливих виробничих факторів
  • 6.2 Заходи щодо нормалізації небезпечних і шкідливих факторів
  • 6.3 Пожежна безпека
  • Висновки
  • Список літератури

Вступ

Сьогодні є три основні масові інформаційно-комунікаційно-розважальні сервіси: телефонія, телебачення і інтернет-комунікації (умовно — передача даних). У минулому вони були розділені технологічно і організаційно: кожен базувався на власній інфраструктурі і різні послуги надавали, відповідно, різні оператори. Для користувача це виглядало як телефонний дріт, телевізійний кабель та канал передачі даних. Сьогодні ж оператор мультисервисної мережі, який забезпечує своїм абонентам широкосмугове IР-підключення, здатний всі три найбільш масових і звичних сервіси надавати одночасно через IР-канал. Цей спосіб надання послуг одержав назву Triple Play.

Оператор такої мультисервисної мережі не просто відтворює старі послуги на новій технологічній базі, але і робить їх цікавішими, якісно іншими і обов’язково розширює цей список новими послугами, які були відсутні в традиційних мережах. Наприклад, разом з телепрограмами (відео) в IР — мережі можна віщати і радіопрограми (аудіо), причому з будь-якою якістю, аж до багатоканального Dolby Stereo Surround 5.1 Сьогодні в IР-мережі доступні і вельми популярні мережеві комп’ютерні ігри, web-чати, всілякі інтернет-пейджери (типу Skype і ICQ).

Технологічно використовувані IР-канали можуть бути різними, головне, щоб вони забезпечували потрібну смугу пропускання і були керованими з погляду якості: підтримували приорітизацію різних типів трафіку, різні рівні обслуговування.

Метою даної дипломної роботи є розробка системи, що дозволяє змоделювати і одержати статистичні звіти про процеси в системах, побудованих за принципом Triple Play. Дослідження систем такого роду відноситься до завдань, що вирішуються в одному з розділів теорії систем масового обслуговування, званому теорією телетрафіка. Одним із способів дослідження є побудова імітаційних моделей, які дозволяють одержати статистичні звіти про процеси в системі.

Імітаційні моделі описують об'єкт дослідження деякою мовою, імітуючи елементарні явища, з яких складається функціонування системи, зі збереженням їхньої логічної структури, послідовності протікання у часі, особливостей і складу інформації про стан процесу. Зазначимо про наявність аналогії між дослідженням процесів методом імітаційного моделювання та їхнім експериментальним дослідженням.

Описи компонентів реальної системи в імітаційній моделі мають певний логіко-математичний характер і є сукупністю алгоритмів, які імітують функціонування цієї системи. Програма моделі, побудована на основі цих алгоритмів, дає змогу звести імітаційне моделювання до проведення експериментів на ЕОМ шляхом їхнього «прогону» на деякій множині вхідних даних, які імітують первинні події, що відбуваються в системі. Інформація, яка фіксується у процесі дослідження імітаційної моделі, дає змогу визначити потрібні показники, що характеризують ефективність системи, яку досліджують.

програма triple play delphi

1. Постановка завдання

1.1 Найменування та галузь застосування

Найменування розробки: система моделювання розподілу ресурсів в мережах сервісу Triple Play.

Розроблена система може бути корисна інженерам, що займаються розробкою і аналізом мереж Triple Play-сервісу.

1.2 Підстава для створення

Підставою для розробки є наказ № 55С-01 від 29 жовтня 2010 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 01. 11. 10 Закінчення робіт: 25. 05. 11.

1.3 Характеристика розробленого програмного забезпечення

Система моделювання розподілу ресурсів в мережах сервісу Triple Play була реалізована в середовищі Delphi.

Розроблене програмне забезпечення дозволяє побудувати модель розподілу ресурсів в режимі реального часу, отримувати основні показники ефективності досліджуваної системи і будувати графіки залежності на основі статистичних даних. До складу системи входять:

· TriplePlay. exe — виконуємий файл системи;

· rezult. dat — файл записів, що зберігає накопичувану статистичну інформацію;

· текстові файли, що можуть зберігати інформацію про вхідні параметри системи.

1.4 Мета й призначення

Метою даної дипломної роботи є розробка системи, що дозволяє змоделювати і одержати статистичні звіти про процеси в системах, побудованих за принципом Triple Play.

Система дозволяє будувати графіки залежності наступних типів:

· вірогідності блокування голосової заявки від кількості серверів, призначених для обробки голосових заявок;

· середнього часу очікування відео-заявки в черзі від кількості серверів, призначених для обробки відео-заявок;

· середнього часу очікування заявки типу «данні» в черзі від загальної кількості серверів.

1.5 Загальні вимоги до розробки

Вимоги до програмного забезпечення:

· Робота в середовищі операційних систем Windows 2000/XP/7;

· Простота й зрозумілість інтерфейсу.

Мінімальні вимоги до апаратного забезпечення:

· IBM-сумісний комп’ютер, не нижче Pentium IІ, RAM-128Mb, SVGA-800*600*16bit;

· Вільний простір на жорсткому диску не менш 2 Мб.

· Монітор, клавіатура, маніпулятор типу «миша».

1.6 Джерела розробки

Джерелами розробки дипломної роботи є:

· довідкова література;

· наукова література;

· технічна література;

· програмна документація.

2. Теоретичне дослідження основ теорії систем масового обслуговування стосовно задач телекомунікації

2.1 Системи масового обслуговування та їхні характеристики

Із системами масового обслуговування (СМО) ми зустрічаємось повсякчас. Кожному з нас доводилось чекати обслуговування в черзі (у магазині, на автозаправці, в бібліотеці, кав’ярні тощо). Аналогічні ситуації виникають, коли треба скористатися телефонним зв’язком або виконати свою програму на комп’ютері. Будь-яке виробництво теж можна уявити як послідовність систем обслуговування. До типових систем обслуговування належать також ремонтні і медичні служби, транспортні системи, аеропорти, вокзали тощо.

Особливого значення набули такі системи у процесах інформатики. Це передусім комп’ютерні системи, мережі передавання інформації, операційні системи, бази і банки даних. Системи обслуговування відіграють значну роль у повсякденному житті. Досвід моделювання різних типів дискретних систем свідчить про т. е. що приблизно 80% цих моделей ґрунтуються на СМО.

Систему масового обслуговування загалом можна уявити як сукупність послідовно пов’язаних між собою вхідних потоків вимог на обслуговування (потоків замовлень), черг, каналів обслуговування і потоків обслужених замовлень. Будь-який пристрій, який безпосередньо обслуговує замовлення, називають каналом обслуговування.

Системи масового обслуговування за наявності тої чи іншої ознаки можна класифікувати так:

1. За характером надходження замовлень у систему: на системи з регулярним і випадковим потоками замовлень. Якщо кількість замовлень, які надходять у систему за одиницю часу (інтенсивність потоку), стала або є заданою функцією часу, то маємо систему з регулярним потоком замовлень, в іншому разі - з випадковим. Випадковий потік замовлень може бути стаціонарним або нестаціонарним. Якщо параметри потоку замовлень не залежать від розташування інтервалу часу, який розглядають, на осі часу, то маємо стаціонарний потік замовлень, в протилежному випадку — нестаціонарний. Наприклад, якщо кількість покупців, які приходять до магазину, не залежить від часу доби, то потік замовлень (покупців) — стаціонарний.

2. За кількістю замовлень, які надходять за одиницю часу, на системи з ординарним і неординарним потоками замовлень. Якщо ймовірність надходження двох або більше замовлень в один момент часу дорівнює нулеві або настільки мала, що нею можна знехтувати, то маємо систему з ординарним потоком замовлень. Наприклад, потік літаків, які прибувають на злітну смугу аеродрому, можна вважати ординарним, оскільки ймовірність надходження двох і більше літаків до каналу обслуговування в один і той самий момент часу дуже мала.

3. За зв’язком між замовленнями: на системи без післядії від замовлень, які надійшли, і з післядією. Якщо ймовірність надходження замовлень у систему в деякий момент часу не залежить від того, скільки вимог уже надійшло до системи, тобто не залежить від передісторії процесу, який вивчають, то ми маємо задачу без післядії, у протилежному випадку — з післядією. Прикладом задачі з післядією може слугувати потік студентів на складання заліку викладачеві.

4. За характером поведінки замовлень у системі: з відмовами, з обмеженим очікуванням і з очікуванням без обмеження: — якщо нове замовлення, яке прибуло на обслуговування, застає усі канали обслуговування уже зайнятими і покидає систему, то маємо систему з відмовами. Замовлення може покинути систему і тоді, коли черга досягла певних розмірів. Якщо ракета супротивника з’являється в час. коли всі протиракетні пристрої обслуговують інші ракети, то вона без проблем залишає зону обслуговування;

якщо нове замовлення, яке прибуло на обслуговування, застає усі канали обслуговування зайнятими і стає у чергу, але перебуває у ній обмежений час і. не дочекавшись обслуговування, покидає систему, то маємо систему з обмеженим очікуванням. Прикладом такого «нетерплячого» замовлення може бути самоскид із цементним розчином. Якщо час очікування великий, то щоб запобігти затвердненню розчину, він може бути розвантажений в іншому місці;

якщо нове замовлення, яке прибуло на обслуговування, заставши усі канали обслуговування зайнятими, змушене очікувати своєї черги до того часу, поки не буде обслужене, то маємо систему з очікуванням без обмеження. Приклад: літак, який перебуває на аеродромі до того часу, поки не звільниться злітна смуга.

5. За способом вибору замовлень на обслуговування: з пріоритетом, за часом надходження, випадково, останнього обслуговують першим. Іноді в такому випадку кажуть про дисципліну обслуговування:

якщо система масового обслуговування охоплює кілька категорій замовлень і з певних міркувань необхідно дотримуватись різного підходу до їхнього відбору, то маємо систему з пріоритетом. Зокрема, під час надходження виробів на будмайданчик. перш за все монтують ті. які необхідні у цей момент;

якщо канал, який звільнився, обслуговує замовлення, яке раніше за інших надійшло до системи, то маємо систему з обслуговуванням замовлень за часом надходження. Це найпоширеніший клас систем. Наприклад, покупця, який підійшов до продавця першим, обслуговують раніше за інших. Цей спосіб вибору замовлень на обслуговування застосовують там. де внаслідок технічних, технологічних або організаційних умов замовлення не можуть випереджати одне одного;

якщо замовлення з черги надходять до каналу обслуговування у випадковому порядку, то маємо систему з випадковим вибором замовлень на обслуговування. Приклад: вибір слюсарем-сантехніком одного з декількох замовлень на усунення несправностей, які надійшли від мешканців. Вибір тут. зазвичай, визначають місцезнаходженням самого слюсаря: він надасть перевагу замовленню мешканця, який перебуває від нього найближче, якщо інші чинники не визначають вибору;

останнього обслуговують першим. Цей спосіб вибору вимог на обслуговування використовують у тих випадках, коли зручніше й економніше брати на обслуговування замовлення, яке найпізніше надійшло до системи. Зокрема, якщо будівельні вироби складені один на одному, то зручніше спочатку брати виріб, який надійшов останнім.

6. За характером обслуговування замовлень: на системи з детермінованим і випадковим часом обслуговування. Якщо інтервал часу між моментами надходження замовлення до каналу обслуговування і моментом виходу замовлення з цього каналу є сталим, то йдеться про систему з детермінованим часом обслуговування, в іншому разі - з випадковим.

7. За кількістю каналів обслуговування: на одноканальні і багатоканальні системи. Наприклад, для зведення будинку можна використати один будівельний кран (один канал обслуговування) або декілька (багато каналів) для обслуговування виробів, які прибувають на будову. За кількістю етапів обслуговування: на однофазні і багатофазні системи. Якщо канали обслуговування розташовані послідовно, і вони неоднорідні, оскільки виконують різні операції обслуговування, то йдеться про багатофазну систему масового обслуговування. Прикладом такої системи може бути обслуговування автомобілів на станції технічного обслуговування (миття, діагностування тощо). За однорідністю замовлень, які надходять на обслуговування: на системи з однорідними і неоднорідними потоками замовлень. Наприклад, якщо для розвантаження прибувають фургони однакової вантажомісткості, то такі замовлення називають однорідними, якщо різної - то неоднорідними.

8. За кількістю етанів обслуговування: на однофазні і багатофазні системи. Якщо канали обслуговування розташовані послідовно, і вони неоднорідні, оскільки виконують різні операції обслуговування, то йдеться про багатофазну систему масового обслуговування. Прикладом такої системи може бути обслуговування автомобілів на станції технічного обслуговування (миття, діагностування тощо).

9. За однорідністю замовлень, які надходять на обслуговування: на системи з однорідними і неоднорідними потоками замовлень. Наприклад, якщо для розвантаження прибувають фургони однакової вантажомісткості, то такі замовлення називають однорідними, якщо різної - то неоднорідними.

10. За обмеженістю потоку замовлень: на замкнені і розімкнені системи. Якщо потік замовлень обмежений і замовлення, які покинули систему, через деякий час до неї повертаються, то маємо замкнену систему, в протилежному випадку — розімкнеш.

Прикладом замкненої системи може слугувати бригада робітників, які налагоджують станки в ткацькому цеху.

В задачах аналізу систем масового обслуговування в якості основних показників функціонування системи можуть бути використані:

1) ймовірність простою P0 каналу обслуговування;

2) ймовірність того, що в системі знаходяться n вимог (ймовірність Pn);

3) середнє число вимог, що знаходяться в системі:

; (2. 1)

4) середнє число вимог, що знаходяться в черзі:

, (2. 2)

де Nk — число каналів обслуговування.

5) середній час очікування в черзі Tчерг. Для розімкнутої системи:

, (2. 3)

де — це інтенсивність надходження потоковимог в систему.

Для замкнутої системи:

, (2. 4)

де m — число вимог, що потребують обслуговування.

6) середній час очікування вимог в системі Tсист;

7) середнє число вільних каналів обслуговування:

(2. 5)

8) середнє число зайнятих каналів обслуговування:

(2. 6)

2.2 Базова модель СМО та теорія телетрафіку

Базовими складовими, що визначають математичну модель СМО, є описи вхідного потоку вимог і оброблювальних їх серверів. У загальному випадку, вимога, що поступила в систему і застала всі сервери зайнятими, поміщається в спеціальний накопичувач — чергу. Розмір цього накопичувача, що визначає максимально можливу довжину черги, може бути різним. У граничних випадках він може бути рівним нескінченності, тоді всі вимоги, що поступають, приймаються системою, або рівним нулю, тоді всі вимоги, що поступили при зайнятих серверах, будуть відкинуті системою, або, як прийнято говорити, заблоковані. У проміжному випадку, при кінцевій максимальній довжині черги, частина вимог, що застали всі сервери зайнятими, будуть поміщені у вільний простір накопичувача, і лише якщо накопичувач виявиться повним, вимоги виявляться заблокованими.

Схему структуру СМО можна відобразити каскадним з'єднанням накопичувача і пулу серверів (рис. 2. 1).

На вхід накопичувача поступає вхідний потік вимог, математична модель якого задається.

Рис. 2.1 Схематичне зображення системи масового обслуговування

Сервери СМО повинні бути описані за допомогою завдання розподілу вірогідності довжини інтервалу часу, що витрачається на обслуговування однієї вимоги. Таким чином, математична модель сервера — це випадкова величина, що визначає час обробки вимоги (події).

Вимоги, що поступили при зайнятому сервері, накопичуються в черзі. Кількість вимог в черзі постійно міняється, але якщо придивитися уважно, то з часом воно може стати в середньому достатньо стійким. Причому, чим більше буде інтенсивність потоку вимог на вході системи, тим більше число вимог знаходитиметься в черзі. Це значить, що і все більший час вимога буде вимушена знаходитися в накопичувачі, перш ніж поступить в сервер на обробку. Середній час знаходження вимоги в системі є одним їх важливих показників роботи СМО. Можна встановити співвідношення між середнім числом вимог в системі, інтенсивністю вхідного потоку середнього часу перебування в системі.

2.3 Основні визначення теорії телетрафіку

Науковою основою вимірювання і прогнозування якості роботи телекомунікаційної мережі є теорія телетрафіка, яка виросла на ґрунті традиційної телефонії і успадкувала з неї свою назву. Телетрафік — це поняття, яке може бути визначене як рух повідомлень (інформаційних потоків). Теорія телетрафіка — наукова дисципліна про закономірності і кількісний опис процесів руху цих повідомлень в мережах і системах. Початок теорії телетрафіка йде від робіт датського математика Агнера Ерланга, що дослідив статистичні характеристики роботи телефонних мереж і опублікував в 1909 році свою основоположну роботу «Теорія вірогідності і телефонія» (The Theory of Probabilities and Telephone. Conversations). Оцифрування і інтелектуалізація мереж зв’язку і особливо їх побудова на принципах комп’ютерних мереж зажадали використання істотно нових методів аналізу роботи мереж, відсутніх в арсеналі класичної теорії телетрафика. В той же час методи аналізу комп’ютерних мереж розвивалися у напрямі оцінок продуктивності, а не звичних для зв’язківців понять якості послуг зв’язку, і не могли бути застосовані безпосередньо при оцінюванні транспортних послуг мережі зв’язку з комп’ютерною архітектурою. Потреба в таких оцінках, а, інакше кажучи, необхідність розвитку теорії телетрафіка стосовно комп’ютерних мереж зв’язку привела до появи цілого ряду досліджень і супроводжуючих їх публікацій. Проте результати цих досліджень не стали ще звичним підходом для інженерів, що проектують і експлуатують системи і мережі зв’язку.

В процесі комунікації користувачів в мережі виникає потік повідомлень — телетрафік або просто трафік, який може бути охарактеризований кількісно. Очевидним параметром трафіку є його об'єм (traffic volume). Для цифрових систем ця величина природним чином асоціюється з числом бітів, переданих за заданий час. Проте для аналогових систем такий підхід виявляється неприйнятним. Більш того, при використанні цифрових систем з складними способами модуляції і кодування сигналів визначення об'єму трафіку стає неоднозначним. Порівняємо нашу ситуацію з трафіком автомобільного руху на дорозі. Ми говоримо про великий трафік, якщо автомобілі дуже щільно заповнюють смуги руху, а кількість вантажу в них (аналогія переносимих бітів інформації) і навіть число автомобілів не має при цьому великого значення. Приведена аналогія дозволяє охарактеризувати об'єм трафіку як міру зайнятості простору для руху. Роль такого простору для телетрафіка грає час, в межах якого доступний той або інший ресурс мережі. Тому ми називатимемо об'ємом трафіку, пропущеного тим або іншим ресурсом, величину сумарного, інтегрального інтервалу часу, протягом якого даний ресурс був зайнятий за аналізований період часу. Іноді цю величину називають роботою ресурсу за заданий час.

Одиницею роботи можна вважати секундозаняття ресурсу. Іноді можна прочитати про годинозанятті, а деколи навіть просто про об'єм трафіку в секундах або годинах. Проте рекомендації ITU (International Telecommunication Union — Міжнародного союзу електрозв’язку) дають розмірність об'єму трафіку в ерланго-годинах. Щоб зрозуміти сенс такої одиниці вимірювання, слід розглянути ще один найважливіший кількісний параметр трафіку — інтенсивність трафіку (traffic intensity). У вітчизняній літературі по телефонії можна прочитати про цю величину як про інтенсивність навантаження. При цьому найчастіше говорять про середню інтенсивність трафіку (навантаження) на деякому заданому пулі (наборі) ресурсів, обслуговуючих трафік. Інтервал часу усереднювання також звичайно задається. Якщо в кожен момент часу t із заданого інтервалу (t1,t2) число зайнятих обслуговуванням трафіку ресурсів з даного набору рівне A (t), то середня інтенсивність трафіку може бути оцінена як:

(2. 7)

Величина інтенсивності трафіку характеризується як середнє число ресурсів, зайнятих обслуговуванням трафіку на заданому інтервалі часу. Одиницею вимірювання інтенсивності трафіку (навантаження) є один ерланг (1 Ерл, 1 Е). З визначення інтенсивності ясно, що 1 ерланг — це така інтенсивність трафіку, яка вимагає повної зайнятості одного ресурсу або, інакше кажучи, при якій ресурсом виконується робота величиною в одне секундозаняття за час в одну секунду. При цьому об'єм трафіку в одне секундозаняття займає одиницю ресурсу рівно на одну секунду.

2.4 Завдання аналізу і проектування телекомунікаційних мереж і систем

Перше завдання — завдання аналізу — виникає в тих випадках, коли телекомунікаційна система вже побудована і функціонує. Цілями аналізу є пошук реальних характеристик СМО, порівняння їх з проектними характеристиками, надання об'єктивних оцінок якості роботи системи. У результаті аналіз дозволяє визначити причини зниження якості обслуговування в порівнянні з проектними характеристиками і видати рекомендації по усуненню цих причин. Іноді аналіз потрібно провести після внесення змін в систему або після підключення нових джерел навантаження.

Як найважливішу складову частину аналіз включає вироблення розуміння всіх основних процесів, що відбуваються в системі. Зрозуміти — означає зуміти в думках відтворити. Кількісні межі людського мислення примушують відтворювати пізнавану суть не у всієї неї повноті, а в спрощеному, схемному вигляді. Говорять, що мислення відтворює модель об'єкту. Модель за своєю суттю — це абстракція, результат ігнорування, відкидання всього неістотного з погляду того, що будує модель. У простому випадку, коли з якихось причин не можна або невідомо від яких сторін об'єкту можна абстрагуватися, використовують просту форму моделі - масштабну модель.

Це фізична модель, що має всі ті ж складові елементи, що і об'єкт, але тільки менших розмірів. Наприклад, фізична модель телекомунікаційної мережі може являти собою зібране в одній кімнаті мережеве устаткування, сполучене між собою імітаторами каналів реальної мережі. Якщо така модель дуже громіздка або дуже дорога, то фізична модель може бути побудована на основі деякого типового фрагмента мережі і імітатора навантаження, що поступає. Таку модель прийнято називати прототипом.

Що дозволяє робити прототип? За допомогою реальних аналізаторів трафіку вимірюються характеристики мережі, вивчається вплив параметрів устаткування і навантаження на характеристики якості і т.п. Як правило, результати, одержані на прототипі, потрібно масштабувати для отримання оцінок в реальній мережі. Таким чином, фізична модель містить в собі імітатори трафіку, спрощене устаткування, аналізатори характеристик. Основним недоліком фізичного моделювання, прототипування, зокрема, є дуже висока вартість робіт. Іноді вимоги високої ідентичності моделі об'єкту критично важливі.

Наприклад, на Землі завжди є точна копія космічного апарату, запущеного на орбіту. Така копія є фізичною моделлю, на якій відпрацьовуються дії екіпажа при нештатних ситуаціях або з’ясовуються можливі причини відхилення характеристик об'єкту від проектних. Але при щонайменшій нагоді відмовитися від фізичного моделювання для пізнання властивостей об'єкту вигідніше будувати його абстрактні математичні моделі. Вони можуть бути будь-якого рівня абстрагування, від дуже грубих до вельми детальних. Але їх реалізація, як правило, здійснюється у вигляді деякої комп’ютерної програми і тому істотно дешевше, ніж фізична модель. Крім того, такі моделі надзвичайно зручні для внесення всіляких змін, вимірювань, наочних уявлень (наприклад, візуалізація внутрішніх процесів). Головне ж достоїнство математичних моделей систем полягає в тому, що їх можна будувати задовго до побудови власне найреальнішої системи. Тим самим математичні моделі утворюють основу для другої найважливішої задачі - проектування телекомунікаційних мереж і систем.

2.5 Вимірювання трафіку

Спочатку розглянемо, як можна відображати роботу СМО, що має декілька ресурсів, які одночасно обслуговують деякий трафік. Далі говоритимемо про такі ресурси, як про сервери, які обслуговують потік заявок або вимог. Одним з найбільш наочних способів, що часто вживається, зображення процесу обслуговування заявок пулом серверів є діаграма Ганта. Ця діаграма є прямокутною системою координат, вісь абсцис якої зображає час, а на осі ординат позначаються дискретні точки, відповідні серверам пулу. Далі, кожен інтервал часу, коли сервер зайнятий обслуговуванням заявки з вхідного потоку, відмічається відрізком жирної горизонтальної прямої. На рис. 2.2 зображена діаграма Ганта для системи з трьома серверами.

Рис. 2.2 Діаграма Ганта для системи з трьома серверами

У перші три інтервали часу (рахуватимемо їх для визначеності секундою) зайняті перший і третій сервери, наступні дві секунди — тільки третій, потім одну секунду працює тільки другий, потім, дві секунди другий і перший, і останні дві секунди працює тільки перший.

Побудована діаграма дозволяє провести розрахунки об'єму трафіку і його інтенсивності. Відразу відмітимо, що побудована діаграма Ганта відображає тільки обслужений або пропущений трафік (traffic carried), оскільки нічого не говорить про те, чи поступали в систему заявки, які не змогли бути обслужені серверами. При побудові діаграми Ганта для трафіку (traffic offered), що поступає, потрібно будувати горизонтальні відрізки, асоціюючи їх початки з моментами надходження заявки, довжини — з необхідним часом обслуговування і розташовуючи їх по осі ординат так, щоб такі відрізки не перетиналися. У будь-якому випадку, об'єм трафіку обчислюється як сумарна довжина всіх відрізків діаграми Ганта. Різниця між об'ємами трафіків, що поступають і пропущеного, називається об'ємом надмірного трафіку (overflow traffic).

Рекомендації ITU Е. 500 визначають для оцінки інтенсивності трафіку в телефонних мережах інтервал часу усереднювання в 15 хвилин. Вимірювання ведеться безперервно і постійно, накопичуючи набір даних у вигляді послідовності чисел подібно до приведеного вище прикладу. Побудувавши графік зміни інтенсивності трафіку (навантаження), можна визначити годинний інтервал, коли інтенсивність була максимальною (сума чотирьох сусідніх значень є найбільшою). Час, відповідний цьому інтервалу прийнято називати часом найбільшого навантаження (ЧНН) або в англомовній литературе — busy hour. Звичайно інтервал часу, відповідний ЧНН, повторюється кожну добу, наприклад, з 11 до 12 годин щодня.

Тепер приведемо декілька математичних визначень. Спочатку визначимо число надходжень вимог на обслуговування. Позначимо це число п. Якщо розділити це число на тривалість інтервалу моніторингу Т, то одержимо середнє число надходжень вимог в одиницю часу, середню частоту надходжень або, як часто її називають, середню інтенсивність потоку вимог. Цю величину прийнято позначати:

(2. 8)

Оскільки середня інтенсивність трафіку (позначимо її) визначається як відношення сумарного часу обслуговування до загального часу моніторингу, то в наших позначеннях можна записати:

(2. 9)

де — середня тривалість заняття (обслуговування).

Таким чином, ми показали, що середня інтенсивність трафіку є функцією тільки середнього числа надходжень вимог в одиницю часу і середньої тривалості їх обслуговування.

Ця величина також називається середнім навантаженням і також асоціюється з коефіцієнтом використання ресурсу (сервера).

Дійсно, як видно безпосередньо з діаграми Ганта, відношення S/T можна інтерпретувати саме як відносну частку часу, коли сервер зайнятий роботою по обслуговуванню вимог, що поступили. Якщо він витрачає на обслуговування половину всього часу, то коефіцієнт використання природно вважати рівним 50%, якщо взагалі не включався за час моніторингу, то коефіцієнт використання рівний 0. Якщо розбити весь час моніторингу на декілька частин і злічити коефіцієнт використання для кожної з них, то можна відкласти ці значення по радіусах одиничного круга, відповідних виділених інтервалах. Діаграма, що вийшла, дозволяє в динаміці бачити, як використовується сервер. Такі діаграми носять спеціальну назву — діаграми Кивіата).

Тепер звернемося до вимірювання трафіку в мережах, де повідомлення представлені пакетами символів, які можуть мати різну довжину і передаватися один за одним по каналах зв’язку, що сполучають між собою вузли мережі - пристрої об'єднання, відгалуження і перенаправлення пакетів. Говоритимемо про трафік між будь-якими елементами мережі, тобто фізичними або логічними пристроями, що мають власну мережеву адресу, по сполучаючих їх каналах зв’язку.

Рис. 2.3 Діаграма Кивіата для телефонної лінії

Можна вимірювати також витікаючий трафік з деякого мережевого елементу незалежно від одержувача або вхідний трафік у вибраний мережевий елемент, звідки б він не виходив. Вимірювання трафіку при цьому зводиться до підрахунку числа пакетів, що проходять по вибраному шляху, і вимірюванню довжини кожного з пакетів. Позначимо число пакетів, що пройшли за час Т (секунд), буквою l, довжину i-го пакета — li, (бітів), а швидкість передачі інформації по каналу — R (біт/с).

Тоді можна визначити середню за час Т інтенсивність трафіку на даному інтерфейсі як відношення часу, зайнятого пакетами, до загального часу вимірювання:

(2. 10)

Одиницею вимірювання інтенсивності трафіку тут також є ерланг, проте в практиці пакетних мереж часто оцінюють інтенсивність трафіку величиною:

, (2. 11)

вимірюваної в бітах або байтах в секунду.

При постійній довжині пакету інтенсивність трафіку характеризують просто кількістю пакетів в секунду. Іноді, навіть при змінній довжині пакетів, обчислюють спочатку середню довжину пакету, а потім користуються описом інтенсивності трафіку як числа пакетів в секунду. Приведені тут вживані на практиці величини, що характеризують інтенсивність трафіку, завжди можуть бути виражені в ерлангах, якщо розділити їх значення на швидкість передачі, і тому не приводять до суперечностей при використанні. Тут же ми ще раз нагадаємо, що інтенсивність трафіку вимірюється не тим, наскільки швидко переміщаються пакети, а наскільки «щільно» вони рухаються. Якщо сказати, що інтенсивність трафіку є 300 пакетів/с середньою довжиною 1000 біт, то для мережі Ethernet, де швидкість передачі 10 Мбіт/с, це одне (А = 0,003 Ерл), а для телефонного модему, що працює на швидкості 32 000 біт/с — зовсім інше (А = 0,9375 Ерл). У останньому випадку модем просто переобтяжений і затримки, що виникають при передачі, будуть неприпустимими. Проте, міркуючи в рамках однієї і тієї ж швидкості передачі, як міра інтенсивності трафіку цілком допустимо для порівняння застосовувати величину I.

Як можна вимірювати інтенсивність трафіку в мережах передачі пакетів? Очевидно, що для цього необхідно реєструвати час появи кожного пакету і його довжину. Для проведення вимірювань такого роду існують спеціальні прилади — аналізатори пакетів, які дозволяють виконувати набагато складніший аналіз трафіку, чим вимірювання інтенсивності. Наприклад, аналізатори протоколів серії RC-88/-100/-88WL/-100WL дозволяють визначати час доставки пакетів вибраного типа протоколу, довжину пакету, виділяти помилкові пакети, систематизувати одержану інформацію у вигляді графіків, таблиць і діаграм. Можна застосовувати для вимірювань і звичайний комп’ютер, на який повинна бути встановлена спеціальна програма — монітор мережі. Існує велика кількість різних програм для моніторингу мережі, особливо для роботи під управлінням операційною системою UNIX. Для комп’ютерів з ОС Windows таких моніторів істотно менше. Одній з кращих можна рахувати програму Network Monitor компанії Microsoft.

2.6 Моделі даних для опису телетрафіка

2.6.1 Моделі потоків подій

Якщо подивитися на роздрук роботи монітора пакетної або телефонної мережі, то можна побачити, що моменти часу надходження пакетів або заняття ліній представляють деякий набір випадкових чисел. Ці числа утворюють неубутну випадкову послідовність, яку прийнято називати випадковим потоком. Для опису таких потоків можна використовувати або поняття розподілу кількості подій, що доводяться на вибрані певним чином інтервали часу, або розподіл інтервалу часу між сусідніми подіями. У першому випадку модель потоку дається розподілом дискретної випадкової величини, а в другому — безперервної випадкової величини.

Як випливає з сенсу понять, і в тому і в іншому випадку йдеться про розподіл ненегативних величин. Говоритимемо, що нам вдалося знайти задовільну модель потоку подій, якщо ми змогли написати програму, що видає послідовно один за одним числа, які можуть бути інтерпретовані як моменти часу настання подій, створюючих потік, еквівалентний модельованому. Поняття еквівалентності реального потоку і модельного потоку подій істотно залежить від завдання, для якого використовується модель. Ми вважатимемо модель еквівалентною реальному потоку, якщо розраховані за допомогою модельного потоку характеристики якості обслуговування СМО (час очікування, вірогідність блокування і т.п.) будуть допустимо мало відрізнятися від характеристик реальної системи.

При виборі моделі потоку іноді можуть допомогти апріорні знання про його характерні властивості. Теорія випадкових потоків виділяє наступні принципові властивості:

· стаціонарність — незалежність імовірнісних характеристик від часу. Так вірогідність надходження певного числа подій в інтервалі часу завдовжки t для стаціонарних потоків не залежить від вибору початку його вимірювання;

· післядія — вірогідність надходження подій в інтервалі (t1,t2) залежить від подій, що відбулися до моменту t

· ординарність — вірогідність надходження двох і більш подій за нескінченно малий інтервал часу t є величина нескінченно мала, вищого порядку малості, ніж t.

Найважливішими чисельними параметрами випадкового потоку є інтенсивність потоку і параметр потоку. Для ординарних потоків вони співпадають, а для неординарних, тобто для тих, в яких можуть одночасно поступати декілька подій, ці величини розрізняються.

Інтенсивністю потоку називають математичне очікування числа подій в одиницю часу в даний момент. Тобто це межа відношення середнього числа подій на інтервалі t до довжини цього інтервалу, прагнучої до нуля:

(2. 12)

Параметром потоку називають межу відношення вірогідності надходження хоч би однієї події на інтервалі до довжини цього інтервалу, прагнучої до нуля:

(2. 13)

Як випливає з останньої формули, вірогідність надходження хоч би однієї події в заданому нескінченно малому інтервалі з точністю до нескінченно малих вищого порядку, прямо пропорційна параметру потоку:

(2. 14)

2.6.2 Нормальний розподіл

Випадкова величина X нормально розподілена з параметрами і > 0, якщо її щільність розподілу Р (х) і функція розподілу F (x) мають відповідний вигляд (рис. 2. 4):

, (2. 15)

, (2. 16)

де — математичне очікування, 2 — дисперсія.

Рис. 2.4 Функція щільності вірогідності і функція нормального розподілу

Нормально розподілена випадкова величина може приймати безперервний ряд значень від — до +. У теорії випадкових потоків доводиться обмежувати значення позитивними величинами, вважаючи значення функції щільності вірогідності нульовими на негативній піввісі. При цьому доводиться вносити зміни у всі значення функції для ненегативних аргументів так, щоб виконувалася умова нормування:

(2. 17)

2.7 Генерування псевдовипадкових чисел

У основі моделювання потоку подій лежить генерування значень дійсної (рідше за цілу) змінної, що має сенс поточного модельного часу, які визначають моменти надходження вимог. Позначимо цю змінну ATIME. Найчастіше генеруються не самі моменти, а інтервали часу між подією, що відбулася, і надходженням наступної. Якщо позначити послідовність таких міжподієвих інтервалів A1, A2, Ai, то на кожному кроці моделювання ATIME=ATIME + Ai.

Величина міжподієвого інтервалу є випадковою величиною і генерується за допомогою спеціальних програмних функцій, званих датчиками випадкових чисел. Прості датчики випадкових чисел генерують значення випадкової величини, що має рівномірний розподіл в інтервалі (0, 1). Основна проблема розробки таких програм полягає в необхідності забезпечити випадкові числа за допомогою детермінованого процесу виконання. Реально такі програми генерують псевдовипадкові числа. Якість послідовностей, випадкових чисел, що генеруються датчиком, оцінюється близькістю до дійсно випадкових за допомогою багатьох тестів. Як показав багаторічний досвід розробки, найбільш ефективними алгоритмами роботи датчиків випадкових чисел є так звані конгруентні генератори.

2.7.1 Математична модель лінійного конгруентного методу

У цей час найбільш популярними генераторами випадкових чисел є генератори, у яких використається схема, запропонована Д. Г. Лехмером в 1949 році - лінійний конгруентний метод.

Виберемо чотири «чарівних числа»:

m, модуль; 0 < m;

а, множник; 0 < a < m;

с, приріст; 0 < с < m;

X0, початкове значення; 0 < X0 < m.

Потім одержимо бажану послідовність випадкових чисел (Хn), маючи на увазі:

Xn+1 = (а* Xn+ с) mod m, n > 0. (2. 18)

Ця послідовність називається лінійною конгруентною послідовністю. Одержання залишків по модулю m почасти нагадує зумовленість, коли кулька попадає в осередок колеса рулетки. Наприклад, для m = 10 й X0 = а = с = 7 одержимо послідовність 7,6,9,0,7,6,9,0,.

Як показує цей приклад, така послідовність не може бути «випадковою» при деяких наборах чисел m, а, з і Х0. У прикладі ілюструється той факт, що конгруентна послідовність завжди утворить петлі, тобто обов’язково існує цикл, що повторюється нескінченне число раз. Ця властивість є загальною для всіх послідовностей виду Хn+1 = f (Хn), де f перетворить кінцеву множину саме в себе.

Цикли, що повторюються, називаються періодами, довжина періоду наведеної вище послідовності дорівнює 4. Безумовно, послідовності, які ми будемо використовувати, мають відносно довгий період.

Заслуговує на увагу випадок, коли с = 0, тому що числа, що генеруються, будуть мати менший період, чим при с? 0. Ми переконаємося надалі, що обмеження с = 0 зменшує довжину періоду послідовності, хоча при цьому усе ще можливо зробити період досить довгим. В оригінальному методі, запропонованому Д. Г. Лехмером, с вибиралося рівним нулю, хоча він і допускав випадок, коли с? 0, як один з можливих. Той факт, що умова с? 0 може приводити до появи більше довгих періодів, був установлений В. Е. Томсоном (W.Е. Thomson) і незалежно від нього А. Ротенбергом (А. Rotenberg).

Багато авторів називають лінійну конгруентну послідовність при с = 0 мультиплікативним конгруентним методом, а при с? 0 — змішаним конгруентним методом. Для спрощення формул уводимо константу: b = а-1.

Можна відразу відкинути випадок, коли, а = 1, при якому послідовність Хn може бути представлена у вигляді Хn = (Х0 + с) mod m і поводиться явно не як випадкова послідовність.

Випадок, коли, а = 0 навіть гірше. Отже, для практичних цілей припускаємо, що а> 2, b>1.

Зараз можна узагальнити формулу (2. 18):

(2. 19)

де (n + k) — й член виражається безпосередньо через n-й.

Випадок, коли n = 0, у цьому рівнянні також вартий уваги. З (2. 19) можна зробити висновок, що підпослідовність, що містить кожний k-й член послідовності Xn, є також лінійною конгруентною послідовністю, множник якої дорівнює аk mod m і приріст дорівнює ((аk — l) c/b) mod m. Важливим наслідком з (2. 19) є те, що загальна послідовність, визначена за допомогою а, с і Х0, може бути дуже просто виражена в термінах спеціального випадку, коли с = 1 і Х0= 0. Нехай:

Y0 = 0, Yn+1= (aYn + 1) mod m (2. 20)

Відповідно до (2. 19) одержимо Yk = (аk — 1) /b (по модулю m). Виходить, послідовність, наведена в (2. 18), буде мати вигляд

Xn = (AYn + Х0) mod m, (2. 21)

де A = (Х0b + с) mod m

2.7.2 Практична реалізація лінійного конгруентного методу в стандартних бібліотеках різних компіляторів

Лінійний конгруентний метод застосовується в простих випадках і не має криптографічну стійкість. Входить у стандартні бібліотеки різних компіляторів.

При практичній реалізації лінійного конгруентного методу вигідно вибирати m = 2e, де e — число біт у машинному слові, оскільки це дозволяє позбутися від відносно повільної операції приведення по модулі. Машинне слово — машиннозалежна й платформозалежна величина, вимірювана в бітах або байтах, рівна розрядності регістрів процесора й/або розрядності шини даних.

У таблиці нижче наведені найбільш часто використовувані параметри лінійних конгруентних генераторів, зокрема, у стандартних бібліотеках різних компіляторів.

Таблиця 2. 1

Параметри лінійних конгруентних генераторів

Компілятор

m

a

c

Numerical Recipes

232

1 664 525

1 013 904 223

Borland C/C+ +

232

22 695 477

1

GNU Compiler Collection

232

69 069

5

ANSI C: Open Watcom, Digital Mars, Metrowerks, IBM VisualAge C/C+ +

232

1 103 515 245

12 345

Borland Delphi, Virtual Pascal

232

134 775 813

1

Microsoft Visual/Quick C/ C+ +

232

214 013

2 531 011

Apple CarbonLib

231 — 1

16 807

0

3. Середовище delphі як засіб проектування інтерфейсу користувача

3.1 Загальні характеристики середовища Delphi

Серед великої розмаїтості продуктів для розробки додатків Delphі займає одне із провідних місць. Delphі віддають перевагу розроблювачі з різним стажем, звичками, професійними інтересами. За допомогою Delphі написана колосальна кількість додатків, десятки фірм і тисячі програмістів-одинаків розробляють для Delphі додаткові компоненти.

В основі такої загальновизнаної популярності лежить той факт, що Delphі, як ніяка інша система програмування, задовольняє викладеним вище вимогам. Дійсно, додатки за допомогою Delphі розробляються швидко, причому взаємодія розроблювача з інтерактивною середою Delphі не викликає внутрішнього відторгнення, а навпаки, залишає відчуття комфорту. Delphі-додатки ефективні, якщо розроблювач дотримує певних правил (і часто — якщо не дотримує). Ці додатки надійні й при експлуатації мають передбачувану поведінку.

Пакет Delphі - продовження лінії компіляторів мови Pascal корпорації Borland. Pascal як мова дуже проста, а строгий контроль типів даних сприяє ранньому виявленню помилок і дозволяє швидко створювати надійні й ефективні програми. Корпорація Borland постійно збагачувала мову. Колись у версію 4.0 були включені засоби роздільної трансляції, пізніше, починаючи з версії 5. 5, з’явилися об'єкти, а до складу шостої версії пакета ввійшла повноцінна бібліотека класів Turbo Vіsіon, що реалізує віконну систему в текстовому режимі роботи відеоадаптера. Це був один з перших продуктів, який мав інтегровану середу розробки програм.

У класі інструментальних засобів для починаючих програмістів продуктам компанії Borland довелося конкурувати із середою Vіsual Basіc корпорації Mіcrosoft, де питання інтеграції й зручності роботи були вирішені краще. Коли на початку 70-х років Н. Вірт опублікував повідомлення про Pascal, це була компактна, з невеликою кількістю основних понять і зарезервованих слів мова програмування, націлена на навчання студентів. Мова, на якій працюватимуть майбутні користувачі Delphі, відрізняється від вихідної не тільки наявністю безлічі нових понять і конструкцій, але й ідейно: у ній замість мінімізації числа понять і використання найпростіших конструкцій (що, безумовно, добре для навчання, але не завжди виправдано в практичній роботі), перевага віддається зручності роботи професійного користувача. Як мову Turbo Pascal природно порівнювати з її найближчими конкурентами — численними варіаціями на тему мови Basіc (у першу чергу з Vіsual Basіc корпорації Mіcrosoft) і з C++. Я вважаю, що Turbo Pascal істотно перевершує Basіc за рахунок повноцінного об'єктного підходу, що включає в себе розвинені механізми інкапсуляції, спадкування й поліморфізм. Остання версія мови, застосовувана в Delphі, по своїх можливостях наближається до C++. З основних механізмів, властивих C++, відсутнє тільки множинне спадкування. (Втім, цим гарним і потужним механізмом породження нових класів користується лише невелика частина програмістів, що пишуть на С++.) Плюси застосування мови Pascal очевидні: з одного боку, на відміну від Vіsual Basіc, заснованого на інтерпретації проміжного коду, для нього є компілятор, що генерує машинний код, що дозволяє одержувати значно більше швидкі програми. З іншого боку — на відміну від C++ синтаксис мови Pascal сприяє побудові дуже швидких компіляторів.

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