Määrittelykieli on muodollinen kieli , joka on tarkoitettu tietojen rakenteen, suhteiden, ominaisuuksien ja niiden muunnosmenetelmien deklaratiiviseen kuvaukseen (toisin kuin aktiiviset kielet) ilman, että suoritettujen toimien järjestystä nimenomaisesti mainitaan ja käytetään tiettyjä tietoarvoja.
Toisin kuin ohjelmointikieliä , joita käytetään tietokoneohjelmien toteutuksessa , määrittelykieliä käytetään järjestelmäanalyysiin , vaatimusanalyysiin , luotujen ohjelmistojärjestelmien arkkitehtuurin kehittämiseen ja muodolliseen ohjelmiston todentamiseen.
Tietojärjestelmän rakennetta, verkkoaluemalleja ja muita ohjelmisto- ja tietokantakehitykseen liittyviä tehtäviä ( UML , ERD , DFD ) käytetään eri määrittelykielillä, joissa voi olla sekä teksti- että binäärimuotoja sekä graafinen esitys. kielirakenteista. Niitä käytetään myös kuvaamaan käyttöliittymiä ( XUL , XAML ), raporttimalleja, dokumenttimuunnoksia sekä tiedonsiirtomuotoja sovellusten välillä hajautetuissa tietojärjestelmissä ( XML , JSON , CLEAR ). Toinen määrittelykielten sovellus on tietokantarakenteiden kuvaus, nimittäin SQL :n deklaratiivista osaa kutsutaan yleensä nimellä Data Definition Language ( DDL ). Jäsennyksessä ja jäsentämisessä käytetään määrittelykieliä, esimerkiksi Backus -Naur-muoto ja ABNF ( lisätty Backus-Naur-muoto ) ovat yleisesti hyväksyttyjä muodollisia kieliä verkkoprotokollien määrittelyyn ja jopa syntaksiin. aktiiviset ohjelmointikielet; säännölliset lausekkeet ovat samanlaisia kuin yllä mainitut merkinnät, mutta säännöllisten lausekkeiden muoto on kymmenen kertaa kompaktimpi ja jäsennysalgoritmit niiden avulla ovat hyvin kehittyneitä ja säännöllisiä lausekkeita tuetaan valtaosassa nykyaikaisista ohjelmointikielistä.
Määrittelymenetelmät voidaan luokitella useiden kriteerien mukaan [1] :
Tilasiirtymäparadigmaa [1] käyttäen :
Algebrallinen paradigma [1] :
Prosessien algebra [1] :
Logiikka [1] :