Blog naukowy. Zdobądź wiedzę z języków obcych, jazdy na łyżwach...

Definicje formalne

Język angielski, ani żaden inny język naturalny, nie jest z istoty precyzyjnym narzędziem do formułowania takich definicji. Autor podręcznika musi się naprawdę solidnie napracować, żeby osiągnąć wymaganą precyzję. Atrakcyjnym wyjściem z tej sytuacji jest stosowanie notacji formalnej. W końcu precyzja to podstawowa jej cecha.

Przyjrzyjmy się mocnym i słabym stronom definicji formalnych. Jak powiedzieliśmy, definicje te są precyzyjne i zazwyczaj pełne. Jeśli już mają jakieś luki, to są one bardziej widoczne i łatwiej je usunąć. Natomiast definicje te są mało zrozumiałe. W języku naturalnym można przedstawić zasady strukturalne, określić strukturę w etapach lub na poziomach, przytaczać przykłady. Można z łatwością podawać wyjątki i podkreślać różnice. Co ważniejsze, łatwiej można wyjaśnić, dlaczego coś zachodzi. Zaproponowane dotychczas definicje formalne budzą zachwyt swoją elegancją i zaufanie do ich precyzji. Wymagają jednak objaśnienia w języku naturalnym. Dopiero wtedy można się ich nauczyć i dopiero wtedy można ich uczyć. Z tych powodów uważam, że specyfikacje będą się w przyszłości składać z definicji formalnej i z definicji w języku naturalnym.

Stare powiedzenie mówi: „Nigdy nie wypływaj w morze z dwoma chronometrami. Zabierz jeden albo trzy”. Oczywiście to samo odnosi się do definicji w języku naturalnym i formalnym. Jeśli mamy obie, to jedna musi być standardem, a druga pochodną. Podstawowym standardem może być jedna albo druga. W Algolu 68 standardem jest definicja formalna, a pochodną definicja w języku naturalnym. W PL/I standardem jest opis w języku naturalnym, a pochodną opis formalny. Także w Systemie 360 standardem jest opis w języku naturalnym, a pochodną opis formalny.

Mamy do dyspozycji wiele narzędzi do definiowania formalnego. Znana jest obszernie opisana w literaturze notacja Backusa-Naura2 do definiowania języka. Formalny opis PL/I zawiera nowe pojęcia składni abstrakcyjnej3. Język APL Iversona wykorzystano do opisu komputerów , zwłaszcza IBM 70904 i Systemu 3605.

Bell i Newell zaproponowali nowe notaq’e do opisu zarówno konfiguracji, jak i architektury komputera. Użyli ich do opisu między innymi DEC PDP-86, 70906 i Systemu 3607. Jak się okazuje, niemal wszystkie definicje formalne obejmują lub określają implementację sprzętu albo systemu oprogramowania. Wyznaczają ich właściwości zewnętrzne. Składnię można opisać bez tego. Semantykę definiuje się zazwyczaj przez podanie programu, który wykonuje definiowaną operację. Jest to oczywiście implementacja i jako taka stanowi „nadspecyfikację” architektury. Należy zatem uważać, żeby wskazać, iż definiqa formalna odnosi się jedynie do właściwości zewnętrznych, przy czym należy je wymienić.

Podobne Artykuły

Zostaw odpowiedź

Twoj adres e-mail nie bedzie opublikowany.