Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 1
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
()
()
Komunikat
Komunikat
zwrotny
{OR}
Warunek
Komentarz
Podstawowe elementy diagramu przebiegu (ang. sequence) w języku UML
Język UML
Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 2
Proces 1
Proces 2
Proces 3
Komunikat 1()
Komunikat 2()
Odpowiedź 1()
Odpowiedź 2()
Przykład diagramu przebiegu w języku UML
Początek
Koniec
Akcja
Czynność lub akcja Przepływ
Przepływ
sterowania
sygnału
Połączenie
Rozgałęzienie
sterowania
sterowania
(Join)
(Fork)
Wysłanie
Odbiór
sygnału
sygnału
Decyzja
Komentarz
Symbole diagramu czynności (ang. Activity) w języku UML
Język UML
Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 3
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) = {x1,x2,...,xN}. 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 Z1(N1), ...,Zp(Np) gdzie N1+N2+...Np=N które należy posortować na oddzielnych maszynach. Następnie posortowane podciągi podlegają procesowi scalania w wynikowy ciąg posortowany.
Język UML
Jędrzej Ułasiewicz Programownie aplikacji współbieżnych str. 4
Tworzenie
Podział
Sortowanie 1
Sortowanie 2
Sortowanie P
Scalanie
Sortowanie równoległe – diagram czynności Proces sterujacy
Utworzenie()
Proces wykonawczy 1
Podział ciągu
Utworzenie()
na P podcziągów
Proces wykonawczy P
Zlecenie 1()
Zlecenie P()
Sortowanie
podciągu 1
Sortowanie
Wyniki 1()
podciągu P
Wyniki P()
Zakończ 1()
Zakończ P()
Scalanie
Sortowanie równoległe - model przebiegu współpracy procesów Język UML