Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych."

Transkrypt

1 Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Sebastian Tomaszewski Nr albumu: Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych. Praca magisterska na kierunku INFORMATYKA Praca wykonana pod kierunkiem dra Piotra Chrz stowskego-wachtla Instytut Informatyki listopad 2009

2 O±wiadczenie kieruj cego prac Potwierdzam,»e niniejsza praca zostaªa przygotowana pod moim kierunkiem i kwalikuje si do przedstawienia jej w post powaniu o nadanie tytuªu zawodowego. Data Podpis kieruj cego prac O±wiadczenie autora (autorów) pracy wiadom odpowiedzialno±ci prawnej o±wiadczam,»e niniejsza praca dyplomowa zostaªa napisana przeze mnie samodzielnie i nie zawiera tre±ci uzyskanych w sposób niezgodny z obowi zuj cymi przepisami. O±wiadczam równie»,»e przedstawiona praca nie byªa wcze±niej przedmiotem procedur zwi zanych z uzyskaniem tytuªu zawodowego w wy»szej uczelni. O±wiadczam ponadto,»e niniejsza wersja pracy jest identyczna z zaª czon wersj elektroniczn. Data Podpis autora (autorów) pracy

3 Streszczenie TODO:Na razie tylko skopiowanie starego tytuªu Mechanizmy reagowania na wyj tkowe sytuacje w dªugotrwaªych procesach biznesowych. Rozwój, porównanie i zastosowanie w systemie obsªugi cash pooli. Sªowa kluczowe 11.3 Informatyka Dziedzina pracy (kody wg programu Socrates-Erasmus) TODO J. Computer Applications J.1. Administrative Data Processing J.1.3. Financial Klasykacja tematyczna Tytuª pracy w j zyku angielskim Handling failures in automatic cashpool processing

4

5 Spis tre±ci Wprowadzenie Historia transakcji Transakcyjno± ACID Punkt zapisu Transakcje rozproszone Transakcje zagnie»d»one OLTP Dªugotrwaªe zadania L-R Transakcje ªa«cuchowe Saga Inne ACTA Wyj tki Idea J zyki programowania U»yteczno± Sieci przepªywu pracy Modele transakcji dla sieci przepªywów Narz dzia Usªugi sieciowe Business Process Management(BPM) Transakcje Podsumowanie Specykacje formalne J zyki modelowania kompensowalnych przepªywów Rozszerzenia algebr procesów Obecny kierunek rozwoju Pami transakcyjna Siatki transakcji System obªugi cash pooli Cash pool Zarz dzanie pªynno±ci Zasada dziaªania Przykªad

6 Sytuacja prawna Korzy±ci Platforma Motywacja System dedykowany Interfejsy Procesy w systemie Sposób dziaªania Procesy Proces ko«ca dnia Proces pocz tku dnia Proces dzienny Kroki procesów Obsªuga sytuacji nieprawidªowych Analiza narz dzi Zr by Technologie Propozycja rozwi zania Podsumowanie Bibliograa

7 Wprowadzenie TODO:ok 2 stron 5

8

9 Rozdziaª 1 Historia transakcji Czym jest transakcja? W zasadzie, koncepcja transakcji byªa wynaleziona ju» 6000 lat temu, kiedy Sumerowie zapisywali na glinianych tablicach stan królewskich wªo±ci, w celu badania ich zmian. Ogólnie mówi c, transakcja jest transformacj z jednego stanu w inny. W trakcie tysi cy lat pomysª ten zaadoptowano w wielu innych dziedzinach»ycia, np. w ±wiecie biznesu transakcja jest umow miedzy kupuj cym a sprzedaj cym na wymian towaru i pieni dzy. W okresie rozwoju baz danych na przeªomie lat 60-tych i 70-tych transakcje zawarto w pierwszych urz dzeniach obsªugi transakcji takich jak CICS opracowany przez IBM. W bazach danych rzeczywisty stan ±wiata zewn trznego modeluje si jako relacje i krotki, a transformacje s modykacjami danych. Patrz c z tej perspektywy widzimy transakcje jako grup operacji u»ywanych w celu dost pu albo zmiany bazy danych. Pomimo i» wiedziano,»e atomowo± (TODO:ref) jest bardzo wa»nym problemem, nie powstaª»aden formalny model a implementacje bazowaªy na reguªach empirycznych. Pierwsza próba formalnego przedstawienia kontroli wspóªbie»no±ci miaªa miejsce w pracy [Eswa76]. Wprowadzaªa ona dwufazowe blokowanie, a pó¹niej staªa si podstaw teorii szeregowalno±ci. Teoria ta jest ci gle fundamentem dzisiejszych rozwi za«zarz dzania wspóªbie»no±ci w bazach danych. W tym samym czasie badano równie» problem odporno±ci na bª dy, który tak»e przedostaª si do ±wiata baz danych. W [Gray78] opisane zostaªy protokoªy DO-UNDO-REDO oraz WAL(ang. write-ahead logging) Transakcyjno± ACID Transakcje ACID s bardzo wa»ne w informatyce, dlatego mechanizmy te opisano w wielu publikacjach, m. in. [Bern87], [Gray93], [Weik02]. W tym podrozdziale nie przeprowadz dogª bnej analizy tej tematyki. Ogranicz si do przedstawienia gªównych zaªo»e«zarz dzania transakcjami w celu opisania idei, która posªu»yªa do dalszego rozwoju mechanizmów transakcyjnych. Atomowo± Wyobra¹my sobie sytuacj kiedy wielow tkowy program korzysta ze wspóªdzielonej pami ci w wieloprocesorowej maszynie. Niskopoziomowe operacje sprz towe takie jak atomowa 7

10 wymiana 1 s podstawowymi funkcjami, dzi ki którym mo»na konstruowa bardziej zªo»one mechanizmy synchronizacji. Elementarne operacje maj bardzo proste wªasno±ci, przez co s bardzo wa»ne w programowaniu wspóªbie»nym, gdy» uªatwiaj dowodzenie poprawno±ci i zapewnienie,»e zªo»one operacje z nich konstruowane s zgodne ze specykacj. Zªo»ona operacja jest deniowana jako sekwencja akcji, które mog by zarówno atomowe, jak i zªo»one. Gªówn ide transakcji jest przeniesienie wªasno±ci funkcji skªadowych na ich zªo»enie. Do opisania wyniku akcji, potrzebujemy kilku podstawowych poj. wiat (zwany równie» systemem) skªada si z obiektów, ka»dy z nich ma dobrze zdeniowany stan (zazwyczaj warto±ci zbioru zmiennych). Globalny stan ±wiata jest sum stanów pojedynczych obiektów. Proces jest sekwencj akcji, które s zdeniowane nast puj co: przy danym stanie pocz tkowym systemu oraz podanej ewentualnie warto±ci wej±ciowej, wynikiem wykonywanej samotnie akcji jest sprowadzenie systemu do stanu ko«cowego w sko«czonym czasie oraz ewentualnie dostarczenie wyniku. Dla ka»dej akcji, ko«cowy stan oraz wynik s okre±lone jako funkcja ze stanu pocz tkowego oraz warto±ci wej±ciowej. Caªy model jest w zasadzie maszyn stanow. Wykonania procesów mog ponosi pora»k. Ma to miejsce, gdy zachowanie systemu (albo którego± z jego komponentów) nie speªnia specykacji. Bª dy dzieli si na ró»ne klasy w zale»no±ci od ich wa»no±ci i poziomu zakªócania pracy systemu. Tutaj skupimy si jedynie na bª dach przerywaj cych dziaªanie aplikacji(ang. fail-stop failure): komponent albo dziaªa zgodnie ze specykacj, albo nie dziaªa w ogóle. Teraz dochodzimy do poj cia atomowo±ci, wªasno±ci akcji elementarnych, któr chcemy przenie± równie» na ich zªo»enie. Atomowo± istnieje w dwóch pªaszczyznach: atomowo± wspóªbie»no±ci (ang. concurrency atomicity) We¹my dwie akcje A i B wykonuj ce si niezale»nie we wspóªbie»nych procesach (co oznaczamy jako A B). Je±li»adna nie wykonaªa si bª dnie, to wynik ich dziaªania (przyp. warto±ci wyj±ciowe albo zmiana stanu systemu) jest taki, jak gdyby wykonaªy si po kolei w dowolnej kolejno±ci (A;B albo B;A). Innymi sªowy: zªo»ona operacja przechodzi poprzez stany po±rednie, które s stanami ko«cowymi jej skªadowych. aden z tych stanów nie mo»e by widoczny dla»adnej wspóªbie»nej operacji. Tak przedstawiona atomowo± wspóªbie»na nazywana jest izolacj (ang. isolation). atomowo± awarii (ang. failure atomicity) We¹my akcj A, która wykonana niezale»nie zmienia stan systemu z S1 na S2 (co oznaczamy jako S1 {A} S2). Je±li wyst pi bª d podczas wykonania A stan ko«cowy jest albo S1 albo S2. Oznacza to,»e operacja jest wykonywana w caªo±ci albo wcale. Tak jak poprzednio,»aden stan po±redni nie mo»e by widoczny. Poza bª dami wynikªymi z przyczyn zewn trznych, operacja mo»e zdecydowa o przerwaniu swojego dziaªania i anulowaniu wszystkich wykonanych do tej pory zmian. Tak sytuacj nazwiemy przerwaniem(ang. abort). Je±li S1 {A} S2, to wynikiem przerwania wykonania A jest przywrócenie w systemie stanu S1, co nazywa si odwróceniem(ang. rollback). Dzi ki atomowo±ci bez straty ogólno±ci mo»emy przenie± t sytuacj to wykonania wi kszej liczby wspóªbie»nych operacji. Transakcje w bazach danych Transakcje w przedstawionym znaczeniu zostaªy po raz pierwszy u»yte w systemach zarz dzania bazami danych. Wzbogacono je o dwie dodatkowe cechy: akcji 1 atomowa wymiana wymiana zawarto±ci rejestru procesora i jednostki pami ci w jednej niepodzielnej 8

