• Nie Znaleziono Wyników

SYSTEM M O N IT O R O W A N IA H E T E R O G E N IC Z N Y C H P R O G R A M O W O O B IE K T O W Y C H Ś R O D O W ISK

N/A
N/A
Protected

Academic year: 2022

Share "SYSTEM M O N IT O R O W A N IA H E T E R O G E N IC Z N Y C H P R O G R A M O W O O B IE K T O W Y C H Ś R O D O W ISK"

Copied!
15
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE PO LITEC H N IK I ŚLĄSKIEJ Seria: INFORMATYKA z. 30

1996 Nr kol. 1315

Jakub SZYMASZEK

Aleksander LAURENTOW SKI Krzysztof ZIELIŃSKI

SY ST E M M O N I T O R O W A N I A

H E T E R O G E N IC Z N Y C H P R O G R A M O W O O B IE K T O W Y C H Ś R O D O W I S K

R O Z P R O S Z O N Y C H

.Streszczenie. A rtykuł omawia prototypowy system m onitorow ania i w izualiza­

cji aplikacji rozproszonych, zrealizowanych na podstawie modelu w spółdziałania komponentów uruchomionych w różnych środowiskach rozproszonych. System ten, zwany M ODIMOS, jest rozszerzalny, tzn. umożliwia łatw ą adaptację wielu środowisk dla swoich potrzeb. System stosuje różne m etody zarządzania infor­

macją dla ograniczenia strum ienia i złożoności danych wejściowych,

A MONITORING SYSTEM FOR SOFTWARE HETEROGENEOUSE DISTRIBUTED OBJECT-BASED ENVIRONMENTS

Summary. This paper describes a prototype tool, called M anaged O bject-based D istributed M onitoring System . MODIMOS is a project aimed a t developm ent of an adaptable platform for visualization of distributed applications, b u ilt of in ­ teroperating heterogeneous components. MODIMOS is expandable, allowing to add new m onitored environm ents. It employs various m anagem ent m echanism s to cope w ith gathered inform ation size and complexity.

Praca częściowo fin ansow ana w ram ac h gran tu K B N nr 8 S503 015 06.

(2)

UN MONITEUR POUR LES ENVIRONS HÉTÉROGÉNIQUES OBJET ORIENTÉS REPARTÍS

Résumé. C et article décrit un système prolotypique d ’observation e t visualisa­

tion des applications hétérogcniques objet orientées repartis, qui sont réalisées par un m odèle de coopération des com posants qui m archent dans les environemen!- différents. C et systèm e, appelé MODIMOS (Managed O bject-based Distribute!

M onitoring System ) facilite l’adaptation de plusieurs environem ents. Il adapte les m éthodes différentes de gestion d ’inform ation, pour lim iter le flux et la complexité de donneées.

1. W s t ę p

Nie istn ieją uniw ersalne system y inform atyczne i aplikacje rozw iązujące dowolny pro- blcm użytkownika w jego środowisku. Każdy problem najlepiej (najszybciej, najprościej) d aje się rozwiązać w ram ach określonego m odelu przetw arzania. Na przykład oblicza najlepiej dokonywać w językach i modelach imperatywnych (np. w językach FORTRAN C, C + + ) , podczas gdy m oduły decyzyjne najprościej i najbardziej elegancko zdefinio­

wać m ożna w językach deklaratywnych (np. oferowanych przez Lisp czy Prolog). Wśród środowisk program ow ania rozproszonego w sieciach komputerowych powstało w ostatnie!

latach wiele systemów reprezentujących różne modele przetwarzania. M ożna tu wymienit system y STR A ND , PVM , P4, ANSA, SR, Em erald, PCN , czy środowiska zgodne ze stan­

dardem COR BA . Nierealne je st również dążenie do uniformizacji środowisk sprzętowych!

programowych różnych organizacji czy pojedynczych użytkowników, których systemy in­

form atyczne prędzej, czy później zaczną współpracować. Stąd wniosek, że istniejące ora przyszłe system y i aplikacje użytkowników są niejako „skazane" na współpracę. Uważamy, że przyszłe zaawansowane system y inform atyczne będą się składać ze współpracujących»

sobą m odułów napisanych i uruchomionych w różnych językach i środowiskach. Prototyp?

takich system ów ju ż powstały w ram ach projektów badawczych [6, 7] i będziemy je tu da lej nazywać system am i heterogenicznymi programowo. Ich nieuniknioną właściwością J®'

d u ża złożoność, zwłaszcza n a w stępnym etapie badań nad ich konstrukcją i zastosowaniem S tąd wynika konieczność budowy odpowiednich systemów śledzenia i wizualizacji takio aplikacji. Niniejszy artykuł omawia prototypowy system tego typ u , służący do monito­

rowania i wizualizacji heterogenicznych programowo, obiektowych aplikacji i środowi rozproszonych. System ten , zwany MODIMOS (Managed Object-based D istributed Mo­

nitoring System ), je s t aktualnie realizowany w K atedrze Inform atyki AGH.

(3)

System monitorowania heterogenicznych programowo obiektowych środowisk ... 195 Większość istniejących narzędzi monitorowania i wizualizacji nie nadaje się do środowisk obiektowych [16, 12]. Inne są najczęściej ograniczone do pojedynczego środowiska progra­

mowania [13] lub w ogóle nie działają w system ach równoległych i rozproszonych [14, 11].

