LePUS3 - LePUS3 - Wikipedia
Téma tohoto článku nemusí splňovat požadavky Wikipedie obecný pokyn k notabilitě.Červenec 2020) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
LePUS3[1] je jazyk pro modelování a vizualizaci objektově orientovaného (Jáva, C ++, C# ) programy a designové vzory.[2] Je definována jako a formální specifikace Jazyk,[3][4] formulován jako axiomatizovaná podmnožina Logika predikátu prvního řádu. Diagram v LePUS3 se také nazývá a Codechart.[5] LePUS, název první verze jazyka, je zkratka pro Jazyk pro jednotnou specifikaci vzoru.
Účel
LePUS3 je přizpůsoben pro následující účely:
- Škálovatelnost: Modelovat rozsáhlé programy pomocí malých kódových grafů pouze s několika symboly
- Automatická ověřitelnost: Umožnit programátorům kontrolovat plně automatickou shodu s designem, aby byl design synchronizován s implementací
- Vizualizace programu: Umožnit nástrojům zpětné inženýrství čitelných kódových grafů z prostého zdrojového kódu modelování jejich designu
- Implementace vzoru: Umožnit nástrojům automaticky určit, zda váš program implementuje návrhový vzor
- Návrh abstrakce: Specifikovat neimplementované programy, aniž by se předčasně zavázali k provádění podrobností
- Všeobecnost: Modelovat návrhový vzor ne jako konkrétní implementaci, ale jako designový motiv
- Přísnost: 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ý software 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é programování jazyky
- Formální specifikace jazyky: Stejně jako ostatní logické vizuální jazyky, i Codecharts formulují věty v matematické logice. LePUS3 je axiomatizován a definován jako rekurzivní (turing-decidovatelná) podmnožina predikátového počtu prvního řádu. Jeho sémantika je definována pomocí konečné metody struktura (matematická logika).
- Jazyky popisu architektury: LePUS3 je nefunkční Specifikace 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ř Jáva a C ++ ).
- Jazyky specifikace podporované nástrojem: Ověření kódových grafů (kontrola jejich konzistence s programem Java 1.4) lze provést („ověřit“) kliknutím na tlačítko, jak ukazuje Sada nástrojů pro dvoustupňové programování.
- Vizualizace softwaru 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 hospodárnosti projevu. Jeho slovník se skládá pouze z 15 vizuálních tokenů.
Podpora nástrojů
Sada nástrojů pro dvoustupňové programování[6][7]lze zvyknout
- vytvořit specifikace LePUS3 (Codecharts)
- ověřit automaticky[8] konzistence LePUS3 Codecharts s programy Java 1.4; a
- zpětný inženýr 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“, počítaje v to abstraktní továrna, tovární metoda, adaptér, natěrač, kompozitní, proxy, iterátor, Stát, strategie, metoda šablony, a návštěvník. (Vidět „Společník‚ gangu čtyř ')) [2] Používá se zkratka LePUS pro „Language for Pattern Uniform Specification“, 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.[8]
Příklady
LePUS3 je zvláště vhodný pro modelování velkých programů, designové vzory a objektově orientovaný aplikační rámce. Je nevhodný pro modelování neobjektově orientovaných programů, architektonické styly, a nerozhodnutelný a částečně rozhodnutelný vlastnosti.
Uzavřitelná hierarchie (java.io)
Reference
- ^ Eden, Amnon; příspěvky Jonathana Nicholsona (2011). Codecharts: Roadmaps and Blueprints for Object-Oriented Programmes (PDF). Hoboken, New Jersey: Wiley / Blackwell.
- ^ A b Amnon H. Eden s příspěvky Jonathana Nicholsona. „Modeling Design Patterns, Chapter 11 in Codecharts: Roadmaps and Blueprints for Object-Oriented Programmes“ (PDF).
- ^ Amnon H. Eden; Epameinondas Gasparis; Jonathan Nicholson (2007). „Referenční příručka LePUS3 a Class-Z“. University of Essex.
- ^ Gasparis, Epameinondas; Jonathan Nicholson; Amnon H Eden (19. 9. 2008). LePUS3: Objektově orientovaný jazyk popisu designu (PDF). SCHÉMATA 2008. Herrsching, Německo. Archivovány od originál (PDF) dne 2008-11-19. Citováno 2008-06-23.
- ^ Codechart, formální definice
- ^ Sada nástrojů pro dvoustupňové programování
- ^ Gasparis, Epameinondas; Amnon H. Eden; Jonathan Nicholson; Rick Kazman (10.05.2008). Design Navigator: Mapování programů Java (PDF). 30. mezinárodní konference IEEE o softwarovém inženýrství - ICSE. Lipsko, Německo. Archivovány od originál (PDF) dne 2008-11-19. Citováno 2008-06-23.
- ^ A b Nicholson, Jonathan; Epameinondas Gasparis; Amnon H Eden; Rick Kazman (2009). Automatické ověřování návrhových vzorů pomocí LePUS3 (PDF). 1. sympozium o formálních metodách NASA - NFM 2009. Moffett Field, CA.