11 trwaªo± (ang. durability) trwaªo± oznacza,»e je±li transakcja si powiedzie, czyli wykona si bezbª dnie i nie zostanie odwrócona, to zmiany wykonane na bazie s zachowane. Oczywi±cie stan mo»e zosta zmieniony przez kolejne transakcje. Operacja oznaczaj ca pomy±lne zako«czenie transakcji jest nazywana zatwierdzeniem(ang. commit). Trwa- ªo± oznacza,»e kiedy transakcja jest zatwierdzona, zmiany które wykonaªa s odporne na awarie. Wyª czamy jednak katastrofy, czyli rzadkie zdarzenia, które mog skutkowa uszkodzeniem sprz tu i utrat danych. spójno± (ang. consistency) spójno± w bazach danych jest wyra»ana zazwyczaj jako zbiór ogranicze«integralno±ci, np. predykatów okre±lanych na jej stanie. Te ograniczenia odzwierciedlaj wªasno±ci rzeczywistych obiektów reprezentowanych przez baz danych (konta bankowe, zawarto± biblioteki). Poniewa» wymagamy spójno±ci podczas caªego»ycia bazy danych, transakcja przeprowadza system z jednego spójnego stanu w inny spójny stan. Podczas wykonania, niektóre po±rednie stany mog by niespójne, ale, dzi ki izolacji, nigdy nie s widoczne. Spójno± jest okre±lana poprzez wymogi konkretnej aplikacji, dlatego cz sto same mechanizmy bazodanowe s niewystarczaj ce i odpowiedzialno±ci programisty jest pisanie kodu, który zachowa stan danych spójnym w szerszym zakresie. Wªasno±ci ACID(ang. Atomicy, Consistency, Isolation, Durability) zostaªy przedstawione we wczesnych latach 80-tych (patrz poz. [Gray81]). Przegl d wczesnych technik odtwarzania danych znajduje si w [Haer83]. Wszystkie te poj cia znalazªy zastosowane przy projektowaniu wielu systemów zarz dzania bazami danych, w tym przeªomowego System-R, który jako pierwszy wykorzystywaª j zyk zapyta«sql i byª dowodem na to,»e relacyjne bazy danych potra by wydajne (patrz poz. [GMBL81]). Powy»sze wªa±ciwo±ci uj to w matematycznej teorii szeregowalno±ci. Transakcje ACID odniosªy wielki sukces, gdy» dzi ki swoim cechom zapewniaªy,»e stan systemu jest spójny nawet w przypadku bª dów oraz nietypowych zdarze«, pomimo wspóªbie»nego wykonywania zada«. Za swoj prac i wkªad w rozwój informatyki Jim Gray otrzymaª Nagrod Turinga w roku Mechanizm dziaªania Transakcje sprzyjaj rozdzieleniu koncepcji. Pozwalaj programistom skoncentrowa si na logice aplikacji (m. in. dbaniu o spójno± danych biznesowych), podczas kiedy system zarz dzania transakcjami (inaczej zarz dca transakcji) odpowiada za zapewnienie pozostaªych wªasno±ci transakcji (atomowo±, izolacja i trwaªo± ). Sªu» do tego nast puj ce mechanizmy (patrz poz. [Lewi02]): Izolacj zapewnia kontrola wspóªbie»no±ci, podstawowym mechanizmem jest tu blokowanie obiektów. System zarz dzania baz danych zakªada blokady na odpowiednich obiektach, kiedy programy z nich korzystaj. Blokady s utrzymywane dopóki transakcja si nie zako«czy, zapobiegaj c przed odczytem niespójnych danych przez wspóªbie»ne transakcje w czasie trwania niesko«czonej transakcji. Inna technik kontroli wspóªbie»- no±ci jest stemplowanie obiektów datami systemowymi i zarz dzanie dost pem poprzez kontrol stempli. Wi cej informacji w [Rama97]. Atomowo± jest zapewniana przez odzyskiwanie(ang. recovery), które wykorzystuje mechanizmy logowania. Ka»da modykacja bazy danych jest zapisywana w tabeli loguj cej przechowywanej niezale»nie od samych danych. Odwrócenie mo»e si wykonywa przez przywrócenie poprzednich warto±ci ka»dego obiektu znalezionego w logu. 9

12 Trwaªo± zale»y od atomowo±ci awarii i opiera si na wykorzystaniu trwaªego magazynu danych(ang. stable storage). Jest to mechanizm gwarantuj cy,»e zapisane w nim dane s odporne na uszkodzenia (wykluczaj c katastrofy). Techniki implementacji takich mechanizmów zostaªy opisane w [Lamp79]. Podobnie jak w tracie odwracania, po awarii aktualny stan mo»e by odtworzony na podstawie logu. Zauwa»my,»e blokowanie jest niezb dne, aby logowanie dziaªaªo prawidªowo. Je±li kilka czynno±ci zmodykowaªo ten sam obiekt w tym samym czasie, to nie byªoby wiadome który stan powinien zosta odtworzony, gdyby jedna z operacji wymagaªa cofni cia. Programowanie System zarz dzania transakcjami udost pnia swoim u»ytkownikom prosty interfejs. Skªadnia operacji mo»e si ró»ni w zale»no±ci od systemu, ale podstawowy interfejs zazwyczaj skªada si z nast puj cych funkcji: begin transaction rozpocz cie nowej transakcji. commit transaction poprawne zako«czenie transakcji (zmiany zostaj trwale zapisane). abort/rollback transaction przerwanie wykonania transakcji i anulowanie zmian wykonanych od jej rozpocz cia do tego momentu. Powy»sze operacje sªu» do rozgraniczania zasi gu transakcji, czyli rozdzielenia operacji b d cych cz ±ci transakcji. Granice mog by dokªadnie okre±lone przez programist, b d¹ automatycznie wygenerowane na podstawie deklaracji w ±rodowisku programowania. Kluczowe znaczenie ma fakt,»e mechanizmy ACID powalaj caªkowicie ukry przed programist zarówno bª dy jak i przeploty 2. Mo»e on po prostu pisa kod wykonuj cy wa»ne operacje biznesowe oraz opakowywa kod w konstrukcj transakcyjn. System zapewni to,»e program zawsze wykona si jakby byª jedyn i niepodzieln jednostk pracy(ang. unit of work) caªkowicie niezale»nie od innych akcji, które mog dziaªa wspóªbie»nie z jego wykonaniem. Je±li operacja zako«czy si z powodzeniem, to zarz dca transakcji zapewni zapisanie zmian w bazie danych pomimo mo»liwych bª dów kolejnych transakcji. Gdy jednak wykonaªa si cz ± pracy, ale bª d powstrzymaª program przed zako«czeniem, wówczas system wykona odwrócenie niesko«czonej akcji, czyli przywróci dane do stanu sprzed rozpocz cia operacji. Ograniczenia W rzeczywisto±ci istniej bardziej ogólne wªa±ciwo±ci ni» ACID: VCRP(ang. Visibility, Consistency, Recovery, Permanence), które mog sªu»y jako warunki oceny modelu transakcji (patrz poz. [Warn93]): Widoczno± (ang. visibility) okre±la mo»liwo± dost pu do wyników wykonywanej transakcji przez inne transakcje. Spójno± (ang. consistency) odnosi si do poprawno±ci stanu bazy danych po zatwierdzeniu transakcji. Odzyskiwalno± (ang. recovery) oznacza zdolno± do przywrócenia bazy danych do poprzedniego poprawnego stanu w przypadku napotkania bª du. 2 przeplot wspóªbie»ne wykonanie dwóch lub wi cej sekwencji transakcji, w których poszczególne transakcje jednej sekwencji mog wykonywa si naprzemiennie z transakcjami z innych sekwencji 10

13 Trwaªo± (ang. permanence) to mo»liwo± zmiany stanu bazy danych przez zatwierdzon transakcj bez straty wyniku pomimo awarii. Je±li u»yjemy miary VCRP do oceny standardowego modelu transakcji (zwanego równie» pªaskim), to otrzymujemy wªasno±ci ACID, które s podstaw tych stosunkowo prostych transakcji. Okazaªy si one bardzo u»yteczne w tradycyjnych aplikacjach bazodanowych, gdzie czas wykonania jest krótki, ilo± wspóªbie»nych transakcji jest maªa a system baz danych znajduje si na jednym serwerze. To co kiedy± byªo du» zalet, okazaªo si sporym ograniczeniem dla aplikacji, które wymagaj wspóªpracuj cych wspóªbie»nych aktywno±ci, operuj na kilku bazach danych lub mog po prostu trwa dªugo. Aby temu zaradzi, zacz to tworzy rozszerzone modele transakcji, które miaªy by bardziej elastyczne i przezwyci»a te ograniczenia Punkt zapisu Punkt zapisu lub inaczej punkt po±redni(ang. save point) przedstawiono po raz pierwszy w [Astr76] jako mechanizm umo»liwiaj cy wykonywanie cz ±ciowego odwracania. Pozwala on na oznaczenie pewnego miejsca w transakcji jako specjalnego momentu jej wykonania i nazwanie go. W jednej transakcji mo»e istnie wiele punktów zapisu. W ka»dym punkcie po±rednim, zapami tywane s dane przechowuj ce stan kontekstu bazy danych u»ywanego przez transakcje. Kiedy transakcja si nie powiedzie, mo»e odtworzy stan do okre±lonego punktu zapisu przywracaj c kontekst i zwalniaj c blokady obiektów zaªo»one podczas wykonania od tego punktu. Mechanizm ten jest bardzo u»yteczny przy implementacji zªo»onej obsªugi bª dów w aplikacjach bazodanowych - je±li bª d wyst pi w ±rodku transakcji wykonuj cej wiele operacji, to mo»e si ona cofn do podanego punktu zapisu bez konieczno±ci anulowania caªej transakcji. Wykorzystanie punktów zapisu przy odwracaniu nie jest jednak proste i wymaga dobrego przemy±lenia, poniewa»: po cofni ciu si do punktu zapisu i odtworzeniu transakcja kontynuuje przetwarzanie a» si zako«czy, w przeciwie«stwie do anulowania, gdzie po przywróceniu stanu wykonanie zostaje przerwane, pomimo odtworzenia stanu bazy danych do podanego puntu zapisu, warto±ci lokalnych zmiennych transakcji nie s cofane, co oznacza,»e transakcja musi kontynuowa prac w inny sposób ni» planowano pierwotnie, po odtworzeniu punktu zapisu, usuni te zostaj punkty zapisu utworzone od punktu do którego przywracamy do miejsca wywoªania przywrócenia. Mechanizm punktów zapisu mo»na u»y z prostymi pªaskimi transakcjami ACID. Jednak wi ksz rol odegraª on w rozwoju zaawansowanych modeli transakcji: rozproszonych, zagnie»d»onych, ªa«cuchowych, itd. Modele te byªy dedykowane do okre±lonego typu aplikacji biznesowych i s przykªadem zastosowania mechanizmu punktu zapisu do rozwi zania ró»nych problemów. Punkty bezpiecze«stwa s opisane w standardzie SQL oraz s wspierane w pewnej formie w niektórych bazach danych: PostgreSQL, Oracle, Microsoft SQL Server, MySQL, DB2, SQLite (od 3.6.8), Firebird and Informix (od 11.50xC3). 11

