Związki między elementami w modelach systemów – zawieranie, dekompozycja i zależności

Wprowadzenie

Tym razem arty­kuł na temat typów związ­ków mię­dzy ele­men­ta­mi w mode­lach sys­te­mów. Modele tego typu to hie­rar­chicz­na struk­tu­ra mają­ca kil­ka róż­nych per­spek­tyw, pozio­mów abs­trak­cji i pozio­mów dekom­po­zy­cji. Do tego docho­dzą fizycz­ne i logicz­ne powią­za­nia mię­dzy ele­men­ta­mi oraz fakt, że każ­dy sys­tem to okre­ślo­ne mate­rial­ne” ele­men­ty uło­żo­ne w hie­rar­chicz­ną struk­tu­rę. Każdy sys­tem skła­da się ze skoń­czo­nej licz­by ele­men­tów o skoń­czo­nej licz­bie typów. 

Na to wszyst­ko nakła­da się struk­tu­ra wyma­gań na sys­tem, oraz koniecz­ność wyka­za­nia zgod­no­ści pro­jek­tu sys­te­mu z tymi wyma­ga­nia­mi .

Bardzo czę­sto jestem pyta­ny o to, jak orga­ni­zo­wać repo­zy­to­rium pro­jek­tu w narzę­dziu CASE. Jak mode­lo­wać sys­te­my i zarzą­dzać tymi mode­la­mi, wie­dząc, że fizycz­na struk­tu­ra może być tyl­ko jed­na? Ten tekst to uzu­peł­nie­nie arty­ku­łu Modelowanie archi­tek­tu­ry HLD i LLD usług apli­ka­cji – mode­lo­wa­nie pod­sys­te­mów.

UWGA! Nie nale­ży mylić pojęć rela­cja” i zwią­zek”. Relacja to sta­ły zwią­zek mie­dzy czymś a czymś”, jest to poję­cie mate­ma­tycz­ne, sto­so­wa­ne tak­że w teo­rii rela­cyj­nych baz danych (rela­cja to trwa­łem połą­cze­nie tabel). Związek (aso­cja­cja) to poję­cie zna­cze­nio­we z obsza­ru logi­ki i rachun­ku zdań. Fundamentem nota­cji UML jest poję­cie kla­sy­fi­ka­tor” (defi­ni­cja ele­men­tów zbio­ru zorien­to­wa­na na cechy ele­men­tów) i kla­sa” (nazwa tego zbio­ru) oraz instan­cja kla­sy (ele­ment, obiekt zbio­ru) (patrz UML 2.5.1. rozdz. 9 Classification ). Tak więc powie­my, że pies korzy­sta z budy (po to by się schro­nić)”, zarów­no pies” jak i buda” to kla­sy (ogól­ne nazwy). Słowo korzy­sta z” to zwią­zek poję­cio­wy (aso­cja­cja) two­rzą­cy popraw­ne i praw­dzi­we zda­nie z tych dwóch pojęć (nazw) czy­li pre­dy­kat. Konkretne obiek­ty to Azor” i buda w zagro­dzie Nowaków”. Ale nie powie­my tu, że jest jakaś rela­cja” psa do budy lub odwrot­nie. Zdanie ist­nie­je rela­cja mię­dzy kom­po­nen­tem Licznik doku­men­tów a kom­po­nen­tem Repozytorium Dokumentów” jest nie­po­praw­ne, mię­dzy inny­mi z tego powo­du, że co do zasa­dy ele­men­ty sys­te­mów są luź­no powią­za­ne” a nie trwa­le połą­czo­ne” (kom­po­nen­ty moż­na kupić osob­no i w dowol­nym momen­cie wymie­nić każ­dy z nich na inny). Tu kolej­na uwa­ga: nie nale­ży sank­cjo­no­wać ogra­ni­czeń posia­da­nych narzę­dzi CASE, jeże­li jakieś narzę­dzie nie pozwa­la two­rzyć popraw­nych mode­li, suge­ru­ję zmie­nić narzę­dzie, nagi­na­nie zasad do ogra­ni­czeń narzę­dzia to śle­pa ulicz­ka, bo taki model sta­je się nie­wa­li­do­wal­ny i nie­moż­li­wy do wymia­ny z inny­mi narzę­dzia­mi (a powinny). 

Więcej o teo­rii sys­te­mów obiek­to­wych, o poję­ciach kla­sy, kla­sy­fi­ka­to­ra i instan­cji kla­sy w tek­ście: Obiektowy model sys­te­mu.

Założenia

Czym jest struk­tu­ra mode­lu sys­te­mu? Tak na praw­dę mamy trzy odręb­ne struktury: 

  1. struk­tu­ra pojęć w mode­lu pojęciowym,
  2. struk­tu­ra dekla­ro­wa­nych typów elementów,
  3. struk­tu­ra sys­te­mu zbu­do­wa­ne­go z kon­kret­nych, nazwa­nych ele­men­tów ww. typów.

(Uwaga! Każdy z powyż­szych dia­gra­mów to dia­gram klas, więc zada­nie: nary­suj dia­gram klas dla pro­jek­tu” nie ma więk­sze­go sensu).

Pierwsza struk­tu­ra to słow­nik pojęć wraz ze związ­ka­mi poję­cio­wy­mi (ten dia­gram klas, w nota­cji SBVR, nosi nazwę dia­gra­mem fak­tów). Kolejna struk­tu­ra to dekla­ra­cja typów kloc­ków”, czy­li typów ele­men­tów sys­te­mu (z nich budu­je­my archi­tek­tu­rę). Trzecia struk­tu­ra to dopie­ro opis kon­struk­cji zbu­do­wa­nej z kloc­ków okre­ślo­ne­go typu (archi­tek­tu­ra sys­te­mu). Widać to np. na przy­sło­wio­wych już meblach z IKEA: mamy spis ele­men­tów oraz rysu­nek zło­że­nio­wy. Na pierw­szym są typy ele­men­tów (tu tak­że ich ilo­ści w pacz­kach), na dru­gim zło­że­nie czy­li kon­struk­cja (archi­tek­tu­ra kon­kret­nej sza­fy). Domyślnym słow­ni­kiem jest ten w jakim napi­sa­no tę instruk­cję, np. język polski. 

Skoro zaś mowa o narzę­dziach CASE, to do zilu­stro­wa­nia oma­wia­nych związ­ków uży­je­my nota­cji UML. Notacja UML nie narzu­ca tu nicze­go, co czę­sto jest wska­zy­wa­ne jako jej wada (nie­wie­le rze­czy moż­na w UML wali­do­wać). Jednak już w pro­fi­lu UML, jakim jest nota­cja SysML (System Modeling Language ), wyżej opi­sa­na dys­cy­pli­na” mode­lo­wa­nia jest narzu­co­na. Omówię też przy­kła­dy dla nota­cji eEPC i BPMN. Warto pamię­tać, że UML i BPMN to nota­cje, któ­re łączy wspól­ny meta­mo­del jakim jest MOF (Meta Object Facility).

Typy związków w UML

Taksonomia związków

W nota­cji UML, uzna­wa­nej obec­nie za stan­dard nota­cyj­ny w obsza­rze mode­lo­wa­nia sys­te­mów, mamy trzy pod­sta­wo­we typy związ­ków: związ­ki poję­cio­we (pre­dy­ka­ty czy­li związ­ki zda­nio­twór­cze), związ­ki struk­tu­ral­ne oraz związ­ki repre­zen­tu­ją­ce zależ­no­ści mię­dzy ele­men­ta­mi mode­lu :

Podstawowe typy związ­ków w nota­cji UML: tak­so­no­mia (opra­co­wa­nie wła­sne, na pod­sta­wie pro­fi­lu UML 2.5.)

Repozytorium pro­jek­tu sys­te­mu (jego struk­tu­ra) odwzo­ro­wu­je wyłącz­nie związ­ki struk­tu­ral­ne. Pozostałe związ­ki moż­na zobra­zo­wać tyl­ko na dia­gra­mach lub w posta­ci macie­rzy zależ­no­ści (przy­po­mi­nam, że od roku 2015, czy­li od wer­sji 2.5. nota­cji UML, nie mamy w UML związ­ku dzie­dzi­cze­nia ani agregacji). 

Dobrą prak­ty­ką jest two­rze­nie zawsze trzech pod­sta­wo­wych mode­li: model poję­cio­wy, dekla­ra­cje typów oraz wła­ści­wy model sys­te­mu, któ­ry zbu­do­wa­ny jest z ele­men­tów okre­ślo­ne­go typu, a któ­rych nazwy są pobie­ra­ne z mode­lu poję­cio­we­go (ze słow­ni­ka). W nota­cji SysML model sys­te­mu (Internal Block Diagram) jest mode­lem pod­le­głym mode­lu dekla­ra­cji typów (Block Definition Diagram) .

Struktura słow­ni­ka w repozytorium

Z uwa­gi na odręb­ność mode­lu poję­cio­we­go (słow­ni­ka) i mode­lu struk­tu­ry sys­te­mu (nadal jest bar­dzo wie­le nie­po­ro­zu­mień z okre­śle­niem tego co to jest model dzie­dzi­ny w UML), słow­nik jako model poję­cio­wy i swo­ista kon­struk­cja, mode­lo­wa­ny z uży­ciem dia­gra­mu klas, opi­sa­no osob­no w spe­cy­fi­ka­cji nota­cji SBVR (Semantics of Business Vocabulary and Business Rules) .

Po lewej stro­nie poka­za­no widok dia­gra­mu (mode­lu) poję­cio­we­go w repo­zy­to­rium narzę­dzia CASE. Jak wspo­mnia­no związ­ki inne niż struk­tu­ral­ne (a zwią­zek gene­ra­li­za­cji nie jest związ­kiem struk­tu­ral­nym a poję­cio­wym) moż­na poka­zać wyłącz­nie na dia­gra­mie lub w macie­rzy zależ­no­ści, dla­te­go struk­tu­ra pojęć w repo­zy­to­rium jest pła­ska, ale dia­gram obra­zu­ją­cy tak­so­no­mię ma struk­tu­rę drze­wa (patrz wyżej). Poniżej związ­ki gene­ra­li­za­cji poka­za­ne w posta­ci macierzy:

Macierz związ­ków gene­ra­li­za­cji mię­dzy poję­cia­mi słow­ni­ka (wyko­na­no z uży­ciem Visual Paradigm)

Jak widać w tym przy­pad­ku for­ma macie­rzy jest trud­niej­sza w per­cep­cji, poka­za­nie drze­wia­stej struk­tu­ry tak­so­no­mii na dia­gra­mie jest efektywniejsze. 

Związki logiczne i zawieranie

Zupełnie inna sytu­acja poja­wia się gdy chce­my poka­zać (zwe­ry­fi­ko­wać ich spój­ność i kom­plet­ność) związ­ki uży­cia («use») czy śla­do­wa­nie («tra­ce»). Są to związ­ki logicz­ne np. pomię­dzy aktyw­no­ścia­mi na mode­lach pro­ce­sów biz­ne­so­wych a przy­pad­ka­mi uży­cia (model przy­pad­ków uży­cia) lub związ­ki pomię­dzy wyma­ga­nia­mi na sys­tem a ele­men­ta­mi sys­te­mu reali­zu­ją­cy­mi te wyma­ga­nia. Mogą to być związ­ki jeden do jed­ne­go, jeden do wie­lu jak i wie­le do wie­lu. Te związ­ki efek­tyw­nie poka­zu­je­my na macier­zach jak wyżej. 

Niektóre narzę­dzia CASE (np. Visual Paradigm) pozwa­la­ją łączyć logicz­nie dowol­ne ele­men­ty struk­tu­ry mode­lu (np. śla­do­wa­nie wyma­gań) związ­ka­mi logicz­ny­mi, bez potrze­by ich odwzo­ro­wy­wa­nia na dia­gra­mach, takie związ­ki są budo­wa­ne jako wła­sność refe­ren­cji do” (jest to cecha ele­men­tu dia­gra­mu, a nie zwią­zek obra­zo­wa­ny na dia­gra­mie), a ich zilu­stro­wa­nie i kon­tro­lę w dowol­nym momen­cie moż­na spraw­dzić gene­ru­jąc macierz ana­lo­gicz­ną do powyższej. 

Na koniec omó­wi­my związ­ki kom­po­zy­cji, złą­cze­nia (con­nec­tion) i zawierania. 

Związki struk­tu­ral­ne (UML v.2.5.1.)
Związek zawie­ra­nia się, widok w repozytorium

Prawdopodobnie część czy­tel­ni­ków jest zasko­czo­na związ­kiem złą­cze­nia”. Otóż linia cią­gła w nota­cji UML ‑aso­cja­cja – na mode­lu poję­cio­wym ozna­cza zwią­zek poję­cio­wy zwa­ny pre­dy­ka­tem. Jednak na mode­lu struk­tu­ry sys­te­mu jest to opis (zwią­zek) kon­struk­cji” (con­nec­tion). Powyższe (dia­gram) czytamy:

  1. Klasa 2 jest czę­ścią skła­do­wą Klasy 1
  2. Klasa 3 i Klasa 4 są ze sobą (trwa­le) połączone
  3. Klasa 5 jest zawar­ta w Pakiecie (dwie rów­no­praw­ne for­my zobra­zo­wa­nia), mini-gra­fi­ka po lewej to widok tego związ­ku w repo­zy­to­rium. Dlatego czę­sto pakiet jest nazy­wa­ny jest kon­te­ne­rem, gdyż sam z sie­bie nie słu­ży do nicze­go poza gru­po­wa­niem (nie ma ani atry­bu­tów ani ope­ra­cji, ma jedy­nie nazwę i ewen­tu­al­nie ste­reo­typ, MOF 2.5.1. rozdz. 8.3 Using Packages to Partition and Extend Metamodels ) oraz UML v.2.5.1. rozdz. 12 Packages .

Np. opi­su­jąc samo­chód powie­my, że sil­nik i koła są czę­ścią samo­cho­du, ale nie powie­my, że koła są czę­ścią sil­ni­ka ani, że sil­nik jest czę­ścią kół, powie­my jed­nak, że są one połą­czo­ne ze sobą”:

Przykład złą­cze­nia dwóch ele­men­tów (UML 2.5.1 rys. 11.5.). W tej posta­ci związ­ki pomię­dzy mię­dzy Car i Wheel oraz Car i Engine, to kom­po­zy­cje (tu Wheel i Engine to atrybuty). 

Jednak powie­my też, że sil­nik krę­ci koła­mi, bo con­nec­tor” też ma okre­ślo­ny kie­ru­nek dzia­ła­nia” (jest to zwią­zek inwariantny). 

I tu bar­dzo waż­na rzecz: nie ma w UML związ­ku dekom­po­zy­cji” ale w repo­zy­to­rium jest to obra­zo­wa­ne tak samo jako zawie­ra­nie się. Przykład: 

Diagram kom­po­nen­tów UML

Powyższy dia­gram to dia­gram kom­po­nen­tów UML obra­zu­ją­cy kom­po­nent i jego inter­fejs ofe­ro­wa­ny (archi­tek­tu­ra HLD). Ten kom­po­nent został w deta­lach opi­sa­ny jako dekom­po­zy­cja (dia­gram klas):

Architektura wewnętrz­na Komponentu (dia­gram klas UML)

Powyższy dia­gram to dia­gram klas obra­zu­ją­cy archi­tek­tu­rę LLD Komponentu. Dokonano tu tak­że pew­ne­go zabie­gu porząd­ku­ją­ce­go: ele­men­ty archi­tek­tu­ry Komponentu umiesz­czo­no w pakie­cie o nazwie Komponent, pakiet ten jest pro­duk­tem prze­kształ­ce­nia Komponentu w pakiet o nazwie Komponent (zwią­zek śla­do­wa­nia okre­śla­ny jako «trans­it to»). Po pierw­sze porząd­ku­je to widok w repo­zy­to­rium, po dru­gie w repo­zy­to­rium sepa­ru­je od sie­bie ele­men­ty róż­nych kom­po­nen­tów (widok repo­zy­to­rium rys. po prawej).

Innymi sło­wy, moż­na powie­dzieć, że dekom­po­zy­cja ozna­cza, że nad­rzęd­ny (w mode­lu) ele­ment dekom­po­no­wa­ny jest na ele­men­ty skła­do­we, a te dla porząd­ku umiesz­cza­my w osob­nym kontenerze.

Komponent jest tu szczy­tem swo­jej hie­rar­chii, dekom­po­zy­cja, czy­li jego wewnętrz­na archi­tek­tu­ra, zosta­ła poka­za­na na dia­gra­mie Komponent Class Diagram”, jest na nim pakiet Komponent (kon­te­ner) oraz zawar­te w nim kla­sy repre­zen­tu­ją­ce wewnętrz­ne ele­men­ty jego archi­tek­tu­ry. Gdyby nie było pakie­tu (kon­te­ne­ra) Komponent, kla­sy będą­ce ele­men­tem jego archi­tek­tu­ry mie­sza­ły­by się” z kla­sa­mi innych kom­po­nen­tów w repo­zy­to­rium, co w dużych pro­jek­tach utrud­nia zarzą­dza­nie mode­lem i korzy­sta­niem z niego. 