Poza tym nie przewidują one współpracy komponentów wew nątrz system u heterogenicz­

nego programowo, a ich architektura m a często charakter zam knięty, tzn. nie są przysto­

sowane do łatwej rozbudowy, poszerzania o nowe środowiska m onitorowane. MODIMOS spełnia te wymagania. Jego użytkownik może obserwować stru k tu rę obiektowej aplikacji rozproszonej, jej fizyczne odwzorowanie na kom putery w sieci oraz zachowanie i dynam ikę jej komponentów. Dzięki tem u system może służyć do w ykryw ania nierównego rozdziału lub przeciążenia zasobów i ułatwiać ich wyważanie i dystrybucję. MODIM OS je st syste­

mem otwartym, łatw ym do rozbudowy, tzn. środowiska spełniające określone w ym agania mogą być stosunkowo łatwo zaadaptowane do współpracy z system em . YV ten sposób MODIMOS może poszerzać zbiór różnych środowisk, których kom ponenty je st w s ta ­ nie monitorowąć, a trzeb a pam iętać, że środowisk tych je st już sporo i wciąż pow stają nowe. Otwarta koncepcja system u je st możliwa dzięki jego ustrukturalizow anej, wielowar­

stwowej architekturze. Definiuje ona podstawowe interfejsy oraz protokoły komunikacji, sprzęgające poszczególne warstwy ze sobą. Dotyczy to zarówno instrum entacji m onitoro­

wanego kodu, jak i m echanizm u przechwytywania i interpretacji zdarzeń, mechanizmów i technik współdziałania oraz stosowanych baz danych. Otw artość system u jest możliwa również dzięki zastosowaniu najnowszych technik inżynierii oprogramowania, takich jak ramy [4] (ang. frameworks) i wzorce projektowe [5] (ang. design pattem s).

Kluczem do efektywnego śledzenia i wizualizacji dużych i złożonych system ów, ja ­ kimi niewątpliwie są rozproszone środowiska programowo heterogeniczne, je s t nawigacja zorientowana na problem , umożliwiająca użytkownikowi takie zarządzanie strum ieniem informacji, by mógł ograniczyć ją do minim um niezbędnego dla rozw iązania aktualnego problemu. Stąd nacisk położony w system ie MODIMOS n a mechanizm y selekcji istotnej i filtrowania nieistotnej inform acji. Mechanizmy te są (lub będą) zaim plem entow ane na kilku poziomach system u. MODIMOS pracuje w dwu trybach: off-Iine, umożliwiającym analizę pliku ze śladem działania aplikacji, oraz on-line, kiedy system nasłuchuje zdarzeń z sieci i dzięki tem u praca monitorowanej aplikacji analizowana je st na bieżąco.

Niniejszy artykuł jest podzielony następująco: w sekcji 2 opisana je st arch itek tu ra systemu. Sekcja 3 om awia Uniwersalny Model Obliczeniowy (UM O), przyjęty dla po­

trzeb projektu. W sekcji 4 przybliżone są mechanizmy współpracy różnych komponentów t środowisk programowych. Sekcja 5 skupia się n a m etodach wizualizacji. A rtykuł kończy podsumowanie.

(4)

Rys. 1. Wielowarstwowa architektura system u MODIMOS Fig. 1. MODIMOS m ulti-layer architecture

2. A r c h ite k t u r a s y s t e m u

Jak ju ż wspominano, MODIMOS umożliwia jednoczesną i jednolitą pod względem lo­

