Metamodele ładu korporacyjnego
- Jarosław Badurek,
- 08.11.2010, godz. 07:24
Komputerowe wspomaganie procesów zarządzania wymaga ich modelowania. W coraz bardziej złożonych systemach pojawia się jego kolejna warstwa: metamodelowa.
Modelowanie jest fenomenem występującym powszechnie podczas ludzkiej działalności czy kojarzonym z naszą cywilizacją. Już sam język (naturalny), którym się posługujemy, jest modelem rzeczywistości, tzn. jej uproszczonym opisem niezbędnym do funkcjonowania w otaczającym nas świecie. W praktyce gospodarczej ostatnich lat coraz większego znaczenia nabierają modele referencyjne ładu korporacyjnego. Jednocześnie obserwujemy wzrost złożoności modelowanych przedsiębiorstw, których struktura nabiera cech wyraźnie procesowych, nawet jeżeli formalnie istnieją w nich jeszcze tradycyjnie definiowane działy czy hierarchie. Procesowość powiązana z elastycznością rynkową firm, będącą warunkiem ich konkurencyjności, powoduje, że zaczynają one przypominać układy deterministycznego chaosu, gdzie "wszystko jest powiązane ze wszystkim", a minimalne wahania parametrów wejściowych mogą przekładać się na potężne zmiany obserwowane na wyjściu (efekt motyla).
Trudno jest precyzyjnie modelować, optymalizować i mierzyć coś, czego nie można precyzyjnie opisać. Warto więc zdefiniować określone metakonwencje terminologiczne (słowniki), pozwalające na oszczędność słów bez strat precyzji przekazu.
Metamodel dla pudełka
Czym zatem różni się metamodel od modeli i jakie ma znaczenie w praktyce zarządzania? Czasami pojawiają się twierdzenia, że "metamodel jest modelem modelu“. Tymczasem inne są cele i sposoby konstruowania modeli i metamodeli. Owszem, mapa jest modelem terenu ale metamodel nie jest "mapą mapy“. Metamodel jest bowiem opisem konstruowania modeli w celu uniwersalnej formalizacji modelowania. Przy czym taki opis wymaga zastosowania metajęzyka. Przykładem może być tu zjawisko generatywizmu języka naturalnego: jego gramatyka i alfabet/słownik pozwalają na formalnie poprawne konstruowanie w nim zdań. Również w językach sztucznych (programowania) mamy ich słowa kluczowe oraz instancję decyzyjną rozstrzygającą o poprawności kodu, tj. kompilator (interpreter). W notacji notacji Backus-Naura (BN Form) minimalna ilość reguł i symboli metajęzykowych pozwoliła na zdefiniowanie takich standardów jak ALGOL czy PASCAL.
W informatyce nie tylko modeluje się rzeczywistość gospodarczą przy pomocy oprogramowania, ale istnieje też potrzeba konstruowania modeli samego procesu jego wytwarzania, a to jest już poziom metamodelowy.
Przykład: jeżeli "z definicji" określimy cyfry i litery:
<cyfra> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<litera> ::= a | b | c | ... | X | Y | Z
to na tej podstawie pojęcie "nazwy", jako co najmniej jednoznakowego ciągu alfanumerycznego (zaczynającego się od litery), wyglądać będzie następująco:
<nazwa> ::= <litera> | <nazwa> <litera> | <nazwa> | <cyfra>
W tym przykładzie użyto tylko trzech znaków metajęzykowych, są to nawiasy < > określające zmienne metajęzykowe, łącznik ::= dla przypisania oraz drugi
łącznik metajęzykowy | (znak pionowej kreski, vertcical line, zwany także pipe, niekonsekwentnie na niektórych klawiaturach przedstawiany jako broken bar, czyli kreska z przerwą).