Związki w modelach procesów

Związki logicz­ne (prze­pły­wy i aso­cja­cje) opi­sa­łem w Notacja EPCNotacja BPMN. Tym razem sku­pi­my się wyłącz­nie na dekom­po­zy­cji i grupowaniu. 

eEPC

Notacja eECP nie ope­ru­je poję­ciem kon­te­ne­ra co jest jej poważ­ną wadą (nie ma narzę­dzia do gru­po­wa­nia ele­men­tów takich jak pule i tory) moż­na jed­nak użyć dekom­po­zy­cji. Dwa dia­gra­my eEPC:

Dekompozycję pro­ce­sów ozna­czy­my jako całość część (dia­gram pod­rzęd­ny jest czę­ścią całe­go mode­lu procesu). 

W repo­zy­to­rium wyglą­da to tak:

Elementy mode­lu eEPC w repo­zy­to­rium. W repo­zy­to­rium ele­ment Funkcja” jest kon­te­ne­rem dla ele­men­tów dia­gra­mu podrzędnego. 

BPMN

W spe­cy­fi­ka­cji BPMN zaś czytamy:

Definicje puli i torów w spe­cy­fi­ka­cji nota­cji BPMN. 

Tak więc pule i tory to kon­te­ne­ry służ­ce do gru­po­wa­nia aktyw­no­ści (przy­po­mi­nam, że związ­ki logicz­ne i arte­fak­ty nie są partycjonowane). 

Definicja (dia­gram pro­fi­lu UML) poję­cia kon­te­ner w spe­cy­fi­ka­cji BPMN . (Uwaga, w BPMN for­mal­nie kon­te­ne­rem jest tak­że dia­gram czy­li pro­ces, jed­nak w komen­ta­rzach zale­ca się sto­so­wa­nie puli jako miej­sca na umiesz­cze­nie procesu)

Poniżej pro­sty model procesu:

Model pro­ce­su biz­ne­so­we­go (nota­cja BPMN)

W repo­zy­to­rium wyglą­da to tak:

Proces biz­ne­so­wy, widok w repozytorium.

Tu mała cie­ka­wost­ka” i od razu wyja­śnie­nie. Na począt­ku napi­sa­no, że for­mal­nie budu­je­my: struk­tu­rę typów ele­men­tów oraz struk­tu­rę sys­te­mu zbu­do­wa­ne­go z kon­kret­nych ele­men­tów ww. typów. Na powyż­szym dia­gra­mie czyn­ność «Archiwizacja doku­men­tu» poja­wia się dwu­krot­nie: archi­wi­za­cji pod­le­ga i Faktura i Dokument WZ. Jest to więc taka sama pro­ce­du­ra wyko­ny­wa­na w dwóch róż­nych dzia­łach. Oznacza to, że w repo­zy­to­rium raz dekla­ru­je­my czyn­ność «Archiwizacja doku­men­tu» i może­my jej uży­wać wie­lo­krot­nie, na róż­nych dia­gra­mach w róż­nych pulach i torach, gdy tyl­ko praw­dą jest, że poja­wia się w jakimś pro­ce­sie aktyw­ność «Archiwizacja dokumentu». 

UWAGA! W roz­bu­do­wa­nych pro­jek­tach war­to naj­pierw dekla­ro­wać aktyw­no­ści (repre­zen­tu­ją one pro­ce­du­ry) a potem dopie­ro uży­wać ich na dia­gra­mach. Takie dekla­ra­cje (nowe ele­men­ty) moż­na two­rzyć bez­po­śred­nio w repo­zy­to­rium (jako np. biblio­te­kę) lub na spe­cjal­nie zade­kla­ro­wa­nym dia­gra­mie (podob­nie DataObject jako doku­men­ty i ich biblio­te­kę). Poniżej przy­kład takie­go podejścia:

Repozytorium z podzia­łem na Biblioteki i dia­gra­my Procesów
Model pro­ce­su utwo­rzo­ny z ele­men­tów zade­kla­ro­wa­nych w powyż­szej Bibliotece

W VP domyśl­nie, utwo­rze­nie nowe­go ele­men­tu np. two­rząc dia­gram (ale moż­na to zro­bić bez­po­śred­nio w repo­zy­to­rium), sta­no­wi jego dekla­ra­cję w mode­lu (VP ozna­cza to zna­kiem M” jako Master), każ­de kolej­ne uży­cie tego ele­men­tu to jego kolej­ne zobra­zo­wa­nie (VP ozna­cza to zna­kiem a” jako auxi­lia­ry). Identycznie wyglą­da to w każ­dym innym mode­lu (np. UML). Dlatego repo­zy­to­rium mode­lu to wła­śnie dekla­ra­cje typów i ich hie­rar­chia, dia­gra­my to wido­ki i wła­ści­we mode­le, budo­wa­ne z ele­men­tów zade­kla­ro­wa­nych w repo­zy­to­rium ele­men­tów mode­li. Dekompozycja w BPMN będzie wyglą­da­ła ana­lo­gicz­nie jak poka­za­na dla eEPC.

Podsumowanie

Korzystając z narzę­dzi CASE war­to ich uży­wać z peł­nym zro­zu­mie­niem mecha­ni­zmu ich dzia­ła­nia i zro­zu­mie­niem nota­cji jakiej się uży­wa. Każde zanie­dba­nie, nie­umie­jęt­ne lub wręcz nie­wła­ści­we uży­wa­nie związ­ków na dia­gra­mach, pro­wa­dzi do cha­osu i bra­ku czy­tel­no­ści. Konsekwencją są nie­spój­ność i brak moż­li­wo­ści jej kon­tro­li. Niestety nie­któ­re narzę­dzia mają repo­zy­to­ria zbu­do­wa­ne na rela­cyj­nym mode­lu i nie pozwa­la­ją np. umiesz­cze­nie dwóch takich samych ele­men­tów na jed­nym dia­gra­mie. Moja suge­stia: zmień narzędzie.

Warto wie­dzieć, że opi­sa­ne tu związ­ki mają sens i nabie­ra­ją zna­cze­nia dopie­ro w okre­ślo­nym kon­tek­ście (obec­nie dia­gra­my w UML czy BPMN to kon­tek­sto­we wido­ki ele­men­tów hie­rar­chii typów ele­men­tów). Do tego ten sam sym­bol może mieć inne zna­cze­nie w innym kon­tek­ście, np. cią­gła linia pro­sta jest związ­kiem poję­cio­wym na mode­lu poję­cio­wym (pre­dy­kat: pies” śpi w budzie”), albo jest złą­cze­niem (con­nec­tor) na mode­lu struk­tu­ry (koła samo­cho­du są połą­czo­ne z napędem). 

Jeżeli jed­nak mode­lu­je­my archi­tek­tu­rę opro­gra­mo­wa­nia zorien­to­wa­ną obiektowo/komponentowo, gdzie kom­po­nen­ty nie są z sobą trwa­le połą­czo­ne a jedy­nie wywo­łu­ją się wza­jem­nie, to uży­wa­nie złą­cze­nia (cią­gła linia) na tych dia­gra­mach na nie ma żad­ne­go sen­su. Ma jed­nak sens zgru­po­wa­nie okre­ślo­nych ele­men­tów w pakie­cie, dla poka­za­nia gra­ni­cy kom­po­nen­tów czy modu­łów, i ich zawar­to­ści w repozytorium. 

Źródła

Escalona, M.-J., Koch, N., & Garcia-Borgoñon, L. (2022). Lean requ­ire­ments tra­ce­abi­li­ty auto­ma­tion ena­bled by model-dri­ven engi­ne­ering. PeerJ Computer Science, 8, e817. https://​doi​.org/​1​0​.​7​7​1​7​/​p​e​e​r​j​-​c​s​.​817
OMG​.org. (2014, January). Business Process Model and Notation (BPMN). https://​www​.omg​.org/​s​p​e​c​/​B​P​MN/
OMG​.org. (2017, December). Unified Modeling Language (UML) [OMG​.org]. UML. https://​www​.omg​.org/​s​p​e​c​/​U​ML/
OMG​.org. (2016, October). MetaObject Facility (MOF). https://​www​.omg​.org/​s​p​e​c​/​MOF
OMG​.org. (2017, December 8). Systems Modeling Language (SysML). http://​www​.omg​sy​sml​.org/
OMG​.org. (2019). Semantics of Business Vocabulary and Business Rules (SBVR). 334. https://​www​.omg​.org/​s​p​e​c​/​S​B​VR/

Repozytorium w chmurze – NoSQL

Wprowadzenie

Coraz czę­ściej czy­ta­my o śro­do­wi­skach chmu­ro­wych” (nadal nie mogę się prze­ko­nać do pisa­nia tego bez cudzy­sło­wu). Nawet tak zaawan­so­wa­ne jak Amazon WS czy AZURE, są nadal bar­dzo czę­sto wyko­rzy­sty­wa­ne tyl­ko jako hosting apli­ka­cji. Oba te ser­wi­sy moż­na wyko­rzy­sty­wać jako sie­cio­wy dysk, śro­do­wi­sko sys­te­mo­we (Windows, Linux), bazę danych SQL, ale tak­że jako bazy NoSQL. 

Jednym z naj­istot­niej­szych ele­men­tów sys­te­mów infor­ma­cyj­nych (patrz: infor­ma­tion scien­ce) jest utrwa­la­nie danych (pamię­taj­my, że dane to zapi­sy, a infor­ma­cja to to, co rozu­mie czło­wiek, któ­ry je czy­ta). Niedawno nawią­zy­wa­łem do pro­ble­mu utrwa­la­nia danych.

Poprawna obiek­to­wa archi­tek­tu­ra i kom­plet­ny pro­jekt tech­nicz­ny apli­ka­cji (model PIM) opi­su­je pre­cy­zyj­nie jak wyko­nać imple­men­ta­cje i nie zawie­ra pro­jek­tu żad­nej bazy danych, ani tym bar­dziej zapy­tań SQL. Implementacja utrwa­la­nia nie może mieć wpły­wu na logi­kę biz­ne­so­wą sys­te­mu ani nawet zawie­rać jej! (źr.: Dokument a kumu­la­cja fak­tów: OOAD i model dzie­dzi­ny sys­te­mu) Prosty dia­gram po lewej stro­nie poka­zu­je pro­blem opi­sa­ny przez Smith’a jako Computers, Models, and the Embedding World, The Limits of Correctness.” 

Komputer (rozu­mia­ny jako pro­ce­sor, pamięć i pro­gram) sta­no­wi dla czło­wie­ka narzę­dzie pracy. 

Cechą kom­pu­te­ra jest w ogrom­nej więk­szo­ści przy­pad­ków odwzo­ro­wy­wa­nie tego co zastę­pu­je­my kom­pu­te­rem, a tak zwa­ne sys­te­my biz­ne­so­we, zastę­pu­ją papie­ro­we for­my prze­twa­rza­nia i prze­cho­wy­wa­nia infor­ma­cji. Systemy ERP, CRM, Workflow, Sklepy inter­ne­to­we, Archiwa, i wie­le innych to tak na praw­dę doku­men­ty i ich treść. 

Istota pro­ble­mu pole­ga na tym, że okre­ślo­ne, dostęp­ne tech­no­lo­gie same z sie­bie czę­sto stwa­rza­ją ogra­ni­cze­nia tego co mogą (potra­fią) odwzo­ro­wać, i mimo upły­wu cza­su i postę­pu tech­no­lo­gii, ana­li­za i pro­jek­to­wa­nie zarzą­dza­nia infor­ma­cją nadal jest jed­nym z naj­więk­szych pro­ble­mów wdro­żeń systemów. 

SQL vs. NoSQL

SQL

Skrót NoSQL jest inte­pre­to­wa­ny jako nie SQL” lub nie tyl­ko SQL” (Not only SQL). SQL (Structured Query Language) to język zapy­tań do baz danych o rela­cyj­nym mode­lu danych (ang. RDBMS: Relational Data Base Management System). Cechą tego mode­lu danych jest usu­wa­nie redun­dan­cji i podział danych na tabe­le i słow­ni­ki pól tych tabel, oraz związ­ki mię­dzy nimi (rela­cje). W efek­cie otrzy­mu­je­my sche­ma­ty tabel i rela­cji mię­dzy nimi np. takie:

A nawet takie:

(model danych pew­ne­go sys­te­mu ERP)

Odtworzenie doku­men­tu (for­mu­la­rza) będą­ce­go np. fak­tu­rą lub dekla­ra­cją podat­ko­wą, wyma­ga wyko­na­nia sze­re­gu bar­dzo skom­pli­ko­wa­nych ope­ra­cji łącze­nia danych z tych tabel i odwzo­ro­wa­nia ich pier­wot­nej posta­ci np. fak­tu­ry. W tego typu bazach danych fizycz­nie nie ma żad­nych dokumentów. 

Drugim pro­ble­mem jaki stwa­rza model rela­cyj­ny, jest koniecz­ność jego prze­bu­do­wy prak­tycz­nie zawsze, gdy zmie­ni się struk­tu­ra prze­cho­wy­wa­nych w nim doku­men­tów (opra­co­wa­nie nowe­go mode­lu, migra­cja danych do nowe­go mode­lu – bywa że nie­moż­li­wa w 100%, aktu­ali­za­cja zapy­tań SQL do nowej struk­tu­ry bazy danych). 

Biorąc pod uwa­gę fakt, że real­ny świat to cią­głe zmia­ny, model rela­cyj­ny jest w tym przy­pad­ku po pro­stu nieadekwatny. 

Koszty utrzy­ma­nia i roz­wo­ju sys­te­mów zarza­dza­nia dany­mi (i apli­ka­cja­mi, któ­re je wyko­rzy­stu­ją) w mode­lu rela­cyj­nym, są wie­lo­krot­nie wyż­sze niż pier­wot­ne ich wdro­że­nie .

Po co więc wymy­ślo­no te rela­cyj­ne bazy? To były cza­sy gdy pamięć była naj­kosz­tow­niej­szym zaso­bem kom­pu­te­ra zaś dane mię­dzy sys­te­ma­mi w zasa­dzie nie były wymie­nia­ne! Było kil­ka zalet, np. brak błę­dów nazew­nic­twa itp. wię­cej o nich w sie­ci moż­na poczy­tać, jed­nak moim zda­niem baza danych będą­ca imple­men­ta­cją tak zwa­nych związ­ków poję­cio­wych (tym są rela­cyj­ne mode­le danych) nie spraw­dza się bo nie mode­lu­je obiek­tów świa­ta rze­czy­wi­ste­go a jedy­nie ich nazwy i powią­za­nia mię­dzy nimi a to ogrom­na róż­ni­ca. (źr.: SQL albo NoSQL, oto jest pyta­nie – 2011 r.)

NoSQL

Jednym z typo­wych przy­kła­dów bazy danych typu NoSQL są bazy typu key-value i ich odmia­ny . Z uwa­gi na ich cechy i powszech­ność sku­pię się na tego typu bazach. 

Wśród tego typu baz są tak zwa­ne bazy doku­men­to­we. Idea tego typu baz danych reali­zu­je jed­no pod­sta­wo­wych zało­żeń obiek­to­we­go para­dyg­ma­tu (role obiek­tów): repo­zy­to­rium nie słu­ży do prze­twa­rza­nia tre­ści a jedy­nie do jej utrwa­la­nia i szyb­kie­go przy­wo­ły­wa­nia (dostę­pu). Przetwarzaniem danych (tre­ści) zaj­mu­ją kom­po­nen­ty odpo­wie­dzial­ne wyłącz­nie za reali­za­cję logi­ki apli­ka­cji. Skoro repo­zy­to­rium nie prze­twa­rza tre­ści, jest ono – prze­cho­wy­wa­na treść i jej struk­tu­ra – neu­tral­nym ele­men­tem. Dlatego ope­ru­je­my tu czę­sto poję­ciem plik, któ­rym zależ­nie od typu bazy, może być np. ciąg zna­ków XML lub JSON albo po pro­stu ciąg binar­ny (czy­li cokol­wiek”). Taka baza to hipo­te­tycz­ne dwie kolum­ny: pierw­sza zawie­ra iden­ty­fi­ka­to­ry wier­szy a dru­ga prze­cho­wy­wa­ną treść. I teraz zależ­nie od typu bazy i logi­ki apli­ka­cji, któ­ra ją wyko­rzy­stu­je, tą tre­ścią może by ciąg zna­ków (np. XML, JSON) lub dowol­ny ciąg zna­ków binar­ny (czy­li XML tak­że, ale tak­że np. zdję­cie lub plik edy­to­ra tekstów). 