gicznym obserwację kilku środowisk programistycznych (lub aplikacji zbudowanej z kom­

ponentów działających w tych s'rodowiskach). By to osiągnąć, zaprojektow ano wielowar­

stwową architekturę pokazaną na rysunku .

W arstwę Środowisk tworzą odpowiednio zaadaptow ane obiektowe środowiska progra­

m ow ania rozproszonego. Praktycznie każde środowisko tego typu może być zaadaptowane na potrzeby system u MODIMOS pod w arunkiem, że dostarcza podstawowe mechanizm;

komunikacji ze św iatem zewnętrznym (np. gniazdka - ang. sockels) oraz jego model obli­

czeniowy zawiera się w Uniwersalnym Modelu Obliczeniowym MODIMOS (patrz sekcji 3). W arstw a Środowisk składa się z dwóch poziomów: Poziomu Monitorowanych Aplikacji i Poziomu Lokalnych Monitorów, Poziom pierwszy tw orzą obiekty aplikacji użytkownika których kod źródłowy został zinstrum entowany przez odpowiednie preprocesory. Instm m en tacja polega głównie na dodaniu tzw. funkcji zawiadamiających. Funkcje tc zbierajt inform acje o zdarzeniach, które miały miejsce w śledzonej aplikacji i zawiadam iają o id zajściu lokalne monitory. M onitory tc to specjalne obiekty środowiska, w którym działają

(5)

System monitorowania heterogenicznych programowo obiektowych środowisk ... 197 mające dwa podstawowe zadania: filtrację strum ienia zdarzeń wg przyjętych reguł oraz przesianie wybranych zdarzeń przez W arstwę W spółdziałania do M onitora Globalnego,

Środowiska m ogą posiadać jeden lub więcej lokalnych monitorów, w zależności od swych właściwości i rozm iaru aplikacji. Ograniczanie strum ienia danych wejściowych jest możliwe dzięki zastosowaniu odpowiednich reguł filtracji n a obu poziomach W arstwy Środowisk. Zespól reguł tworzy strategię filtracji. Na Poziomie M onitorowanych Aplika­

cji użytkownik definiuje reguły za pom ocą odpowiednich przełączników preprocesorów, pozwalających np. pom inąć generację zdarzeń określonego typu lub zdarzeń dotyczących określonych obiektów. Z kolei n a Poziomie Lokalnych Monitorów możliwe je st ustawianie podobnych reguł przy urucham ianiu danego m onitora lub w trakcie pracy za pom ocą spe­

cjalnego interfejsu zarządzania. Lokalne m onitory mogą oczywiście spełniać wiele d o d a t­

kowych funkcji pomocniczych, jak kom presja danych czy translacja form atów kodowania, w zależności od potrzeb użytkownika i właściwości danego środowiska. W środowiskach usług zamkniętych (jak np. SR [2]) lokalne m onitory są skonsolidowane z zasadniczą apli­

kacją, powstają i są niszczone wraz z nią. Z kolei w środowiskach otw artych, ja k np. ANSA [1] czy CORBA [3], lokalne m onitory są publicznie dostępnymi serwerami, urucham ianym i niezależnie na żądanie użytkownika.

Kolejna warstwa architektury systemu MODIMOS to W arstwa W spółdziałania. Ma ona na celu zapewnienie uniwersalnej i ogólnej platform y współdziałania kom ponentów systemu heterogenicznego programowo, jakim jest sam MODIMOS. W arstw a ta , dzięki rozwiązaniom strukturalnym (patrz sekcja 4) i odpowiedniemu protokołowi komunika­

cyjnemu [9] umożliwia współpracę monitorów lokalnych różnych środowisk z M onitorem Globalnym (GM). GM przechw ytuje zdarzenia nadchodzące z całego system u m onitoro­

wanego, zbiera inform ację o śledzonych jednostkach i ich stanie w specjalnej bazie danych, zw. Modelem W ewnętrznym . Model ten odzwierciedla chwilową stru k tu rę i stan tej części jednostek (obiektów) aplikacji, które wg działającej aktualnie strategii nie są pom inięte (odfiltrowane). M onitor Globalny współpracuje ze znajdującym się w W arstwie P rezen­

tacji Graficznym Interfejsem Użytkownika (GUI). Interfejs ten służy do graficznej repre­

zentacji struktury i stanu monitorowanej aplikacji oraz dostarcza użytkownikowi m etod dodatkowych metod selekcji napływającej informacji.

3. U n iw e r s a ln y M o d e l O b lic z e n io w y

System monitorowania danego środowiska programowego powinien być oparty na jego modelu obliczeniowym, tzn. śledzenie i wizualizacja powinny dotyczyć jednostek tego m o­

delu. Tymczasem MODIMOS jest z założenia przeznaczony do zastosowania dla potrzeb w'*du, często znacznie różniących się, obiektowych środowisk program ow ania rozproszo­

(6)

nego. Różnice między nimi dotyczą również modeli obliczeniowych. Stąd wynikła po­

trzeb a opracow ania uniwersalnego modelu, na którym system MODIMOS mógłby być oparty. W tym celu przeanalizowano modele obliczeniowe najważniejszych dostępnych środowisk obiektowych i wyprowadzono wniosek, że ów uniwersalny, abstrakcyjny model powinien być nadzbiorem (unią) istniejących modeli. Takie podejście gw arantuje, że wszy­

stkie m ożliwe w praktyce poziomy abstrakcji będą obecne w modelu uniwersalnym. Model te n nazwano Uniwersalnym Modelem Obliczeniowym (UM O), choć należy pamiętać, ii dotyczy on jedynie obiektowych środowisk rozproszonych.

A plikacja w obiektowym środowisku programowym składa się najczęściej, n a poziomie logicznym, z pewnej grupy niezależnych, komunikujących się ze sobą obiektów. Uniwer­

salny Model Obliczeniowy definiuje jednak więcej poziomów abstrakcji, a mianowicie:

środowisko, aplikację, kontener, obiekt, interfejs, m etodę i wywołanie. Odwzorowanie tych abstrakcyjnych jednostek w konkretne pojęcia wybranej grupy środowisk pokazuje ta b e la . By dane środowisko mogło być monitorowane w system ie M ODIM OS, jego model obliczeniowy powinien zawierać się w UMO.

T abela 1.

Przykładowe odwzorowanie UMO J e d n o s t k a

a b s tr a k c y j n a

Ś ro d o w isk o

ANSA SR Orbix

aplikacja — program —

kontener kapsuła m aszyna w irtualna proces obiekt obiekt zasób, globalium obiekt interfejs interfejs specyfikacja interface

m etoda operacja operacja m etoda

wywołanie wywołanie wywołanie wywołanie

Poniżej przytoczono krótki opis poszczególuych jednostek abstrakcyjnych.

Ś ro d o w is k o . Przez środowisko jest rozumiany działający system wykonawczy (ang. nin- tim e system ), um ożliwiający uruchomienie obiektów (zasobów) definiowanych prze*

użytkownika.

A p lik a c ja . Pojęcie aplikacji nie jest tru d n e do zdefiniowania w środowiskach zamkniętych ja k np. SR. Tw orzą ją ta m wszystkie obiekty i zasoby zdefiniowane przez użytkownika w danym program ie, najczęściej wraz z dedykowaną instancją środowiska dla id wykonania. Inaczej m a się spraw a ze środowiskami otw artym i, jak np. ANSA czf

(7)

System monitorowania heterogenicznych programowo obiektowych środowisk ... 199 CORBA, gdzie działają ogólnie dostępne serwery usług, urucham iane i wykorzysty­

wane przez różnych użytkowników. Nie d a się tam zakreślić granic m iędzy apli­

kacjami w sposób arbitralny czy autom atyczny. Jedynie dany użytkownik je st w stanie zdefiniować zasoby, wchodzące w skład jego aplikacji.

K ontener. Kontenery to obszary pamięci dzielone przez obiekty w nich rezydujące. Za­

zwyczaj kontenery są im plementowane przez procesy systemu operacyjnego.

Obiekt. Definicja obiektu jest tradycyjna i powszechnie znana. Przypom nim y tylko, żc w niektórych s'rodowiskac.h (np. ANSA) obiekt może mieć więcej niż jeden interfejs.

Interfejs. Interfejs definiuje m etody i atrybuty, których obiekt dostarcza dla użytku innych obiektów.

M etoda. M etoda to operacja wchodząca w skład interfejsu obiektu. MODIMOS rozróżnia i pozwala śledzić osobno instancje m etod każdego obiektu, czyli w istocie wątki w y­

konania związane z daną operacją.

W ywołanie. Wywołanie jest abstrakcyjnym pojęciem reprezentującym stan, w którym obiekt-klient wywołuje usługę (m etodę) z interfejsu obiektu-serw era. Sum aryczna liczba wywołań pow inna być równa liczbie instancji m etod w aplikacji. Takie podejście umożliwia spójne i sym etryczne śledzenie i wizualizację komunikacji w obiektowym system ie rozproszonym.

Z każdym elementem Uniwersalnego Modelu Obliczeniowego związna je st p ara kom ­ plementarnych zdarzeń: utworzenie i zniszczenie danego elem entu. Z darzenia te są ra ­ portowane przez funkcje zaw iadam iające do lokalnych monitorów i stam tąd dalej do Mo­

nitora Globalnego. S tąd z każdą jednostką UMO związane są dwie funkcje notyfikujące.

Zbiór funkcji zaw iadam iających jest w sposób uniwersalny opisany interfejsem m onitoro­

wania w języku IDL ( Inlerfact Definition Language) [3], co um ożliwia łatwe przenoszenie do różnych języków i środowisk. Interfejs ten definiuje zarówno interfejsy m onitorujące wszystkich lokalnych m onitorów, jak i M onitora Globalnego.

Aby rozszerzyć system MODIMOS o nowe środowisko należy:

• przeanalizować jego model obliczeniowy i znaleźć jego odwzorowanie do UMO,

• dokonać translacji interfejsu monitorow ania (funkcji zaw iadam iających) na język programowania danego środowiska,

• napisać odpowiedni preprocesor instrum entujący kod źródłowy aplikacji w danym środowisku

• zaimplementować m onitor(y) lokalny(e) na podstawie interfejsu m onitorow ania

(8)

• zaim plem entow ać fragm ent podsystem u komunikacji w W arstwie Współdziałania Osobny problem w system ach heterogenicznych programowo stanowi unikalna iden­

tyfikacja obiektów. Każde środowisko posiada własny, niekom patybilny z innymi, sy­

stem identyfikacji. Tym czasem w aplikacji heterogenicznej programowo, a zwłaszcza w system ie m onitorow ania, istnieje potrzeba istnienia globalnie unikalnych identyfika­

torów. M ożna rozwiązać ten problem , wykorzystując oryginalne identyfikatory z po­

szczególnych środowisk i trakując je jako ciągi bajtów , ew. uzupełnione krótkim i przedro­

stkam i, nadającym i im globalną unikalność. Takie identyfikatory „ n a tu raln e” są jednak długie i stosowanie ich jako kluczy przeszukiwań w wielu typach baz danych powodowałoby nieefektywność operacji wyszukania i zapisu. Stąd w system ie MODIMOS zastosowano

„sztuczne” identyfikatory o stru k tu rze hierarchicznej, tworzone przez kod instrumentujący specjalnie n a potrzeby system u. Identyfikator hierarchiczny składa się z komponentów, z których każdy odpow iada pewnem u poziomowi logicznemu TJMO i zawiera liczbę in­

stancji elem entów danego poziomu w elemencie nadrzędnym . Taki typ identyfikatora, kodowany binarnie lub znakowo, znacznie uspraw nia operacje na niektórych typach bar danych, stosowanych w projekcie (patrz sekcja 5).

4. M e c h a n iz m y w s p ó łd z ia ła n ia

M onitorowane środowiska z reguły charakteryzują się odm iennym i rozwiązaniami ar­

chitektonicznym i, a kom unikacja między obiektam i aktywnym i w danym środowisku od­

bywa się zgodnie ze specyficznym dla niego protokołem. Powoduje to, żc nawiązani?

bezpośredniej komunikacji między m onitorowanymi aplikacjami a Globalnym Monitorem je st niemożliwe. Rozwiązanie tego problem u polega na wprowadzeniu do architektury sy­

stem u m onitorow ania specjalnej W arstwy W spółdziałania, której zadaniem je st zapewnie­

nie uniwersalnego mechanizm u wywołania odległych operacji pomiędzy lokalnymi monito­

ram i, aktyw nym i w poszczególnych środowiskach, a GM. Podsystem komunikacji Warstwy W spółdziałania m oże być zrealizowany jedną z dwu przedstawionych poniżej metod.

B u d o w a o d p o d s ta w m e c h a n iz m u k o m u n ik a c y jn e g o , dedykowanego dla War­

stwy W spółdziałania, opartego na jednym z prym ityw nych interfejsów komunikacyjnych, takich jak np. mechanizm gniazdek (ang. sockets).

Z a s to s o w a n ie łą c z ą c e g o śro d o w isk a ro z p ro s z o n e g o (ang. glue environment), ta­

kiego ja k O rbix [10], ANSA [1] lub ToolTalk, dostarczającego, oprócz mechanizmów komu­

nikacyjnych, szereg dodatkowych usług, takich jak: lokalizacja serwerów, kojarzenie Żądau klientów z ofertam i serwerów (ang. trading), rozsyłanie wywołali (ang. dispatc.hing), itf Koncepcję w ykorzystania środowiska łączącego przedstawiono na rys. 2.

N ajw iększą zaletą pierwszego z tych rozwiązali jest jego prostota, k tó ra pociąga U

(9)

System monitorowania heterogenicznych programowo obiektowych środowisk 201

Rys. 2. W arianty realizacji W arstwy W spółdziałania Fig. 2. V ariants of Interoperability Layer architecture

sobą dużą efektywność - transm isja danych między lokalnymi m onitoram i a Globalnym Monitorem jest bezpośrednia i możliwe jest wysłanie dużej ilości komunikatów w je d n o st­

ce czasu. Takie rozwiązanie u trudnia jednak konfigurowanie W arstwy W spółdziałania, a wszystkie potrzebne do tego mechanizmy m uszą być zaprojektow ane i wykonane od podstaw.

W drugim rozwiązaniu komunikaty przesyłane są za pom ocą mechanizm u wywołań odległych operacji, dostarczanego przez środowisko łączące. Zwalnia to program istę z ko­

nieczności pracochłonnej im plem entacji własnej infrastruktury komunikacyjnej (modułów odbierających i wysyłających, buforujących i interpretujących kom unikaty). Możliwe jest także wykorzystanie mechanizmów konfiguracji, dostępnych w środowisku łączącym.

Pozwala to na rckonfigurację Warstwy W spółdziałania podczas pracy system u. Drugie rozwiązanie zapewnia także pożądaną strukturalizację Warstwy W spółdziałania. Pew ną wadą jest natom iast mniejsza, w stosunku do prymitywnych mechanizmów kom unikacyj­

nych, efektywność przetw arzania. Jednakże opisywany system m a z założenia umożliwiać przede wszystkim selektywną obserwację monitorowanych środowisk, a więc ilość przesy­

łanej informacji jest zazwyczaj znacznie zredukowana przez użytkownika.

Łączące środowisko rozproszone musi zostać zintegrowane ze sTodowiskami m onito­

rowanymi, Najlepszym rozwiązaniem byłaby konstrukcja obiektu-bram y [S] (ang. gale- uay), który byłby aktywny jednocześnie w środowisku łączącym i w danym środowisku monitorowanym (w ariant III na rys. 2). Oznacza to, że taki obiekt mógłby wysyłać i odbierać wywołania z obu tych s'rodowisk. Niestety, wiele środowisk nie dopuszcza ta ­ kiej możliwości.

Alternatywne rozwiązanie polega na zaprojektowaniu i im plem entacji obiektu-w tyczki

(10)

(ang. plug), który je st aktywowany w środowisku łączącym i reprezentuje w nim dane środowisko monitorowane. W tyczka odbiera od lokalnych m onitorów w danym środowisku polecenia wywołań odległych operacji i dokonuje ich konwersji do form atu środowiska łączącego. Środowisko łączące umożliwia komunikację wtyczek z GM, pozwala na lokali­

zację GM i przekazuje do niego wywołania operacji.

Zostały wyróżnione dw a możliwe warianty konstrukcji wtyczek i ich komunikacji z lo­

kalnym i m onitoram i. W ybór jednego z nich zależy od cech, jakie posiada dane środowisko monitorowane.

R o z w ią z a n ie z u ż y c ie m g n ia z d e k . Komunikacja między lokalnymi monitorami a w tyczką realizowana je s t w oparciu o mechanizm gniazdek (wariant 1 n a rys. 2). Rozwiązanie to powinno być stosowane wtedy, gdy dane środowisko nie oferuje wątków ani innego me­

chanizm u pozwalającego n a im plem entację komunikacji asynchronicznej. Wówczas musi być stosowany m echanizm zdarzeniowy oparty n a sygnałach. Przykładem środowisk wy­

m agających stosowania powyższej m etody są S trand i PCN.

R o z w ią z a n ie z o b ie k te m - r e p r e z e n ta n te m (ang. proxy). W komunikacji między lo­

kalnymi m onitoram i a wtyczką pośredniczy specjalny obiekt aktywny w danym środowisku m onitorow anym , reprezentujący w nim GM (w ariant II n a rys. 2). M onitory lokalne ko­

m unikują się z reprezentantem za pomocą mechanizmu wywołania właściwego dla danego środowiska, natom iast komunikacja reprezentanta z wtyczką odbywa się za pomocą me­

chanizm u gniazdek.

W arstwa W spółdziałania system u MODIMOS została zrealizowana przy wykorzysta­

niu środowiska łączącego, którego rolę pełni system Orbix. Dotychczas do warstwy w spółdziałania dołączono dwa środowiska monitorowane: ANSA i SR. W celu ich integra­

cji ze środowiskiem łączącym zastosowano mechanizm wtyczek i reprezentantów (wariant II n a rys. 2).

5. G lo b a ln y M o n ito r i W a r stw a P r e z e n t a c j i

W arstw a prezentacji system u monitorowania realizuje dwie niezależne funkcje: do­

starcza interfejs pozwalający na zarządzanie system em oraz jest odpow iedzialna za Wi­

zualizację zdarzeń zachodzących w monitorowanych środowiskach. Aplikacje działają®

w poszczególnych środowiskach składają sie z elementów tworzących stru k tu rę hierar chiczną, k tó rą m ożna opisać zarówno modelem obliczeniowym danego środowiska, j?-‘;

i U niwersalnym M odelem Obliczeniowym wspólnym dla wszystkich środowisk. Informa­

cje o aktualnym stanie monitorowanych elementów oraz o wiążących je zależnościach są grom adzone w Globalnym M onitorze i zapisywane w bazie danych, zwanej Model®

W ew nętrznym (M W ). Każdy monitorowany element je st reprezentowany przez pewi®

(11)

System monitorowania heterogenicznych programowo obiektowych środowisk 203 obiekt Modelu W ewnętrznego. W dowolnym momencie pracy system u logiczna stru k ­ tura powiązań obiektów M odelu Wewnętrznego odpowiada stru k tu rze m onitorowanych elementów.

Dla implementacji MW kluczowe znaczenie m a wybór odpowiedniej stru k tu ry danych zapewniającej dużą efektywność operacji wyszukiwania, w stawiania i usuwania obiektów reprezentujących monitorow ane elementy. Jednoczes'nie należy zauważyć, że wybór stru k ­ tury danych zależy silnie od założeń, jakie zostały narzucone n a identyfikatory m onito­

rowanych elementów. Na przykład, jeśli stosowane są identyfikatory hierarchiczne, to powinna zostać w ybrana stru k tu ra danych w ykorzystująca ten fakt w celu zwiększenia efektywności wymienionych wyżej operacji.

Z tego powodu, a także w celu umożliwienia łatwego testow ania różnych stru k tu r d a ­ nych, GM został skonstruowany w sposób pozwalający na łatwą w ym ianę struktury' d a­

nych wykorzystywanej w MW. Wykonano szereg imlementacji MW opartych na różnych strukturach, takich jak tablice rozproszone, R-drzewa oraz stru k tu ry drzewiasto-listowe.

Wykorzystano przy tym gotowe komponenty dostępne w bibliotekach obiektowych, takich jak Tools.h-f+ i Booch Com ponents oraz struktury zaimplementowane własnoręcznie.

Obecnie przeprowadzane są pom iary efektywności przetw arzania zrealizowanych im ple­

mentacji, mające na celu wybór najlepszej struktury danych dla poszczególnych rodzajów identyfikatorów.

Informacje gromadzone w MW są na bieżąco przetw arzane i wyświetlane przez interfejs graficzny. Powstawanie nowych obiektów w MW, niszczenie oraz zm iany stanu obiektów już istniejących, powodowane przez odpowiednie zmiany w monitorowanych aplikacjach, są wizualizowane przez interfejs graficzny. Ponieważ monitorowane elem enty (oraz obiekty MW) tworzą stru k tu rę hierarchiczną (drzewiastą), zadaniem o kluczowym znaczeniu je st opracowanie efektywnej m etody wizualizacji drzew. Ponadto, ze względu na stosunkowo dużą liczbę obiektów gromadzonych w MW, konieczne je st dostarczenie użytkownikowi wygodnych i efektywnych mechanizmów wyboru interesujących go fragmentów stru k tu ry monitorowanych elementów.

Wizualizowane elem enty są reprezentowane na ekranie w postaci figur geom etrycz­

nych. Atrybuty każdej figury (kształt, kolor) zależą od rodzaju wizualizowanego ele­

mentu (tj. jego poziomu w UMO). W ykonanie określonej akcji n a figurze powoduje wyświetlenie sczególowych informacji o elemencie (np. o jego fizycznym położeniu). W i­

zualizacja hierarchicznej stru k tu ry elementów może być zrealizowana przy użyciu gra­

fiki trójwymiarowej (np. drzew stożkowych [15]) albo w przestrzeni dwuwymiarowej.

W pierwszej wersji system u zastosowano reprezentację dwuwymiarową. W yróżniono przy fyin dwa rodzaje tej reprezentacji: drzew iastą (rys. 3 a) i skrzynkową (rys. 3 b), różniące sl? między sobą sposobem oznaczania powiązań między węzłami. W reprezentacji drzewia­

stej, która jest stosowana w obecnej wersji system u, relacja ojciec-syn jest reprezentow ana

(12)

przez linie, łączące odpowiednie figury. W reprezentacji skrzynkowej figury reprezentujące węzły dzieci są um ieszczane wewnątrz figur reprezentujących węzły ojców.

Rys. 3. Dwie m etody dwuwymiarowej reprezentacji stru k tu r hierarchicznych:

a) drzew iasta i b) skrzynkowa

