Stajnia Augiasza (cz. 2)

ADA i jej środowisko

Na początku lat 80. podjęto największą próbę zrealizowania idei zarządzania projektami - zintegrowane środowisko programowe Ady czyli APSE (Ada Programming Support Environment). Powstał zbiór dokumentów opisujących, a nawet normalizujących takie środowisko. Trzy elementy stanowią jego podstawę:

  • repozytorium, służące za centralną składnicę informacji związanych z projektem, które istnieje przez cały cykl życia projektu

  • zestaw narzędzi umożliwiających opracowanie, pielęgnację i kontrolę konfiguracji oprogramowania

  • system powiązań pozwalający użytkownikowi wykorzystywać repozytorium i narzędzia.
W celu zapewnienia przenośności środowiska APSE nadano mu strukturę warstwową. Dokładnie określono, co powinna zawierać każda warstwa i jakie funkcje ma wykonywać.

W późniejszych latach powstało kilka realizacji APSE, głównie w Stanach Zjednoczonych. Wśród nich takie jak: AIE (Ada Integrated Environment) - środowisko oparte na koncepcjach i doświadczeniach Unixa; Arctus - zawierający m.in. wbudowany język projektowania programów; ADE (Ada Development Environment) - środowisko powstałe przy okazji opracowywania pierwszego zatwierdzonego kompilatora Ady.

Jedną z poważniejszych realizacji APSE był ALS (Ada Language System), który powstał na zamówienie Departamentu Obrony Stanów Zjednoczonych. W środowisku tym zagadnienia zarządzania konfiguracją oprogramowania stanowią tylko fragment całości. Istnieją też inne narzędzia wspomagające prace projektu np. generator prototypów programów, przydatny w czasie testowania niekompletnego systemu, analizatory częstości wykonań instrukcji lub podprogramów.

W środowisku ALS repozytorium projektu oparto na systemie plików, w którym zasoby grupowane są w katalogi. Repozytorium może mieć wiele katalogów. Dla każdego pliku przechowywane są wszystkie jego wersje, z podziałem na rozwinięcia i warianty. Zasadą systemu plików ALS-a jest "zamrażanie" wersji historycznych, tzn. zakaz ich poprawiania i usuwania. Część zasobów, obecnie zbędnych, archiwizuje się na taśmach. Ciekawostką jest taka własność systemu plików, że archiwizowane zbiory pozostają w nim widoczne. Użytkownicy mogą nawet nie wiedzieć, że odwołują się do plików z taśmy (jedynie czas dostępu znacznie się wydłuża). Taka struktura repozytorium pozwala na bezpieczne przechowywanie pełnych danych projektu - we wszystkich wersjach i z całą historią. W prosty sposób odtwarza się każdy poprzedni stan np. wersję programu sprzed kilku lat, dzisiaj już nieaktualną.

Dodatkowymi własnościami plików są atrybuty i związki (asocjacje). Pierwsze z nich stanowią opis zbioru, z takimi elementami jak: data powstania, właściciel, narzędzie, przy użyciu którego zasób powstał itp. Atrybuty można dowolnie rozszerzać. Związki oddają powiązania z innymi plikami np. kod źródłowy z testami lub raportem o błędach. Własność tę wykorzystuje się dla zachowania integralności projektu -wymuszanie aktualizacji kodów wynikowych modułów, w których dokonano zmian. Mechanizmy te pozwalają również na pełną identyfikację zasobów i zaznaczanie konfiguracji projektu.


TOP 200