OISv 05a Activity 2012

download OISv 05a Activity 2012

of 35

Transcript of OISv 05a Activity 2012

  • 8/18/2019 OISv 05a Activity 2012

    1/35

    Dijagrami aktivnosti

    1

  • 8/18/2019 OISv 05a Activity 2012

    2/35

    Sadržaj 

    • Uvod u UML 2.0 Dijagrame aktivnosti• Koncept Akcije, Pinova i Aktivnosti• Opis čvorova aktivnosti i veza • Notacija

    • ActivityPartition• Pre & post condition• SendSignalAction• Time trigger i Time event

    • AcceptEventAction• InterruptibleActivityRegion• Exception

    2

  • 8/18/2019 OISv 05a Activity 2012

    3/35

    Dijagrami aktivnosti

    • Koriste se za specifikaciju ponašanja softverskih ili hardverskihsistema

    • Zasnovani na fata flow modelu – grafičkoj reprezentacijikretanja podataka kroz informacioni sistem

    3

    Popuni 

    Narudžbu 

    Šalji 

    Narudžbu 

    Šalji Račun 

    Prihvati 

    Uplatu 

    Završi 

    Narudžbu 

    Plati 

    [narudžba prihvaćena] 

    Racun 

    Primi 

    Narudžbu 

    [narudžba odbijena] 

  • 8/18/2019 OISv 05a Activity 2012

    4/35

    Akcije

    • Osnovne jedinice izvršne fukcionalnosti unutar aktivnosti 

    • Izvršenje akcije predstavlja neku izmjenu ili proces u modeliranomsistemu (kreiranje objekata, postavljanje vrijednosti, povezivanje

    objekata, pozivanje procesa ...)

    4

    Opis akcije

  • 8/18/2019 OISv 05a Activity 2012

    5/35

    Pinovi

    • Akcije mogu imati ulaze i izlaze, kroz pinove 

    • Pinovi „čuvaju“ ulaze dok sama akcija ne počne saizvršavanjem i „čuvaju“ izlaze dok se vrijednost ne prenesedalje

    • Naziv pina nije ograničen – obično tip objekta ili podataka kojiprolaze kroz pin

    5

    Izlazni pinSamostalni pin ili objekat – 

    izlazni pin i ulazni pin

    imaju isto ime i tip

    Ulazni pin

  • 8/18/2019 OISv 05a Activity 2012

    6/35

    Posebne vrste pinova

    • Streaming Parametri (označeni sa {STREAM}): ulaz ili izlaz jedne iliviše vrijednosti za vrijeme izvršavanja akcije 

    6

    Samostalni

    pin

  • 8/18/2019 OISv 05a Activity 2012

    7/35

    Posebne vrste pinova

    • Exception Output Parametri (označeni trouglom)

    • Daje izlazne vrijednosti i isključuje ostale izlazne parametre iakcije

    • Sve akcije i svi „non-stream“ izlazi se terminiraju 

    7

  • 8/18/2019 OISv 05a Activity 2012

    8/35

    Posebne vrste pinova

    • Skupovi parametara • Grupe parametara• Akcija može primiti ulaze na pinove 

    u jednom skupu

    •Akcija može dati izlaze na pinove u jednom skupu

    • ValuePin: vrsta pina koja je definirana da nosi konstantnu vrijednost(tip vrijednosti mora biti isti kao tip pina)

    8

    π 

    Izračunaj obim 3.14

    Prečnik 

    vrijednost

    Izlaz je poslan na pinove

    u prvom ILI u drugom skupu

  • 8/18/2019 OISv 05a Activity 2012

    9/35

    Uvjeti za početak i kraj akcije 

    • Akcija može početi: • Ako su svi „non-stream“ ulazi stigli (ili barem jedan

    stream ulaz ako postoje samo stream ulazi)

    • Akcija može završiti:• Ako su svi ulazi stigli (uključujući stream ulaze) • Ako su osigurani svi non-stream i non-exception

    izlazi (ili bilo koji exception izlaz)

    9

  • 8/18/2019 OISv 05a Activity 2012

    10/35

    Aktivnosti

    • Aktivnost je specifikacija ponašanja u obliku uređenog slijeda čiji suelementi akcije

    • Koristi parametre da primi i pruži podatke 

    10

    Parameter

    name

    Parameter

    name Parameter

    name

    Izlazni

    parametri

    Čvor unutar  aktivnosti

    VezeUlazni

    parametri

     Akcija se može predstaviti kao aktivnost zbog detaljnijeg prikaza 

    Ova akcija se može 

    prikazati kao aktivnost

  • 8/18/2019 OISv 05a Activity 2012

    11/35

    Čvorovi aktivnosti 

    • Tri tipa čvora: • Čvorovi akcije: izvršni čvorovi aktivnosti; izvršenje akcije

    predstavlja promjenu ili proces u modeliranom sistemu(viđeno na slajdovima prije) 

    • Kontrolni čvorovi: koordinacija toka među drugim čvorovimaunutar aktivnosti

    • Čvorovi objekata: predstavljaju instancu određenog objekta (npr. Pinovi)

    11

  • 8/18/2019 OISv 05a Activity 2012

    12/35

    Veze

    • Veze su direkcione• Imaju početak i kraj 

    • Bilo koji broj informacija može proči kroz jednu vezu • Weight : definiše minimalan broj podataka koji mora proči 

    kroz vezu da bi se tok nastavio

    12

    U ovom primjeru koristimo weight koji nije fiksan

  • 8/18/2019 OISv 05a Activity 2012

    13/35

    Veze

    • Dvije vrste:

    • Kontrolne – aktiviraju akciju nakon što je prethodnazavršila 

    • Veze prenosa objekta- veze koje nose podatke/objekte

    13

  • 8/18/2019 OISv 05a Activity 2012

    14/35

    Primjer – vikend kući 

    14

    Get

    luggage

    ready 

    [on car] 

    [on train] 

    «local precondition» Have a license

    Turn on

    the car

    To

    motorway

    tollgate 

    Exit to

    tollgate 

    Go home

    with the

    car  

    Go to the

    station with

    a friend

    Buy the

    ticket 

    Obliterate

    the ticket 

    Catch

    the train 

    When the train

    arrives

    to home town 

    Get off

    the train 

    The train

    derail 

    Car crash 

    The friendgoes home 

    Go home

    with bus 

    ...

    ...

    Study

    for 5

    minutes 

    [Home is a long way] 

    [else] 

    Catch

    the

    ticket 

    Fill up

    with

    fuel 

    [the tank is full] 

    [else] 

    Pay the

    ticket 

  • 8/18/2019 OISv 05a Activity 2012

    15/35

    Kontrolni čvorovi – početni 

    • U aktivnosti, top počinje početnim čvorom koji automatskidaje kontrolu sljedećem čvoru 

    • Ako postoji više početnih čvorova, oba se startajuistovremeno, započinjući time višestruki tok 

    • Ako početni čvor ima više izlaza, nastavlja se SAMO JEDANtok, u zavisnosti od uvjeta

    15A ili B ?

  • 8/18/2019 OISv 05a Activity 2012

    16/35

    Kontrolni čvorovi - odluke

    • Nastavlja tok JEDNOM OD VEZA• Odluke trebaju biti prikazane na izlaznim vezama• Predefinisanu odluku [else] koristiti za nepokrivene

    slučajeve • Ako nijedna od odluka nije donesena, izvršenje se 

    ne nastavlja dok se ne ispuni jedan od uvjeta

    16

  • 8/18/2019 OISv 05a Activity 2012

    17/35

    Kontrolni čvorovi - spajanja

    • Spajaju više tokova 

    • Kontrola i podaci koji stižu na ulazne veze se odmahprosljeđuju na izlazne 

    • Bez usklađivanja tokova ili akcija 

    17

  • 8/18/2019 OISv 05a Activity 2012

    18/35

    Kontrolni čvorovi – paralelno izvršavanje 

    • Ovi čvorovi granaju tok u više ISTOVREMENIH tokova 

    18

  • 8/18/2019 OISv 05a Activity 2012

    19/35

    Kontrolni čvorovi - spajanje

    • Spajanje i usklađivanje paralelnih čvorova 

    • Obično kontrola ili informacije moraju biti dostupni na svakojdolaznoj vezi

    • Moguće je koristiti joinSpec kako bi se definisale ulazne veze 

    19

  • 8/18/2019 OISv 05a Activity 2012

    20/35

    Kontrolni čvorovi - završetci 

    • Kraj toka:• Prekida izvršenje toka 

    • Aktivnos se okončava kada se sve akcije izvrše 

    • Finalni čvor:

    • Aktivnost se obustavlja kad se bilo koja akcija izvrši 

    20Namjerno

    nadmetanje tokova

  • 8/18/2019 OISv 05a Activity 2012

    21/35

    Čvorovi objekata 

    • „Čuvaju“ podatke privremeno, dok se kreću niz tok dijagrama • Navedite tipove vrijednosti koje mogu sadržavati • Mogu sadržavati informacije o stanju podataka 

    • Vrste čvorova objekata: 

    21

    Pinovi

    Parametri aktivnosti

    Central

    Buffer

    Data

    Store

  • 8/18/2019 OISv 05a Activity 2012

    22/35

    Čvorovi objekata– centralBuffer

    • centralBuffer je čvor koji upravlja tokovima iz više izvorišta ina više odredišta 

    • Vrši ulogu „skladišta“ • Nije vezan za akciju (kao pinovi) ili aktivnost (kao parametri)

    22centralBuffer skuplja objekte tipa

    Part, a svaki Part se može uputiti na

     jedan od dva toka (Pack ili Use)

  • 8/18/2019 OISv 05a Activity 2012

    23/35

    Čvorovi objekata – datastore

    • Čvor koji dugotrajno čuva podatke • Čuva sve podatke koji uđu u čvor • Ako objekat već postoji u čvoru, novi objekat zamjenjuje stari 

    23

  • 8/18/2019 OISv 05a Activity 2012

    24/35

    Veze – prikaz

    • Veze se mogu nastavljati konektorima

    • Oznaka konektora na oba kraja mora biti ista

    26

    Je isto kao

    Moguće je objediniti veze radi jednostavnosti 

    pojednostavljeno

  • 8/18/2019 OISv 05a Activity 2012

    25/35

    Veze - transformacija

    • Moguće je izvršiti smislenu transformaciju objekta koji se prenosi vezom

    27

    U ovom primjeru se

    prosljeđuje podatak o Kupcu sa Narudžbe 

    specifikacija

  • 8/18/2019 OISv 05a Activity 2012

    26/35

    Grananje toka

    • Parametar ili pin mogu imati više izlaznih veza, ali sesamo jedna nastavlja

    • Nebitno je koji će se tok nastaviti 

    29

     Ako su i stanica 1 i stanica 2zauzete, nastavit će se tok one stanice koja se prvaoslobodi

  • 8/18/2019 OISv 05a Activity 2012

    27/35

    ActivityPartition – Swimlane

    • Dijeli čvorove i veze kako bi se identificirale akcije koje dijeleneke karakteristike• Obično odgovaraju organizacionim jedinicama u poslovnom

    modelu

    • Mogu biti hijerarhijske i višedimenzionalne • Više načina prikazivanja 

    30

  • 8/18/2019 OISv 05a Activity 2012

    28/35

    ActivityPartition – Swimlane

    31

    Dvije vrste

    prikaza

  • 8/18/2019 OISv 05a Activity 2012

    29/35

    Pre & post uvjet

    32

  • 8/18/2019 OISv 05a Activity 2012

    30/35

    SendSignalAction

    • Kreira signal na osnovu ulaznih podataka

    • Asinhroni stimulus – nema povratne informacije

    • Eventualne povratne informacije su ignorisane

    33

  • 8/18/2019 OISv 05a Activity 2012

    31/35

    Time trigger i Time event

    • Time trigger  definiše kad će se vremenski definisandogađaj dogoditi 

    • Time event  se desi kad je ispunjen određeni vremenski

    uvjet• Vrijeme može biti relativno i apsolutno 

    • Relativni time trigger : definiše se sa ‘after’ i vremenskimperiodom

    •  Apsolutni time trigger : vremenska vrijednost

    34Jan, 1, 2000, Noonafter (5 seconds)

    Relativni time trigger Apsolutni time trigger

  • 8/18/2019 OISv 05a Activity 2012

    32/35

    AcceptEventAction

    • Čeka da se desi Event 

    • Vrste AcceptEventAction:

    • Accept event action  – prihvata signalod SendSignalAction

    • Wait time action  – prihvata vremenskievent

    35

    Accept event action

    Wait time action

    Review se

    obavlja nad svim

    objektima iz

    Personnel jednom

    godišnje. ZAŠTO? 

  • 8/18/2019 OISv 05a Activity 2012

    33/35

    InterruptibleActivityRegion

    • Je grupa aktivnosti koju je moguće prekinuti • Kad se tok nastavi ovom vezom, sve ostale akcije/aktivnosti iz te

    grupe se stopiraju

    36

    Veza prekida

  • 8/18/2019 OISv 05a Activity 2012

    34/35

    Exceptions• Exception handler – specificira akciju koju je potrebno izvršitiu slučaju greške u zaštičenom dijelu • Kad se desi exception, pokreče se handler koji ispunjava 

    uvjete

    • Ako nijedan handler ne ispunjava uvjete, pokreče se default • Ako se desi greška za koju ne postoji handler – nepredviđeno

    ponašanje sistema 

    37

  • 8/18/2019 OISv 05a Activity 2012

    35/35

    Exceptions

    • Kad se desi greška, umjesto aktivnosti u zaštičenom dijelu, izvršavase handler dio• Dio handlera može riješiti problem ili prekinuti izvršenje • Zaštičeni čvor može sadržavati druge čvorove 

    38

    Uspješan kraj 

    Zaštičeni čvor sadvije akcije

    Handler