Fig. 3. Two m ethods of tree’s presentation: a) tree-like and b) box-like

Pom im o stosowania mechanizmów filtracji w niższych warstwach system u MODIMOi liczba elementów reprezentowanych w M W może być n a tyle duża, że ich efektywna wizu­

alizacja będzie niepożądana lub nawet niemożliwa. Dlatego warstwa prezentacji dostarcz»

m achanizm y selekcji, pozwalające na redukcję rozmiarów drzewa wyświetlanego na ekra nie. Dwie podstawowe m etody selekcji to selekcja pozioma i pionowa. Selekcja poziomi (rys. 4) polega na eliminacji w ybranych poziomów aktualnie wys'wietlanego drzewa (tj usunięcie z ekranu figur reprezentujących elementy określonego poziomu UMO, np. in­

terfejsów albo kontenerów). Selekcja pionowa (rys. 5) umożliwia natom iast usunięcie wy­

branych poddrzew aktualnie wyświetlanego drzewa. Pozwala więc na usunięcie z ekranu inform acji o nieintercsujących dla obserwatora elementach i ich zawartości (np. figury re­

prezentującej nieintcresujący użytkownika kontener wraz ze wszystkimi jego obiektami) Oprócz mechanizmów wyboru elementów warstwa prezentacji pozwala na maskowa­