14 Transakcje rozproszone Do tej pory zakªadali±my,»e transakcja wykonuje si na jednej bazie danych. Wraz z rozwojem potrzeb i technologii powstaªo wymaganie, aby wykonywa transakcje na obiektach, które mog znajdowa si w ró»nych systemach baz danych dost pnych przez sie. Zarz dzanie transakcjami w rozproszonym systemie opiera si na wspóªpracy lokalnych systemów zarz dzania transakcjami. Aby zachowa globaln spójno±, zarz dcy musz u»ywa wspólnego protokoªu uzgadniania. Gªównym przedmiotem uzgodnienia jest wspólna decyzja, kiedy wykona zapisanie a kiedy anulowanie transakcji. Decyzja musi by spójna pomi dzy wszystkimi uczestnikami transakcji. Oznacza to,»e rozproszony zapis powinien by atomowy (wszyscy albo nikt). Jest to gªówny problem przy transakcjach rozproszonych i w tej sekcji przedstawi najwa»niejsze pomysªy na jego rozwi zanie. Warto doda,»e protokóª, który mo»e by u»yty do uzgadniania zapisu transakcji, mo»e by równie» u»yty do zarz dzania wspóªbie»no±ci transakcji poprzez tzn. porz dkowanie zapisu (patrz poz. [Raz92]). Atomowe zapisywanie Przyjrzymy si na pocz tku wªasno±ciom, które powinien speªnia poprawny protokóª zatwierdzania rozproszonych transakcji. W rozproszonym systemie zarz dzania transakcjami lokalny proces kontroluje prace lokalnego zarz dcy i obsªuguje komunikacj z podobnymi procesami w innych w zªach sieci. Zakªadamy,»e: ª czno± jest rzetelna, czyli wiadomo±ci nie s zmieniane w trakcie dostarczania, oraz równoczesna, czyli»aden w zeª nie b dzie znacz co spó»niony i mo»na przyj górne ograniczenie na czas odpowiedzi. Dodatkowo zakªadamy,»e bª dy poª czenia lub samych procesów nie rozdziel sieci. procesy mog napotyka bª dy. W takiej sytuacji procesy przestaj wykonywa operacje, nie wykonuj nieprawidªowych operacji oraz nie zapominj swojego stanu. Poprawny proces to taki, który zawsze si powodzi. ka»dy w zeª posiada trwaªy magazyn danych (TODO:odnosnik do ACID??). Zaªo»enie o rzetelno±ci i równoczesno±ci ª czno±ci jest potrzebne, aby zapewni,»e uzgodnienie przy u»yciu protokoªu wykona si w sko«czonym czasie. Transakcja ko«czy si, kiedy którykolwiek proces uczestnicz cy w transakcji wy±le» danie zatwierdzenia b d¹ anulowania transakcji. W tym momencie rozpoczyna si uzgadnianie, w którym ka»dy uczestnik mo»e odda gªos czy jest gotowy do wykonania lokalnego zapisu czy nie. Aby transakcja zostaªa zatwierdzona, ka»dy proces musi chcie zatwierdzenia, w przeciwnym przypadku transakcja musi by przerwana. Przed» daniem zatwierdzenia, którykolwiek z uczestników mo»e spontanicznie (nie sugeruj c si wspóln decyzj ) zdecydowa,»e anuluje swoj cz ± transakcji. Podstawowym wymaganiem dla ka»dego protokoªu jest to, aby wszystkie procesy byª zgodne czy transakcja jest zatwierdzona, czy anulowana. Ka»dy proces zaczyna w stanie pracuj cy (patrz rys. 1.1), w którym mo»e zdecydowa, czy chce zatwierdzi, czy anulowa transakcj. Anulowanie skutkuje prostym przej±ciem do stanu anulowany. Je±li za± zdecyduje,»e chce zapisa, to przechodzi do stanu gotowy, a nast pnie do stanu zatwierdzony. Celem protokoªu jest to, aby wszystkie procesy osi gn ªy stan zatwierdzony b d¹ wszystkie osi gn ªy stan anulowany. Transakcja mo»e zosta zatwierdzona, wtedy i tylko wtedy gdy wszystkie procesy s w stanie zatwierdzony. Poprawny protokóª powinien dopuszcza jedynie nast puj ce zmiany stanów: 12

15 Rysunek 1.1: Stany procesów w rozproszonej transakcji. proces mo»e zmieni stan z pracuj cy na gotowy. je±li proces jest w stanie gotowy oraz wszystkie procesy s w stanie gotowy albo zatwierdzony, to proces mo»e zmieni stan na zatwierdzony. je±li proces jest w stanie pracuj cy albo gotowy oraz»aden proces nie jest w stanie zatwierdzony, to proces mo»e zmieni stan na anulowany. gdy jeden proces wejdzie do stanu zatwierdzony b d¹ anulowany, wówczas zostaje tam na zawsze. Te wªasno±ci skutkuj tym,»e kiedy jaki± proces wejdzie do stanu zatwierdzony,»aden inny proces nie mo»e wej± do stanu anulowany, i odwrotnie. Implikuj one równie»,»e transakcja mo»e zosta zatwierdzona jedynie w nast puj cym scenariuszu: 1. wszystkie procesy weszªy do stanu gotowy, w dowolnej kolejno±ci 2. wszystkie procesy weszªy do stanu zatwierdzony, w dowolnej kolejno±ci Osi gni cie celu algorytmu nie jest proste w modelu, w którym procesy mog napotyka bª dy b d¹ zosta odizolowane przez bª d komunikacji. Trywialnym rozwi zaniem jest to, aby ka»dy proces zawsze przechodziª do stanu anulowany, ale taki protokóª nigdy nie doprowadzi do zatwierdzenia transakcji, wi c jest bezu»yteczny. Dodatkowo z twierdzenia [Fisc85] wynika,»e deterministyczny, czysto asynchroniczny algorytm nie mo»e jednocze±nie speªnia postawionych wymaga«oraz gwarantowa uzgodnienia zatwierdzenia transakcji w sytuacji napotkania bª dów. Dlatego wymagania»ywotno±ci dla protokoªu s okre±lone nast puj co: nietrywialno± je±li caªa sie jest bezbª dna podczas wykonania algorytmu, wtedy: a) je±li wszystkie procesy osi gn stan gotowy, to wszystkie osi gn stan zatwierdzony; b) je±li który± proces osi gnie stan anulowany, to wszystkie procesy osi gn stan anulowany nieblokowalno± je±li przez caªy czas wystarczaj co du»y fragment sieci w zªów jest bezbª dny wystarczaj co dªugo 3, to wszystkie procesy wykonywane w tych w zªach osi gn zgodnie stan zatwierdzony, b d¹ anulowany. Dwufazowe zatwierdzanie Dwufazowy protokóª zatwierdzania, w skrócie 2PC(ang. two-phase commit), zostaª zaproponowany w pracy [Gray78]. Wspóln decyzj podejmuje koordynator, który jest jednym z uczestników transakcji. 3 zale»y od czasu odpowiedzi poprawnych procesów oraz pr dko±ci sieci 13

16 Rysunek 1.2: Uzgadnianie w 2PC. Protokóª zaczyna si, kiedy jaki± proces wejdzie do stanu gotowy i prze±le komunikat do koordynatora(patrz rys. 1.2). Po otrzymaniu wiadomo±ci koordynator sam przechodzi do stanu gotowy i wysyªa komunikat przygotuj si do wszystkich innych procesów. Po otrzymaniu wiadomo±ci, ka»dy uczestnik, który ci gle przebywa w stanie pracuj cy, mo»e zmieni stan na gotowy i wysªa komunikat. Kiedy koordynator otrzyma wiadomo± gotowy od wszystkich procesów, mo»e wej± do stanu zatwierdzony i poinformowa uczestników, którzy po otrzymaniu wiadomo±ci zatwierd¹ mog równie» wej± do stanu zatwierdzony. Rysunek 1.2 jest uproszczony. Wiadomo± od koordynatora o konieczno±ci przygotowania jest sugesti,»e je±li który± proces jeszcze tego nie zrobiª, to wªa±nie nastaª odpowiedni moment. W rzeczywisto±ci ka»dy proces mo»e w dowolnej chwili wej± do stanu gotowy i wysªa komunikat. Jest to równoznaczne z jego odpowiedzi na komunikat koordynatora o przygotowaniu si. Ka»dy proces mo»e spontanicznie wej± do stanu anulowany je±li byª w stanie pracuj cy, a koordynator mo»e wej± do stanu anulowany, je±li nie byª w stanie zatwierdzony. Kiedy koordynator anuluje transakcje, wysyªa informacje do wszystkich procesów, które po otrzymaniu wiadomo±ci zmieniaj stan na anulowany Bª dy W protokole zatwierdzania transakcji, je±li jeden b d¹ wi cej procesów napotka bª d, transakcja zazwyczaj jest przerywana. W 2PC, je±li koordynator nie otrzyma wiadomo±ci o gotowo±ci od którego± uczestnika wystarczaj co szybko, anuluje transakcje i informuje o tym pozostaªe procesy. Zauwa»my,»e bª d koordynatora mo»e spowodowa zablokowanie protokoªu zanim koordynator zostanie naprawiony, b d¹ wybrany nowy. W szczególno±ci, gdy bª d nast pi po tym jak wszyscy uczestnicy potwierdzili przej±cie do stanu gotowy, wówczas»aden z nich nie jest w stanie stwierdzi czy koordynator zatwierdziª czy anulowaª transakcj. Nieblokuj cy protokóª zatwierdzania to taki, w którym bª d jednego procesu nie stoi na przeszkodzie w zdecydowaniu przez pozostaªe czy transakcja jest zapisana czy anulowana. Powstaªo kilka takich protokoªów, a cz ± z nich zostaªa zaimplementowana. Ich autorzy próbuj zazwyczaj naprawi 2PC poprzez wybór innego koordynatora w sytuacji wyst pienia bª du u aktualnego. Jednak»aden z nich nie proponuje kompletnego algorytmu, który za- 14

