LePUS3 - LePUS3
LePUS3 je jazyk pro modelování a vizualizaci objektově orientovaných ( Java , C ++ , C # ) programů a návrhových vzorů . Je definován jako jazyk formální specifikace formulovaný jako axiomatizovaná podmnožina predikátové logiky prvního řádu . Diagram v LePUS3 se také nazývá Codechart . LePUS, název první verze jazyka, je zkratkou pro Language for Pattern Uniform Specification .
Obsah
Účel
LePUS3 je přizpůsoben pro následující účely:
- Škálovatelnost : Modelovat rozsáhlé programy pomocí malých kódových grafů s pouze několika symboly
- Automatizovaná ověřitelnost : Umožnit programátorům kontrolovat plně automatickou shodu s designem, aby byl design synchronizovaný s implementací
- Vizualizace programu : Umožnit nástrojům zpětně analyzovat čitelné Codecharts z prostého zdrojového kódu modelovat jejich design
- Implementace vzoru : Chcete-li povolit nástrojům automaticky určit, zda váš program implementuje návrhový vzor
- Abstrakce návrhu : Specifikovat neimplementované programy, aniž by se předčasně zavázali k provádění podrobností
- Obecnost : Modelovat návrhový vzor nikoli jako konkrétní implementaci, ale jako motiv návrhu
- Rigorita : Umožnit návrhářům softwaru mít jistotu, co přesně Codecharts představují, a důsledně o nich uvažovat
Kontext
LePUS3 patří do následujících rodin jazyků:
- Objektově orientované softwarové modelovací jazyky (např. UML ): LePUS3 je vizuální notace, která se používá k reprezentaci stavebních bloků při navrhování programů objektově orientovaných programovacích jazyků
- Jazyky formální specifikace : Stejně jako ostatní logické vizuální jazyky, i Codecharts formulují věty v matematické logice. LePUS3 je axiomatizován a definován jako rekurzivní (turingově rozhodnutelná) podmnožina predikátového počtu prvního řádu. Jeho sémantika je definována pomocí konečné struktury (matematické logiky) .
- Jazyky popisu architektury : LePUS3 je nefunkční specifikační jazyk používaný k reprezentaci návrhových rozhodnutí o programech v objektově orientovaných programovacích jazycích založených na třídách (například Java a C ++ ).
- Jazyky specifikací podporovaných nástrojem : Ověření kódových grafů (kontrola jejich konzistence s programem Java 1.4) může být stanoveno („ověřeno“) kliknutím na tlačítko, jak ukazuje nástroj Two-Tier Programming Toolkit .
- Softwarové vizualizační notace jsou notace, které nabízejí grafické znázornění programu, obvykle generované zpětným inženýrstvím zdrojového kódu programu.
Slovní zásoba
LePUS3 byl navržen tak, aby vyhovoval šetrnosti a ekonomice projevu. Jeho slovník se skládá pouze z 15 vizuálních tokenů.
Podpora nástrojů
Dvoustupňový programovací nástroj lze použít
- vytvořit specifikace LePUS3 (Codecharts)
- automaticky ověřovat konzistenci LePUS3 Codecharts s programy Java 1.4; a
- reverzní inženýrství Codecharts ze zdrojového kódu Java.
Designové vzory
LePUS3 byl speciálně navržen tak, aby mimo jiné modeloval návrhové vzory „Gang of Four“ , včetně abstraktní továrny , tovární metody , adaptéru , dekoratéra , kompozitu , proxy , iterátoru , stavu , strategie , metody šablony a návštěvníka . (Viz „Společník„ Skupiny čtyř “). Používá se zkratka LePUS pro„ Jazyk pro jednotnou specifikaci vzoru “, protože předchůdce tohoto jazyka se primárně zabýval návrhovými vzory. Implementaci návrhových vzorů specifikovaných v LePUS3 lze automaticky ověřit pomocí nástroje TTP Toolkit.
Příklady
LePUS3 je zvláště vhodný pro modelování velkých programů, návrhových vzorů a objektově orientovaných aplikačních rámců . Je nevhodný pro modelování neobjektově orientovaných programů, architektonických stylů a nerozhodnutelných a polorozhodovatelných vlastností.