background image

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 
 
 
 
 
 
 

 

background image

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 

background image

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. 

 
 

background image

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