Program SWIP5 składa się z jądra programu. (w Windows jest to plik SWIP5.exe z bibliotekami dynamicznymi bibliotek jądra trzymanymi w tym samym katalogu co SWIP5.exe) i modułów rozbudowujących funkcjonalności programu realizowane przez wtyczki SWIP5 (w Windows są to pliki dll
...
a w Linuxie są to pliki so) (Rys. 1). Wszystkie wtyczki trzymane w podkatalogu Plugins.
Jądro programu zawiera możliwości wyświetlania sejsmogramów
...
(patrz Okno główne programu, Okna dodatkowe, Sterowanie wyglądem sejsmogramu), zaznaczania faz sejsmicznych (patrz Zaznaczanie faz sejsmicznych), przeglądania i edytowania opracowania sejsmicznego (patrz Zapisywanie i czytanie wyników opracowania sejsmicznego), raportowania pracy całego pakietu, podłączania modułów oraz przekazywania danych do modułów. Jądro posiada również bibliotekę funkcji przydatnych w różnych modułach.
Funkcjonalność jądra zawarta jest w czterech głównych oknach (Rys. 2):
...
- Okno główne programu (SWIP5),
...
- Okno powiększenia (Zoom),
...
- Okno opracowania (Elaboration),
...
- Okno raportu (Report).
Moduły
...
- filtry,
- przetwarzanie sejsmogramów,
- optymalizacje,
- czytanie formatów sejsmicznych,
- baza danych,
- typ ogólny.
...
rozszerzające funkcjonalność programu dodawane są do programu w trakcie jego uruchomienia. Program czyta wtyczki zawierające moduły. Niektóre moduły wykorzystują dodatkowo inne wtyczki do swojej pracy. Mogą to być konkretne
...
, pojedyncze komponenty lub wszystkie
...
wtyczki danego typu. Na przykład moduł do czytania sejsmogramów z plików, potrzebuje wszystkich
...
wtyczek do czytania formatów sejsmicznych,
...
natomiast moduł do
...
obliczania magnitudy ML potrzebuje wtyczki z konkretnym modułem do filtracji symulującej
...
sejsmometr Wooda-Andersona. Brak niezbędnych, dodatkowych
...
komponentów może powodować całkowite odłączenie danego modułu lub
...
ograniczenie jego funkcjonalności. Wtyczki podzielone zostały na 5 typów:
- filtry (patrz np. Całkowanie, Różniczkowanie, Filtr drugiego rzędu IIR2)
- przetwarzanie sejsmogramów (patrz np. SplineT, kwadrat))
- optymalizacje (patrz Optymalizacje),
- czytanie formatów sejsmicznych (patrz Wtyczki formatów sejsmicznych)
- baza danych (patrz np. Czytanie i pisanie opracowań do SC3DB),
- typ ogólny (patrz np. Lokalizacja zjawiska, Liczenie magnitudy i energii, Parametry drgań gruntu, Liczenie mechanizmu wstrząsu).
Moduły podczas uruchamiania modyfikują menu programu
...
ze względu na fakt iż posiadają one dwa typy funkcjonalności
...
:
...
obliczeniową i
...
graficzną. W przypadku funkcjonalności graficznej otwierane jest własne okno obsługi. Pojedyncze moduły mogą dostarczać programowi kilka funkcjonalności, dawać możliwości otwierania wielu różnych okien i jednocześnie dodawać wiele pozycji do menu programu. Dobierając wtyczki można modyfikować wygląd i funkcjonalność programu. Istnie obecnie biblioteka modułów napisana dla SWIP5 (patrz Podręcznik modułów programu). Można również dodawać własne modułu przez zaprogramowanie odpowiednich wtyczek.
Moduły pracują na danych trzymanych w programie SWIP, w związku z tym m.in. moduły przetwarzające nie wiedzą, gdzie dane są zapisywane czy czytane.
Rys. 1 Schemat modułowej konstrukcji SWIP5
Rys. 2 Okna programu SWIP