nie wizualiowanych zdarzeń. Możliwe opcje o praktycznym znaczeniu to np.: ig n o ro w a n ie

wszystkich zdarzeń (tj. zam rożenie obrazu aktualnie wyświetlanego w oknie), ignoro­

wanie zdarzeń dotyczących tworzenia nowych elementów (tj. ograniczenie obserwacji®

elementów aktualnie wizualizowanych).

O pisane mechanizmy selekcji i filtracji mogą okazać się niewystarczające w sytua- cji, gdy użytkownik chce obserwować jednocześnie różne części monitorowanej struktur) elem entów . Dlatego interfejs graficzny pozwala na jednoczesną obserwacje dowolnyć fragmentów stru k tu ry MW w różnych oknach. W każdym z nich może być wyświetla®

dowolne poddrzewo (lub jego fragm ent) hierarchii reprezentowanej w MW. Dany elenie»1

(13)

System monitorowania heterogenicznych programowo obiektowych środowisk ... 205

e le m e n ty w iz u a liz o w a n e

Rys. 4. Selekcja pozioma Fig. 4. Horizontal selection

Rys. 5. Selekcja pionowa Fig. 5. Vertical selection

może być jednocześnie reprezentowany w wielu różnych oknach. Zm iana korzenia ak tu al­

