Skip to Content

Anatomija jednog JSD-a

Sadržaj

DOMMLite

Šta je DOMMLite?

  • DOMMLite1 je jezik za opis statičke strukture poslovnih aplikacija.2
  • Opisuje entitete, njihove atribute, validatore, veze između entiteta, primitivne tipove, pakete, servise i sl.
  • Generator koda na osnovu DOMMLite mograma generiše naprednu CRUD aplikaciju sa podrškom za pretrage, filtriranje, sortiranje, definisanje servisnih metoda, validacije itd. Implementiran u xText-u.

Osnovne osobine

  • Opis entiteta, ključeva, veza jedan na jedan, jedan na više, više na više.
  • Tekstualna sintaksa. Puna eclipse integracija (dopuna i bojenje koda, strukturni pogled, navigacija, validacija sintakse).
  • Veliki broj standardnih parametarskih validatora uz mogućnost definisanja dodatnih u samom jeziku uz implementaciju na jeziku ciljne platforme.
  • Podrška za definisanje korisničkih tipova podataka, validatora i oznaka.
  • Generator koda za Django web okvir za razvoj1. Generisanje pune CRUD aplikacije sa pretragama, filtriranjem, sortiranjem itd.

Model

./images/Model.png

Paketi

./images/Package.png

Entiteti

./images/Entity.png

Konkretna sintaksa

./images/BuildIns.png

Odeljci

./images/FeatureCompartment.png ./images/OperationCompartment.png

Odeljci - konkretna sintaksa

./images/compartments-syntax.png

Odeljci - strukturni prikaz

./images/outline.png

Odeljci - mapiranje na ekranske forme

./images/django-validatori.png

Atributi i reference

./images/Feature.png ./images/Property.png ./images/TypedElement.png

Atributi i reference - konkretna sintaksa

./images/BuildIns.png

Oznake (Tags)

  • Služe za opis dodatne semantike elementa nad kojim su definisane.
  • DOMMLite poseduje 11 ugrađenih oznaka (plural, searchBy, orderBy, finder, filterFields...) a korisnik može definisati na nivou mograma i svoje oznake.

Primer - podrška za specifičnosti prirodnih jezika

./images/Akuzativ.svg

Validatori

  • Definisanje uslova koji mora biti ispunjen da bi se instanca elementa modela nad kojom je primenjen smatrala ispravnom.
  • DOMMLite poseduje 33 ugrađena validatora (isAlphaNumeric, isOnlyDigits, isValidEmail...) a na nivou mograma mogu biti definisani korisnički.

Primer upotrebe validatora

./images/Validatori.svg

Servisi

./images/Service.png

Podrška za finder metode

./images/Services.png ./images/finder.png

Dopuna koda

./images/DopunaKoda1.png ./images/DopunaKoda2.png

Generator koda

./images/Generisanje.svg

Prikaz generisane forme

./images/django-validatori.png

mobl

mobl

TODO

pyFlies

pyFlies

TODO

Literatura

  • Igor Dejanović, Jezici specifični za domen, Fakultet tehničkih nauka, Novi Sad, 2021. (dostupno u skriptarnici FTN-a)
  • pyFlies dokumentacija