Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 1
Język UML
1. Opis procesów współbieżnych w języku UML
UML – Ujednolicony język modelowania (ang. Unified Modelling Language).
Język symboli graficznych używany do dokumentowania oprogramowania. Jest on
obecnie standardem przemysłowym.
Nie jest możliwe opisanie systemu z jednego tylko punktu widzenia. Stosuje się opis
wielu aspektów systemu.
- Diagram
klas
- Diagram
obiektów
- Diagram przypadków użycia
- Diagram
stanów
- Diagram
przebiegu
- Diagram
czynności
- Diagram kooperacji (współpracy)
- Diagram
komponentów
- Diagram
wdrożenia
Objekt
Objekt
Stan aktywności
obiektu
()
Warunek
()
Komunikat
zwrotny
{OR}
Komentarz
Komunikat
Podstawowe elementy diagramu przebiegu (ang. sequence) w języku UML
Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 2
Język UML
Proces 1
Proces 2
Komunikat 1()
Proces 3
Komunikat 2()
Odpowiedź 1()
Odpowiedź 2()
Przykład diagramu przebiegu w języku UML
Początek
Koniec
Akcja
Czynność lub akcja
Rozgałęzienie
sterowania
(Fork)
Połączenie
sterowania
(Join)
Decyzja
Przepływ
sterowania
Wysłanie
sygnału
Odbiór
sygnału
Przepływ
sygnału
Komentarz
Symbole diagramu czynności (ang. Activity) w języku UML
Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 3
Język UML
Inicjacja
Proces 1
Proces 2
Proces 8
Zakończenie
Przykład diagramu czynności w języku UML – procesy do 1 do 8 wykonywane
współbieżnie.
2. Przykład aplikacji – równoległe sortowanie
Dany jest ciąg N liczb Z(N) = {x
1
,x
2
,...,x
N
}. Zadanie polega na posortowaniu tego
zbioru liczb.
Zadanie daje się zrównoleglić na P maszyn. Ciąg Z(N) można podzielić na P
podciągów Z
1
(N
1
), ...,Z
p
(N
p
) gdzie N
1
+N
2
+...N
p
=N które należy posortować na
oddzielnych maszynach. Następnie posortowane podciągi podlegają procesowi
scalania w wynikowy ciąg posortowany.
Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 4
Język UML
Tworzenie
Podział
Sortowanie 1
Sortowanie 2
Sortowanie P
Scalanie
Sortowanie równoległe – diagram czynności
Proces sterujacy
Proces wykonawczy 1
Utworzenie()
Zlecenie 1()
Wyniki 1()
Podział ciągu
na P podcziągów
Zakończ 1()
Sortowanie
podciągu 1
Proces wykonawczy P
Utworzenie()
Zlecenie P()
Wyniki P()
Zakończ P()
Sortowanie
podciągu P
Scalanie
Sortowanie równoległe - model przebiegu współpracy procesów