LePUS3 - LePUS3

Příklad: Codechart modelování kompozitního vzoru v 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 .

Úč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ů.

Slovník LePUS3

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í.

Reference

externí odkazy