Podejście obiektowe w budowie dowodu

Transkrypt

Podejście obiektowe w budowie dowodu
Wersja postprint artykułu zaprezentowanego na I Krajowej Konferencji Technologie Informacyjne 2003 i opublikowanego w Zeszytach Naukowych Wydz. ETI Politechniki
Gdańskiej: Technologie Informacyjne nr 2, s. 369-378.
J. GÓRSKI, A. JARZĘBOWICZ, R. LESZCZYNA,
J. MILER, M. OLSZEWSKI
Katedra Zastosowań Informatyki
Wydział Elektroniki, Telekomunikacji i Informatyki
Politechnika Gdańska
PODEJŚCIE OBIEKTOWE W BUDOWIE DOWODU
ZAUFANIA DO SYSTEMÓW INFORMATYCZNYCH
Niniejszy artykuł prezentuje obiektowe podejście w budowie dowodów zaufania dla
systemów informatycznych. Przedstawiono strukturę koncepcyjną takiego dowodu,
omówiono sposób konstrukcji drzewa dowodowego wykorzystujący analizę modeli
obiektowych badanego systemu. W artykule zaproponowano sposób tworzenia obiektowych modeli kontekstu dla rozpatrywanych żądań oraz podkreślono wagę precyzyjnego wyrażenia tego kontekstu. Ponadto omówiono zastosowanie metodologii obiektowej do opisu elementów drzewa dowodu zaufania. Na zakończenie podsumowano
praktyczne zastosowanie proponowanej metody w projekcie IST-DRIVE 5. Programu
Ramowego Unii Europejskiej.
1. WPROWADZENIE
Współczesne systemy komputerowe wspomagają człowieka w różnych obszarach jego
działalności. W skrajnych przypadkach, wady oprogramowania wykorzystanego w takich
systemach mogą doprowadzić do niepożądanych, czasem wręcz katastrofalnych skutków.
Stąd w wielu obszarach zastosowań informatyki kluczowe znaczenie ma zapewnienie wiarygodności systemu – zagwarantowanie, że projektowany system nie doprowadzi (często
pośrednio, poprzez długi łańcuch zdarzeń) do wypadku. Jedną z metod tworzenia takiej
gwarancji jest tzw. Dowód Zaufania (ang. Trust Case), którego zadaniem jest dostarczenie
kompletnego i przekonującego argumentu uzasadniającego zaufanie do danego systemu
informatycznego. Metodyka budowania oraz reprezentacji takich dowodów nie została
jeszcze dobrze opracowana i stanowi wciąż obszar aktywnych badań [2, 10, 11, 12]. Obiecującym rozwiązaniem jest wykorzystanie podejścia obiektowego.
Metodyka obiektowa pozwala tworzyć modele rzeczywistości posługując sie zestawem dobrze określonych pojęć. Dzięki ścisłej definicji używanych do tego konstrukcji
językowych (jak powiązania, klasy, obiekty itp.) możliwość niejednoznacznej interpretacji
modeli sprowadzona została do znacząco niskiego poziomu, zachowując przy tym ich dużą
przejrzystość i czytelność. W ostatnich latach metodyka obiektowa i zwiazany z nią jezyk
UML znacznie się upowszechniły, co powoduje, że znaczenie pojęć oraz zasad budowy
modeli UML staje się coraz bardziej zrozumiałe dla osób bezpośrednio zaangażowanych w
2
J. Górski, A. Jarzębowicz, R. Leszczyna, J. Miler, M. Olszewski
projektowanie oraz użytkowanie systemów będących przedmiotem modelowania. Dzięki
temu mozna również oczekiwać, że dowody zaufania wykorzystujące język UML będą
czytelne dla szerokiego grona osób zainteresowanych.
W artykule zaprezentowano strukturę koncepcyjną dowodu zaufania budowanego na
bazie metodyki obiektowej, obejmującą powiązane ściśle zdefiniowanymi relacjami żądania, argumenty, fakty oraz założenia. Następnie przedstawiono sposób konstrukcji drzewa
dowodowego wykorzystujący analizę modeli obiektowych badanego systemu. Zaproponowano nową metodę tworzenia obiektowych modeli kontekstu dla rozpatrywanych żądań
oraz podkreślono wagę precyzyjnego wyrażenia tego kontekstu. Dla uzyskania jednoznaczności i precyzji wprowadzono nowy, półformalny język służący formułowaniu żądań i
własności kontekstu nazwany CDL (Claim Definition Language), który częściowo wywodzi się z UML. Ponadto omówiono zastosowanie metodyki obiektowej do opisu elementów
drzewa dowodu zaufania. Artykuł kończy się opisem zastosowania proponowanej metody
w praktyce.
2. STRUKTURA DOWODU ZAUFANIA
Tworzenie dowodu zaufania polega na precyzyjnym określeniu oczekiwań dotyczących wiarygodności analizowanego systemu oraz dostarczeniu materiału dowodowego
potwierdzającego ich spełnienie. Oczekiwania formułowane są w postaci tzw. żądań (ang.
claims). Stopień spełnienia żądań świadczy o wiarygodności systemu. Model UML opisujący elementy dowodu zaufania oraz relacje między nimi pokazany jest na Rys. 1 (strzałki
wskazują kierunek związków). Model bazuje na koncepcjach projektu UE SHIP [1].
Żądanie
< wspiera
używa >
Argument
Reguła wnioskowania
przywołuje >
Mat. dowodowy
Założenie
Fakt
udokumentowane w >
Mat. źródłowy
Rys. 1. Model pojęciowy dowodu zaufania
Materiał dowodowy zawiera następujące elementy:
 Fakty, np. w postaci udokumentowanych decyzji projektowych czy wyników dodatkowych analiz,
 Założenia, używane w toku argumentacji i niewymagające jawnego dowodzenia
