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