LePUS3 - LePUS3
LePUS3 to język do modelowania i wizualizacji (obiektowego w języku Java , C ++ , C # ) programów i wzorców projektowych . Jest ona zdefiniowana jako formalnej specyfikacji język, wyrażoną jako axiomatized podzbioru pierwszego rzędu logiki bazowego . Schemat w LePUS3 jest również nazywany Codechart . Lepus, nazwa pierwszej wersji języka, jest skrótem Język dla Uniform Wzór Specyfikacji .
Zawartość
Cel, powód
LePUS3 dostosowany jest do następujących celów:
- Skalowalność : Aby modelować programy na dużą skalę przy użyciu małych Codecharts tylko kilka symboli
- Zautomatyzowane sprawdzalności : Aby umożliwić programistom w pełni automatycznie sprawdzać zgodność z projektu, tak aby utrzymać projekt w synchronizacji z realizacją
- Wizualizacja Program : Aby umożliwić narzędzi do inżynierii wstecznej czytelnych Codecharts z kodu źródłowego zwykły modelowania ich projektowania
- Wdrożenie wzoru : Aby umożliwić automatyczne narzędzia, aby określić, czy program realizuje wzorzec projektowania
- Projekt abstrakcji : Aby określić programy niewdrożonych bez popełnienia przedwcześnie do realizacji najdrobniejszych
- Powszechność : Aby wymodelować wzorzec projektowy nie jako konkretnej implementacji, ale jako motyw projektowania
- Rygor : Aby umożliwić projektantom oprogramowania, aby upewnić się co dokładnie Codecharts reprezentowania i powodem rygorystycznie o nich
Kontekst
LePUS3 należy do następujących rodzin języków:
- Obiektowe oprogramowanie modelujące językach (np UML ): LePUS3 jest zapis wizualny, który jest używany do reprezentowania budynku bloki w projektowaniu programów Programowanie obiektowe języki
- Formalnej specyfikacji językach : Podobnie jak inne Logic wizualne Języki, Codecharts wyrażania zdania w logice matematycznej. LePUS3 jest axiomatized w zdefiniowanych cyklicznej (ryzacji-rozstrzygalnych) podgrupie rzędu pierwszego bazowego rachunku. Jej semantyka są definiowane za pomocą skończonej struktury (logika matematyczna) .
- Opis architektura językach : LePUS3 jest niefunkcjonalny specyfikacja język używany do reprezentowania projektu decyzji dotyczących programów w językach programowania opartych na klasach obiektowych (takich jak Java i C ++ ).
- Narzędzie obsługiwane języki specyfikacja : Weryfikacja Codecharts (sprawdzanie ich zgodności z programem Java 1.4) można ustalić ( „zweryfikowane”) poprzez kliknięcie przycisku, o czym świadczy dwupoziomową Programming Toolkit .
- Oprogramowanie do wizualizacji notacje są zapisy, które oferują graficzną reprezentację programu, zwykle generowanych przez reverse-engineering kodu źródłowego programu.
Słownictwo
LePUS3 został zaprojektowany, aby pomieścić do skąpstwa i dla gospodarki wypowiedzi. Jego słownictwo składa się tylko z 15 żetonów wizualnych.
narzędzie wsparcia
The Two-Tier Programming Toolkit może być używany do
- tworzenie specyfikacji LePUS3 (Codecharts)
- zweryfikować automatycznie konsystencję LePUS3 Codecharts z Java 1.4 programów; i
- inżynierii wstecznej Codecharts z kodu źródłowego Javy.
Wzorce projektowe
LePUS3 został zaprojektowany specjalnie do modelowania, między innymi, „Gang of Four” wzorców projektowych , w tym abstrakcyjnym fabryce , metody fabryki , adapter , dekorator , kompozytowego , pełnomocnika , iterator , państwa , strategii , metody szablonu i odwiedzającego . (Patrz „The«Gang of Four»Companion”) Skrót lepus dla „Język wzorca Uniform Specification” jest używany, ponieważ prekursor tego języka był zainteresowany głównie z wzorców projektowych. Implementacja wzorców projektowych podano w LePUS3 można automatycznie weryfikowane przez TTP Toolkit.
Przykłady
LePUS3 szczególnie nadaje się do modelowania dużych programów, wzorców projektowych i obiektowych struktur aplikacyjnych . To nie nadaje się do modelowania niż programy obiektowe, style architektoniczne i nierozstrzygalny i semi-rozstrzygalne właściwości.