(jakkolwiek, później mogą zostać przekształcone w żądania i poparte dalszą argumentacją)
 Pod-żądania, rozwijane w dalszej części argumentacji poprzez udostępnianie argumentów je wspierających
Podejście obiektowe w budowie dowodu zaufania...
3
Fakty i założenia połączone są z odwołaniami do dokumentów, raportów, danych,
modeli, itp., umieszczanymi w dowodzie zaufania.
Elementami łączącymi żądania z odnoszącym się do nich materiałem dowodowym są
argumenty. Argumenty pozwalają określić sposób dowodzenia realizacji postulatów sformułowanych w żądaniach m.in. poprzez zdefiniowanie reguł wnioskowania [2].
Jak pokazano na rys 2. dowód zaufania przybiera strukturę drzewiastą (lub tworzy las
- w przypadku sformułowania wielu celów związanych z zaufaniem do systemu) o nieustalonej wysokości i kończy się w momencie, gdy wszystkie liście reprezentują fakty bądź
założenia. W przypadku, gdy w kilku miejscach dowodu pojawia się potrzeba odniesienia
do tej samej argumentacji tworzone są odwołania pozwalające uniknąć niepotrzebnej nadmiarowości treści.
cel zaufania
arg.
żądanie
zał.
żądanie
arg.
źród.
arg.
żądanie
fakt
zał.
żądanie
arg.
źród.
źród.
arg.
zał.
fakt
fakt
zał.
źród.
źród.
źród.
źród.
Rys. 2. Struktura prostego dowodu zaufania
3. KONSTRUOWANIE DOWODÓW ZAUFANIA
Konstruowanie dowodu zaufania rozpoczyna się jest od sformułowania ogólnego żądania do systemu - tzw. żądania docelowego. Dalej, tak postawione żądanie docelowe,
dekomponowane jest na bardziej szczegółowe żądania odpowiadające tzw. celom zaufania
(bezpieczeństwo, prywatność, dostępność itp.). Następnie, w toku dalszych analiz określane
są żądania w stosunku do odpowiednich, coraz bardziej szczegółowych, elementów systemu oraz pozyskiwany jest materiał dowodowy potwierdzajacy zasadność tych żądań.
Rozwiązania informatyczne będące przedmiotem analiz w dowodach zaufania są coraz
częściej budowane zgodnie z podejściem obiektowym i wyrażone w postaci modeli obiektowych (np. w języku UML) oraz kodu źródłowego oprogramowania. Dzięki temu, prezentowane podejście konstruowania argumentacji techniką z góry na dół staje się bardziej
wygodne, ze względu na hierarchiczny układ modeli obiektowych, w którym kolejne stanowią uściślenie poprzednich (rys. 3). Dowód zaufania uzyskuje w ten sposób bardziej
przejrzystą strukturę i odzwierciedla poziomy abstrakcji rozpatrywanych modeli obiektowych. Jako źródło faktów służą kolejno model biznesowy, model analityczny, model projektowy, model implementacyjny i wreszcie kod źródłowy uzupełniony o raporty z jego
4
J. Górski, A. Jarzębowicz, R. Leszczyna, J. Miler, M. Olszewski
testowania. Fakty pozyskane na podstawie modeli obiektowych są ponadto bardziej wiarygodne, gdyż cechuje je większa precyzja i jednoznaczność niż w wypadku gdy dokumentacja projektowa jest w mniejszym stopniu sformalizowana.
Model biznesowy
Model analityczny
Model projektowy
Model implementacyjny
Kod źródłowy
Rys. 3. Analiza hierarchicznych modeli obiektowych podczas budowy dowodu zaufania
Każde żądanie formułowane względem elementu systemu wyraża postulowane własności tego elementu jak również jego relacje z innymi elementami. Zbiór tych elementów
systemu (wraz z relacjami między nimi), na które powołuje się żądanie stanowi kontekst
tego żądania. Kontekst żądania definiowany jest przez przytoczone dla żądania fakty i
założenia, a eksplorowany jest poprzez formułowanie kolejnych pod-żądań.
Fakty są najczęściej formułowane w języku naturalnym. Możliwe jednak jest użycie
różnych języków modelowania wizualnego, a nawet języków formalnych. W każdym przypadku istotne jest jawne i precyzyjne określanie kontekstów żądań, ponieważ pozwala to
sterować budową dowodu zaufania oraz kontrolować zakres poszczególnych argumentów.
Nawet, kiedy fakty przywołują modele obiektowe i kontekst jest już częściowo wyrażony
obiektowo (a zatem jednoznacznie), nadal może on zawierać wieloznaczne pojęcia w języku naturalnym.
Autorzy proponują wykorzystanie podejścia obiektowego do jawnej reprezentacji kontekstów żądań poprzez budowę obiektowych modeli kontekstu. Przyjmując za bazę pojęciową byty zdefiniowane przez kontekst obiektowy, możliwe jest ponadto bardziej ścisłe
wypowiedzenie samych żądań wobec tego kontekstu. Uniwersalizm podejścia obiektowego
pozwala na objęcie nim nawet samej struktury dowodu zaufania. Proponowane metodyka
zostanie omówiona w kolejnych rozdziałach.
4. JĘZYK DEFINIOWANIA ŻĄDAŃ
Tworząc dowód zaufania, konieczne jest użycie określonego języka. Najczęściej jest
nim język naturalny (np. polski). Posłużenie się językiem naturalnym może jednak prowadzić do niepoprawnych interpretacji dowodu, wynikających z braku precyzji i jednoznaczności konstrukcji językowych. Innym problemem jest trudność kontrolowania zakresu oraz
możliwość mieszania poziomów abstrakcji, co negatywnie wpływa na rzetelność argumentacji.
Podejście obiektowe w budowie dowodu zaufania...
5
Rozwiązaniem problemu może być użycie języka formalnego (np. CSP, Z), jednak
wiąże się to ze skomplikowaniem wywodu oraz znacznym przyrostem jego objętości. Rozsądnym kompromisem byłoby znalezienie metodyki umiejscowionej mniej więcej po środku, między językami formalnymi i językiem naturalnym. Interesującym rozwiązaniem jest
wykorzystanie podejścia obiektowego, w szczególności jezyka UML [3].
UML pozwala tworzyć modele rzeczywistości według określonych zasad modelowania obiektowego. Dzięki ścisłej definicji używanych do tego konstrukcji językowych (jak
relacje, klasy, obiekty itp.) możliwość niejednoznacznej interpretacji modeli sprowadzona
została do znacznie niższego poziomu w porównaniu z językiem naturalnym. Jednocześnie
nadal udało się zachować czytelność i przejrzystość modeli.
Mimo tego iż pojęcia UML należą do pojęć ścisłych, ich znaczenie, dzięki dużemu
upowszechnieniu metodyki, jest intuicyjne i zrozumiałe dla osób bezpośrednio zaangażowanych w projektowanie oraz użytkowanie systemów będących przedmiotem modelowania.
Dlatego, w celu uściślenia treści kluczowych elementów dowodu zaufania, jakimi są
żądania, w opisywanym rozwiązaniu wykorzystano konstrukcje metodyki obiektowej. Aby
zaadaptować je do dziedziny zaufania wprowadzono tzw. Język Definiowania Żądań (ang.
Claim Definition Language – CDL). CDL jest językiem graficznym, wzbogacającym język
pisany o system znaków graficznych i diagramów, oraz o metodę ich stosowania. Wykorzystano pojęcia pierwotne języka UML takie jak obiekt, stan, związek, etc., które posłużyły do wywiedzenia dalszych pojęć języka CDL. Bezpośrednio użyto symbole i znaki graficzne UML. Struktura CDL przedstawiona jest na rys. 4.
CDL – język graficzny
Język pisany
naturalny
Modele żądań
formalny
Modele kontekstu
statyczne
dynamiczne
Rys. 4. Struktura języka CDL
Na język CDL składają się:
 System graficzny służący do tworzenia modeli kontekstu żądań (ang. context models). Modele kontekstu ukazują wszystkie (fizyczne i logiczne) obiekty, do których odwołuje się żądanie oraz relacje między nimi. Aby zmniejszyć możliwość
