Generativno programiranje
From Wikipedia, the free encyclopedia
Remove ads
Prema definiciji (Eisenecker, 1998.), generativno programiranje (GP) predstavlja
"... dizajniranje i implementaciju programskih modula koji se mogu kombinirati radi generiranja visoko specijaliziranih i optimiziranih sustava koji omogućuju rješavanje specifičnih zadataka.".
Odnosno, možemo reći da GP predstavlja disciplinu automatskog programiranja, koja se pod tim nazivom pojavljuje potkraj 90-tih godina.
Remove ads
Osnovne karakteristike GP
( u odnosu na druge discipline automatskog programiranja)
- fleksibilnost u odnosu na druge tehnike automatskog programiranja:
- izrada aplikacija korištenjem više generatora
- modifikacije generatora
- optimizacija
- proizlazi iz težnje da se u generirane aplikacije ugrađuju samo potrebna svojstva, umjesto korištenja generičkih komponenti
Dakle, radi se o pristupu izradi aplikacija na način da se ne usmjerava cijeli napor samo na pojedinu ciljnu aplikaciju, nego i na generator, koji osim pojedine aplikacije, može automatski generirati i ostale aplikacije iz problemske domene koju pokriva. Pojedina aplikacija za generiranje zadaje se specifikacijom u nekom od jezika specifičnih za problemsku domenu (eng. DSL - Domain Specific Language), za razliku od općih programskih jezika, koji nisu ograničeni na određenu problemsku domenu.
Remove ads
Temeljne discipline GP
GP, kao relativno nova programerska disciplina, uključuje nekoliko temeljnih disciplina:
- Objektno orijentirano programiranje
- Metaprogramiranje
- Generičko programiranje
- Aspektno orijentirano programiranje
- Domenski inženjering
Literatura
- Krzysztof Czarnecki and Ulrich W. Eisenecker:"Generative Programming: Methods, Tools, and Applications", Addison Wesley, 2000. (temeljna knjiga za GP)
Vanjske poveznice
- GPCE (Generative Programming and Component Engineering) - glavna svjetska konferencija za GP
- Wiki sustav o generativnom programiranju i srodnim disciplinama
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads