Całość i centra

Jakość systemu zależy od tego, jak funkcjonuje on jako całość. Wydaje się to oczywiste. Jak postrzegał to Christopher Alexander?

Jakość systemu zależy od tego, jak funkcjonuje on jako całość. Wydaje się to oczywiste. Jak postrzegał to Christopher Alexander?

W poprzednich artykułach przyglądaliśmy się oryginalnemu podejściu Alexandera do wzorców. Nie spełniły one jednak pokładanych w nich nadziei. I nie była to sprawa udoskonalenia istniejących wzorców lub stworzenia nowych, potrzebne było głębsze, bardziej fundamentalne podejście. Rezultatem poszukiwań takiego podejścia jest monumentalne, czterotomowe dzieło Alexandera "The Nature of Order", mające ambicje nie tylko stworzenia teoretycznych podstaw architektury, lecz również opisanie ogólnej natury porządku w świecie.

Chociaż w środowisku informatycznym najnowsze prace są mniej znane niż prace dotyczące wzorców, potencjalnie mogą mieć one jeszcze większy wpływ. Będę przybliżał je w kilku kolejnych artykułach. Zaczniemy od fundamentalnego pojęcia struktury całości, wywodzącego się z holistycznego podejścia do systemów.

Całość

Jakość systemu zależy od tego, jak funkcjonuje on jako całość - rzecz niby oczywista. Pojęcie całości pojawia się w sztuce, religii, odgrywa też coraz większą rolę we współczesnej nauce, w fizyce, embriologii, ekologii, psychologii. Pomimo to nie ma zadowalającej definicji całości, zazwyczaj rozumiemy ją intuicyjnie.

Gdy mówimy o systemie jako całości, oznacza to, że postrzegamy go jako część rozciągłego i niepodzielnego kontinuum, nie jako wyizolowany fragment, lecz jako nieoddzielną i niepodzielną część świata. Alexander określa całość też jako gestalt; związana jest ona z ogólnym wrażeniem wywoływanym przez system.

Rozważmy prosty przykład. Weźmy czystą kartkę papieru, zwróćmy uwagę na całość, na wrażenie jakie wywołuje, na jej gestalt. Narysujmy teraz na niej w pobliżu prawego górnego rogu małą kropkę. Całość zmienia się dramatycznie, została złamana symetria przestrzeni, różne obszary na kartce zostają wyróżnione, nie tylko sama kropka, ale obszar wokół kropki, obszary pod kropką i nad kropką, obszary z prawej i z lewej strony kropki. Powstają relacje między wyróżnionymi obszarami, tworząc dodatkowe wyróżnione obszary itd. Możemy dorysować kolejną kropkę i zobaczyć, jak teraz zmieni się całość. Nawet tak prosty układ ma zaskakująco złożoną strukturę.

Centra

Strukturę tę tworzą elementy, obszary, które wyróżniają się w całości. Alexander nazywa je centrami. Centrum to coś, co w jakiś sposób zwraca naszą uwagę. Można je traktować jako pierwotne składniki naszej percepcji, z których budujemy obraz rzeczywistości, w ten sposób są one również podstawowymi elementami obiektywnego świata (dający dużo do myślenia temat, który przewija się przez prace Alexandera: związek obiektywności z subiektywnością - związek znacznie bliższy niż się powszechnie sądzi).

Centra tworzą podobną rekurencyjną strukturę jak wzorce, gdy przyjrzymy się z czego zbudowane są centra, okazuje się, że są zbudowane z centrów (w terminach centrów wzorce są powtarzającymi się relacjami między centrami, kanonicznymi konfiguracjami centrów). Centra nie są niezależnymi bytami, są indukowane przez całość, przez relacje z innymi centrami. Na przykład dziura stanowi centrum całkowicie określone przez konfigurację otaczającej całości, nie może istnieć niezależnie od całości. Nawet jeżeli centrum jest generowane przez przedmiot, to jego charakter i funkcja są określane przez całość, w której występuje. Krzesło, zależnie od tego, czy będzie stało w drzwiach, utrudniając przejście, w miejscu trudno dostępnym, czy będzie przy stole, za każdym razem tworzy inne centrum. Z systemowego punktu widzenia za każdym razem jest to inne krzesło, ponieważ istotne jest, jak funkcjonuje ono w całym systemie, a to określa jego funkcja jako centrum.

W informatyce mamy do czynienia prawie wyłącznie z centrami niebędącymi obiektami materialnymi. Gdy piszę ten tekst, na ekranie widzę wiele centrów: okno edytora, paski narzędziowe, ikony, menu, , akapity, linijki tekstu, litery itd. Jednak nic nie jest tu materialne; jeżeli przesuwam kursor lub okno edytora, to to co pozwala mi okno przesunięte traktować jako to samo okno, to właśnie zachowanie całości, konfiguracji centrów. Podobnie w przypadku struktury wewnętrznej programu: klasy, obiekty, funkcje, zmienne, podsystemy, pakiety, wszystko to są niematerialne centra.

Struktura całości

Całość jest strukturą tworzoną przez centra. Przy czym centra nie są składnikami w normalnym sensie. To nie centra są źródłem całości lecz całość jest źródłem centrów. Całość jest bardziej podstawowa niż części.

Widzieliśmy już, że centra nie są odizolowane, oddziałują na siebie i to oddziaływanie może być wspierające (przyczyniać się do siły centrum, jego stabilności) lub niszczące. System jako całość jest silny na tyle, na ile tworzące go centra wspierają się, na ile centra są silne. Jest to najważniejsza cecha, na którą trzeba zwracać uwagę podczas tworzenia systemów.

To, jak bardzo centra wspierają się, związane jest z opisywaną w poprzednim artykule jakością bez nazwy, można powiedzieć, że jest ona miarą kooperacji centrów. Przy czym w "The Nature of Order" Alexander nie używa już terminu jakość bez nazwy (być może dlatego, że budził on zbyt dużo nieporozumień), zamiast tego mówi o żywych systemach.

Siła centrów

Każdy system funkcjonuje jako całość i to, jak dobre jest to funkcjonowanie, zależne jest od struktury całości, czyli centrów i relacji między nimi. Praca na poziomie centrów pozwala osiągnąć to, czego nie udaje się za pomocą wzorców. Zastosowaniem pojęcia całości i centrów interesują się również informatycy, zwłaszcza związani z wzorcami, na przykład Jim

Coplien. Podejście to można stosować zarówno do oceny systemów informatycznych, jak i podczas ich tworzenia (o procesie opartym na teorii centrów napiszę w jednym z kolejnych artykułów).

Piętnaście cech podstawowych

Alexander, przez lata porównując przedmioty i budynki posiadające jakość bez nazwy z tymi niemającymi jej, doszedł do zestawu piętnastu cech podstawowych charakteryzujących te pierwsze. Cechy te są czymś w rodzaju wyroczni jakości systemu, badając na ile te cechy występują w systemie można z dużym prawdopodobieństwem określić, czy jest on dobry. Okazały się one piętnastoma sposobami, na jakie centra mogą się wspierać. Cechom tym będzie poświęcony następny artykuł.

<HR>W Polsce związkami prac Alexandera z informatyką zajmuje się projekt Humanistyczna Inżynieria Oprogramowania (http://www.projekt-hio.info ).


TOP 200