pojawienia się niejednoznaczności wykonano również pracę w kierunku formalizacji znaczenia tychże relacji.
 Formalny język pisany pozwalający precyzyjnie definiować żądania, stanowiący
uzupełnienie języka naturalnego, w którym formułowane są wszystkie żądania,
argumenty, fakty i założenia dowodu zaufania.
 System graficzny służący do reprezentacji żądań, argumentów, faktów i założeń
wraz z regułą etykietowania pozwalającą jednoznacznie identyfikować elementy
dowodu. Każde żądanie powiązane jest z modelem żądania (ang. claim model)
przedstawiającym dane żądanie wraz z towarzyszącym mu argumentem oraz pełnym materiałem dowodowym będącym z nim w bezpośrednim związku.
6
J. Górski, A. Jarzębowicz, R. Leszczyna, J. Miler, M. Olszewski
5. OBIEKTOWE MODELOWANIE KONTEKSTU
Modele kontekstu służą do uściślania opisu żądań poprzez prezentację jedynie tych
obiektów systemu, do których żądanie bezpośrednio się odwołuje.
Dzięki przeprowadzonym w ostatnich latach próbom rozszerzenia UML o procesy
biznesowe (np. [4]) możliwe stało się pokrycie zarówno warstwy architektonicznej i jak
biznesowej. Pozwala to modelować kontekst nie tylko systemu i jego środowiska docelowego (statyczne modele kontekstu) - ale również – procesów (dynamiczne modele kontekstu). Dotyczy to szczególnie tych procesów, na których opiera się zaufanie do systemu (np.
proces implementacji, pielęgnacji, instalacji itd.). W ten sposób działanie analityczne związane z budowaniem dowodu zaufania udało się umieścić w uniwersalnej i silnie ukonstytuowanej platformie modelowania.
Dodatkowo, oprócz standardowych pojęć oferowanych przez UML, wprowadzono
zbiór stereotypów klas, służących do reprezentacji typowych obiektów występujących w
modelach kontekstu. Okazują się one szczególnie przydatne podczas pracy z żądaniami
wysokiego poziomu (bezpośrednie formuły oczekiwań wobec systemu, definiowanie celów
zaufania), dla których najczęściej nie istnieją modele opracowane przez projektantów systemu. Stereotypy zdefiniowane dla potrzeb projektu DRIVE [5] przedstawiono na rys. 5.
<<problem solution>>
<<process>>
<<goal>>
<<person>>
<<process>>
«goal»
goal
«person»
HP
<<physical>>
<<information>>
<<device>>
<<program>>
«physical»
dr
«information»
inf
«device»
dev
«program»
prog
«problem solution»
PR
Rys. 5. Stereotypy używane w modelach kontekstowych
Przykład statycznego modelu kontekstowego [6] pokazano na rys. 6.
represents
«information»
Patient Record
1:1
includes
«information»
Therapy Sheet
includes
has a -->
«person»
Patient
<-- includes
«information»
Patient ID
includes
includes
«information»
Preparation Data
«information»
Prescription Data
«information»
Validation Data
includes
identifies
«information»
Therapy Administration Order
represents
«physical»
Therapy
identifies
identifies
includes
«physical»
Drug
1:1
«physical»
Wristband Label
«physical»
Drug Label
Rys. 6. Przykład statycznego modelu kontekstowego
Podejście obiektowe w budowie dowodu zaufania...
7
Powyższy model kontekstu pochodzi z dowodu zaufania skonstruowanego dla [5] i pokazuje relacje między pacjentami, lekami, fizycznymi identyfikatorami oraz powiązanymi z
nimi bytami logicznymi (informacyjnymi). Zaprezentowane są klasy obiektów oraz związki
między nimi, co dostarcza kontekstu pojęciowego użytego w przy wyrażaniu żądania [6]:
CL_0.1.1.6
Drug Labels of the Drugs applied to Patient are consistent with the Prescription Data in
the corresponding Patient Record identified by the Patient’s Wristband Label.
Należy zauważyć, że powyższe żądanie odnosi się wyłacznie do obiektów klas przedstawionych w modelu kontekstu. Słowa wytłuszczone wskazują relacje między obiektami.
Jakkolwiek obiekty przytoczone w żądaniu są precyzyjnie wyspecyfikowane, relacje w
dalszym ciągu mogą być powodem nieścisłości. Rozwiązanie problemu polega na sformalizowaniu języka pisanego.
6. FORMALIZACJA JĘZYKA PISANEGO
Treść żądań, argumentów, założeń i faktów występujących w dowodzie zaufania formułowana jest w języku naturalnym. Dzięki odwoływaniu się wyłącznie do obiektów klas
przedstawionych w powiązanym modelu kontekstowym, możliwe stało się jej uściślenie,
jednakże użycie konstrukcji języka naturalnego może nadal prowadzić do błędnych interpretacji. Dlatego celowe okazało się wykonanie pracy dążącej do formalizacji języka pisanego używanego przy definiowaniu żądań.
Przykład formalizacji żądania CL_0.1.1.6 dla [6] pokazany jest poniżej:
If
d:Drug<physical> is applied to p:Patient<person>
then exist dl:Drug Label<physical&information>, tao:Therapy Administration
Order<information>, pd:Prescription Data<information>, ts:Therapy
Sheet<information>, pr:Patient Record<information>, pwl:Patient Wristband
Label<physical&information>, pr:Patient Record<information> such that
d(1:1)dl and pwl(1:1)p and tao(includes)pd(includes)ts(includes)pr and
pr(represents)p and tao(identifies)dl and pwl(uniquely identifies)pr
Taka postać żądania wprowadza ograniczenia dla każdego zbioru obiektów będących
instancjami klas na modelu kontekstu i bezpośrednio do niego się odwołuje. Wyspecyfikowane są stereotypy (kursywą, w nawiasach ostrych) oraz terminy (w treści powyżej – podkreślonych), które są przejrzyście zdefiniowane w Słowniku CDL (ang. CDL Dictionary).
Znaczący wkład w budowę Słownika CDL wniosły definicje i pojęcia podstawowe UML.
Dzięki ich jasnemu znaczeniu zdefiniowano na ich podstawie nowe pojęcia, powiązane z
dziedziną zaufania. Poniżej przytoczono definicje terminów, które występują w powyższej,
sformalizowanej specyfikacji (symbol “==” oznacza „jest definiowane jako”). W tym przypadku pojęciem zaczerpniętym z terminologii UML jest pojęcie stanu obiektu.
Resource1 is applied to Resource2 == Resource1 is consumed and its State is used to update
State of Resource2
Resource1 identifies Resource2 == Identity of Resource2 can be derived from Attributes of
Resource1
Resource1 uniquely identifies Resource2 == Resource1 identifies Resource2 and if exists
Resource3 such that Class(Resource2) = Class(Resource3) then Resource3 = Resource2
8
J. Górski, A. Jarzębowicz, R. Leszczyna, J. Miler, M. Olszewski
consume== to read the Resource State and to delete the Resource
update== to read and write the Resource State
7. OBIEKTOWE MODELE ŻĄDAŃ
Model żądania wykorzystywany jest w budowie dowodu zaufania do reprezentacji
powiązania między żądaniem, wspierającym je argumentem oraz materiałem dowodowym,
do którego dany argument bezpośrednio się odwołuje. Elementy użyte do definiowania
modeli żądań dla [6] pokazane są na rys. 7.
<<claim>>
<<argument>>
<<fact>>
<<assumption>>
«claim»
CL
«argument»
ARG
«fact»
F
«assumption»
A
Rys. 7. Elementy modelu żądania
Wszystkie elementy modelu żądania definiowane są jako stereotypy w języku UML.
Pozwala to wygodnie zarządzać strukturą budowanego dowodu zaufania przy użyciu narzędzia graficznego wspierającego metodykę UML, np. Microsoft Visio 2002 [7]. Budowany dowód staje się wtedy obiektowym modelem UML. Przykładowy model żądania
pokazano na rys. 8.
«claim»
CL_0.1.1.5
«argument»
ARG_0.1.1.5
«claim»
CL_0.1.1.5.1
«claim»
CL_0.1.1.5.3
«claim»
CL_0.1.1.5.2
«assumption»
A_0.1.1.5.1
«fact»
F_0.1.1.5.1
«claim»
CL_0.1.1.5.4
«fact»
F_0.1.1.5.3
«fact»
F_0.1.1.5.2
«fact»
F_0.1.1.5.4
Rys. 8. Przykładowy model żądania
Odcienie używane są do odróżnienia typów elementów (żądania, argumenty, fakty, założenia). Każdy element modelu posiada swój własny identyfikator, na który składa się
identyfikator liczbowy poprzedzony przedrostkiem określającym typ elementu. Identyfikator elementu jednoznacznie ustala położenie danego elementu w całym dowodzie zaufania.
Zgodnie z metodyką budowy dowodów zaufania żądania strukturalizowane są w modelu
UML wertykalnie (żądania wyjaśniające żądania wyższego poziomu) oraz horyzontalnie
(żądania wzajemnie się uzupełniające, używane w tym samym argumencie).
8. DOWÓD ZAUFANIA DLA ROZWIĄZANIA DRIVE
Przedstawione w artykule obiektowe podejście do budowy dowodu zaufania znalazło
zastosowanie w projekcie UE DRIVE [5]. Projekt badawczo-rozwojowy IST-DRIVE prowadzony był w ramach 5. Programu Ramowego Unii Europejskiej w latach 2000-2003.
Angażował on konsorcjum partnerów akademickich i przemysłowych z całej Europy (m.in.
Podejście obiektowe w budowie dowodu zaufania...
9
z Włoch, Francji, Hiszpanii, Szwecji i Polski) w celu wypracowania bezpiecznego i ekonomicznego systemu dystrybucji leków szpitalnych przy użyciu najnowszych rozwiązań
informatycznych. W projekcie DRIVE problem dystrybucji leków potraktowano kompleksowo począwszy od producentów poprzez dystrybutorów, magazyn szpitala aż do łóżka
pacjenta dążąc do obniżenia ryzyka błędu medycznego w przepisaniu i podaniu leku przy
równoczesnym obniżeniu kosztów logistycznych.
Rozwiązanie DRIVE cechuje się wysokim stopniem złożoności oraz bardzo dużymi
wymaganiami udziałowców w kwestii zaufania. Ponadto obszar zastosowań medycznych
silnie łączy wymogi bezpieczeństwa (ang. safety) oraz zabezpieczeń (ang. security). Uznając potrzebę uzyskania niezależnej oceny zaprojektowanej infrastruktury organizacyjnotechnicznej, zdecydowano się na opracowanie jawnego dowodu zaufania. Zadanie to zostało zrealizowane w Katedrze Zastosowań Informatyki Politechniki Gdańskiej w okresie
lipiec 2002 – styczeń 2003.
W dowodzie zaufania dla rozwiązania DRIVE wyróżniono cztery podstawowe cele
dowodowe: bezpieczeństwo pacjenta, prywatność pacjenta, prywatność pracownika szpitala
oraz śladowość działań medycznych. Ze względu na ograniczenia zasobów i ustalone priorytety celów zbudowany dowód objął głównie obszar bezpieczeństwa pacjenta. Ponadto z
powodu braku dostępnego materiału źródłowego w swej szczegółowości sięgnął on decyzji
projektowych na poziomie architektury tj. poszczególnych stacji roboczych wraz z ich
usługami oraz komponentów programowych i ich funkcjonalności reprezentujących logikę
biznesową. Żądania najniższego poziomu postulowały zgodną ze specyfikacją implementację elementów architektury i były zamykane poprzez zamianę na założenia.
W celu pozyskana materiału dowodowego przeanalizowano dokumentację projektową
rozwiązania DRIVE oraz przeprowadzono wywiady z projektantami systemu. Ponadto
niektóre diagramy projektowe poddano inspekcji metodą UML-HAZOP [8] przy wsparciu
dedykowanego narzędzia [9]. Rezultaty analiz [9] włączono do dowodu w postaci faktów
potwierdzających słuszność podjętych decyzji projektowych bądź wskazujących błędne
koncepcje.
W całości opracowanego dowodu zaufania wykorzystano przedstawione w artykule
podejście obiektowe i wyrażono go w języku CDL. Wszystkie elementy dowodu podano w
języku naturalnym, a żądania i założenia dodatkowo uzupełniono postacią sformalizowaną.
Zarówno modele kontekstu jak i modele żądań były tworzone i zarządzane przy użyciu
narzędzia Microsoft Visio 2002 [7]. W sumie opracowano 54 obiektowe modele kontekstowe, w tym również ogólne modele dziedzinowe nieistniejące wcześniej w dokumentacji
projektu DRIVE. Dowód zaufania ostatecznie obejmował 97 żądań, 92 argumenty, 234
fakty i 121 założeń. Liczba argumentów nie pokrywa się z liczbą żądań, gdyż z powodu
ograniczeń czasowych nie wszystkie cele zaufania zostały zamknięte. Duża liczba założeń
wynika z braku odpowiednio szczegółowego materiału źródłowego.
9. WNIOSKI
Artykuł przedstawił podejście obiektowe do budowy dowodu zaufania dla systemów
informatycznych. W omawianym podejściu wykorzystano język UML jako uniwersalną
platformę dla dokumentowania dowodu zaufania oraz modelowania budowanego systemu i
dziedziny aplikacyjnej. Dzięki mechanizmowi stereotypowania dostepnemu w języku UML
opracowano dedykowany język specyfikowania żądań CDL. Pozwala on elastycznie modelować kontekst żądań definiując różne rodzaje bytów (informacja, byt fizyczny, osoba,
10
J. Górski, A. Jarzębowicz, R. Leszczyna, J. Miler, M. Olszewski
urządzenie, oprogramowanie) oraz związki między nimi (np. „zawiera”, „identyfikuje”,
„reprezentuje”). Ponadto CDL obejmuje formalny język wyrażania żądań wobec bytów
kontekstu oraz środki modelowania samej struktury dowodu zaufania.
Zastosowanie podejścia obiektowego i języka CDL pozwoliło znacznie zwiększyć
jednoznaczność i komunikatywność wywodu oraz kontrolować jego zakres, co zostało
docenione podczas grupowej pracy nad dowodem oraz niezależnych inspekcji. Dzięki
wsparciu narzędziowemu w znacznym stopniu rozwiązano problem spójności strukturalnej
modeli żądań i modeli kontekstowych.
Przyjęcie języka UML za platformę bazową, użycie obiektowych modeli kontekstu
oraz formalizacja żądań objęte opracowanym językiem CDL to, według autorów, najważniejsze cechy omawianego podejścia, które odróżniają je od innych prac [10, 11, 12]. Dodatkowo, użyte w prezentowanym podejściu pojęcia „zaufania” pozwala w sposób jednorodny potraktować różne aspekty jakości oprogramowania (np. bezpieczeństwo, prywatność, śladowość, dostępność), które dotychczas były rozpatrywane oddzielnie.
Autorzy oceniają obiektowe podejście do budowy dowodów zaufania jako obiecujące
i planują dalsze prace badawcze oraz eksperymentalne w tym obszarze. Plany badawcze
obejmują: rozszerzenie zakresu dowodu zaufania m.in. o działania pielęgnacyjne, rozważanie wpływu informacji zwrotnej z analiz w dowodzie zaufania na proces projektowy, zapewnienie spójności wewnętrznej dowodu w przypadku konfliktu celów zaufania oraz
jawną reprezentację siły argumentu w zależności od wagi przytoczonego materiału dowodowego. Kontynuowane będą ponadto prace nad językiem CDL, w szczególności w obszarze formalnego specyfikowania żądań, a także analizie zostanie poddana możliwość lepszego wsparcia narzędziowego.
BIBLIOGRAFIA
[1] SHIP: Projekt UE EUREKA SHIP (Safety of Hazardous Industrial Processes)
http://www.csr.city.ac.uk/csr_city/projects/ship/ship.html
[2] Górski J.: Developing Safety Cases for Software Intensive Systems, mat. konf. Analiza Ryzyka
i Zarządzanie Bezpieczeństwem w Systemach Technicznych, Gdańsk, 25-27 czerwca 2001, pp.
111-120
[3] OMG Unified Modeling Language Specification version 1.4, Object Management Group, 2001
[4] Eriksson H.-E., Penker M.: Business Modeling with UML, J Wiley, 2000
[5] DRIVE: Projekt UE DRIVE (DRug In Virtual Enterprise) http://www.e-mathesis.it/drive
[6] DRIVE: D11.1-3 – Trust Case for DRIVE, D11.1-3, wersja 1.1, styczeń 2003
[7] Microsoft Visio 2002 Professional, Microsoft Corp., 2002
[8] Górski J., Jarzębowicz A.: Detecting defects in object-oriented diagrams using UML-HAZOP,
Found. of Comp. and Decision Sciences, vol. 27, no. 4, 2002
[9] DRIVE: D11.4 – UML-HAZOP, D11.4, wersja 1.1, styczeń 2003
[10] Wilson S. P., Kelly T. P., McDermid J. A.: Safety Case Development: Current Practice, Future
Prospects
[11] Adelard Safety Case Development Manual, Adelard, 1998
[12] Kelly, T.: Arguing Safety A Systematic Approach to Managing Safety Cases, rozpr. dokt.,
University of York, UK, 1998, YCST 99/05, http://www.cs.york.ac.uk/ftpdir/reports/YCST-9905.ps.gz

Podobne dokumenty