17 pewni wszystkie wymagania poprawno±ci. Dla przykªadu, w bardzo znanej publikacji na temat nieblokuj cego zatwierdzania [Bern87] brakuje wyja±nienia co proces powinien zrobi, je±li otrzyma wiadomo±ci od dwóch innych procesów, twierdz cych,»e s koordynatorem. Zapewnienie,»e taka sytuacja nie nast pi jest problemem równie trudnym jak implementacja protokoªu zatwierdzania transakcji. Inne podej±cie zostaªo zaprezentowane w pracy [Gray06]. Autorzy prezentuj Paxus Commit - protokóª, który u»ywa wielu koordynatorów i jest nieblokuj cy, je±li wi kszo± z nich pracuje. Idea algorytmu wywodzi si od problemu jednomy±lno±ci w programowaniu rozproszonym, dotyczy on zbioru procesów uzgodniaj cych pewn warto± (patrz poz. [Dwor88]). Rozwi zaniem jest algorytm asynchroniczny Paxos (patrz poz. [DePr97]). Z jego wykorzystaniem autorzy skonstruowali protokóª zatwierdzania transakcji, a 2PC okazuje si jego zdegenerowanym przypadkiem u»ywaj cym jednego koordynatora, nieblokuj cym si je±li ten pracuje. W teorii systemów rozproszonych istniej wyniki wskazuj ce,»e zatwierdzanie transakcji jest trudniejsze ni» problem jednomy±lno±ci (patrz poz. [Guer95]). Bazuj one jednak na silniejszej denicji zatwierdzania transakcji. Mówi ona,»e transakcja powinna by zatwierdzona, je±li wszyscy uczestnicy s bezbª dni i weszli do stanu gotowy, nawet je±li wyst piªy nieprzewidywalne opó¹nienia poª czenia. Jednak zaªo»yli±my na pocz tku,»e wymaganie nietrywialno±ci, musi by speªnione jedynie przy dodatkowym warunku nieblokowalno±ci, czyli, odwrotnie w stosunku do silniejszej denicji, wszystkie wiadomo±ci s dostarczane w jakim± znanym limicie czasu. Silniejsza denicja zatwierdzania transakcji nie jest implementowalna w typowych systemach transakcyjnych, je±li przypadkowe opó¹nienia musz by tolerowane. Narz dzia Pierwsze rozproszone bazy danych powstaªy na pocz tku lat 80-tych. System R* (patrz poz. [Moha86]) byª rozproszonym rozszerzeniem Systemu-R. Inne wpªywowe systemy transakcyjne to: Camelot, pó¹niej znany jako Encina (patrz poz. [Eppi91]) oraz UNITS (Unix Transaction System), pó¹niej znany jako Tuxedo (patrz poz. [Andr96]). Zarówno Encina jak i Tuxedo staªy si produktami, które s u»ywane do dzi±. Najbardziej wpªywowy na rozwój rozproszonych transakcji byª model X/Open Distributed Transaction Processing (X/Open DTP)(patrz poz. [XOpen96]). Jest to architektura programistyczna zapewniaj ca wielu aplikacjom dost p do wspóªdzielonych zasobów udost pnianych przez wielu zarz dców zasobów (np. bazy danych) i pozwalaj ca, aby ich praca byªa koordynowana poprzez globaln transakcj. Model X/Open DTP jest uwa»any jako referencyjna implementacja protokoªu 2PC. 15

18 Transakcje zagnie»d»one Koncepcja transakcji zagnie»d»onych zaprezentowano w [Moss85]. Motywacj do jej powstania byªo umo»liwienie wspóªbie»no±ci w obr bie transakcji oraz potrzeba wi kszej ziarnisto±ci przy deniowaniu atomowo±ci. Pomysª polega na tym, aby transakcja skªadaªa si z podtransakcji w hierarchiczny sposób tworz c drzewo podtransakcji. Podstawowymi poj ciami s : korze«gªówna transakcja li± podtransakcja nie posiadaj ce wªasnych podtransakcji dziecko podtransakcja pewnej transakcji potomek dziecko - rekurencyjnie rodzic nadtransakcja dla pewnej transakcji przodek rodzic - rekurencyjnie Ka»da podtransakcja mo»e skªada si z kolejnych podtransakcji, lecz tylko li±cie wykonuj operacje na bazie danych. Pozostaªe transakcje w strukturze funkcjonuj jako koordynatorzy. Korze«sªu»y jako granica obejmuj ca wszystkie cz stkowe podtransakcje oraz posiada wszystkie wªasno±ci tradycyjnej transakcji ACID. Caªe drzewo transakcji jest atomowe, szeregowalne oraz odizolowane od innych drzew (transakcji zagnie»d»onych). Dziecko mo»e si rozpocz dopiero po rozpocz ciu si rodzica, a rodzic mo»e zosta zatwierdzony dopiero kiedy wszystkie jego dzieci zostan zako«czone. Ka»da podtransakcja jest atomowa, wi c mo»e zosta anulowana niezale»nie od swojego rodzica. W drzewiastej strukturze mo»liwe jest wspóªbie»ne wykonywanie podtransakcji, o ile nie blokuj si one wzajemnie. Je±li transakcja jest przerywana, wszyscy jej potomkowie musz zosta przerwani. W przypadku, gdy niektóre zostaªy ju» zatwierdzone, zmiany musz zosta wycofane tak, jakby podtransakcje nie zostaªy wykonane. Je±li anulowanie nast piªo w podtransakcji (±wiadomie lub przez bª d), rodzic nie musi automatycznie wykonywa anulowania. Mo»e spróbowa wykona akcje ratunkow : 1. powtórzy podtransakcj, je±li jest prawdopodobie«stwo,»e si powiedzie 2. uruchomi awaryjn podtransakcj do wykonania alternatywnych kroków 3. przerwa, je±li»aden z powy»szych nie mo»e zosta wykonany Dokªadniejszy opis mechanizmów odzyskiwania w transakcjach zagnie»d»onych mo»na znale¹ w [WarRee93]. Kiedy jednak podtransakcja si powiedzie i zatwierdzi, wszystkie zasoby do których miaªa dost p s automatycznie dziedziczone przez rodzica, aby ten mógª przekaza je do kolejnych podtransakcji, b d¹ do rodzica kiedy sam zostanie zatwierdzony. Konikty w dost pie do zasobów mog zaistnie jedynie przy podtransakcjach znajduj cych si w innych gaª ziach drzewa. Korzy±ci Transakcje zagnie»d»one posiadaj trzy gªówne zalety: modularyzacja ka»d skomplikowan transakcj mo»na rozªo»y na proste podtransakcje tworz ce hierarchi 16

19 odtwarzalno± mo»liwo± implementowania odtwarzania na bardziej szczegóªowym poziomie (podtransakcje, a nie caª gªówna transakcja) wspóªbie»no± kontrolowane wspóªbie»ne wykonanie bezkoniktowych podtransakcji Ten model zapewnia osªabione wªasno±ci ACID - korze«posiada tradycyjne wªasno±ci, podtransakcje gwarantuj jedynie atomowo± i izolacj. Podsumowuj c wªasno±ci tego modelu: Ka»de dziecko widzi cz ±ciowe wyniki swoich przodków, oraz wyniki wszystkich innych zatwierdzonych transakcji. Przy zatwierdzeniach podtransakcji stan bazy danych ulega zmianie przez co dane mog nie by spójne, mimo,»e ko«cowy wynik gªównej transakcji mo»e by spójny. Dziecko mo»e utrwali swój wynik w systemie dopiero kiedy rodzic zostanie zatwierdzony. Dopiero zatwierdzenie gªównej transakcji skutkuje zapisaniem danych do systemu. Atomowo± dotyczy ka»dej podtransakcji niezale»nie. Niepowodzenie jednej z nich nie oznacza przerwania rodzica. Dalszy rozwój Idea transakcji zagnie»d»onych przyj ªa si bardzo dobrze, a w pó¹niejszych latach bazowaªy na niej inne modele. W [Weik92] autorzy przedstawili transakcje wielopoziomowe (warstwowe) oraz ich uogólnienie: otwarte transakcje zagnie»d»one. Gªówne zmiany w modelu to (wi cej w poz. [Lewi02]): ka»dej transakcji w drzewie przypisany zostaje poziom w zale»no±ci od architektury systemu. Wszystkie li±cie znajduj si na jednym najni»szym poziomie. podtransakcje wykonuj si sekwencyjnie, a nie wspóªbie»nie. udost pnienie operacji przedzatwierdzenie(ang. pre-commit), która pozwala na zatwierdzenie i utrwalenie podtransakcji przed zatwierdzeniem rodzica. Oznacza to,»e zmiany nie s mo»liwe do odwrócenia w tradycyjny sposób. Kiedy rodzic wykonuje odwrócenie, musi u»y specjalnej transakcji kompensacji, która musi semantycznie odwróci zmiany, a nie po prostu przywróci stan (TODO: ref do SAG). Otwarte transakcje zagnie»d»one ró»ni si od powy»szego modelu tym,»e struktura drzewa nie jest ju» ograniczona do warstw i li±cie mog znajdowa si na ró»nych poziomach. Tradycyjne zagnie»d»one transakcje zapewniaj izolacj na globalnym poziomie, po±rednie wyniki zatwierdzonych podtransakcji nie s widoczne dla wspóªbie»nie wykonywanych podtransakcji. W nowym modelu izolacja zostaje osªabiona, w celu zwi kszenia wspóªbie»no±ci. Transakcje zagnie»d»one s modelem o du»ej sile wyrazu i s powi zane z koncepcj modularyzacji w in»ynierii oprogramowania (patrz poz. [Gray93]). 17