nie wyświetlanego podrzew a polega n a wyborze jednej z figur widocznych w danym oknie, która staje się nowym korzeniem.

6. Podsum ow anie

W artykule przybliżono projekt MODIMOS - prototypow y system m onitorow ania i wizualizacji heterogenicznych programowo, obiektowych aplikacji rozproszonych. Z re­

alizowano już zasadniczy zrąb projektu: W arstwę Środowisk, W spółdziałania i M onitor Globalny wraz z kilkom a wersjami Modelu Wewnętrznego. Obecnie trw ają prace nad im ­ plementacją interfejsu graficznego na podstaw ie obiektowej biblioteki Fresco i środowiska graficznego X-Window. W rozwiązaniu tym każdy elem ent Modelu W ewnętrznego będzie mógł być reprezentowany przez wiele obiektów przedstaw iających figury lub okna. W po­

czątkowej wersji system u GM oraz interfejs graficzny będą zintegrowane w jednym pro ­

(14)

cesie. W przyszłości natom iast zostanie wykorzystane jedno z rozproszonych środowisk w celu oddzielenia tych modułów. Wówczas obiekty graficzne będą jednocześnie obiektami środowiska rozproszonego. Pozwoli to n a tworzenie wielu instancji interfejsu graficznego fizycznie oddalonych od M onitora Globalnego i da możliwość jednoczesnej obserwacji zm ian w monitorowanej aplikacji przez wielu użytkowników.

