РОЗДІЛ 2
МЕТОД АНАЛІЗУ ЕЛЕКТРОМАШИННОВЕНТИЛЬНИХ СИСТЕМ
НА ОСНОВІ ОБ'ЄКТНО-ОРІЄНТОВАНОГО ПІДХОДУ
2.1. Використання теорії об?єкто-орієнтованого проектування для аналізу електромашинновентильних систем
Згідно з теорією ООП складна система (модель) представляється як сукупність об?єктів, які взаємодіють між собою, при чому, кожний об?єкт розглядається як екземпляр певного класу. Класи, в свою чергу, утворюють ієрархію за принципами спадковості. В цьому випадку, дані і дії організують так, що основою моделі є об?єкти, а не алгоритми, як у випадку структурного проектування. Зауважимо, що ООП відображає топологію новітніх об?єкто-орієнтованих мов програмування високого рівня, таких як С++, Object Pascal і ін [136].
Принцип об?єктно-орієнтованого підходу характеризується чотирма основними елементами [33]:
- абстрагуванням;
- обмеженістю доступу;
- модульністю;
- ієрархією.
Абстрагування полягає у виділенні абстракцій - таких істотних характеристик об?єкту або групи об?єктів, які відрізняють їх від всіх інших видів об?єктів і, таким чином, чітко визначають особливості даних об?єктів з точки зору їх подальшого розгляду, аналізу чи моделювання. В теорії ООП абстрагування проявляється у формуванні класів, що описують типи об?єктів, операції, які можна здійснити над об?єктами і операції які можуть здійнити самі об?єкти. Зауважимо, що залежно від традицій різних мов програмування термін "операція" еквівалентний термінам "метод" чи "функція". Фактично, вони позначають одне і те ж.
Створенню абстракції певного об?єкту чи групи об?єктів передують рішення про спосіб її реалізації. Вибраний спосіб має бути схований і захищений від більшості об?єктів-користувачів, які звертають до цієї абстрації. Абстрагування і обмеженість доступу є операціями, які взаємодоповнюють одна одну: абстрагування фокусує увагу на зовнішніх особливостях об?єкту, а обмеженість доступу (іншими словами - захист інформації) не дозволяють користувачам розрізняти внутрішню будову об?єкта. Обмеженість доступу, таким чином, визначає бар?єри між різними абстраціями, або, використовуючи терміни об?єктно-орієнтованого програмування, - між різними класами.
Ієрархія, згідно з принципами об?єктно-орієнтованого підходу, - це ранжована чи впорядкована система абстракцій. Основними видами ієрархічних структур є структура класів (ієрархія за номенклатурою) і структура об?єктів (ієрархія за складом).
Важливою особливістю об?єкто-орієнтованих систем і основним видом ієрархії класів є концепція спадковості. Спадковість означає таке відношення між класами, коли один клас (нащадок) використовує структуру чи функціональну частину одного або декількох інших класів (відповідно, проста та множинна спадковості). Для організації спадкової ієрархії загальна частина структури і поведінки (операцій) зосереджена в найбільш загальному "суперкласі". "Суперкласи", в цьому випадку, відображають найбільш загальні, а їх нащадки (підкласи) - більш спеціалізовані абстракції.
Метод, в якому закладено принципи ООП, оперує з об?єктами, як певною реальністю, якій притаманний стан, поведінка і індивідуальність. Структуру і поведінку подібних об?єктів визначає спільний для них клас, а терміни "об?єкт" і "екземпляр класу" є ідентичні. Очевидно, що в нашому випадку під об?єктом будемо розуміти модель конкретного елементу електромеханічної системи.
Стан об?єкту характеризується переліком всіх можливих параметрів (іншими словами - властивостей) даного об?єкта і біжучим значенням цих властивостей. До властивостей об?єкта можна віднести притаманні йому характеристики, які роблять об?єкт унікальним (індивідуальним) і які, в процесі існування об?єкта, набувають певних значень.
Об?єкти не існують ізольовано, а піддаються впливам або самі впливають на інші об?єкти. Поведінка об?єкту характеризує те, як об?єкт впливає або піддається впливам інших об?єктів, з точки зору зміни стану цих об?єктів і передачі інформації між ними. Іншими словами поведінка об?єкту визначається його діями. В об?єктно-орієнтованих мовах програмування дії або операції, які може виконати об?єкт, або які можна виконати над об?єктом називаються методами, або функціями. Вплив на об?єкт здійснюється шляхом виклику відповідного методу (функції-елемента) цього об?єкту.
Поєднання в одному об?єкті методів, що визначають його поведінку та властивостей, що визначають його стан називають інкапсуляцією. Принцип інкапсуляції передбачає також обмеженість доступу до властивостей та методів класу чи об?єкту як екземпляру класа. Елементи класу можуть оголошуватися як публічні (необмежений доступ), приватні (доступ можливий лише функціям - елементам даного класу) та захищений (достп можливий лише функціям - елементам даного класу та похідним класам, тобто його нащадкам).
Запровадження вищезгаданих принципів теорії ООП в методи математичного моделювання дасть змогу звести процес формування моделі до конструювання необхідних об?єктів - моделей елементів системи, що моделюється, та налагодження обміну інформацією між ними. Сам процес розрахунку (функціонування моделі) полягатиме в обміну інформацією між об?єктами, з яких складається модель, і які взаємодіють між собою шляхом взаємних впливів.
Враховуючи, що кожен об?єкт є екземпляром певного класу, формування раціональної ієрархії класів на основі фундаментального принципу спадковості є важливою складовою побудови об?єкто-орієнтованого методу. В такій ієрархії самий загальний (вихідний) клас називають базовим. Базових класів може бути декілька і вони відображають найбільш загальні категорії абстракцій.
При успадкуванні поведінка вихідного класу успадковується, однак може змінюватися шляхом добавляння нових, чи перевизначення існуючих методів класу. Методи класу визначають поведінку об?єктів - екземплярів цього класу. Властивість об?єктів вести себе по різному в різних ситуаціях називається поліморфізмом [33].
Практично, поліморфізм може реалізовуватися різними шляхами. Один шл