20 OLTP Wi kszo± komercyjnych systemów niededykowanych baz danych u»ywa wy»ej wymienionych mechanizmów, które optymalizowano do wykonywania operacji biznesowych typowych w latach 80-tych i 90-tych. Funkcjonalno± byªa do± prosta, np. zapisanie zamówienia w magazynie, b d¹ wpªaty w banku. Aplikacje tego typu (zwane OLTP) byªy chlebem powszednim w przedsi biorstwach w tamtych czasach. Jednak»e od kilkunastu lat, wraz z rozwojem Internetu, mechanizmy te okazaªy si niewystarczaj ce do nowych wymaga«biznesowych takich jak integracja aplikacji przedsi biorstwa(ang. EAI) oraz integracji przedsi biorstwoprzedsi biorstwo(ang. B2Bi). Nowe aplikacje wyró»nia jedna wa»na cecha: dziaªania(aktywno±ci), które s przez nie automatyzowane trwaj dªugo (od kilku sekund nawet do kilku miesi cy), poniewa» opieraj si na wspóªpracy wielu uczestników oraz cz sto wymagaj interakcji z czªowiekiem. Blokowanie danych na tak dªugi czas jest nieefektywne, gdy» mo»e opó¹ni inne wspóªbie»ne zadania na kilka dni b d¹ dªu»ej. Innym ograniczeniem aplikacji OLTP jest to,»e transakcje oddziaªuj w ramach jednej spójnej jednostki kontroli 4. W przeciwie«stwie do starego modelu, nowoczesne aplikacje dla przedsi biorstw ªami te reguªy, np. jeden proces mo»e anga»owa magazyn, oddziaª logistyczny oraz ksi gowo±. W B2Bi proces cz sto wymaga uczestnictwa ró»nych rm, które mog by wspóªpracownikami jak i konkurencj. Tutaj blokowanie obiektów staje si niedopuszczalne a przewa»nie nieosi galne, gdy»»adne przedsi biorstwo nie pozwoli swojej konkurencji na zablokowanie wªasnych danych. Daje to bardzo ªatw mo»liwo± wykonywania ataków odmowy usªugi(ang. Denial of Service). 4 na pojedynczej bazie danych, pó¹niej rozproszone na kilka instancji, ale zarz dzanych przez jeden system zarz dzania 18

21 1.2. Dªugotrwaªe zadania L-R Dªogotrwaªy Aby zrozumie koncepcj dªugotrwaªych (ang. L-R - long-running) transakcji, zwró my uwag na ich czas»ycia. Dªugo±»ycia transakcji okre±lmy jako minimaln ilo± czasu przez jaki transakcja jest otwarta. Transakcja krótkotrwaªa mo»e zacz si i zako«czy w ci gu kilku sekund. Dªugotrwaªa za± mo»e»y przez minuty, godziny a nawet dni, w zale»no±ci od wymaga«biznesowych i u»ytych technologii. Dodatkowo, ka»da transakcja otwierana na niezdeniowany okres czasu równie» kwalikuje si do miana dªugotrwaªej. Krótkotrwaªe transakcje s ªatwe do obsªu»enia, poniewa», by zachowa wªasno±ci ACID, zasoby przez nie u»ywane mog by po prostu zablokowane na caªy czas trwania. Podobna strategia nie mo»e by zastosowana przy dªugotrwaªych transakcjach. Blokowanie zasobów na dªugi czas mo»e powa»nie zmniejsza wydajno± aplikacji z powodu dªugich czasów oczekiwania oraz zakleszczenia(ang. deadlock). Z dªugotrwaªymi transakcjami mamy doczynienia m.in.: kiedy wykonujemy transakcj z ogromn ilo±ci zapyta«, gdzie bª d jednego z nich mo»e spowodowa bª d caªej transakcji, który b dzie wymagaª odwrócenia do ostatnio zapisanego stanu bazy danych. Taki scenariusz mo»e mie miejsce równie» przy pracy na kilku bazach danych. przy przetwarzaniu wsadowym (ang. batch processing), które zazwyczaj wykonuje si dªugo, zazwyczaj kilka godzin, np. regularna kopia wa»nych danych. W wi kszo±ci przypadków taki proces wykonuje jedynie odczyt danych ¹ródªowych, wi c bªedy nie powinny wyst pi. Lecz w tych rzadkich przypadkach, kiedy dochodzi do modykacji danych, bª d b dzie skutkowaª równie dªugim procesem odwracania. w czasie pseudoasynchronicznych aktywno±ci u»ywaj cych transakcji. S one cz sto wykorzystywane we wspóªbie»nych zadaniach przy komunikacji. Obsªuga odwracania jest bardzo skomplikowana, gdy» mo»e wymaga obsªu»enia niezale»nych, czasami nieznaj cych si procesów. (TODO: wiecej przy usªugach sieciowych) Dlaczego nie transakcje Dªugotrwaªe transakcje s cz sto u»ywane do modelowania rzeczywistych transakcji biznesowych. Samo poj cie transakcji cz sto kojarzy si z transakcjami ACID. Dªugotrwaªe transakcje maj inna semantyk oraz mechanizmy dziaªania, np. rzadziej korzystaj z blokad. W wielu publikacjach jako przykªad prezentuj cy dªugotrwaª transakcj przedstawiane jest organizowanie podró»y. Przyjrzyjmy si takiemu wariantowi: 1. Decyduj si na podró» do Hiszpanii za dwa miesi ce i zamawiam bilet lotniczy i miejsce w hotelu. 2. Hotel, w którym mam rezerwacj, osi ga pewien próg go±ci, powy»ej którego postanawia zwi kszy zatrudnienie na ten okres oraz zamówi wi cej jedzenia. 3. Zamówienie zostaje wysªane do hurtowni. 4. Hurtownia zamawia transport w rmie przewozowej. 19

22 5. Firma przewozowa rezerwuje terminy, a je±li w danym okresie jest du»y popyt to postanawia zainwestowa w nowy samochód dostawczy po tygodniu okazuje si,»e mój wniosek urlopowy zostaª odrzucony z powodu niedotrzymywania terminów w aktualnym projekcie i urlop przesuwa si o 2 tygodnie, wi c staram si przesun wyjazd. Przesuni cie wyjazdu b dzie w najlepszym przypadku wi zaªo si ze strat pewnej kwoty, która zostanie potr cona jako rekompensata. Kupna nowego samochodu nie da si ju» cofn (i by mo»e nie ma potrzeby), a byª to cz ±ciowy efekt naszej decyzji, któr chcemy wycofa. U»ycie transakcji ACID w takiej sytuacji i jej odwrócenie jest niewykonalne. Okre±lenie tego scenariusza jako transakcji mo»e wi c by myl ce, dlatego w dalszej cz ±ci pracy, dla lepszego rozró»nienia, b d u»ywaª okre±le«: zadanie, proces, itp. Problemy dotychczasowych modeli Jedn z najwi kszych przeszkód dla dotychczasowych modeli jest koordynowanie ró»nych technologicznie usªug w jedn dªugotrwaª jednostk pracy, która musi zachowywa si przewidywalnie. Transakcja taka musi zachowywa integralno± biznesow danych w wielu domenach, a wymagania s cz sto okre±lane na poziomie biznesowym a nie bazodanowym. Wªa±ciwe koordynowanie transakcji i spójno±ci swoich danych biznesowych jest podstaw w poprawnym dziaªaniu przedsi biorstwa. Zªo»one aplikacje biznesowe musz wspóªdziaªa z wieloma usªugami w ró»nych moduªach i warstwach, np. autentykacja, wymiana danych, aplikacje wspomagaj ce podejmowanie decyzji (ang. EIS - Executive Information System). Aplikacje mog by powi zane silnie (np. komunikacja synchroniczna) lu¹no (np. komunikacja komunikatami). Czas trwania mo»e by dªugi, wi c prawdopodobie«stwo pora»ki wzrasta. Dodatkowo w caªe zadanie mo»e by wª czony czynnik ludzki, np. przeczytanie maila przez dyrektora i potwierdzenie. Dziaªa«ludzi nie da si przewidzie : przerwy na kaw, wakacje, ±mier, itp. - wszystko mo»e zakªóci oryginalny proces. W tych powodów wymagania odno±nie dªugotrwaªych zada«zostaj zmienione w stosunku do tradycyjnych transakcji, np.: Jedna z aplikacji mo»e napotka bª d, ale caªe zadanie powinno si poprawnie zako«czy. W przypadku bª du caªego procesu, stan mo»e zosta odwrócony do jakiego± miejsca po±redniego, nie za± do samego pocz tku. Identyczno± stanu jest rozumiana w kategoriach biznesowych: po kupieniu biletu i anulowaniu lotu, odwróceniem b dzie zwolnienie miejsca w samolocie, zwrot zapªaty za lot, ale zapewne pomniejszony o kar za wycofanie si. Niektóre wyniki po±rednie musz by widoczne zanim caªe zadanie si zako«czy. Powy»sze wymagania niemal dyskwalikuj wªasno± atomowo±ci wykonywanego zadania. Praca mo»e by zatwierdzana w trakcie wykonywania zadania, a po bª dzie wynik musi zosta odwrócony tak, aby byª zgodny z reguªami biznesowymi. Z tego powodu obsªuga sytuacji bª dnych musi by bardzo dobrze zaprojektowana, gdy» gotowe mechanizmy nie istniej. Przez wiele lat nie powstaªo równie» rozwi zanie problemu izolacji przy dªugich okresach czasu. Algorytmy kontroli wspóªbie»no±ci pracuj ce przez dªugi okres zazwyczaj zaliczaj si do jednej z dwóch grup: pesymistyczne i optymistyczne. Pierwsza grupa zapewnia szeregowalno± transakcji poprzez blokowanie dzielonych zasobów. Blokady s zakªadane na caªy czas trwania transakcji, a inne transakcje oczekuj ce na ten sam zasób s zatrzymane zanim blokada nie zostanie zdj ta. Je±li transakcja trzyma blokad przed dªugi okres, to praca 20