LITERATURA

[1] ANSAware 4.0 - Application Program m er’s Manual, APM Ltd. Cam bridge, 1992.

[2] Andrews G.R., a t el.: An overview of the SR language and im plem entation, ACM Trans, on Progr. Languages and System s, 10( 1 ):51—86, January 1988.

[3] Draft Com mon O bject Request Broker A rchitecture Revision 1.1, OMG Report 91- 12-1, OMG Inc., 1991.

[4] C am pbell R., Islam N.: A Technique for D ocum enting the Fram ew ork of an Object- O riented System , Proc. ]W O O S ’92, IEEE Com puter Society Press, Los Alamitos, CA, Septem ber 1992.

[5] G am m a E., Helm R ., Johnson R., Vlissides J.: Design Patterns: Elements o f Object- O riented Software Architecture, Addison-Wesley, 1994.

[6] N ierstrasz 0 . , Gibbs S., and Tsichritzis D.: Com ponent-O riented Software Develop­

m ent, Comm, o f the ACM , 35(9): 160—165, Septem ber 1992.

[7] Udell J ., Com poncnlw are, Byte vol. 19 no.5, pp. 46-56, May 1994.

[8] Uszok A., Czajkowski G., Zieliński K.: Interoperability Gateway Construction for O bject-O riented D istributed System s, Proc. o f the 6th Nordic Workshop on Pro­