Przykładem bazy doku­men­to­wej jest Amazon DynamoDB. Poniższy dia­gram poka­zu­je w uprosz­cze­niu idee tej bazy i porów­na­nie z typo­wą mode­lem rela­cyj­nym: odtwo­rze­nie doku­men­tu z bazy rela­cyj­nej (po lewej) wyma­ga skom­pli­ko­wa­nych ope­ra­cji łącze­nia tabel, po pra­wej stro­nie mamy zaś zestaw cią­gów zna­ków, każ­dy sta­no­wi sobą kom­plet­ny już doku­ment, mogą one mieć róż­ną struk­tu­rę. Pobranie doku­men­tu z bazy po pra­wej odby­wa się zawsze pro­stym zapy­ta­niem, takim samym„ bez wzglę­du na struk­tu­rę tych danych. 

Dzięki temu osią­ga­my dwie klu­czo­we korzy­ści: zmie­nia­ją­ca się w cza­sie struk­tu­ra doku­men­tów nie wpły­wa na bazę danych, czas pobra­nia doku­men­tu jest bar­dzo krót­ki i nie zale­ży od struk­tu­ry doku­men­tu . Różnicę efek­tyw­no­ści poka­za­no poniżej:



Dokument jako struktura danych

Opisane bazy NoSQL mają sze­reg zalet w sto­sun­ku do baz danych w mode­lu rela­cyj­nym. Jednak pro­blem two­rze­nia mode­li rela­cyj­nych jest zastę­po­wa­ny pro­ble­mem mode­lo­wa­nia struk­tur doku­men­tów . Nie jest to jed­nak pro­blem budo­wa­nia znor­ma­li­zo­wa­nych rela­cyj­nych struk­tur danych. Jest to pro­blem natu­ry czy­sto seman­tycz­nej: rzecz w tym czym jest doku­ment i czym są pola, z któ­rych on się skła­da. Jest wie­le podejść do tego zagad­nie­nia, uwa­żam, że klu­czo­we jest odkry­cie i zro­zu­mie­nie co opi­su­je dany doku­ment. Po dru­gie istot­ne jest umie­jęt­ne zapro­jek­to­wa­nie logi­ki apli­ka­cji. Dlatego repo­zy­to­ria NoSQL z zasa­dy nie bio­rą udzia­łu w logi­ce biz­ne­so­wej ale struk­tu­ra doku­men­tów deter­mi­nu­je logi­kę ich prze­twa­rza­nia. Rolą repo­zy­to­rium jest wyłącz­nie utrwa­la­nie i udo­stęp­nia­nie. Poniżej przy­kład dość typo­wy: fak­tu­ry i opi­sy pro­duk­tów (opis pro­duk­tu jako Karta Produktu): mimo tego, że oba te typy doku­men­tów mają inną struk­tu­rę, mogą być prze­cho­wy­wa­ne w jed­nej i tej samej bazie danych NoSQL. 

Rejestry sepa­ru­ją­ce doku­men­to­wą bazę danych od logi­ki apli­ka­cyj­nej, dia­gram pocho­dzi z wyda­nej wła­śnie publi­ka­cji, w któ­rej dokład­nie opi­sa­no zasa­dy pro­jek­to­wa­nia sys­te­mów infor­ma­cyj­nych i tego typu repo­zy­to­riów: .

Baza doku­men­to­wa słu­ży wyłącz­nie do prze­cho­wy­wa­nia danych. Kontekstowy i seman­tycz­ny dostęp do danych zapew­nia­ją dzie­dzi­no­we reje­stry: dodat­ko­we pro­ste tabe­le umiesz­czo­ne przez repo­zy­to­rium, w czę­ści apli­ka­cyj­nej. Z uwa­gi na to, że bazy doku­men­to­we nie nada­ją się do reali­za­cji wyra­fi­no­wa­nych zbio­ro­wych obli­czeń na tre­ści doku­men­tów, wyko­rzy­stu­je się do tego typo­we hur­tow­nie danych. 

[uzu­peł­nie­nie mie­siąc póź­niej] Z tego wzglę­du bar­dzo przy­dat­ny jest tu dobrze zna­ny wzo­rzec pro­jek­to­wy Repozytorium (Repository). Istotą tego wzor­ca jest sepa­ra­cja kolek­cji obiek­tów (np. nośni­ków doku­men­tów) od logi­ki apli­ka­cji za pomo­cą kla­sy reali­zu­ją­cej inter­fejs do tej kolek­cji. Poniżej wer­sja adre­so­wa­na do chmury:

Realizacja utrwa­la­nia (zapis danych) to obiek­ty prze­cho­wu­ją­ce («Storage» Repozytorium danych) oraz dane («docu­ment» Zestaw danych) prze­cho­wy­wa­ne jako doku­men­ty (XML, JSON) lub pli­ki (baza key value). Dostęp do tej kolek­cji zapew­nia kla­sa «Management» Kontrola dostę­pu do danych, sta­no­wią­ca zara­zem inter­fejs do tej kolek­cji. Interfejsów do jed­ne­go repo­zy­to­rium może być wię­cej, reali­zu­ją one wte­dy kon­tek­sto­we udo­stęp­nia­nie danych z tej samej kolek­cji. Tak więc Realizacja usłu­gi to dzie­dzi­no­wy kod apli­ka­cji, zaś Realizacja utrwa­la­nia to chmu­ro­wa usłu­ga taka jak bazy NoSQL dostęp­ne w chmurze. 

Chmury Amazon i AZURE

Ciekawym przy­kła­dem bazy doku­men­to­wej jest DynamoDB. Jest to par­ty­cjo­no­wa­na baza NoSQL mają­ca dwie kolum­ny z klu­czem: jeden to stan­dar­do­wy dla tego typu bazy iden­ty­fi­ka­tor, dru­gi to klucz wska­zu­ją­cy na struk­tu­rę defi­niu­ją­cą for­mat danych w trze­ciej kolum­nie prze­cho­wu­ją­cej dane (doku­men­ty). Jest to baza prze­cho­wu­ją­ca dane w for­ma­cie JSON, więc ich inter­pre­ta­cja wyma­ga defi­ni­cji kon­kret­nej struk­tu­ry danych. dodat­ko­wa kolum­na (SortKey) peł­ni rolę defi­ni­cji typu (iden­ty­fi­ka­tor struk­tu­ry). Jest to wygod­ne bo w sys­te­mach obiek­to­wych łatwo defi­niu­je się typy zło­żo­ne, nada­jąc każ­de­mu rekor­do­wi dodat­ko­wy iden­ty­fi­ka­tor, moż­na inte­pre­to­wać pobra­ne dane. 