23 wspóªbie»na jest niemo»liwa. Przy drugiej strategii kontroli wspóªbie»no±ci, zakªada si optymistycznie,»e dane u»ywane przez transakcje nie b d zmieniane. Przez zatwierdzeniem nast puje sprawdzenie wyniku i je±li dane okazaªy si niepoprawne (np. zmieniªy si w mi dzyczasie), to nast puje odwrócenie. Przy krótkich transakcjach taki mechanizm, okazuje si bardzo u»yteczny i cz sto pozwala na zwi kszenie wspóªbie»no±ci przy odczytach danych. Niestety prawdopodobie«stwo odwrócenia wzrasta z wydªu»aniem si»ycia transakcji. Z tych powodów wªasno±ci ACID powinny zosta osªabione. Dªugotrwaªe zadania musz zapewnia spójno± danych oraz ich trwaªo±, ale niekoniecznie atomowo± i izolacj w rozumieniu tradycyjnych transakcji Transakcje ªa«cuchowe W tych sytuacjach sprawdza si inne rozbicie transakcji. Transakcje ªa«cuchowe dekomponuj dªug transakcj na mniejsze, wykonywane sekwencyjnie. Zgodnie z [Gray93], pomysª pochodzi z produktów: IBM Information Management System (IMS) oraz bazy danych HP Allbase. Idea jest wariantem mechanizmu punktu zapisu, gdzie podtransakcja b d ca w ªa«cuchu odpowiada przedziaªom pomi dzy dwoma punktami. Istotn ró»nic jest fakt,»e podtransakcja sama w sobie jest atomowa, podczas kiedy przedziaª jest cz ±ci atomowej transakcji. W ªa«cuchu, zatwierdzana podtransakcja wyzwala nast pn, jedna po drugiej, dopóki caªa transakcja ªa«cuchowa nie zostanie zatwierdzona. Atomowo± i izolacja nie s ju» gwarantowane dla caªego ªa«cucha. W przypadku napotkania bª du, wyniki wszystkich poprzednio zatwierdzonych transakcji zostaªy ju» utrwalone, wi c jedynie wyniki aktualnie wykonywanej transakcji s anulowane. W ten sposób odwracanie transakcji mo»e jedynie przywróci system do stanu z pocz tku ostatnio wykonywanej podtransakcji, z pozostaªymi nale»y sobie radzi samemu. Dodatkowym problemem jest fakt,»e cz ±ciowe wyniki po utrwaleniu mógªy zosta wykorzystane przy wykonywaniu innych wspóªbie»nych transakcji Saga Bazuj c na idei transakcji ªa«cuchowych w pracy [Garc87] autorzy przedstawiaj sag - kombinacj mechanizmu kompensacji i odwracania. Model ten staª si podstaw wielu pó¹niejszych narz dzi obsªugi zaawansowanych transakcji. Podtransakcje Tak jak w transakcjach ªa«cuchowych, pomysª polega na rozbiciu dªugotrwaªej transakcji na sekwencje mniejszych, grupuj cych powi zane operacje. Ka»da z nich zachowuje wªasno±ci ACID, natomiast sama saga nie. Podtransakcje mog by wykonywane w przeplocie podtransakcjami z innych sag (patrz rys. 1.3). Kompensacje Na poziomie ka»dej podtransakcji, po bª dzie mo»e ona zosta odwrócona w tradycyjny sposób. Jednak poprzednie transakcje w sekwencji sagi, zostaªy ju» zatwierdzone i jest za pó¹no na ich odwrócenie. W momencie kiedy drug, b d¹ kolejn podtransakcj sagi napotka bª d, saga zostanie w po±rednim stanie, w którym cz ± pracy zostaªa ju» wykonana. W tych sytuacjach u»yteczny staje si nowy mechanizm - kompensacje. Programista powinien dla ka»dej operacji zaprojektowa odpowiedni kompensator, który musi wykona operacje odwracaj ce konkretn podtransakcj. Przy dodawaniu krotki do bazy danych, kompensator 21

24 Rysunek 1.3: Przeplot transakcji we wspóªbie»nych sagach. mo»e j usuwa ; dla operacji wpªaty na konto, kompensator mógªby pobra z konta t sam kwot ; a dla operacji wykonuj cej tylko odczyty danych, wykona si mo»e pusty kompensator. Mechanizm ten powinien naprawi równie» efekty uboczne dziaªania oryginalnego zadania, np. je±li po sprzeda»y dla klienta zostaªa naliczona premia, to kompensacja anulowanie sprzeda»y powinna równie» przeliczy premi. Odzyskiwanie wstecz Sag S podzielon na podtransakcj mo»emy zapisa jako S = (T 1 ; T 2 ;...T n ), gdzie ka»de T i oznacza podtransakcj. Dla ka»dej podtransakcji T i, poza ostatni (0<i<n), powinien by zdeniowany kompensator C i, który anuluje efekty jej dziaªania. Kiedy podtransakcja napotka bª d i nie mo»e by naprawiona (np. powtórzona), jest przerwana i odwracana. Nast pnie dla ju» wykonanych podtransakcji w sadze, wykonywane s kompensacje w kolejno±ci odwrotnej do kolejno±ci odpowiadaj cych transakcji (patrz rys. 1.4). Wynikiem wykonania sagi S mo»e by : T 1 ; T 2 ;...T n kiedy saga wykonaªa zamierzone zadanie oraz zostaje zatwierdzona T 1 ; T 2 ;...T k ; C k 1 ; C k 1...C 1 (k < n) w sytuacji, gdy podtransakcja T k jest bª dna i zostaje przerwana, oraz wyniki dziaªania jej oraz poprzednich transakcji zostaj odwrócone. Stan po odwróceniu nie musi by jednak identyczny do stanu przed rozpocz ciem sagi, jest jednak równowa»ny biznesowo, poprzez co saga zachowuje biznesowo rozumian atomowo±. Podobnie jak transakcje ªa«cuchowe, sagi mog by przeplatane z innymi wspóªbie»nymi 22

25 Rysunek 1.4: Kompensacja przy bª dzie podtransakcji 4. transakcjami, wi c izolacja nie jest zapewniana. Oznacza to,»e spójno± danych nie jest realizowana poprzez szeregowalno±, a w najwi kszym stopniu zale»y od poprawnych kompensacji. Odzyskiwanie w przód Przedstawiony wy»ej mechanizm nie jest jedynym uªatwieniem obsªugi bª dów. Model ten wprowadza równie» odzyskiwanie w przód, które jest realizowane poprzez punkty bezpiecze«- stwa. Jest to rozwi zanie analogiczne to tego z transakcji ACID, z t ró»nic,»e tutaj mo»na ich u»ywa do rozdzielenia kolejnych podtransakcji i utrwalenia stanu sagi. Kiedy podtransakcja napotka bª d, saga mo»e zosta odtworzona do okre±lonego punktu i wykona si ponownie. Je±li mi dzy tym miejscem, a odwracan podtransakcj, wykonaªy si podtransakcje, s one ju» zatwierdzone, wi c wykonywana jest na nich kompensacja (patrz rys. 1.5). Oczywistym problemem tego podej±cia jest to,»e saga mo»e si nie zako«czy, wchodz c w niesko«czon p tl. Wyj±ciem mo»e by aplikacyjne zliczanie wykonanych powtórze«, a nast pnie przerwanie cyklu poprzez wykonanie alternatywnych operacji. Wprowadza to jednak kolejny poziom zªo»ono±ci obsªugi sytuacji niepoprawnych, tak wi c odzyskiwanie wstecz ª cznie z odzyskiwaniem w przód, powinny by u»ywane bardzo przemy±lanie. Warianty Model sag doczekaª si kilku rozszerze«(patrz poz. [Chry92]), które wprowadzaªy wi cej mo»liwo±ci odzyskiwania, przy zachowaniu podstawowych zaªo»e«o strukturze: sagi zatwierdzane nawet, je±li niektóre maªo znacz ce podtransakcje(np. zapisanie logu operacji) zostaªy przerwane. sagi zawieraj ce podtransakcje, których nie trzeba kompensowa. sagi skªadaj ce si z zagnie»d»onych sag. 23

26 Rysunek 1.5: Odzyskiwanie w przód od punktu zapisu po podtransakcji 1. sagi zawieraj ce awaryjne podtransakcje, które wykonuj alternatywne operacje (zaczynaj wtedy przypomina sieci przepªywu pracy). Podsumowanie Saga stopniowo ukazuje swoje cz ±ciowe wyniki dla innych transakcji, czyli nie posiada wªasno±ci izolacji. Oznacza to,»e ich zastosowanie jest ograniczone. Sagi mog by bez problemów stosowane w sytuacjach, gdzie nie ma du»ej potrzeby izolacji. Ma to miejsce, kiedy podtransakcje ró»nych sag operuj na ograniczonym (rozª cznym) zbiorze danych, b d¹ wykonuj ograniczony zakres operacji(np. same odczyty), przez co automatycznie uzyskiwana jest izolacja ich pracy. W innych przypadkach pomocny b dzie mechanizm kompensacji, którego saga u»ywa, aby zapewnia biznesow atomowo± przez dªugi czas. Po bª dzie transakcji T k, poprawna kompensacja C k powinna sprowadzi baz danych do takiego stanu, na którym mo»na ponownie wykona T k. Je±li si to powiedzie, to wynik tego wykonania b dzie biznesowo identyczny do sytuacji, gdyby pierwsza transakcja T k wykonaªa si bezbª dnie (T k ; C k ; T k == T k ). Niestety nie wszystkie podtransakcje s kompensowalne bez potencjalnej straty spójno±ci. Je±li nie jest mo»liwe zdeniowanie poprawnego kompensatora dla jakiej± operacji, to saga nie jest odpowiednim modelem dla danego dªugotrwaªego zadania. Kolejnym problemem jest konieczno± kaskadowania kompensacji. Mo»e to mie miejsce w momencie, kiedy wyniki ko«cowe kompensowanej podtransakcji, byªy wcze±niej widziane przez inn wspóªbie»n transakcj. Je±li opieraªa si ona na tych wynikach przy wykonywaniu swoich operacji, to mo»e by konieczne kompensowanie równie» niej. Niestety wykrycie takich transakcji mo»e by trudne, poniewa» nie istnieje prosty mechanizm na ich odnalezienie. 24

Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych.

Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych. Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Sebastian Tomaszewski Nr albumu: 219712 Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych. Praca magisterska na