gramming Environm ent Research, Lund, Sweden, T R of th e Lund University, June 1994.

[9] Czajkowski G., Uszok A., Zielinski K.: D istributed Declarative System s as Parts of Cooperating Software Environm ents, Proc. o f the IC L P ’9Ą Post-Conference Wor­

kshop on Integration o f Declarative Paradigms, S anta M argerita, Italy, Ju n e 1994.

[10] T he O rbix A rchitecture, IONA Technologies Ltd., 1993.

[11] Jerding D .F. and Stasko J.T .: Using Visualization to Foster O bject-O riented Pro­

gram U nderstanding, Georgia In stitu te of Technology, T R GIT-GVU-94-33.

[12] Reed D.A., A ydt R.A., Noe R .J., Roth P.C., Shields K.A., Schwartz B., Tavera Ł.F.:

Scalable Perform ance Analysis: T he Pablo Performance Analysis Environment, k Proc. o f the Scalable Parallel Libraries Conference, IEEE C om puter Society Press, 1993.

(15)

System monitorowania heterogenicznych programowo obiektowych środowisk 207 [13] Jamrozik H., Roisin C., Santana M.: A Graphical Debugger for O bject-O riented

Distributed Program s, Proc. T O O L S ’91, pp. 117-128, July 1991.

[14] Pauw W.De, Helm R., K imelman D. Vlissides J.: Visualizing the Behavior of O bject- Oriented System s, Proc. OOPSLA ’93, ACM Press pp. 32G-337, SIGPLA N, W ashing­

ton D.C, O ctober 1993.

[15] Vion-Dury J.Y ., Santana M.: V irtual Images: Interactive Visualization of D istribu­

ted O bject-O riented System s, Proc. O O P S L A ’94, P ortland USA, O ctober 1994.

[16] Miller B.P., Clark M., Hollingsworth J., K ierstead S., Lim S., Torzewski T.: IPS-2:

The Second Generation of a Parallel Program M easurem ent System , IE E E Transac­

tions on Parallel and Distributed System s 1, 2 (April 1990), pp. 206-217.

Recenzent: Dr hab. inż. Tadeusz Czachórski

Wpłynęło do Redakcji 2 1 grudnia 1995.

Abstract

The next decade will bring radical changes to the way we perform inform ation pro­

cessing, as applications composed of m any cooperating distributed subsystem s, exploiting different com putational paradigm s, become more common. This situation increases sub­

stantially dem ands in th e area of. system m anagem ent, correctness analysis, u nderstan­

ding, debugging and perform ance evaluation. Managed O bject-based D istributed M oni­

toring System (MODIM OS) is a project aimed a t development of an ad ap tab le platform for visualization of distributed applications, built of interoperating heterogeneous com po­

nents. In other words, th e system serves for monitoring and visualization of applications built of many cooperating com ponents, w ritten in different com puting environm ents. M O­

DIMOS is expandable, allowing to add new monitored environm ents. It em ploys various management mechanisms to cope w ith gathered inform ation size and complexity. T h e expandability of MODIM OS architecture has been proved by successful integration of ANSA, SR and Orbix w ithin the Interoperability Layer [8]. This provided th e m ajor feedback for the applied technical solutions and proved correctness of this layer’s con­

cept. This paper describes also th e m ulti-layer architecture of th e system (Fig. 1) and th e Possible visualization schemes (Fig. 3).

Cytaty

Powiązane dokumenty

W opisie możliwości pływackich ryb stosuje się kilka wskaźników, ale najczęściej stosowane są dwie szybkości: U burst która oznacza szybkość zmęczeniową o czasie 20 sekund

warszawski zachodni, legionowski, pruszkowski, nowodworski, grodziski, miński, wołomiński, piaseczyński i otwocki) nie będą objęte możliwością skorzystania z regionalnej

Jeżeli zaś chodzi o czas, w którym one wykonane być winny 1 A od czego z zdrowy rozsadek zasilany naukeĄ W sz e lk ie zaś inne drobne zatru­.. dnienia

Etap ten jest dosyć skomplikowany, ponieważ wymaga bardzo szczegółowej analizy konkretnego procesu spedycyjnego pod względem ryzyka związanego z innymi zdarzeniami;.. - pom

2) projekty realizowane z udziałem środków unijnych w ramach Programu Operacyjnego Polska Cyfrowa (POPC), w tym POPC.001 - projekt „Utworzenie Krajowego

W kolejnej części artykułu zosta- ną opisane najciekawsze i najskuteczniejsze, wg autora, systemy antydronowe ze szczególnym uwzględnieniem systemu wybranego przez Port Gdynia,

Celem projektu jest zwiększenie dostępu do usług wsparcia rodziny i pieczy zastępczej, poprzez zbudowanie jednego zintegrowanego systemu pomocy dla rodzin w

Zachęcam Was również do zapoznania się z poradami dr Lisy Damour, która ukazuje, w jaki sposób, każdy z nas, może zadbać o swoje dobre samopoczucie w tym trudnym czasie....