(https://​aws​.ama​zon​.com/​b​l​o​g​s​/​d​a​t​a​b​a​s​e​/​c​h​o​o​s​i​n​g​-​t​h​e​-​r​i​g​h​t​-​d​y​n​a​m​o​d​b​-​p​a​r​t​i​t​i​o​n​-​k​ey/)

Więcej infor­ma­cji o repo­zy­to­riach Amazon, tak­że Amazon S3 (bar­dzo szyb­ka baza pli­ków) znaj­dzie­cie w książ­ce wydaw­nic­twa Helion: Amazon Web Services . Analogiczne roz­wią­za­nie ofe­ru­je AZURE.

Na zakończenie

Osobiście pole­cam roz­wa­że­nie opi­sa­nych tu roz­wią­zań w swo­ich pro­jek­tach. W obsza­rze doku­men­tów i zarzą­dza­nia ich tre­ścią są wręcz dosko­na­łe. Model rela­cyj­ny, dosko­na­ły do obli­czeń, nie­ste­ty prze­gry­wa z kre­te­sem w apli­ka­cjach biz­ne­so­wych, gdzie zaczy­na się liczyć przede wszyst­kim szyb­kość dostę­pu do ogrom­nej ilo­ści danych oraz odpor­ność na szyb­ko zmie­nia­ją­ce się wyma­ga­nia co do struk­tu­ry danych.

Problem pro­jek­to­wa­nia struk­tur doku­men­tów, tak­że w bazach doku­men­to­wych, to osob­ne i trud­ne zagad­nie­nie. Opisałem go w naj­now­szym arty­ku­le, któ­ry uka­że się za nie­dłu­go w wydaw­nic­twie IGI Global: Emerging Challenges, Solutions, and Best Practices for Digital Enterprise Transformation.

C.d. czy­taj Bazy NoSQL jako imple­men­ta­cje wzor­ców struk­tur infor­ma­cji.

Źródła

Harley Vera, Wagner Boaventura, Maristela Holanda, Valeria Guimaraes, & Fernanda Hondo. (2015). Data Modeling for NoSQL Document-Oriented Databases. CEUR Workshop Proceedings, 1478, 129 – 135.
Garba, M. (2020). A Comparison of NoSQL and Relational Database Management Systems (RDBMS). 1(2), 9.
Gyorödi, C., Gyorödi, R., & Sotoc, R. (2015). A Comparative Study of Relational and Non-Relational Database Models in a Web- Based Application. International Journal of Advanced Computer Science and Applications, 6(11). https://​doi​.org/​1​0​.​1​4​5​6​9​/​I​J​A​C​S​A​.​2​0​1​5​.​0​6​1​111
Wilkins, M. (2020). Amazon Web Services: pod­sta­wy korzy­sta­nia z chmu­ry AWS (J. Zatorska, Trans.). Helion SA.
Guimaraes, V., Hondo, F., Almeida, R., Vera, H., Holanda, M., Araujo, A., Walter, M. E., & Lifschitz, S. (2015). A stu­dy of geno­mic data pro­ve­nan­ce in NoSQL docu­ment-orien­ted data­ba­se sys­tems. 2015 IEEE International Conference on Bioinformatics and Biomedicine (BIBM), 1525 – 1531. https://​doi​.org/​1​0​.​1​1​0​9​/​B​I​B​M​.​2​0​1​5​.​7​3​5​9​902
Smith, B. C. (1985). The Limits of Correctness. SIGCAS Comput. Soc., 14,15(1,2,3,4), 18 – 26. https://​doi​.org/​1​0​.​1​1​4​5​/​3​7​9​4​8​6​.​3​7​9​512

Pandemia COVID – model dedukcyjny

(opra­co­wa­nie: kwie­cień 2020 – blog, aktu­ali­za­cja: gru­dzień 2020 – Academia​.edu)

Opracowanie sta­no­wi pró­bę zbu­do­wa­nia mode­lu wyja­śnia­ją­ce­go aktu­al­ną sytu­ację wywo­ła­ną pan­de­mią koro­na­wi­ru­sa. Tworząc model autor oparł się na ide­ali­za­cji mecha­ni­zmu roz­cho­dze­nia sie cho­ro­by. Autor cał­ko­wi­cie zarzu­cił meto­dy sta­ty­stycz­ne pro­gno­zo­wa­nia jako nie­sku­tecz­ne, w takich przy­pad­kach, co poka­za­ły juz pierw­sze mie­sią­ce od poja­wie­nia sie wiru­sa, a potem po pierw­szej publi­ka­cji tego tek­stu w kwiet­niu 2020. Zdaniem auto­ra opi­sa­na w tym opra­co­wa­niu dro­ga daje znacz­nie więk­sze szan­se na wyja­śnie­nia aktu­al­nej sytu­acji niż budo­wa­nie tak zwa­nych mode­li sta­ty­stycz­nych. Już na obec­nym eta­pie model wyja­śnia brak kore­la­cji mię­dzy podej­mo­wa­ny­mi dzia­ła­nia­mi (lock­down) a uzy­ski­wa­ny­mi efektami.

1. WPROWADZENIE

Badania sys­te­mo­we to inter­dy­scy­pli­nar­ne pro­jek­ty, w któ­rych bio­rą udział eks­per­ci dzie­dzi­no­wi i eks­per­ci sys­te­mo­wi. Bardzo czę­sto bada­nia takie to tak zwa­ne meta-ana­li­zy, czy­li wtór­ne bada­nia na pod­sta­wie wyni­ków innych, wcze­śniej­szych, badań dziedzinowych.

Ten arty­kuł sta­no­wi przy­kład podej­ścia sys­te­mo­we­go do two­rze­nia mode­li i meta-mode­li sys­te­mów. Nie było tu celem wyko­na­nie symu­la­cji, a jedy­nie opi­sa­nie meto­dy pro­wa­dze­nia ana­li­zy jaką jest mode­lo­wa­nie, oraz poka­zać jak wyglą­da wnio­sko­wa­nie deduk­cyj­ne z mode­li, oraz to, że jest efek­tyw­niej­sze niż wnio­sko­wa­nie induk­cyj­ne ze sta­ty­sty­ki. Za przed­miot ana­li­zy posłu­ży­ła mi mają­ca wła­śnie miej­sce pan­de­mia wiru­sa COVD-19, gdyż budzi ogrom­ne emo­cje i na doda­tek śro­do­wi­sko nauko­we medycz­ne publi­ku­je sprzecz­ne opi­nie (co jest dziw­ne ale jest fak­tem). Pandemie są przy­kła­dem tak zwa­nych pro­ble­mów zło­śli­wych (wic­ked pro­blem) (Mark Lawrence, 2020). Problem zło­śli­wy to taki skom­pli­ko­wa­ny pro­blem, w któ­rym jest tak wie­le powią­za­nych ze sobą bytów, że nie ist­nie­je jego osta­tecz­na spe­cy­fi­ka­cja. Prawdziwy cha­rak­ter pro­ble­mu obja­wia się dopie­ro w mia­rę opra­co­wy­wa­nia roz­wią­za­nia.? (Rittel & Webber, 1973).

Nie było tu celem auto­ra zakro­jo­ne na sze­ro­ką ska­lę bada­nie. Analiza sys­te­mo­wa i mode­lo­wa­nie ma za cel opi­sa­nie mecha­ni­zmu zja­wi­ska do celów decy­zyj­nych lub poznaw­czych. Autor nie jest spe­cja­li­sta z zakre­su immu­no­lo­gi czy wiru­so­lo­gii, dla­te­go wyni­ki badań z tych dzie­dzin nie są tu dys­ku­to­wa­ne, a zosta­ły uzna­ne za fak­ty, ich repre­zen­ta­tyw­ność nie ma na tym eta­pie zna­cze­nia bo nie słu­żą one do ana­liz sta­ty­stycz­nych. Ten arty­kuł nie roz­strzy­ga tego jaki kon­kret­nie sku­tek odno­si dana meto­da wal­ki z pan­de­mią, wyma­ga­ło by zapew­ne dokład­niej­szych danych dzie­dzi­no­wych (np. ści­sła zależ­ność zaka­że­nia od cza­su prze­by­wa­nia w zaka­żo­nym śro­do­wi­sku i stę­że­nia pato­ge­nu w powie­trzu). Opisana meto­da pozwa­la, zda­niem auto­ra, na okre­śle­nie zasad­no­ści wybo­ru okre­ślo­nej meto­dy wal­ki z pan­de­mią i warun­ków jej zasto­so­wa­nia. Nie jest to osta­tecz­na wer­sja opi­su pan­de­mii jako zja­wi­ska, jest to pró­ba opi­sa­nia meto­dy podej­mo­wa­nia decy­zji (np. o sto­so­wa­nych środ­kach zarad­czych czy ogra­ni­cze­niach w swo­bo­dzie życia). Praktyka poka­za­ła, że meto­dy sta­ty­stycz­ne jako narzę­dzie pre­dyk­cji na bazie tren­dów się kom­plet­nie nie sprawdziły(wystarczy porów­ny­wać te pro­gno­zy z póź­niej­szy­mi sta­ty­sty­ka­mi) (Worldometers, 2020), (Roser i in., 2020).

Model nazwa­no deduk­cyj­ny gdyż autor przy­jął meto­dę deduk­cyj­ną wnio­sko­wa­nia: jeże­li MODEL to EFEKT, inny­mi sło­wy: obser­wu­jąc fak­ty two­rzy model ich powsta­wa­nia, a następ­nie testu­je MODEL, spraw­dza czy wyni­ki mode­lo­wa­nia i obser­wo­wa­ne EFEKTY są toż­sa­me. Można było użyć tak­że rozu­mo­wa­nia abduk­cyj­ne­go (Urbański, 2009), i rozu­mo­wać jeże­li EFEKT to MODEL”. Podejmując decy­zję jaki model rozu­mo­wa­nia przy­jąć: deduk­cja, induk­cja czy abduk­cja (Yu Chong Ho, 1994): zre­zy­gno­wa­łem, z podej­ścia induk­cyj­ne­go gdyż uzna­łem, że mode­le sta­ty­stycz­ne wyczer­pa­ły tu moż­li­wo­ści wnio­sko­wa­nia. Wyboru pomię­dzy deduk­cja a abduk­cją doko­na­łem na bazie swo­ich doświad­czeń z logi­ką Poppera ((Popper, 2008). Podejście jeże­li MODEL to FAKTY” jako testo­wa­nie teo­rii uzna­łem za meto­do­lo­gicz­nie lep­sze od jeże­li FAKTY to MODEL” gdyż, to dru­gie moim zda­niem wyda­je się podob­ne do induk­cji (nazwał bym je odwró­co­ną induk­cją). Abdukcja, opie­ra­jąc się na fak­tach zaob­ser­wo­wa­nych, w swym zało­że­niu, nie jest pre­dyk­cyj­na (prze­wi­dy­wa­nie tego co zaj­dzie, mimo, że do tej pory nie zaszło).

Autor nie jest ani ekspertem immunologi ani lekarzem. Autorom interdyscyplinarnych analiz systemowych zarzuca się nie raz, że "mają odwagę" prowadzić jakiekolwiek wnioskowanie nie będąc specjalistami w danej dziedzinie. Otóż analiza systemowa (w tym modelowanie) owszem wymaga wiedzy specjalistycznej, ale do ustalenia faktów (Gray & Rumpe, 2019). Reszta to już standardowe w nauce (metoda naukowa) wnioskowanie i stawianie hipotez. Innymi słowy do zbudowania teorii naukowej, lub jej oceny, wiedza dziedzinowa służy tylko do ustalenia faktów i może być pozyskana od eksperta dziedzinowego. Ładnej odpowiedzi, na zarzut "braku wiedzy" swego czasu udzielił Sokal tłumacząc się z tego, że jako fizyk ocenia wyniki pracy historyka (Sokal & Bricmont, 2004).

(Sokal & Bricmont, 2004)

Autor nie jest ani eks­per­tem immu­no­lo­gi ani leka­rzem. Autorom inter­dy­scy­pli­nar­nych ana­liz sys­te­mo­wych zarzu­ca się nie raz, że mają odwa­gę” pro­wa­dzić jakie­kol­wiek wnio­sko­wa­nie nie będąc spe­cja­li­sta­mi w danej dzie­dzi­nie. Otóż ana­li­za sys­te­mo­wa (w tym mode­lo­wa­nie) owszem wyma­ga wie­dzy spe­cja­li­stycz­nej, ale do usta­le­nia fak­tów (Gray & Rumpe, 2019). Reszta to już stan­dar­do­we w nauce (meto­da nauko­wa) wnio­sko­wa­nie i sta­wia­nie hipo­tez. Innymi sło­wy do zbu­do­wa­nia teo­rii nauko­wej, lub jej oce­ny, wie­dza dzie­dzi­no­wa słu­ży tyl­ko do usta­le­nia fak­tów i może być pozy­ska­na od eks­per­ta dzie­dzi­no­we­go. Ładnej odpo­wie­dzi, na zarzut bra­ku wie­dzy” swe­go cza­su udzie­lił Sokal tłu­ma­cząc się z tego, że jako fizyk oce­nia wyni­ki pra­cy histo­ry­ka (Sokal & Bricmont, 2004).

2. AKTUALNY STAN WIEDZY

W celu opra­co­wa­nia pod­sta­wo­wych ele­men­tów mode­lu, zebra­no tu wybra­ne pod­sta­wo­we infor­ma­cje na temat fak­tów opi­sy­wa­nych przez śro­do­wi­sko medycz­ne i pokrew­ne medy­cy­nie. Tego typu dane dzie­dzi­no­we stan­dar­do­wo słu­żą do opra­co­wa­nia bazo­we­go mode­lu, słu­żą­ce­go do wnio­sko­wa­nia deduk­cyj­ne­go. Ewentualnym dru­gim eta­pem było by jego testo­wa­nie i dosko­na­le­nie ale ten etap nie jest już przed­mio­tem tego arty­ku­łu, o czym napi­sa­no we wstę­pie. Poniżej wybra­ne fak­ty (jako źró­dła posłu­ży­ły publi­ka­cje nauko­we lub pra­so­we powo­łu­ją­ce sie na nauko­we źró­dła). Nie jest to zapew­ne zbiór repre­zen­ta­tyw­ny sta­ty­stycz­nie, ale mode­le tego typu to nie mode­le sta­ty­stycz­ne i czę­stość” nie jest tu prze­słan­ką cze­go­kol­wiek. Poniżej zebra­ne fak­ty uży­te do zbu­do­wa­nia mode­lu. Są to zarów­no publi­ka­cje nauko­we jak arty­ku­ły pra­so­we, gdzie ich auto­rzy tako­we cytu­ją poda­jąc źródło.

  • W celu zapew­nie­nie bez­piecz­nych i nie­dro­gich opcji ochro­ny, w kra­jach o niskich docho­dach, war­to roz­wa­żyć moż­li­wość zapro­jek­to­wa­nia maski z tka­ni­ny, ale do cza­su prze­pro­wa­dze­nia takich badań nie zale­ca się sto­so­wa­nia masek z mate­ria­łu. (MacIntyre et al., 2015)
  • bie­żą­ce wyni­ki poka­zu­ją śmier­tel­ność COVID na pozio­mie ułam­ków pro­cen­ta (CDC, 2020)
  • PHZ w swo­ich zale­ce­niach nie wspo­mi­na o masecz­kach (PHZ, 2020)
  • WHO nie zmie­nia swo­ich zale­ceń. Maski bez fil­trów FFP2 i FFP3 nie chro­nią nas przed zara­że­niem.” (Marcel Wandas, 2020)
  • Koronawirus: maski na twarz mogą zwięk­szać ryzy­ko infek­cji: Dla prze­cięt­ne­go człon­ka spo­łe­czeń­stwa idą­ce­go uli­cą to nie jest dobry pomysł” (Chris Baynes, 2020a)(Chris Baynes 2020b)
  • Główną dro­gą roz­prze­strze­nia­nia się cho­ro­by są kro­pel­ki odde­cho­we wyda­lo­ne przez oso­bę, któ­ra kicha lub kasz­le. Ryzyko zaka­że­nia koro­na­wi­ru­sem SARS-CoV‑2 od oso­by bez obja­wów jest bar­dzo niskie. (Wojewódzka Stacja Sanitarno-Epidemiologiczna w Gdańsku, n.d.)
  • Obecnie nie ma ani szcze­pion­ki prze­ciw­ko COVID-19, ani żad­ne­go spraw­dzo­ne­go leku prze­ciw­wi­ru­so­we­go, któ­ry hamu­je namna­ża­nie się wiru­sa w orga­ni­zmie. Większość lecze­nia jest więc ukie­run­ko­wa­na na lecze­nie obja­wów i zapew­nia­nie opie­ki szpi­tal­nej dla pacjen­tów z powi­kła­nia­mi. […] Chodzi o to, aby poprzez ogra­ni­cze­nia w kon­tak­tach z zaka­żo­ny­mi roz­cią­gnąć” roz­prze­strze­nia­nie się epi­de­mii w cza­sie, aby zbyt wie­lu pacjen­tów wyma­ga­ją­cych inten­syw­nej opie­ki nie zacho­ro­wa­ło jed­no­cze­śnie i nie tra­fi­ło w tym samym momen­cie do szpi­ta­li.” (Piotr Cieśliński, 2020)
  • Maski na twarz są sku­tecz­ne i nie­zbęd­ne w szpi­ta­lach, ale nie ozna­cza to, że są przy­dat­ne dla ogó­łu spo­łe­czeń­stwa” (Hayward, 2020)
  • Nie jest jasne, czy maski uży­wa­ne przez ogół spo­łe­czeń­stwa mogą spo­wol­nić roz­prze­strze­nia­nie się COVID-19. Masowe publicz­ne sto­so­wa­nie masek może mieć nega­tyw­ne kon­se­kwen­cje, jeśli ogra­ni­czy to dosta­wy dla pra­cow­ni­ków służ­by zdro­wia lub jeśli dopro­wa­dzi do zanie­dba­nia innych sku­tecz­nych środ­ków, takich jak mycie rąk.” (UKRI, 2020)
  • Maseczki chi­rur­gicz­ne ogra­ni­cza­ją emi­sje wiru­sa o ok. 50% (Leung et al., 2020)
  • Dane o licz­bie zgo­nów w Polsce poka­zu­ją, że w ostat­nich mie­sią­cach pomi­mo trwa­ją­cej pan­de­mii zmar­ło mniej osób niż w ubie­głych latach. Bo – jak tłu­ma­czą epi­de­mio­lo­dzy – jeśli cho­dzi o zagro­że­nie życia, wirus jest tyl­ko jed­nym z czyn­ni­ków i nie­ko­niecz­nie tym naj­groź­niej­szym.” (Michał Istel & Klaudia Fober, 2020)
  • Maj 2020, wskaź­nik śmier­tel­no­ści CORONA-19 to 0,28% (Worldometers, 2020)
  • Zalecenia doty­czą­ce masek mogą być mylą­ce, ponie­waż nie wszyst­kie maski są sobie rów­ne. Maska N95 sku­tecz­nie zapo­bie­ga roz­prze­strze­nia­niu się wiru­sów. Prawidłowo dopa­so­wa­ne maski ści­śle przy­le­ga­ją do twa­rzy i odfil­tro­wu­ją 95% czą­stek o wiel­ko­ści 0,3 mikro­na lub więk­szych. Ale masek N95 poważ­nie bra­ku­je nawet dla leka­rzy, któ­rzy są nara­że­ni na naj­wyż­sze pozio­my SARS-CoV‑2 i potrze­bu­ją naj­sil­niej­szej ochro­ny przed wiru­sem. Trudno też jest je pra­wi­dło­wo dopa­so­wać. Z tych powo­dów CDC nie zale­ca ich do ogól­ne­go użyt­ku.” (Stephanie Pappas, 2020)
  • Po pierw­sze, błę­dem było twier­dze­nie, że ten wirus był nowy. Po dru­gie, jesz­cze bar­dziej błęd­ne było twier­dze­nie, że popu­la­cja nie mia­ła­by już pew­nej odpor­no­ści na tego wiru­sa. Po trze­cie, uko­ro­no­wa­niem głu­po­ty było twier­dze­nie, że ktoś może mieć Covid-19 bez żad­nych obja­wów, a nawet prze­ka­zać cho­ro­bę bez żad­nych obja­wów.” (Beda M. Stadler, 2020)
  • Szwedzki model wal­ki z koro­na­wi­ru­sem. Główny epi­de­mio­log: stra­te­gia oka­za­ła się suk­ce­sem” (MONIKA MIKOŁAJSKA, 2020)
  • W sumie Covid zabił mniej niż 6 000 osób w kra­ju liczą­cym 10 milio­nów. Kraj, w któ­rym rocz­na śmier­tel­ność wyno­si oko­ło 100 000 osób. To spra­wia, że ??Covid jest zwy­kłym powo­dem pod wzglę­dem wpły­wu na śmier­tel­ność. Dlatego porów­ny­wa­nie Covid z inny­mi poważ­ny­mi pan­de­mia­mi, taki­mi jak pan­de­mia z 1918 r., któ­ra zabi­ła dzie­siąt­ki milio­nów ludzi, jest bez­sen­sow­ne. Covid nigdy nawet nie zbli­ży się do tych liczb. A jed­nak wie­le kra­jów zamknę­ło całe swo­je gospo­dar­ki, unie­moż­li­wi­ło dzie­ciom cho­dze­nie do szko­ły i spra­wi­ło, że duża część ich popu­la­cji sta­ła się bez­ro­bot­na, aby wal­czyć z tą chorobą”(Rushworth, 2020)
  • Reasumując, nie da się tego zoba­czyć gołym okiem, jed­nak bada­nia dowo­dzą, że wyku­pie­nie nawet całe­go zapa­su masek chi­rur­gicz­nych dostęp­nych w apte­kach nie­wie­le pomo­że w obli­czu nie­bez­pie­czeń­stwa zara­że­nia się naj­nie­bez­piecz­niej­szy­mi wiru­sa­mi Świata. ” (Agata Kukwa, 2020)
  • Przyłbice i maski z zawo­ra­mi nie chro­nią” (Katarzyna Grzelak, 2020)
  • Nie, Szwecja nie rezy­gnu­je ze swo­jej stra­te­gii bra­ku blo­ka­dy. Kontrowersje wokół Szwecji wyni­ka­ją z więk­sze­go spo­ru co do tego, kto jest lepiej przy­go­to­wa­ny do pla­no­wa­nia spo­łe­czeń­stwa, jed­no­stek lub cen­tral­nych pla­ni­stów” (Miltimore, 2020)
  • Badanie: Maski chro­nią, ale nie na 100 pro­cent” (arb, 2020)
  • Chory na COVID-19 czło­wiek wydy­cha w cią­gu godzi­ny ok. 50 mln czą­stek wiru­sa, nor­mal­nie oddy­cha­jąc. Nie mamy gwa­ran­cji, że wirus przez wen­ty­la­cję w blo­ku nie zara­zi osób w innych miesz­ka­niach. To samo jest w pra­cy, w szpi­ta­lu i wszę­dzie tam, gdzie jest wen­ty­la­cja lub kli­ma­ty­za­cja. Seniorom nie zale­cał­bym sie­dze­nia w domu, tyl­ko wyj­ście na spa­cer, do par­ku, lasu, a jeśli sie­dze­nie w domu, to przy otwar­tym oknie. Do tej pory nie ma dowo­du, żeby spa­ce­ru­jąc na świe­żym powie­trzu, moż­na się było zara­zić tym wiru­sem. Zarażamy się głów­nie w małych pomiesz­cze­niach. Druga spra­wa: naszą odpor­ność nisz­czy samot­ność, brak kon­tak­tów. A dziś istot­ne jest zarów­no uni­ka­nie zaka­że­nia, jak dobra odpor­ność. Dlatego zale­cał­bym wycho­dze­nie na spa­cer i codzien­ny ruch. Żaden lek nie zastą­pi ruchu i aktyw­no­ści fizycz­nej (Katarzyna Pinkosz, 2020).

Powyższy zestaw fak­tów został uży­ty jako wystar­cza­ją­cy do zbu­do­wa­nia pierw­szej wer­sji mode­lu dedukcyjnego.

KRZYWA ZAKAŻEŃ

Kolejnym istot­nym ele­men­tem budo­wy mode­lu jest krzy­wa zaka­żeń (infek­cji). Diagram Krzywa zaka­żeń przed­sta­wia zmien­ność licz­by zaka­żeń w cza­sie (Roser i in., 2020). Krzywa ta poka­zu­je licz­bę przy­pad­ków zaka­żeń w cza­sie od dnia poja­wie­nia się nowe­go pato­ge­nu do dnia gdy epi­de­mia wyga­sa. Krzywa ma kształt dzwo­nu. To czy jest ona wyso­ka i wąska czy niska i roz­cią­gnię­ta w cza­sie, zale­ży od tem­pa roz­prze­strze­nia­nia się pato­ge­nu. Dla kon­kret­ne­go pato­ge­nu pole pod krzy­wą jest sta­łe, co ozna­cza, że zmie­nia się wyłącz­nie tem­po roz­prze­strze­nia­nia sie pato­ge­nu. Docelowo kon­takt z pato­ge­nem zawsze będzie mia­ła stycz­ność cała populacja.

Wykres

Z uwa­gi na obcią­że­nie sys­te­mu służ­by zdro­wia wpro­wa­dzo­no poję­cie i stra­te­gię spłasz­cze­nia” tej krzywej:

Kolejnym istotnym elementem budowy modelu jest krzywa zakażeń (infekcji). Diagram Krzywa zakażeń przedstawia zmienność liczby zakażeń w czasie (Roser i in., 2020). Krzywa ta pokazuje liczbę przypadków zakażeń w czasie od dnia pojawienia się nowego patogenu do dnia gdy epidemia wygasa. Krzywa ma kształt dzwonu. To czy jest ona wysoka i wąska czy niska i rozciągnięta w czasie, zależy od tempa rozprzestrzeniania się patogenu. Dla konkretnego patogenu pole pod krzywą jest stałe, co oznacza, że zmienia się wyłącznie tempo rozprzestrzeniania sie patogenu. Docelowo kontakt z patogenem zawsze będzie miała styczność cała populacja.

Powyższy zestaw faktów został użyty jako wystarczający do zbudowania pierwszej wersji modelu dedukcyjnego.Jednak ta stra­te­gia nie zmie­nia licz­by ludzi, któ­rzy zacho­ru­ją (pole pod obie­ma krzy­wy­mi jest takie samo).

3. METODY

W opra­co­wa­niu tym wyko­rzy­sta­no mini­mal­ny zestaw narzę­dzi. Są nimi mode­le poję­cio­we oraz powią­za­ne mode­le opi­su­ją­ce mecha­nizm bada­ne­go zja­wi­ska. Do two­rze­nia sche­ma­tów blo­ko­wych uży­to nota­cji UML, w szcze­gól­no­ści wyko­rzy­sta­no dia­gra­my klas i obiektów.

Dla zachowania jednoznaczności i niesprzeczności treści tego opracowania, a także dla zapewnienia spójności treści i cytowań, opracowano model pojęciowy opisujący kluczowe użyte pojęcia. Model ten stanowi sobą zbiór pojęć łączonych predykatem (asocjacja) lub związkiem generalizacji (generalizacje czytamy "jest typem", np. bakteria jest typem patogenu). System pojęciowy (przestrzeń pojęciowa, namespace) jest poprawny, jeżeli każda kontekstowa para pojęć (związki na diagramie) tworzy zdanie prawdziwe na tle definicji tych pojęć. Na diagramie zobrazowano kluczowe pojęcia, których użyto w opisie modelu. Kluczowe dla dalszej treści są także reguły: Choroba oraz Infekcja.

Model pojęciowy

Dla zacho­wa­nia jed­no­znacz­no­ści i nie­sprzecz­no­ści tre­ści tego opra­co­wa­nia, a tak­że dla zapew­nie­nia spój­no­ści tre­ści i cyto­wań, opra­co­wa­no model poję­cio­wy opi­su­ją­cy klu­czo­we uży­te poję­cia. Model ten sta­no­wi sobą zbiór pojęć łączo­nych pre­dy­ka­tem (aso­cja­cja) lub związ­kiem gene­ra­li­za­cji (gene­ra­li­za­cje czy­ta­my jest typem”, np. bak­te­ria jest typem pato­ge­nu). System poję­cio­wy (prze­strzeń poję­cio­wa, name­spa­ce) jest popraw­ny, jeże­li każ­da kon­tek­sto­wa para pojęć (związ­ki na dia­gra­mie) two­rzy zda­nie praw­dzi­we na tle defi­ni­cji tych pojęć. Na dia­gra­mie zobra­zo­wa­no klu­czo­we poję­cia, któ­rych uży­to w opi­sie mode­lu. Kluczowe dla dal­szej tre­ści są tak­że regu­ły: Choroba oraz Infekcja.

Modelowanie to tworzenie opisu mechanizmu wyjaśniającego obserwowane fakty. Fakty to wiedza pozyskana od ekspertów dziedzinowych, to np. dane pomiarowe (źródłowe) i ich statystyka, dają one wyłącznie informacje o występowaniu określonych zjawisk, statystyki jako takie nie stanowią sobą żadnego modelu ani wyjaśnienia obserwowanego zjawiska. Statystyka może wskazać prawidłowości w obserwowalnych faktach związanych z badanym zjawiskiem (Phenomenon) ale statystyka nie wyjaśnia mechanizmu ich powstania (Mechanism). Zwraca na t uwagę Cravier na diagramie Wizualna reprezentacja mechanizmu (Craver & Tabery, 2019). Teoria wyjaśniająca to idealizacja, opis mechanizmu powstawiania obserwowanych faktów (Weisberg, 2007).
        Metanalizy nie podważają w żadnym stopniu wyników wykonanych badań, są one - ich wyniki - z zasady traktowane jako fakty. Metaanaliza ma za cel jedynie zbudować nadrzędny model wyjaśniający, którego celem jest wyłącznie opisanie (a czasami odkrycie) mechanizmu danego zjawiska. Podstawą tworzenia modelu dedukcyjnego jest idealizacja rozumiana jako model zbudowany z kluczowych dla badanego zjawiska faktów i elementów (Matthews, 2004).Wizualna repre­zen­ta­cja mechanizmu

Modelowanie to two­rze­nie opi­su mecha­ni­zmu wyja­śnia­ją­ce­go obser­wo­wa­ne fak­ty. Fakty to wie­dza pozy­ska­na od eks­per­tów dzie­dzi­no­wych, to np. dane pomia­ro­we (źró­dło­we) i ich sta­ty­sty­ka, dają one wyłącz­nie infor­ma­cje o wystę­po­wa­niu okre­ślo­nych zja­wisk, sta­ty­sty­ki jako takie nie sta­no­wią sobą żad­ne­go mode­lu ani wyja­śnie­nia obser­wo­wa­ne­go zja­wi­ska. Statystyka może wska­zać pra­wi­dło­wo­ści w obser­wo­wal­nych fak­tach zwią­za­nych z bada­nym zja­wi­skiem (Phenomenon) ale sta­ty­sty­ka nie wyja­śnia mecha­ni­zmu ich powsta­nia (Mechanism). Zwraca na t uwa­gę Cravier na dia­gra­mie Wizualna repre­zen­ta­cja mecha­ni­zmu (Craver & Tabery, 2019). Teoria wyja­śnia­ją­ca to ide­ali­za­cja, opis mecha­ni­zmu powsta­wia­nia obser­wo­wa­nych fak­tów (Weisberg, 2007).

Metanalizy nie pod­wa­ża­ją w żad­nym stop­niu wyni­ków wyko­na­nych badań, są one – ich wyni­ki – z zasa­dy trak­to­wa­ne jako fak­ty. Metaanaliza ma za cel jedy­nie zbu­do­wać nad­rzęd­ny model wyja­śnia­ją­cy, któ­re­go celem jest wyłącz­nie opi­sa­nie (a cza­sa­mi odkry­cie) mecha­ni­zmu dane­go zja­wi­ska. Podstawą two­rze­nia mode­lu deduk­cyj­ne­go jest ide­ali­za­cja rozu­mia­na jako model zbu­do­wa­ny z klu­czo­wych dla bada­ne­go zja­wi­ska fak­tów i ele­men­tów (Matthews, 2004).

4. REZULTATY

Zbudowano model opar­ty na mecha­ni­zmie pro­pa­ga­cji pato­ge­nów i cechach czło­wie­ka jak obiek­tu podat­ne­go na infek­cje i choroby.

4.1. Budowa modelu

Model zbu­do­wa­no w opar­ciu o zasa­dy two­rze­nia mode­li jak mecha­ni­zmów (Craver & Tabery, 2019). Jest to więc kon­struk­cja nie statystyka.

Szkic przedstawia dwie osoby na przeciwko siebie, symboliczne "maseczki" na twarzach oraz drogę powietrza: X przechodzącego przez osłonę ust i nosa oraz Y przechodzącego z pominięciem tej osłony. Szkic tej jest idealizowanym modelem do dalszych rozważań (McMullin, 1985).Szkic mode­lu dedukcyjnego

Szkic przed­sta­wia dwie oso­by na prze­ciw­ko sie­bie, sym­bo­licz­ne masecz­ki” na twa­rzach oraz dro­gę powie­trza: X prze­cho­dzą­ce­go przez osło­nę ust i nosa oraz Y prze­cho­dzą­ce­go z pomi­nię­ciem tej osło­ny. Szkic tej jest ide­ali­zo­wa­nym mode­lem do dal­szych roz­wa­żań (McMullin, 1985).

Diagram przedstawia mechanizm przenoszenia patogenu i kontaktu z patogenem, pobyt w środowisku skażonym. Zobrazowano go jako dwie oddziaływające na siebie osoby. Jest to model, który posłuży do analizy możliwości zarażenia sie wirusem i zachorowania.

Model pro­pa­ga­cji patogenu

Diagram przed­sta­wia mecha­nizm prze­no­sze­nia pato­ge­nu i kon­tak­tu z pato­ge­nem, pobyt w śro­do­wi­sku ska­żo­nym. Zobrazowano go jako dwie oddzia­ły­wa­ją­ce na sie­bie oso­by. Jest to model, któ­ry posłu­ży do ana­li­zy moż­li­wo­ści zara­że­nia sie wiru­sem i zachorowania.

Diagram Model progu infekcji pokazuje infekcję jako zależność stężenia patogenu we wdychanym powietrzu i czasu. Przyjęto liniową zależność, jednak może ona być nieliniowa (ma to drugorzędne znacznie dla tego modelu, ma istotne znaczenie dla ewentualnej symulacji).Model pro­gu infekcji

Diagram Model pro­gu infek­cji poka­zu­je infek­cję jako zależ­ność stę­że­nia pato­ge­nu we wdy­cha­nym powie­trzu i cza­su. Przyjęto linio­wą zależ­ność, jed­nak może ona być nie­li­nio­wa (ma to dru­go­rzęd­ne znacz­nie dla tego mode­lu, ma istot­ne zna­cze­nie dla ewen­tu­al­nej symulacji).

Diagram stan osoby przedstawia zmiany stanu zdrowia osoby. Pokazano możliwe stany zdrowia i ich zmiany w odpowiedzi na zdarzenia (fakty do jakich doszło). Jest to - diagram - tak zwany automat stanowy. Pokazuje możliwe stany obiektu i przyczyny ich zmian.

Stan osoby

Diagram Stan oso­by przed­sta­wia zmia­ny sta­nu zdro­wia oso­by. Pokazano moż­li­we sta­ny zdro­wia i ich zmia­ny w odpo­wie­dzi na zda­rze­nia (fak­ty do jakich doszło). Jest to – dia­gram – tak zwa­ny auto­mat sta­no­wy. Pokazuje moż­li­we sta­ny obiek­tu i przy­czy­ny ich zmian.

4.2. Efekty użycia modelu

Opisany model słu­ży do prze­pro­wa­dze­nia wnio­sko­wa­nia deduk­cyj­ne­go. Na pod­sta­wie fak­tów (wyni­ki badań i obser­wa­cji opu­bli­ko­wa­ne w cyto­wa­nych w czę­ści AKTUALNY STAN WIEDZY) oraz mode­li opi­sa­nych w czę­ści Budowa mode­lu, moż­na stwier­dzić co następuje:

  1. popu­lar­ne i dostęp­ne na ryn­ku masecz­ki zasła­nia­ją­ce usta i nos, nie są szczel­ne w 100%, inny­mi sło­wy nie izo­lu­ją, więc jeże­li dana oso­ba znaj­dzie sie w zaka­żo­nym środowisku,dojdzie do kon­tak­tu z patogenem,
  2. jak poka­za­no na dia­gra­mie Model pro­gu infek­cji do zaka­że­nia docho­dzi po prze­kro­cze­niu pro­gu sku­tecz­no­ści sys­te­mu odpor­no­ścio­we­go u czło­wie­ka, osło­na ust i nosa może co naj­wy­żej odsu­nąć w cza­sie doj­ście do infek­cji, nie jest więc praw­dą, że masecz­ki zmniej­sza­ją praw­do­po­do­bień­stwo infek­cji i ewen­tu­al­ne­go zacho­ro­wa­nia, one jedy­nie opóź­nia­ją moment infek­cji, jeże­li do infek­cji docho­dzi w cza­sie kil­ku do kil­ku­na­stu minut od kon­tak­ty z zaka­żo­nym śro­do­wi­skiem, a ludzie prze­by­wa­ją w jed­nym miej­scy (auto­bus, sklep, itp.) dłu­żej, to sto­so­wa­nie mase­czek nie chroni,
  3. wiru­sy roz­cho­dzą się przede wszyst­kim dro­gą kro­pel­ko­wą, więc głów­nym zagro­że­niem jest oso­ba cho­ra z obja­wa­mi (kaszel, kicha­nie), sku­tecz­ne jest więc eli­mi­no­wa­nie z prze­strze­ni publicz­nej takich osób, nosze­nie masecz­ki nie wpły­nie zbyt­nio na zaha­mo­wa­nie roz­prze­strze­nia­nia się epi­de­mii, bio­rąc pod uwa­gę, ze sta­no­wią one ok. kil­ku pro­cent popu­la­cji jest to (kwa­ran­tan­na osób z obja­wa­mi) rela­tyw­nie mało szko­dli­we społecznie,
  4. defi­ni­cja epi­de­mii (czy­li tak­że pan­de­mii) bazu­je na zacho­ro­wa­niach a nie na infek­cjach, więc opie­ra­nie stra­te­gii wal­ki z pan­de­mią na licz­bie pozy­tyw­nych testów wyda­je się nie­ra­cjo­nal­ne, sku­tecz­niej­sza w hamo­wa­niu roz­prze­strze­nia­nia była­by jed­nak stra­te­gia eli­mi­no­wa­nia z prze­strze­ni publicz­nej osób z obja­wa­mi (taką stra­te­gie przy­ję­ły mię­dzy inny­mi Nowa Zelandia i Tajwan),
  5. powszech­nie przy­ta­cza­na krzy­wa opi­sa­na na dia­gra­mie Krzywa zaka­żeń, poka­zu­je skut­ki dla sys­te­mu służ­by zdro­wia, ten zaś jest obcią­ża­ny zacho­ro­wa­nia­mi wyma­ga­ją­cy­mi hospi­ta­li­za­cji a nie pozy­tyw­ny­mi testa­mi, tak więc tak zwa­ne spłasz­cza­nie” tej krzy­wej nie powin­no być nasta­wio­na na licz­bę pozy­tyw­nych testów, co wyda­je się jest pro­mo­wa­ne w mediach.
  6. brak szcze­pion­ki i nie­ule­czal­ność cho­ro­by powo­du­je, że (poza rzad­ki­mi przy­pad­ka­mi gdy lecze­nie obja­wo­we pomo­że prze­żyć) nie jeste­śmy w sta­nie rato­wać ludzi cho­rych, a model jakim jest krzy­wa zaka­żeń (pole pod krzy­wą) poka­zu­je, że może­my jedy­nie ten pro­ces spowolnić.

W kon­tek­ście powyż­sze­go, sto­so­wa­nie poważ­nych ogra­ni­czeń swo­bód oby­wa­tel­skich i blo­ka­dy gospo­dar­ki (lock­down), wyda­je się wyso­ce nie­ra­cjo­nal­ne. Poważne ogra­ni­cze­nia, a dla wie­lu grup zawo­do­wych wstrzy­ma­nie, pra­cy zarob­ko­wej powo­du­je utra­tę źró­dła utrzy­ma­nia przez wie­lu ludzi a tak­że wstrzy­ma­nie świad­cze­nia wie­lu usług. W efek­cie spa­da­ją wpły­wy z podat­ków i rosną wydat­ki na świad­cze­nia publicz­ne (zasił­ki).

[Listopad 2020] Poniższy wykres zda­je sie tak­że potwier­dzać powyż­sze rozważania:

(https://www.nature.com/articles/s41586-020‑2923‑3)

5. DYSKUSJA I DALSZE PRACE

Przedstawiony model dale­ki jest od dosko­na­ło­ści i na pew­no wyma­ga dopre­cy­zo­wa­nia w obsza­rze danych (w szcze­gól­no­ści nachy­le­nie i kształt krzy­wych na dia­gra­mie Model pro­gu infek­cji). Głównym celem jego stwo­rze­nia i publi­ka­cji na tym eta­pie jest jed­nak poka­za­nie alter­na­ty­wy dla tak zwa­nych mode­li sta­ty­stycz­nych. Ich klu­czo­wą wadą jest to, że nicze­go nie wyja­śnia­ją (Craver & Tabery, 2019) oraz to, że pro­gno­zy sta­ty­stycz­ne (tren­dy) licz­by zaka­żeń od same­go począt­ku pan­de­mii nie kore­lu­ją z podej­mo­wa­ny­mi środ­ka­mi jaki­mi są róż­ne for­my restryk­cji swo­bo­dy życia spo­łecz­ne­go (Worldometers, 2020). Uwidoczniły się za to skut­ki ubocz­ne znacz­ne­go ogra­ni­cze­nia życia spo­łecz­ne­go w posta­ci kry­zy­su eko­no­micz­ne­go oraz wzro­stu licz­by depre­sji lęko­wych i samo­bójstw. Wiele rodzin popa­dło w nie­do­sta­tek. Chaos orga­ni­za­cyj­ny w służ­bie zdro­wia, spo­wo­do­wa­ny ad-hoc two­rzo­ny­mi ogra­ni­cze­nia­mi dostę­pu do usług medycz­nych, spo­wo­do­wał śmierć wie­lu ludzi z powo­du ogra­ni­cze­nia lub bra­ku dostę­pu do służ­by zdrowia.

Model ten jed­nak mimo wska­za­nych wyżej wad, tłu­ma­czy brak kore­la­cji podej­mo­wa­nych dzia­łań z uzy­ska­ny­mi efek­ta­mi. Zdaniem auto­ra, war­to pod­jąć pra­ce nad rewi­zją kon­tro­wer­syj­nych, z per­spek­ty­wy całe­go Państwa i spo­łe­czeń­stwa, działań.

Często poda­je się jako przy­kład potrzeb obostrzeń zakła­dy fry­zjer­skie gdzie dłu­go­trwa­łe kon­tak­ty nie koń­czy­ły się zaka­że­niem jak rów­nież były ogni­ska, gdzie zaka­ża­li się ludzie w kil­ka minut. Sugeruje się, że ope­ro­wa­nia na praw­do­po­do­bień­stwach jest jed­nak uprawnione.

Ten (i podob­ne) przy­kła­dy wyja­śnia jed­nak mój model: do zaka­że­nia docho­dzi z powo­du kon­tak­tu z pato­ge­nem a nie z powo­du bra­ku masecz­ki, praw­do­po­do­bień­stwo ma tu zna­cze­nie jako ryzy­ko kon­tak­tu ze śro­do­wi­skiem zawie­ra­ją­cym pato­gen, pamię­taj­my, że wirus utrzy­mu­je sie w powie­trzu nawet kil­ka godzin, czy­li np. wcho­dząc do jakie­goś pomiesz­cze­nia moż­na się zara­zić od czło­wie­ka” któ­ry 1. był tam kil­ka godzin wcze­śniej i 2. był cho­ry i 3. miał masecz­ką na twa­rzy (one prze­pusz­cza­ją nawet 70% wydy­cha­ne­go powie­trza bokiem). To dla­te­go np. Nowa Zelandia i Tajwan sku­pi­ły sie na pomia­rach tem­pe­ra­tu­ry u ludzi (nie wpusz­cza­li do chro­nio­nych pomiesz­czeń ludzi z obja­wa­mi) a nie na masecz­kach i dystansie.

Zdaje sobie spra­wę z kry­ty­ki na jaką sie nara­żam, jed­nak uwa­żam, że podej­mo­wa­nie takich dys­ku­sji jest potrzeb­ne. Nawet, jeże­li opi­sa­ny tu model zosta­nie cał­ko­wi­cie pod­wa­żo­ny, uwa­żam, że fakt bra­ku kore­la­cji podej­mo­wa­nych dzia­łań i uzy­ska­nych efek­tów każe szu­kać wyjaśnienia.

Planowane dal­sze pra­ce to przede wszyst­kim śle­dze­nie badań ilo­ścio­wych w celu potwier­dze­nia lub oba­le­nia powyż­sze­go mode­lu. Będą umiesz­cza­ne w komen­ta­rza pod tym tek­stem. Osoby zain­te­re­so­wa­ne mogą sub­skry­bo­wać te komen­ta­rze (opis w sek­cji komentarze). 

6. ŹRÓDŁA

Agata Kukwa. (2020, September). Dlaczego maski nie ochro­nią Cię przed infek­cją wiru­so­wą? ? Badania​.net. https://​www​.bada​nia​.net/​d​l​a​c​z​e​g​o​-​m​a​s​k​i​-​n​i​e​-​o​c​h​r​o​n​i​a​-​c​i​e​-​p​r​z​e​d​-​i​n​f​e​k​c​j​a​-​w​i​r​u​s​o​wa/

arb. (2020, paź­dzier­nik 22). Badanie: Maski chro­nią, ale nie na 100 procent?Covid-19?Rp.pl. https://​www​.rp​.pl/​C​o​v​i​d​-​1​9​/​2​0​1​0​2​9​7​6​2​-​B​a​d​a​n​i​e​-​M​a​s​k​i​-​c​h​r​o​n​i​a​-​a​l​e​-​n​i​e​-​n​a​-​1​0​0​-​p​r​o​c​e​n​t​.​h​t​m​l​?​f​b​c​l​i​d​=​I​w​A​R​3​V​9​S​Y​U​M​7​E​w​Q​n​r​u​I​F​r​w​H​v​-​y​c​1​K​d​6​5​d​6​N​H​-​c​o​t​6​7​F​f​j​X​M​I​D​5​A​n​q​X​I​u​B​3​kEU

Back to Reason. (2020, July 14). Coronavirus: Why eve­ry­one was wrong. Medium. 

Beda M. Stadler. (2020, lipiec 14). Coronavirus: Why eve­ry­one was wrong. Medium.

CDC. (2020, February 11). Coronavirus Disease 2019 (COVID-19). Centers for Disease Control and Prevention. https://​www​.cdc​.gov/​c​o​r​o​n​a​v​i​r​u​s​/​2​0​1​9​-​n​c​o​v​/​h​c​p​/​p​l​a​n​n​i​n​g​-​s​c​e​n​a​r​i​o​s​.​h​tml

Chris Baynes. (2020, March 12). Coronavirus: Face masks could incre­ase risk of infec­tion, medi­cal chief warns | The Independent | The Independent. https://​www​.inde​pen​dent​.co​.uk/​n​e​w​s​/​h​e​a​l​t​h​/​c​o​r​o​n​a​v​i​r​u​s​-​n​e​w​s​-​f​a​c​e​-​m​a​s​k​s​-​i​n​c​r​e​a​s​e​-​r​i​s​k​-​i​n​f​e​c​t​i​o​n​-​d​o​c​t​o​r​-​j​e​n​n​y​-​h​a​r​r​i​e​s​-​a​9​3​9​6​8​1​1​.​h​tml

Chris Baynes. (2020, March 12). Face masks could incre­ase risk of get­ting coro­na­vi­rus, medi­cal chief warns. The Independent. https://​www​.inde​pen​dent​.co​.uk/​n​e​w​s​/​h​e​a​l​t​h​/​c​o​r​o​n​a​v​i​r​u​s​-​n​e​w​s​-​f​a​c​e​-​m​a​s​k​s​-​i​n​c​r​e​a​s​e​-​r​i​s​k​-​i​n​f​e​c​t​i​o​n​-​d​o​c​t​o​r​-​j​e​n​n​y​-​h​a​r​r​i​e​s​-​a​9​3​9​6​8​1​1​.​h​tml

Christine Chiou. (2020, April 6). How Taiwan Battles the Coronavirus. https://​the​di​plo​mat​.com/​2​0​2​0​/​0​4​/​h​o​w​-​t​a​i​w​a​n​-​b​a​t​t​l​e​s​-​t​h​e​-​c​o​r​o​n​a​v​i​r​us/

Craver, C., & Tabery, J. (2019). Mechanisms in Science. In E. N. Zalta (Ed.), The Stanford Encyclopedia of Philosophy (Summer 2019). Metaphysics Research Lab, Stanford University. https://​pla​to​.stan​ford​.edu/​a​r​c​h​i​v​e​s​/​s​u​m​2​0​1​9​/​e​n​t​r​i​e​s​/​s​c​i​e​n​c​e​-​m​e​c​h​a​n​i​s​ms/

Duszyński, J., Afelt, A., Ochab-Marcinek, A., Owczuk, R., Pyrć, K., Rosińska, M., Rychard, A., & Smiatacz, T. (2020). OPRACOWANIE ZESPOŁU DS. COVID-19 PRZY PREZESIE POLSKIEJ AKADEMII NAUK. 70.

Frigg, R., & Hartmann, S. (2006). Models in Science. https://​pla​to​.stan​ford​.edu/​a​r​c​h​i​v​e​s​/​s​u​m​2​0​1​9​/​e​n​t​r​i​e​s​/​m​o​d​e​l​s​-​s​c​i​e​n​ce/

Gray, J., & Rumpe, B. (2019). Models as the sub­ject of rese­arch. Software and Systems Modeling, 18(6), 3189?3191. https://​doi​.org/​1​0​.​1​0​0​7​/​s​1​0​2​7​0​-​019 – 00751‑y

Hayward, E. (2020, October 7). Coronavirus lock­downs ?may kill MORE than herd immu­ni­ty?. Mail Online. https://​www​.daily​ma​il​.co​.uk/​n​e​w​s​/​a​r​t​i​c​l​e​-​8​8​1​7​0​7​5​/​C​o​r​o​n​a​v​i​r​u​s​-​l​o​c​k​d​o​w​n​s​-​k​i​l​l​-​h​e​r​d​-​i​m​m​u​n​i​t​y​.​h​tml

Heymann, D. (2020, April 3). Do face masks pro­tect aga­inst coro­na­vi­rus? Here?s what scien­ti­sts know so far | David Heymann. The Guardian. https://​www​.the​gu​ar​dian​.com/​c​o​m​m​e​n​t​i​s​f​r​e​e​/​2​0​2​0​/​a​p​r​/​0​3​/​f​a​c​e​-​m​a​s​k​s​-​c​o​r​o​n​a​v​i​r​u​s​-​s​c​i​e​n​t​i​s​t​s​-​e​v​i​d​e​n​c​e​-​c​o​v​i​d​-​1​9​-​p​u​b​lic

Katarzyna Grzelak. (2020, September). Przyłbice i maski z zawo­ra­mi nie chro­nią ? udo­wad­nia pro­sta symu­la­cja. https://​www​.focus​.pl/​a​r​t​y​k​u​l​/​p​r​z​y​l​b​i​c​e​-​i​-​m​a​s​k​i​-​z​-​z​a​w​o​r​a​m​i​-​n​i​e​-​c​h​r​o​n​i​a​-​u​d​o​w​a​d​n​i​a​-​p​r​o​s​t​a​-​s​y​m​u​l​a​cja

Katarzyna Pinkosz. (2020, listo­pad 30). Prof. Piotr Kuna: Po każ­dej tra­ge­dii przy­cho­dzi coś dobre­go. Świat Lekarza. https://​swia​tle​ka​rza​.pl/​p​r​o​f​-​p​i​o​t​r​-​k​u​n​a​-​p​o​-​k​a​z​d​e​j​-​t​r​a​g​e​d​i​i​-​p​r​z​y​c​h​o​d​z​i​-​c​o​s​-​d​o​b​r​e​go/

Larson, H. (2020). Agent-Based Modeling of Locust Foraging and Social Behavior. 47.

Leung, N. H. L., Chu, D. K. W., Shiu, E. Y. C., Chan, K.-H., McDevitt, J. J., Hau, B. J. P., Yen, H.-L., Li, Y., Ip, D. K. M., Peiris, J. S. M., Seto, W.-H., Leung, G. M., Milton, D. K., & Cowling, B. J. (2020). Respiratory virus shed­ding in exha­led bre­ath and effi­ca­cy of face masks. Nature Medicine, 26(5), 676?680. https://doi.org/10.1038/s41591-020‑0843‑2

MacIntyre, C. R., Seale, H., Dung, T. C., Hien, N. T., Nga, P. T., Chughtai, A. A., Rahman, B., Dwyer, D. E., & Wang, Q. (2015). A clu­ster ran­do­mi­sed trial of cloth masks com­pa­red with medi­cal masks in heal­th­ca­re wor­kers. BMJ Open, 5(4), e006577. https://​doi​.org/​1​0​.​1​1​3​6​/​b​m​j​o​p​e​n​-​2​014 – 006577

Marcel Wandas. (2020, luty 28). Czy maski anty­smo­go­we chro­nią przed wiru­sa­mi? SmogLab. https://​smo​glab​.pl/​c​z​y​-​m​a​s​k​i​-​a​n​t​y​s​m​o​g​o​w​e​-​c​h​r​o​n​i​a​-​p​r​z​e​d​-​w​i​r​u​s​a​mi/

Mark Lawrence. (2020, April 9). The ?Wicked Problem? of the Covid-19 Pandemic | Institute for Advanced Sustainability Studies. https://​www​.iass​-pots​dam​.de/​e​n​/​b​l​o​g​/​2​0​2​0​/​0​4​/​w​i​c​k​e​d​-​p​r​o​b​l​e​m​-​c​o​v​i​d​-​1​9​-​p​a​n​d​e​mic

Matthews, M. R. (2004). Idealisation and Galileo?s pen­du­lum disco­ve­ries: Historical, phi­lo­so­phi­cal and peda­go­gi­cal con­si­de­ra­tions. Science & Education, 13(7?8), 689?715.

McMullin, E. (1985). Galilean ide­ali­za­tion. Studies in History and Philosophy of Science Part A, 16(3), 247?273. https://​doi​.org/​1​0​.​1​0​1​6​/​0​039 – 3681(85)90003 – 2

MICHAŁ DOMASZEWSKI. (2020, August 31). Jak roz­ma­wiać z ?koro­na­scep­ty­ka­mi?? ? Doktor Michał. http://​www​.dok​tor​mi​chal​.com/​o​g​o​l​n​e​/​j​a​k​-​r​o​z​m​a​w​i​a​c​-​z​-​k​o​r​o​n​a​s​c​e​p​t​y​k​a​mi/

Michał Istel, & Klaudia Fober. (2020, May 11). Jak epi­de­mia wpły­nę­ła na sta­ty­sty­ki zgo­nów w Polsce. Analiza Konkret24. Konkret24. https://​kon​kre​t24​.tvn24​.pl/​z​d​r​o​w​i​e​,​1​1​0​/​j​a​k​-​e​p​i​d​e​m​i​a​-​w​p​l​y​n​e​l​a​-​n​a​-​s​t​a​t​y​s​t​y​k​i​-​z​g​o​n​o​w​-​w​-​p​o​l​s​c​e​-​a​n​a​l​i​z​a​-​k​o​n​k​r​e​t​2​4​,​1​0​1​5​6​4​5​.​h​tml

Miltimore, J. (2020, October 20). No, Sweden Isn?t Abandoning Its No-Lockdown Strategy | Jon Miltimore. https://​fee​.org/​a​r​t​i​c​l​e​s​/​n​o​-​s​w​e​d​e​n​-​i​s​n​-​t​-​a​b​a​n​d​o​n​i​n​g​-​i​t​s​-​n​o​-​l​o​c​k​d​o​w​n​-​s​t​r​a​t​e​gy/

MONIKA MIKOŁAJSKA. (2020, July 24). Koronawirus na świe­cie. Szwecja. Epidemiolog zado­wo­lo­ny ze stra­te­gii. medo​net​.pl. https://​www​.medo​net​.pl/​k​o​r​o​n​a​w​i​r​u​s​/​k​o​r​o​n​a​w​i​r​u​s​-​w​-​e​u​r​o​p​i​e​,​k​o​r​o​n​a​w​i​r​u​s​-​n​a​-​s​w​i​e​cie – szwe­cja – epidemiolog-zadowolony-ze-strategii,artykul,42937652.html

PHZ. (2020, February 27). Sposoby ogra­ni­cza­nia ryzy­ka zaka­że­nia koronawirusem?Plakat do pobra­nia. PZH. https://​www​.pzh​.gov​.pl/​s​p​o​s​o​b​y​-​o​g​r​a​n​i​c​z​a​n​i​a​-​r​y​z​y​k​a​-​z​a​k​a​z​e​n​i​a​-​k​o​r​o​n​a​w​i​r​u​s​e​m​-​p​l​a​k​a​t​-​d​o​-​p​o​b​r​a​n​ia/

Piotr Cieśliński. (2020, March 14). Koronawirus. Mieliśmy już pan­de­mie i wie­my, cze­go się spo­dzie­wać. Możliwe są dwa sce­na­riu­sze. gaze­tapl. https://​wybor​cza​.pl/​7​,​7​5​4​0​0​,​2​5​7​8​1​3​7​8​,​n​i​e​-​w​s​z​y​s​c​y​-​n​i​e​-​u​m​r​z​e​m​y​-​m​i​e​l​i​s​m​y​-​j​u​z​-​t​a​k​i​e​-​p​a​n​d​e​m​i​e​-​i​-​w​i​e​m​y​.​h​tml

Reunion ?69. (2020, June 26). SZWECJA ? PANDEMIA, PRYWATYZACJA I PERSONEL NA ŚMIECIÓWKACH. REUNION 69. https://​dzi​smis​.com/​2​0​2​0​/​0​6​/​2​7​/​s​z​w​e​c​j​a​-​p​a​n​d​e​m​i​a​-​p​r​y​w​a​t​y​z​a​c​j​a​-​i​-​p​e​r​s​o​n​e​l​-​n​a​-​s​m​i​e​c​i​o​w​k​a​ch/

Rittel, H. W. J., & Webber, M. M. (1973). Dilemmas in a gene­ral the­ory of plan­ning. Policy Sciences, 4(2), 155?169. https://​doi​.org/​1​0​.​1​0​0​7​/​B​F​0​1​4​0​5​730

Roser, M., Ritchie, H., Ortiz-Ospina, E., & Hasell, J. (2020). Coronavirus Pandemic (COVID-19). Our World in Data. https://​our​worl​din​da​ta​.org/​c​o​r​o​n​a​v​i​rus

Rushworth, S. (2020, August 11). How dan­ge­ro­us is Covid? A Swedish doctor?s per­spec­ti­ve. https://​app​.spec​ta​tor​.co​.uk/​2​0​2​0​/​0​8​/​1​1​/​h​o​w​-​d​a​n​g​e​r​o​u​s​-​i​s​-​c​o​v​i​d​-​a​-​s​w​e​d​i​s​h​-​d​o​c​t​o​r​s​-​p​e​r​s​p​e​c​t​i​v​e​/​c​o​n​t​e​n​t​.​h​tml

Sokal, A., & Bricmont, J. (2004). Modne bzdu­ry. O Nadużywaniu Pojęć z Zakresu Nauk Ścis\lych Przez Postmodernistycznych Intelektualistów.

Stephanie Pappas. (2020, June 2). Do face masks real­ly redu­ce coro­na­vi­rus spre­ad? Experts have mixed answers. | Live Science. https://​www​.live​scien​ce​.com/​a​r​e​-​f​a​c​e​-​m​a​s​k​s​-​e​f​f​e​c​t​i​v​e​-​r​e​d​u​c​i​n​g​-​c​o​r​o​n​a​v​i​r​u​s​-​s​p​r​e​a​d​.​h​tml

Stone, L. (2020, kwie­cień 21). Lockdowns Don?t Work. Public Discourse. https://​www​.the​pu​blic​di​sco​ur​se​.com/​2​0​2​0​/​0​4​/​6​2​5​72/

UKRI, C. the scien­ce expla­ined-. (2020, April 7). Can face masks pre­vent the spre­ad of COVID-19? https://​coro​na​vi​ru​se​xpla​ined​.ukri​.org/​e​n​/​a​r​t​i​c​l​e​/​p​u​b​0​0​05/

Weisberg, M. (2007). Three Kinds of Idealization: The Journal of Philosophy, 104(12), 639?659. https://​doi​.org/​1​0​.​5​8​4​0​/​j​p​h​i​l​2​0​0​7​1​0​4​1​240

Wojewódzka Stacja Sanitarno-Epidemiologiczna w Gdańsku. (n.d.). Czy moż­na zara­zić się COVID-19 od oso­by, któ­ra nie ma obja­wów? Retrieved 17 October 2020, from http://​www​.wsse​.gda​.pl/​i​n​f​o​r​m​a​c​j​e​/​2​9​1​-​c​z​y​-​m​o​z​n​a​-​z​a​r​a​z​i​c​-​s​i​e​-​c​o​v​i​d​-​1​9​-​o​d​-​o​s​o​b​y​-​k​t​o​r​a​-​n​i​e​-​m​a​-​o​b​j​a​wow

Wordometer. (2020, maj 14). Coronavirus Death Rate (COVID-19)?Worldometer. https://​www​.worl​do​me​ters​.info/​c​o​r​o​n​a​v​i​r​u​s​/​c​o​r​o​n​a​v​i​r​u​s​-​d​e​a​t​h​-​r​a​te/

Urbański, M. (2009). Rozumowania abduk­cyj­ne: Modele i pro­ce­du­ry. Wydawnictwo Naukowe UAM.

Yu Chong Ho. (1994). Abduction? Deduction? Induction? Is the­re a Logic of Exploratory Data Analysis? 28.

Popper, K. R. (2008). The Logic of scien­ti­fic disco­ve­ry (Repr. 2008 (twi­ce)). Routledge.

[Marzec 2021]

Did Lockdown Work? An Economist?s Cross-Country Comparison Christian Bj?rnskov CESifo Economic Studies, fab003, https://​doi​.org/​1​0​.​1​0​9​3​/​c​e​s​i​f​o​/​i​f​a​b​003 Published: 29 March 2021

Model czy abstrakcja

[zak­tu­ali­zo­wa­ny lip 16, 2020 @ 13:28]

Niedawno pisa­łem na temat mode­lu sys­te­mu” i mode­lu dzie­dzi­ny sys­te­mu”. Oba te poję­cia są sobie bli­skie, pierw­sze jest bar­dzo ogól­ne, doty­czy sys­te­mu zawę­żo­ne­go do jego dzie­dzi­no­wej spe­cy­fi­ki. Model dzie­dzi­ny sys­te­mu to tak­że, w inży­nie­rii opro­gra­mo­wa­nia, nazwa kon­kret­ne­go kom­po­nen­tu, nazy­wa­ne­go Model, w archi­tek­tu­rze opar­tej na wzo­ru MVC. Swego cza­su pisa­łem, że (Czym jest a czym nie jest model dzie­dzi­ny…):

Pojęcie sys­tem ozna­cza albo deta­licz­ną struk­tu­rę okre­ślo­nej rze­czy­wi­sto­ści albo abs­trak­cję ją repre­zen­tu­ją­cą (model systemu).

Jest to stan­dar­do­we tłu­ma­cze­nie tego poję­cia w lite­ra­tu­rze z zakre­su teo­rii sys­te­mów a tak­że wła­śnie inży­nie­rii opro­gra­mo­wa­nia .

Mam wła­śnie za sobą kil­ka spo­tkań na tar­gach IT Future Expo. Dotyczyły mię­dzy inny­mi roli pro­duct owne­ra”, ana­li­ty­ka biz­ne­so­we­go i wymia­ny infor­ma­cji pomię­dzy deve­lo­pe­ra­mi i resz­tą świa­ta”. Okazuje się, że naj­więk­szym pro­ble­mem w pro­jek­cie jest: (a) zro­zu­mieć cze­go chce zama­wia­ją­cy biz­nes, (b) prze­two­rzyć to tak by deve­lo­per wie­dział co ma zaim­ple­men­to­wać. I tu nie­ste­ty jest pro­blem: deve­lo­per owszem jest bar­dzo dobry w imple­men­ta­cji… i w niczym wię­cej. Co cie­ka­we, pro­gra­mi­ści, z któ­ry­mi czę­sto mam do czy­nie­nia, nie potra­fią (nie chcą?) myśleć abs­trak­cyj­nie, ocze­ku­ją typo­wej kawy na ławę” (pierw­szy dzień pro­jek­tu a tu nagle ktoś pyta o typ pola nazwi­sko”). Gorzej, wie­lu z nich myśli wyłącz­nie o odda­niu kodu na jutro rano”. Paradoksalnie, nie mała rota­cja na sta­no­wi­skach pro­gra­mi­stów oraz regu­lar­ne prze­no­sze­nie wszel­kich kosz­tów i ryzyk na kupu­ją­ce­go (któ­ry tego nie wie, bo nie rozu­mie tej tech­no­lo­gii), powo­du­je, że prze­my­śla­na archi­tek­tu­ra cało­ści to coś cze­go nie nikt robi, deve­lo­per po pro­stu koduje…

Nie wal­czy­my z fak­ta­mi, musi­my się z nimi zmie­rzyć. Jak? Dać deve­lo­pe­ro­wi i egze­kwo­wać archi­tek­tu­rę i logi­kę sys­te­mu jako wyma­ga­nie, a nie zebra­ne wyma­ga­nia”. Niestety, oso­ba zwa­na ana­li­ty­kiem, nie powin­na postrze­gać swo­jej pra­cy jako kolek­cjo­ne­ra” („zbie­ra­nie wyma­gań” zawsze koja­rzy mi się ze zbie­ra­niem grzy­bów). Tak zwa­ny ana­li­tyk musi abs­tra­ho­wać od wszel­kich deta­li, bez tego pro­jekt zosta­nie już na samym począt­ku zabi­ty” ich ilo­ścią. To się nazy­wa utra­ta pano­wa­nia nad zło­żo­no­ścią pro­jek­tu” a w kon­se­kwen­cji utra­ta pano­wa­nia nad zakre­sem pro­jek­tu”. W arty­ku­le o zega­rze [1] opi­sa­łem jak to zro­bić, tu opi­szę źró­dła tego podejścia.

Analiza systemowa dziedziny problemu

Praca ana­li­ty­ka powin­na mieć cha­rak­ter nauko­wy”: na bazie fak­tów opi­su­je się logi­kę dzia­ła­nia ana­li­zo­wa­nej orga­ni­za­cji . Przede wszyst­kim trze­ba mieć świa­do­mość, że bada­nym sys­te­mem jest np. orga­ni­za­cja a nie tyl­ko sys­tem infor­ma­tycz­ny”. Organizacja (fir­ma, urząd, itp.) to sys­tem skła­da­ją­cy się z ludzi i narzę­dzi jakich uży­wa­ją a całość jest ste­ro­wa­na regu­ła­mi (pra­wo, regu­la­cje wewnętrz­ne nie­spi­sa­ne zasa­dy itp.). Część z tych narzę­dzi to opro­gra­mo­wa­nie. Jeżeli jest to opro­gra­mo­wa­nie pla­no­wa­ne do zaku­pu i wdro­że­nia, to zna­czy, że ktoś musi zro­zu­mieć stan obec­ny, zro­zu­mieć cele i zapro­jek­to­wać stan przy­szły, zakła­da­ją­cy ist­nie­nie nowe­go opro­gra­mo­wa­nia. Nie ma tu zna­cze­nia czy będzie to opro­gra­mo­wa­nie wspo­ma­ga­ją­ce pro­duk­cje czy praw­ni­ka i jego pracę. 

A gdzie wyma­ga­nia? Wymaganiem jest pro­jekt logi­ki (archi­tek­tu­ra) nowe­go opro­gra­mo­wa­nia. Czy to robo­ta ana­li­ty­ka? Tak, bo deve­lo­per jest od wyko­na­nia implementacji.

Zegar. Abstrakcja systemu

Przede wszyst­kim war­to upo­rząd­ko­wać uży­te tu poję­cia, któ­re są czę­sto mylo­ne lub źle interpretation:

  • abs­tra­hu­je­my od czegoś 
  • ide­ali­zu­je­my coś

Modelowanie pole­ga na abs­tra­ho­wa­niu od okre­ślo­nych szcze­gó­łów i stwo­rze­niu ide­ali­za­cji tak, by sku­pić się na isto­cie danej rze­czy. Dobry model opi­su­je wyłącz­nie mechanizm. 

Powinno paść pyta­nie: Co sys­tem robi? (będzie robił jak go wdrożymy).

Jeżeli był­by to zegar, to sys­tem wska­zu­je aktu­al­ny czas”. To jest biz­ne­so­wy cel, uzna­no, że potrzeb­na jest sta­ła zna­jo­mość aktu­al­nej godzi­ny, a nie my chce­my mieć zegar”.

Teraz decy­zja: Jak sys­tem to robi? Może to być zegar ścien­ny, ana­lo­go­wy, cyfro­wy, może to być sta­le włą­czo­ne radio. Decyzja brzmi: zegar ścien­ny ana­lo­go­wy (poni­żej pro­to­typ w posta­ci mock-up’u). 

I dopie­ro teraz wiem o co pytać dostawców!

Tu draż­li­wy moment. Jeżeli opi­sze­my to tyl­ko pro­sty­mi histo­ryj­ka­mi użyt­kow­ni­ka to może się skoń­czyć tak, że deve­lo­per po pro­stu stwo­rzy kil­ka­dzie­siąt obra­zów tar­czy zega­ra i będzie je wyświe­tlał np. na wiszą­cym ekra­nie. To nic inne­go jak lite­ral­nie zre­ali­zo­wa­ne zebra­ne wyma­ga­nia” (pro­szę się nie śmiać, tak to nie raz wyglą­da: hard­ko­do­wa­nie” wymagań).

Dlatego war­to jed­nak opra­co­wać abs­trak­cyj­ną archi­tek­tu­rę roz­wią­za­nia czy­li model opi­su­ją­cy mecha­nizm dzia­ła­nia tego co chce­my otrzymać:

To nam zagwa­ran­tu­je, że deve­lo­per nie pój­dzie na łatwi­znę, że nasz zegar będzie się dał w przy­szło­ści roz­wi­jać i mody­fi­ko­wać .

Teraz dopie­ro deve­lo­per, mając (i słusz­nie) nie­co zwią­za­ne ręce, opra­cu­je kon­cep­cję reali­za­cji (Jak sys­tem został zre­ali­zo­wa­ny?), my ją zatwier­dzi­my i dosta­nie­my np. to:

…albo opro­gra­mo­wa­nie zawie­ra­ją­ce trzy kom­po­nen­ty i wyświe­tlacz. Jak nam kie­dyś przyj­dzie do gło­wy doda­nie datow­ni­ka albo zamia­na tar­czy ana­lo­go­wej na cyfro­wą, to będzie to roz­wój opro­gra­mo­wa­nia a nie kosz­tow­ne pisa­nie od zera (gdy­by nam dano pro­jek­tor z fil­mem z nakrę­co­nym zega­rem ana­lo­go­wym). To jak ten sys­tem został zre­ali­zo­wa­ny zale­ży od deve­lo­pe­ra, jed­nak jego logi­ka i archi­tek­tu­ra powin­ny być opra­co­wa­ne wcze­śniej po stro­nie zama­wia­ją­ce­go i narzu­co­ne deve­lo­pe­ro­wi (inży­nie­rom).

Inny przy­kład. Popatrzmy na szklan­kę jako opi­sa­ne histo­ryj­ka­mi użyt­kow­ni­ka wymagania:

  • moż­li­wość picia kawy,
  • moż­li­wość prze­cho­wa­nia cukru,
  • moż­li­wość zła­pa­nia muchy na stole,
  • moż­li­wość pod­la­nia wodą kwiatów,
  • .…

Alternatywą dla tego opi­su będzie:

- Szklanka jako pro­jekt: szkla­ny cylin­drycz­ny pojem­nik o śred­ni­cy 8 cm i pojem­no­ści 250 ml”.

Zastanówcie się, któ­ry z powyż­szych opi­sów będzie więk­szym ryzy­kiem, jeże­li wyśle­my go do huty szkła jako zamó­wie­nie na 1000 szt. szkla­nek dla pra­cow­ni­ków… .

P.S.

Czy te moż­li­wo­ści” to przy­pad­ki uży­cia szklan­ki? Nie. Przypadek uży­cia szklan­ki, to co ona fak­tycz­nie robi (usłu­ga sys­te­mu), to przechowanie/magazynowanie sub­stan­cji cie­kłej lub syp­kiej z pew­ny­mi ogra­ni­cze­nia­mi taki­mi jak np. mak­sy­mal­na tem­pe­ra­tu­ra. Te moż­li­wo­ści to co naj­wy­żej histo­ryj­ki użyt­kow­ni­ka… któ­re są może dobrym mate­ria­łem do ana­li­zy ale nie są dobrym wyma­ga­niem. Większość pro­gra­mi­stów, jak dosta­nie tak opi­sa­ne moż­li­wo­ści” jako wyma­ga­nia, to je po pro­tu wprost zako­du­je i odda sys­tem zgod­ny z wyma­ga­nia­mi”… sami oceń­cie jego przy­dat­ność teraz i w przyszłości…

Źródła

Craver, C., & Tabery, J. (2019). Mechanisms in Science. In E. N. Zalta (Ed.), The Stanford Encyclopedia of Philosophy (Summer 2019). Metaphysics Research Lab, Stanford University. https://​pla​to​.stan​ford​.edu/​e​n​t​r​i​e​s​/​s​c​i​e​n​c​e​-​m​e​c​h​a​n​i​s​ms/
Šenkýř, D., & Kroha, P. (2019). Problem of Incompleteness in Textual Requirements Specification: Proceedings of the 14th International Conference on Software Technologies, 323 – 330. https://​doi​.org/​1​0​.​5​2​2​0​/​0​0​0​7​9​7​8​0​0​3​2​3​0​330
Börger, E. (2018). Why Programming Must Be Supported by Modeling and How. In T. Margaria & B. Steffen (Eds.), Leveraging Applications of Formal Methods, Verification and Validation. Modeling (Vol. 11244, pp. 89 – 110). Springer International Publishing. https://​doi​.org/​1​0​.​1​0​0​7​/​978 – 3‑030 – 03418-4_6
Bertalanffy, L. van. (2003). General sys­tem the­ory: foun­da­tions, deve­lop­ment, appli­ca­tions (Rev. ed., 14. paper­back print). Braziller.
Kitchenham, B. A., Budgen, D., & Brereton, P. (2016). Evidence-based softwa­re engi­ne­ering and sys­te­ma­tic reviews. CRC Press.

System społeczny – metody analizy i modelowania

W recen­zji książ­ki Ogólna Teoria Systemów pisa­łem mię­dzy inny­mi, że:

Systemy spo­łecz­ne spo­ty­ka­ne wokół nas to z regu­ły sys­te­my z pamię­cią, kolej­ne reak­cje sys­te­mu to efekt bodź­ca jaki się poja­wi i wcze­śniej­szych zapa­mię­ta­nych reak­cji (histo­rii). Jak widać takie same bodź­ce mogą wywo­ły­wać inne reak­cje w przy­pad­ku sys­te­mu z pamię­cią. Tak dzia­ła­my my (uczy­my się), tak dzia­ła więk­szość apli­ka­cji biz­ne­so­wych (zbie­ra dane). Systemów bez pamię­ci tak­że mamy wokół sobie wie­le. Od zegar­ka czy pro­ste­go kal­ku­la­to­ra (wyni­ki pod­sta­wo­wych ope­ra­cji mate­ma­tycz­nych nie zale­żą histo­rii obli­czeń) do robo­tów kuchen­nych i wie­lu podob­nych, nawet nie raz bar­dzo zło­żo­nych ele­men­tów gospo­dar­stwa domo­we­go i nie tyl­ko. (Źródło: Ogólna Teoria Systemów a ana­li­za | | Jarosław Żeliński IT-Consulting).

Polecam cały ten arty­kuł, przed lek­tu­rą dal­szej części.

Analizując sys­te­my będą­ce opro­gra­mo­wa­niem wspie­ra­ją­cym czło­wie­ka, mode­lo­wa­ne są one w nastę­pu­ją­cy sposób:

Pełna wewnętrzna struktura systemu

Założenia to:

  1. opro­gra­mo­wa­nie to pamięć i deter­mi­ni­stycz­ne reak­cje (mecha­nizm),
  2. opro­gra­mo­wa­nie ma inte­rak­cje z czło­wie­kiem (ini­cja­tor, użyt­ko­wa­niem opro­gra­mo­wa­nia) za pośred­nic­twem interfejsu,
  3. czło­wiek jest ele­men­tem niedeterministycznym.

Metody sys­te­mo­we ana­li­zy i pro­jek­to­wa­nia opro­gra­mo­wa­nia (któ­re sto­su­ję) są opar­te na powyż­szym para­dyg­ma­cie (zgod­nym z nad­rzęd­nym para­dyg­ma­tem obiek­to­wym). Analiza sys­te­mów spo­łecz­nych wyma­ga jedy­nie usu­nię­cie z tego mode­lu inter­fej­su i jaw­nym uzna­niu inte­rak­cji mię­dzy ludź­mi. Aby więc zapro­jek­to­wać apli­ka­cję nale­ży: (1) wyko­nać ana­li­zę sys­te­mu spo­łecz­ne­go w jakim ta apli­ka­cja ma funk­cjo­no­wać (np. fir­ma), (2) wska­zać obszar tego sys­te­mu, któ­rzy zosta­nie prze­ję­ty” (zastą­pio­ny) przez apli­ka­cję, (3) zde­fi­nio­wać inter­fejs pomię­dzy tymi obszarami.

Tym razem chcia­łem opi­sać model poję­cio­wy słu­żą­cy do ana­li­zy i mode­lo­wa­nia sys­te­mów spo­łecz­nych, to etap przez decy­zją o two­rze­niu apli­ka­cji (nie­ste­ty bar­dzo czę­sto pomi­ja­ny w pro­jek­tach IT). Czym jest sys­tem społeczny?

Według J. Stępnia SYSTEM SPOŁECZNY to wza­jem­nie ze sobą powią­za­ne ele­men­ty rze­czy­wi­sto­ści spo­łecz­nej. Jest ujmo­wa­ny w kate­go­riach dzia­łań, w któ­re anga­żu­ją się jed­nost­ki lub gru­py jed­no­stek w obrę­bie dane­go śro­do­wi­ska spo­łecz­ne­go. Według Piotra Sztompki sys­tem spo­łecz­ny jest to ? zło­żo­na całość, skła­da­ją­ca się z wie­lu ele­men­tów połą­czo­nych wza­jem­ny­mi rela­cja­mi oddzie­lo­nych od śro­do­wi­ska zewnętrz­ne­go wyraź­ną granicą?.

Ogólnie rzecz bio­rąc do celów ana­liz sys­te­mo­wych, wystar­czy uzna­nie, że ele­men­tem sys­te­mów spo­łecz­nych są ludzie. Dodatkowo w ramach sys­te­mu mogą funk­cjo­no­wać okre­ślo­ne pra­wa (np. pra­wa fizy­ki a tak­że pra­wa sta­no­wio­ne) czy­li jakiś mecha­nizm dzia­ła­nia” oraz utrwa­lo­na wie­dza (np. książ­ki, doku­men­ty itp.). Można to zilu­stro­wać w nastę­pu­ją­cy sposób:

Model pojęciowy dla systemu społecznego

Dowolny sys­tem spo­łecz­ny (czy­li taki, któ­re­go ele­men­tem są ludzie) moż­na podzie­lić na trzy typy ob obiek­tów reprezentujących:

  1. ludzi (skła­da­ją się z wie­lu moż­li­wych zachowań),
  2. mecha­ni­zmy (wszel­kie pozna­ne deter­mi­ni­stycz­ne reak­cje, skła­da­ją się z pew­nych ele­men­tar­nych zasad),
  3. utrwa­lo­ną wie­dzę (wszel­kie for­my utrwa­lo­nych infor­ma­cji, skła­da­ją­cych z ele­men­tar­nych cząst­ko­wych zapisów).

Syntaktyka tego mode­lu to:

  1. do ist­nie­nia sys­te­mu spo­łecz­ne­go wyma­ga­ną są co naj­mniej dwa obiek­ty human,
  2. tyl­ko obiekt human może ini­cjo­wać interakcje,
  3. akcje oraz inte­rak­cje mogą być ogra­ni­cza­ne (narzu­ca­ne) przez mecha­nism,
  4. obiek­ty know­led­ge sto­ra­ge mogą być two­rzo­ne tyl­ko przez obiekt human (obiekt mecha­nism sam z sie­bie nicze­go nie ini­cju­je ale może być wykorzystany),

Model ten będzie uży­wa­ny prze­ze mnie w tek­stach na tema­ty spo­łecz­ne, w szcze­gól­no­ści te o dzia­ła­niu Państwa. Z racji tego, że to te hipo­te­za, kolej­ne tego typu arty­ku­ły i bada­nia będą sta­no­wi­ły testy tego mode­lu. Będę wdzięcz­ny za wszel­kie uwa­gi i przy­kła­dy oba­la­ją­ce tę tezę.

(powyż­sze dia­gra­mu to dia­gra­my nota­cji UML)

Ma być k… 17 mandatów!

Ostatnio tema­tów, jakie chciał­bym poru­szyć, poja­wia się wię­cej niż jestem w sta­nie prze­two­rzyć :). Dziś o mier­ni­ku” sku­tecz­no­ści dzia­ła­nia wymia­ru spra­wie­dli­wo­ści czy­li ana­li­za funk­cjo­no­wa­nia sys­te­mu sta­no­wie­nia prawa.

Co jakiś czas sły­szy­my (albo w pro­jek­tach spo­ty­kam się) z oce­na­mi insty­tu­cji nasze­go wymia­ru spra­wie­dli­wo­ści. Są to np. licz­ba nało­żo­nych man­da­tów, czas trwa­nia spra­wy w sądzie, war­tość nało­żo­nych kar i itp. Moim zda­niem wszyst­kie one pro­wa­dzą do pato­lo­gii np. takich jak poniższa:

Gazeta Pomorska ujaw­ni­ła nagra­nie, na któ­rym sły­chać męż­czy­znę wul­gar­nie zwra­ca­ją­ce­go się do innej oso­by, a może gru­py osób. Mężczyzna mówi, że przyj­mu­je mini­mal­ny próg man­da­tów – 17 na gło­wę. Według Gazety Pomorskiej jest to głos naczel­ni­ka toruń­skiej dro­gów­ki Wiesława Rospirskiego. […] Opisane zda­rze­nie jest przede wszyst­kim pro­ble­mem Policji, ale moż­na spoj­rzeć na nie od stro­ny spo­łe­czeń­stwa infor­ma­cyj­ne­go. Czy przej­rzy­stość dzia­łań funk­cjo­na­riu­szy z dro­gów­ki nie mogła­by być więk­sza? Byłoby cie­ka­wie, gdy­by na stro­nach Policji na bie­żą­co infor­mo­wa­no np. o licz­bie udzie­la­nych man­da­tów, funk­cjo­na­riu­szach wysta­wia­ją­cych naj­wię­cej man­da­tów, wykro­cze­niach za któ­re wysta­wia­ne są man­da­ty itd. (Ma być k… 17 man­da­tów! Wyciek tego nagra­nia oka­zją do pytań o przej­rzy­stość Policji – Internauci).

Każdy kto zaj­mu­je się zarzą­dza­niem wie, że ludzie robią to, z cze­go się ich roz­li­cza (za się ich oce­nia). Skoro więc kogoś roz­li­cza się z licz­by nało­żo­nych man­da­tów to zna­czy, że moty­wu­je się go do nakła­da­nia man­da­tów, gorzej – w przy­pad­ku pra­cy na wskaź­nik” może dojść do kre­owa­nia przy­pad­ków wyma­ga­ją­cych nało­że­nia man­da­tu (i chy­ba nic nowe­go nie napi­sa­łem). Analogicznie w przy­pad­ku wszel­kich innych kar administracyjnych.

Popatrzmy na poniż­szy dia­gram, przed­sta­wia ogól­ny sys­tem sta­no­wie­nia i prze­strze­ga­nia prawa.

System stanowienia prawa

Są to: pro­ces głów­ny i jego klu­czo­we skła­do­we procesy:

  1. Stanowienie pra­wa (two­rze­nie aktów prawnych).
  2. Prewencja czy­li zapo­bie­ga­nie łama­niu prawa.
  3. Karanie czy­li nakła­da­nie odpo­wied­nich sank­cji na łamią­cych pra­wo (za pośred­nic­twem sądu lub decyzji).

Generalnie pra­wo sta­no­wio­ne powsta­je w odpo­wie­dzi na stwier­dzo­ne przy­pad­ki zacho­wań nie­po­żą­da­nych spo­łecz­nie. Drugim powo­dem two­rze­nia zapi­sów pra­wa, jest osią­gnię­cie zapla­no­wa­ne­go, poży­tecz­ne­go spo­łecz­nie, efek­tu, np. podat­ki są narzu­co­nym odgór­nie wymo­giem par­ty­cy­pa­cji w kosz­tach utrzy­ma­nia admi­ni­stra­cji Państwa, woj­ska itp. Prawo mówi cze­go nie wol­no i co gro­zi za jego nie­prze­strze­ga­nie (jeże­li pra­wo coś naka­zu­je to zna­czy tyle, że nie wol­no tego nierobić).

Nie wgłę­bia­jąc się w zawi­ło­ści metod two­rze­nia pra­wa, uzna­je­my, że celem jego ist­nie­nia jest eli­mi­na­cja zja­wisk, zacho­wań, spo­łecz­nie nie­po­żą­da­nych lub wymaganych.

Tak więc mamy opi­sa­ny powy­żej pro­ces sta­no­wie­nia pra­wa oraz, będą­ce jego kon­se­kwen­cją pro­ce­sy skła­do­we: pre­wen­cji i karania.

Prewencja to stwa­rza­nia warun­ków nakła­nia­ją­cych do prze­strze­ga­nia pra­wa. Z pre­wen­cją mamy do czy­nie­nia czę­sto, nie tyl­ko w przy­pad­ku np. mar­szu ochra­nia­ne­go przez poli­cję (w celu zapo­bie­że­nia fak­tom łama­nia pra­wa) ale tak­że są nią gar­by na dro­dze ogra­ni­cza­ją­ce pręd­kość np. przy szkołach.

System sta­no­wie­nia pra­wa powi­nien być nad­zo­ro­wa­ny, co do tego nikt chy­ba nie ma wąt­pli­wo­ści. Jak go kon­tro­lo­wać i oce­niać? Uznano, że nale­ży stwo­rzyć i na bie­żą­co śle­dzić war­tość okre­ślo­nych wskaź­ni­ków (mecha­ni­zmem takim jest tak­że usta­wa o dostę­pie do infor­ma­cji publicz­nej ale to inny wątek).

W sfe­rze zarzą­dza­nia mówi się o tak zwa­nych KPI (ang. [[Key Performance Indicator]] czy­li klu­czo­we wskaź­ni­ki efek­tyw­no­ści). Ich two­rze­nie jest jed­ną z naj­trud­niej­szych ele­men­tów zarzą­dza­nia. Już w latach 50-tych ubie­głe­go wie­ku uzna­no, że ide­al­nym przed­mio­tem mie­rze­nia są pro­ce­sy biz­ne­so­we. Trudnością jest ich iden­ty­fi­ka­cja oraz usta­la­nie wła­ści­wych wskaź­ni­ków. Jaki wskaź­nik jest wła­ści­wy? Taki, któ­ry popraw­nie zamy­ka pętle sprzę­że­nia zwrot­ne­go pod­no­szą­ce­go jakość pro­ce­su. Innymi sło­wy wskaź­nik powi­nien być tak zbu­do­wa­ny by wyko­naw­ca pro­ce­su (wła­ści­ciel pro­ce­su) widział pozy­tyw­ny zwią­zek pomię­dzy war­to­ścią wskaź­ni­ka a jako­ścią pro­duk­tu jaki two­rzy jego proces.

Każdy pro­ces to swe­go rodza­ju sys­tem, zło­żo­ny z ele­men­tów go two­rzą­cych (ludzie, maszy­ny, bodź­ce, regu­ły biz­ne­so­we itp.). Mamy na naszym mode­lu zobra­zo­wa­ny System Stanowienia Prawa, mia­rą jego efek­tyw­no­ści jest to w jakim stop­niu osią­gnię­to ide­ał, czy­li brak zja­wisk spo­łecz­nie nie­po­żą­da­nych. Elementami tego sys­te­mu są spo­łecz­ność dla któ­rej to pra­wo powsta­je ( któ­ra je two­rzy), twór­cy pra­wa oraz wyło­nio­ne przez spo­łecz­ność służ­by strze­gą­ce jego prze­strze­ga­nia (dia­gram zawie­ra jedy­nie same oma­wia­ne procesy).

W kon­tek­ście poli­cji i cyta­tu z pra­sy: istot­ne jest to, że jeden pro­ces to reak­cja na poje­dyn­czy przy­pa­dek zła­ma­nia usta­no­wio­nej nor­my cze­go kon­se­kwen­cją (pro­duk­tem pro­ce­su) jest decy­zja (tu man­dat). Ocenie może pod­le­gać pro­dukt pro­ce­su a nie licz­ba jego wystą­pień! Miernikiem jako­ści pra­cy poli­cjan­ta jest więc jakość jego decy­zji a nie ich ilość! Jak tę jakość mie­rzyć? Np. licz­bą sku­tecz­nych odwo­łań od jego decy­zji. A kogo oce­nia licz­ba man­da­tów? Jeżeli poli­cjant pra­cu­je uczci­wie to raczej sta­no­wią­cych pra­wo lub spo­łecz­ność łamią­cą zasa­dy. A co zro­bić by poli­cjant pra­co­wał uczci­wie? Kontrolować go. Jak? Zawsze moż­na zło­żyć skar­gę na poli­cjan­ta, tak­że na jego bez­czyn­ność (podob­nie jak na każ­dy inny organ).

Nie mam poję­cia czym kie­ro­wał się ten kto wymy­ślił oce­nę pra­cy poli­cjan­tów poprzez licz­nie ilo­ści wysta­wio­nych przez nich man­da­tów (albo gorzej – ich war­tość!). Wytłumaczeniem może być chęć pozy­ska­nia zwięk­szo­nych środ­ków z man­da­tów, ale to nic inne­go jak dzia­ła­nia na szko­dę spo­łecz­no­ści, któ­rą się reprezentuje!

To tyl­ko namiast­ka opi­su pro­ble­mu jaki obser­wu­ję. Czy mam rację? Patologia już jest i jej prze­wi­dze­nie nie jest wiel­kim wyczy­nem. Moim zda­niem powyż­sze tłu­ma­czy ją w dużym stop­niu. Podobną pato­lo­gią było boga­to rela­cjo­no­wa­ne w pra­sie kre­owa­nie prze­stępstw przez służ­by” za cza­sów agen­ta Tomka”.

Zastanawia mnie kto sie­dzi za tymi pomy­sła­mi. Podobno każ­dy kraj, a kon­kret­nie jego rząd, ma tak zwa­ne think tanki”:

Think tank (ang., dosłow­nie: zbior­nik myśli) ? komi­tet dorad­czy, z zało­że­nia nie­za­leż­ny, nie­dzia­ła­ją­cy dla zysku ośro­dek zaj­mu­ją­cy się bada­nia­mi i ana­li­za­mi doty­czą­cy­mi spraw publicz­nych. (Wikipedia, wol­na ency­klo­pe­dia).

Zakładam, że nasz też ma i albo są tam nie­kom­pe­tent­ni ludzi, albo ich nikt nie słu­cha, albo jed­nak nie mamy think tan­ków. Bo takie mia­ry jak licz­ba man­da­tów jako mier­nik pra­cy poli­cji czy też licz­ba wyro­ków ska­zu­ją­cych w sądach, czas trwa­nia pro­ce­su itp. to kary­god­ne prak­ty­ki pro­wa­dzą­ce do patologii.

Co powin­no być dobrym mier­ni­kiem? W ska­li całe­go sys­te­mu np. poziom prze­stęp­czo­ści. Jednak 0% jest nie­osią­gal­ne więc nale­ży zało­żyć z góry poziom akcep­to­wal­ny. Po dru­gie, w przy­pad­ku tego sys­te­mu, celem jest niska (ide­ałem jest zero­wa) prze­stęp­czość więc cały sys­tem jest ste­ro­wa­ny licz­bą przy­pad­ków (i prób) łama­nia pra­wa. Należy mieć świa­do­mość, że duża licz­ba przy­pad­ków łama­nia pra­wa może być efek­tem sła­bo­ści przy­mu­su, demo­ra­li­za­cji ale tak­że zbyt suro­we­go pra­wa. Problem nie jest pro­sty i wyma­ga nie­co bar­dziej wyra­fi­no­wa­ne­go mode­lu niż ten jaki przed­sta­wi­łem, jed­nak uwa­żam, że ten lep­szy” model będzie nie­co dokład­niej­szy a nie inny.