Bardziej szczegółowo

Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych.

Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych. Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Sebastian Tomaszewski Nr albumu: 219712 Obsªuga bª dów w procesach automatycznej konsolidacji rachunków bankowych. Praca magisterska na

Bardziej szczegółowo

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska MiASI Modelowanie systemów informatycznych Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Analiza systemu informatycznego Poziomy analizy 2

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows SVN - wprowadzenie Adam Krechowicz 16 lutego 2013 1 Wprowadzenie do SVN SVN SubVersion jest systemem kontroli wersji pozwalaj cym wielu u»ytkownikom na swobodne wspóªdzielenie tych samych plików. Pozwala

Bardziej szczegółowo

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania

Bardziej szczegółowo

Regulamin Usªugi VPS

Regulamin Usªugi VPS Regulamin Usªugi VPS 1 (Poj cia) Poj cia u»ywane w niniejszym Regulaminie maj znaczenia jak okre±lone w Ÿ1 Regulaminu Ogólnego Usªug Auth.pl Sp. z o.o. oraz dodatkowo jak ni»ej: Wirtualny Serwer Prywatny

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

przewidywania zapotrzebowania na moc elektryczn

przewidywania zapotrzebowania na moc elektryczn do Wykorzystanie do na moc elektryczn Instytut Techniki Cieplnej Politechnika Warszawska Slide 1 of 20 do Coraz bardziej popularne staj si zagadnienia zwi zane z prac ¹ródªa energii elektrycznej (i cieplnej)

Bardziej szczegółowo

Propozycja integracji elementów ±wiata gry przy u»yciu drzew zachowa«

Propozycja integracji elementów ±wiata gry przy u»yciu drzew zachowa« Praca cz ±ciowo sponsorowana przez Ministerstwo Nauki i Szkolnictwa Wy»szego, grant nr N N519 172337, Integracyjna metoda wytwarzania aplikacji rozproszonych o wysokich wymaganiach wiarygodno±ciowych.

Bardziej szczegółowo

Subversion - jak dziaªa

Subversion - jak dziaªa - jak dziaªa Krótka instrukcja obsªugi lstelmach@gmail.com Stelmisoft 12/07/2010 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 Spis tre±ci Czym jest Czym jest repozytorium 1 Czym jest Czym jest repozytorium

Bardziej szczegółowo

Listy i operacje pytania

Listy i operacje pytania Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik

Bardziej szczegółowo

Lekcja 12 - POMOCNICY

Lekcja 12 - POMOCNICY Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.

Bardziej szczegółowo

Lab. 02: Algorytm Schrage

Lab. 02: Algorytm Schrage Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z

Bardziej szczegółowo

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu ➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje

Bardziej szczegółowo

Metody numeryczne i statystyka dla in»ynierów

Metody numeryczne i statystyka dla in»ynierów Kierunek: Automatyka i Robotyka, II rok Wprowadzenie PWSZ Gªogów, 2009 Plan wykªadów Wprowadzenie, podanie zagadnie«, poj cie metody numerycznej i algorytmu numerycznego, obszar zainteresowa«i stosowalno±ci

Bardziej szczegółowo

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska MiASI Modelowanie analityczne Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Czym jest modelowanie analityczne? 2 Podstawowe kategorie poj ciowe

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................

Bardziej szczegółowo

Podstawy modelowania w j zyku UML

Podstawy modelowania w j zyku UML Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem strukturalnym,

Bardziej szczegółowo

EDUKARIS - O±rodek Ksztaªcenia

EDUKARIS - O±rodek Ksztaªcenia - O±rodek Ksztaªcenia Zabrania si kopiowania i rozpowszechniania niniejszego regulaminu przez inne podmioty oraz wykorzystywania go w dziaªalno±ci innych podmiotów. Autor regulaminu zastrzega do niego

Bardziej szczegółowo

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 Metody iteracyjne rozwi zywania równania f(x)=0 1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0

Bardziej szczegółowo

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1 J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017 i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_

Bardziej szczegółowo

Podstawy modelowania w j zyku UML

Podstawy modelowania w j zyku UML Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 2 Zwi zki mi dzy klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang.

Bardziej szczegółowo

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Projekt konceptualny z Baz Danych Centralny system zarz dzania salami na AGH Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH" Autorzy: Adrian Stanula Grzegorz Stopa Mariusz Sasko Data: 14 XI 2008 rok Spis tre±ci 1 Sformuªowanie zadania projektowego.

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

O pewnym zadaniu olimpijskim

O pewnym zadaniu olimpijskim O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja

Bardziej szczegółowo

Metodydowodzenia twierdzeń

Metodydowodzenia twierdzeń 1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych

Bardziej szczegółowo

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows SVN - wprowadzenie Adam Krechowicz 24 czerwca 2018 1 Wprowadzenie do SVN SVN SubVersion jest systemem kontroli wersji pozwalaj cym wielu u»ytkownikom na swobodne wspóªdzielenie tych samych plików. Pozwala

Bardziej szczegółowo

System kontroli wersji SVN

System kontroli wersji SVN System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,

Bardziej szczegółowo

YapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007

YapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007 YapS Plan testów Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007 1 Spis tre±ci 1 Wprowadzenie 3 1.1................................. 3 1.2 Zakres............................... 3 2

Bardziej szczegółowo

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Wst p do metod numerycznych Dawid Rasaªa January 9, 2012 Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Czym s metody numeryczne? Istota metod numerycznych Metody numeryczne s

Bardziej szczegółowo

ZAŠ CZNIK DANYCH TECHNICZNYCH

ZAŠ CZNIK DANYCH TECHNICZNYCH Transmitel Sp. z o.o. ul. Solarza 9a 35-118 Rzeszów tel. (17) 850-45-14 fax. (17) 850-45-15 ZAŠ CZNIK DANYCH TECHNICZNYCH dla Umowy ±wiadczenia usªugi dost pu do sieci Internet w Imi : Nazwisko: Zamieszkaªy(a):

Bardziej szczegółowo

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy. 1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja

Bardziej szczegółowo

Chess. Joanna Iwaniuk. 9 marca 2010

Chess. Joanna Iwaniuk. 9 marca 2010 9 marca 2010 Plan prezentacji 1. Co to jest? 2. Jak u»ywa? 3. Prezentacja dziaªania 4. kontrola przeplotów model checking odtwarzanie wadliwego wykonania 5. Ogólna idea Wynik dziaªania Co to jest? program

Bardziej szczegółowo

Edycja geometrii w Solid Edge ST

Edycja geometrii w Solid Edge ST Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.

Bardziej szczegółowo

Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych

Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych Robert Boczek Dawid Ciepli«ski Paweª Bara 19 marca 2009 Outline Technologia w trzech etapach JAVA Oracle Java Server

Bardziej szczegółowo

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego Zdumiewaj cy ±wiat niesko«czono±ci Instytut Matematyki Uniwersytetu Warszawskiego Festiwal Nauki, 20.09.2011 Nasze do±wiadczenia hotelowe Fakt oczywisty Hotel nie przyjmie nowych go±ci, je»eli wszystkie

Bardziej szczegółowo

Baza danych - Access. 2 Budowa bazy danych

Baza danych - Access. 2 Budowa bazy danych Baza danych - Access 1 Baza danych Jest to zbiór danych zapisanych zgodnie z okre±lonymi reguªami. W w»szym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyj tymi dla danego programu

Bardziej szczegółowo

Analiza wydajno±ci serwera openldap

Analiza wydajno±ci serwera openldap Analiza wydajno±ci serwera openldap Autor: Tomasz Kowal 13 listopada 2003 Wst p Jako narz dzie testowe do pomiarów wydajno±ci i oceny konguracji serwera openldap wykorzystano pakiet DirectoryMark w wersji

Bardziej szczegółowo

Rozwi zania klasycznych problemów w Rendezvous

Rozwi zania klasycznych problemów w Rendezvous Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji

Bardziej szczegółowo

POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI PRACA DYPLOMOWA MAGISTERSKA

POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI PRACA DYPLOMOWA MAGISTERSKA POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI Kierunek: Specjalno± : Automatyka i Robotyka (AIR) Robotyka (ARR) PRACA DYPLOMOWA MAGISTERSKA Podatny manipulator planarny - budowa i sterowanie Vulnerable planar

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast

Bardziej szczegółowo

Ukªady równa«liniowych

Ukªady równa«liniowych dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast

Bardziej szczegółowo

Metody dowodzenia twierdze«

Metody dowodzenia twierdze« Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku

Bardziej szczegółowo

Model obiektu w JavaScript

Model obiektu w JavaScript 16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy

Bardziej szczegółowo

Wzorce projektowe strukturalne cz. 1

Wzorce projektowe strukturalne cz. 1 Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter

Bardziej szczegółowo

Bazy danych Transakcje

Bazy danych Transakcje Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:

Bardziej szczegółowo

VinCent Office. Moduł Drukarki Fiskalnej

VinCent Office. Moduł Drukarki Fiskalnej VinCent Office Moduł Drukarki Fiskalnej Wystawienie paragonu. Dla paragonów definiujemy nowy dokument sprzedaży. Ustawiamy dla niego parametry jak podano na poniższym rysunku. W opcjach mamy możliwość

Bardziej szczegółowo

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.

Bardziej szczegółowo

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X. Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór

Bardziej szczegółowo

Konfiguracja historii plików

Konfiguracja historii plików Wielu producentów oprogramowania oferuje zaawansowane rozwiązania do wykonywania kopii zapasowych plików użytkownika czy to na dyskach lokalnych czy w chmurze. Warto jednak zastanowić się czy instalacja

Bardziej szczegółowo

Podstawy Informatyki i Technologii Informacyjnej

Podstawy Informatyki i Technologii Informacyjnej Automatyka i Robotyka, Rok I Wprowadzenie do systemów operacyjnych PWSZ Gªogów, 2009 Denicja System operacyjny (ang. OS, Operating System) oprogramowanie zarz dzaj ce sprz tem komputerowym, tworz ce ±rodowisko

Bardziej szczegółowo

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy. Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta

Bardziej szczegółowo

Wpªyw wdro»enia IPv6 na bezpiecze«stwo sieci

Wpªyw wdro»enia IPv6 na bezpiecze«stwo sieci Wpªyw wdro»enia IPv6 na bezpiecze«stwo sieci Piotr Lewandowski Instytut Informatyki Krzysztof Szczypiorski Instytut Telekomunikacji Politechnika Warszawska 24 marca 2009 Lewandowski, Szczypiorski (pw.edu.pl)

Bardziej szczegółowo

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Bash i algorytmy. Elwira Wachowicz. 20 lutego Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad

Bardziej szczegółowo

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych

Bardziej szczegółowo

Nowości w module: BI, w wersji 9.0

Nowości w module: BI, w wersji 9.0 Nowości w module: BI, w wersji 9.0 Copyright 1997-2009 COMARCH S.A. Spis treści Wstęp... 3 Obszary analityczne... 3 1. Nowa kostka CRM... 3 2. Zmiany w obszarze: Księgowość... 4 3. Analizy Data Mining...

Bardziej szczegółowo

Bazy danych. Joanna Grygiel

Bazy danych. Joanna Grygiel 2008 Spis tre±ci 1 Literatura 2 Wprowadzenie Motywacja Podstawowe denicje Charakterystyka baz danych Zadania SZBD Historia SZBD Kryteria podziaªu baz danych Architektura SBD U»ytkownicy SBD Technologie

Bardziej szczegółowo

Podpi cia 2014/15 na Wydziale MIM

Podpi cia 2014/15 na Wydziale MIM Podpi cia 2014/15 na Wydziale MIM Marcin Engel 13 listopada 2014 1 Wprowadzenie Na Wydziale MIM ju» od wielu lat dziaªa mechanizm podpi. Ka»dy student, który rozlicza etap studiów i chce uzyska wpis na

Bardziej szczegółowo

Lekcja 9 Liczby losowe, zmienne, staªe

Lekcja 9 Liczby losowe, zmienne, staªe Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe

Bardziej szczegółowo

zgubił całą naszą korespondencję Można by tak wymieniać bez bezpieczeństwa, gdyby była wykonana dnia poprzedniego rozwiązałaby niejeden problem.

zgubił całą naszą korespondencję Można by tak wymieniać bez bezpieczeństwa, gdyby była wykonana dnia poprzedniego rozwiązałaby niejeden problem. Zasada działania usługi Business Safe jest prosta. Zainstalowany na Twoim komputerze progra Dlaczego backupować? Któż z nas nie zna smaku tego okropnego uczucia, gdy włączając kompuuter, który jeszcze

Bardziej szczegółowo

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania). Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania). W momencie gdy jesteś studentem lub świeżym absolwentem to znajdujesz się w dobrym momencie, aby rozpocząć planowanie swojej ścieżki

Bardziej szczegółowo

Wzorce projektowe kreacyjne

Wzorce projektowe kreacyjne Wzorce projektowe kreacyjne Krzysztof Ciebiera 14 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawy Opis Ogólny Podstawowe informacje Wzorce kreacyjne sªu» do uabstrakcyjniania procesu tworzenia obiektów. Znaczenie

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

Praca Dyplomowa Magisterska

Praca Dyplomowa Magisterska Internetowa Platform Edukacyjna w Technologii ZOPE Autor: Promotor: Dr in». Adam Doma«ski Politechnika l ska Wydziaª Automatyki, Elektroniki i Informatyki Kierunek Informatyka 22 wrze±nia 2009 Dlaczego

Bardziej szczegółowo

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach 12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa

Bardziej szczegółowo

W zadaniach na procenty wyró»niamy trzy typy czynno±ci: obliczanie, jakim procentem jednej liczby jest druga liczba,

W zadaniach na procenty wyró»niamy trzy typy czynno±ci: obliczanie, jakim procentem jednej liczby jest druga liczba, 2 Procenty W tej lekcji przypomnimy sobie poj cie procentu i zwi zane z nim podstawowe typy zada«. Prosimy o zapoznanie si z regulaminem na ostatniej stronie. 2.1 Poj cie procentu Procent jest to jedna

Bardziej szczegółowo

Zarządzanie Zasobami by CTI. Instrukcja

Zarządzanie Zasobami by CTI. Instrukcja Zarządzanie Zasobami by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja... 4 3. Okno główne programu... 5 3.1. Narzędzia do zarządzania zasobami... 5 3.2. Oś czasu... 7 3.3. Wykres Gantta...

Bardziej szczegółowo

Ekonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Ekonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej wiczenia 13 Metoda ±cie»ki krytycznej Instytut Ekonometrii Zakªad Ekonometrii Stosowanej Plan wicze«1 Przykªad: ubieranie choinki 2 3 Programowanie liniowe w analizie czasowej i czasowo-kosztowej projektu

Bardziej szczegółowo

Zarz dzanie rm. Zasada 2: samoorganizuj ce si zespoªy. Piotr Fulma«ski. March 17, 2015

Zarz dzanie rm. Zasada 2: samoorganizuj ce si zespoªy. Piotr Fulma«ski. March 17, 2015 Zarz dzanie rm Zasada 2: samoorganizuj ce si zespoªy Piotr Fulma«ski Instytut Nauk Ekonomicznych i Informatyki, Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku, Polska March 17, 2015 Table of contents Ludzie

Bardziej szczegółowo

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015 Android Podstawy tworzenia aplikacji Piotr Fulma«ski Instytut Nauk Ekonomicznych i Informatyki, Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku, Polska March 4, 2015 Table of contents Framework Jednym z najwarto±ciowszych

Bardziej szczegółowo

Archiwum Prac Dyplomowych

Archiwum Prac Dyplomowych Archiwum Prac Dyplomowych Instrukcja dla studentów Ogólna procedura przygotowania pracy do obrony w Archiwum Prac Dyplomowych 1. Student rejestruje pracę w dziekanacie tej jednostki uczelni, w której pisana

Bardziej szczegółowo

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013 Przedmiot fakultatywny 15h wykªadu + 15h wicze«7 pa¹dziernika 2013 Zasady zaliczenia 1 wiczenia (ocena): kolokwium, zadania dodatkowe (implementacje algorytmów), praca na wiczeniach. 2 Wykªad (zal): zaliczone

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Spis tre±ci. 1 Wst p... 1 1.1 Zawarto± rozdziaªów... 1 1.2 Projekt LoXiM... 2

Spis tre±ci. 1 Wst p... 1 1.1 Zawarto± rozdziaªów... 1 1.2 Projekt LoXiM... 2 1 Wst p..................................................... 1 1.1 Zawarto± rozdziaªów................................... 1 1.2 Projekt LoXiM........................................ 2 2 Strukturalne obiektowe

Bardziej szczegółowo

Harmonogramowanie projektów Zarządzanie czasem

Harmonogramowanie projektów Zarządzanie czasem Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania

Bardziej szczegółowo

Teoria grafów i jej zastosowania. 1 / 126

Teoria grafów i jej zastosowania. 1 / 126 Teoria grafów i jej zastosowania. 1 / 126 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za pomoc siedmiu mostów, tak jak pokazuje rysunek 2

Bardziej szczegółowo

Sprawozdanie nr 1 Projekt Podstawy In»ynierii Oprogramowania, Wydziaª Elektryczny

Sprawozdanie nr 1 Projekt Podstawy In»ynierii Oprogramowania, Wydziaª Elektryczny Sprawozdanie nr 1 Projekt Podstawy In»ynierii Oprogramowania, Wydziaª Elektryczny Artur Skonecki Mikoªaj Kowalski Marcin Wartecz-Wartecki Prowadz cy: mgr in». Adam Srebro Wygenerowano: 23 marca 2010 Spis

Bardziej szczegółowo

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu

Bardziej szczegółowo

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Marcn Šabudzik AGH-WFiIS, al. Mickiewicza 30, 30-059, Kraków, Polska email: labudzik@ghnet.pl www: http://fatcat.ftj.agh.edu.pl/

Bardziej szczegółowo

1 Bª dy i arytmetyka zmiennopozycyjna

1 Bª dy i arytmetyka zmiennopozycyjna 1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy

Bardziej szczegółowo

Program Google AdSense w Smaker.pl

Program Google AdSense w Smaker.pl Smaker.pl Program Google AdSense w Smaker.pl Pytania i odpowiedzi dotyczące programu Google AdSense Spis treści Czym jest AdSense... 2 Zasady działania AdSense?... 2 Jak AdSense działa w Smakerze?... 3

Bardziej szczegółowo

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie 2: Drogi i Cykle Spis Zagadnie«drogi i cykle spójno± w tym sªaba i silna k-spójno± (wierzchoªkowa i kraw dziowa) dekompozycja grafu na bloki odlegªo±ci w grae i poj cia pochodne grafy Eulera i Hamiltona

Bardziej szczegółowo

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )

Bardziej szczegółowo

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25

Bardziej szczegółowo

Platforma do obsługi zdalnej edukacji

Platforma do obsługi zdalnej edukacji Andrzej Krzyżak. Platforma do obsługi zdalnej edukacji Projekt platformy e-learningowej wykonanej w ramach pracy magisterskiej obejmował stworzenie w pełni funkcjonalnego, a zarazem prostego i intuicyjnego

Bardziej szczegółowo

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa Zamawiający: Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 00-662 Warszawa, ul. Koszykowa 75 Przedmiot zamówienia: Produkcja Interaktywnej gry matematycznej Nr postępowania: WMiNI-39/44/AM/13

Bardziej szczegółowo

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki. Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy

Bardziej szczegółowo

Objaśnienia do Wieloletniej Prognozy Finansowej na lata 2011-2017

Objaśnienia do Wieloletniej Prognozy Finansowej na lata 2011-2017 Załącznik Nr 2 do uchwały Nr V/33/11 Rady Gminy Wilczyn z dnia 21 lutego 2011 r. w sprawie uchwalenia Wieloletniej Prognozy Finansowej na lata 2011-2017 Objaśnienia do Wieloletniej Prognozy Finansowej

Bardziej szczegółowo

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence. Informacje dla kadry zarządzającej Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence. 2010 Cisco i/lub firmy powiązane. Wszelkie prawa zastrzeżone. Ten dokument zawiera

Bardziej szczegółowo