Gjuha e modelimit

**Gjuhë modelimi** është çdo gjuhë artificiale që mund të përdoret për të shprehur të dhëna, informacion ose njohuri ose sisteme në një strukturë që përcaktohet nga një bashkësi e rregullave që nuk janë në kundërshtim. Rregullat përdoren për interpretimin e kuptimit të komponentëve në strukturën e një gjuhe programimi.

## Përmbledhje 
Një gjuhë modelimi mund të jetë grafike ose tekstuale.

* Gjuhët e modelimit *grafike* përdorin një mënyrë diagrami me simbole të emërtuara që përfaqësojnë konceptet dhe linjat që lidhin ato dhe përfaqësojnë marrëdhëniet mes tyre, si dhe shënime të ndryshme grafike për të përfaqësuar kufizimet.
* Gjuhët e modelimit *tekstuale* mund të përdorin fjalë kyçe të standardizuara të shoqëruara me parametra ose terma dhe fraza të gjuhës natyrore për të bërë shprehjen të interpretueshme nga kompjuteri.

Një shembull i një gjuhe modelimi grafik dhe një gjuhe korresponduese modelimi tekstual është EXPRESS .

Jo të gjitha gjuhët e modelimit janë të ekzekutueshme, dhe për ato që janë, nuk do të thotë domosdoshmërisht se programuesit janë të panevojshëm gjatë përdorimit të tyre. Përkundrazi, gjuhët e modelimit që ekzekutohen kanë për qëllim të përforcojnë produktivitetin e programuesve të shkathtë, në mënyrë që ata të mund të trajtojnë probleme më sfiduese, të tilla si llogaritja paralele dhe sistemet e shpërndara .

Një numër i madh i gjuhëve modeluese i hasim në literaturë.

## Llojet e gjuhëve të modelimit 
### Llojet grafike 
Shembull i gjuhëve të modelimit grafik në fushën e shkencës kompjuterike, menaxhimit të projekteve dhe inxhinierisë së sistemeve

* Trungjet e sjelljes janë një gjuhë formale modelimi grafik të përdorura kryesisht në inxhinerinë e sistemeve dhe inxhinieri softuerike. Përdoret zakonisht për të përfaqësuar në mënyrë të qartë qindra apo edhe mijëra kërkesa të gjuhës natyrore që përdoren zakonisht për të shprehur nevojat e palëve të interesuara  për një sistem të integruar softuerësh në shkallë të madhe.
* Shënim I Modelimit Të Procesit Të Biznesit (BPMN shkurt në anglisht, dhe forma XML e BPML) është një shembull i një gjuhe për Modelimin e Proceseve.
* Teoria C-K(ang.Concept-Knowledge, Koncepti-Njohuria) përbëhet nga një gjuhë modelimi për proceset e dizajnit.
* DRAKON është një gjuhë modelimi algoritmik me qëllim të përgjithshëm për specifikimin e sistemeve intenzive të softuerit, një paraqitje skematike e një algoritmi ose një procesi hap pas hapi, dhe një familje e gjuhëve të programimit.
* EKSPRES DHE EXPRESS-G (ISO 10303-11) është një gjuhë ndërkombëtare standarde me qëllim të përgjithshëm modelimin e të dhënave.
* Gjuha E Zgjeruar E Modelimit Të Ndërmarrjeve (EEML shkurt në anglisht) përdoret zakonisht për modelimin e proceseve të biznesit në një numër shtresash.
* Diagrami rrjedhës paraqet skematën e një algoritmi ose procesi me hapa.
* Konceptet Themelore Të Modelimit (FMC shkurt në anglisht) gjuha e modelimit për sistemet intenzive të softuerit.
* IDEF është një familje e gjuhëve të modelimit, të cilat përfshijnë IDEF0 për modelimin funksional, IDEF1X për modelimin e informacionit, IDEF3 për modelimin e proceseve të biznesit, IDEF4 për Dizajnin e Orientuar Nga Objektet dhe IDEF5 për modelimin e ontologjive.
* Programi I Strukturuar I Xhaksonit (JSP shkurt në anglisht) është një metodë për programimin e strukturuar bazuar në korrespondencat midis strukturës së rrjedhës së të dhënave dhe strukturës së programit.
* LePUS3 është një gjuhë e Përshkrimit të Dizajnit Vizual e orientuar nga objektet dhe një gjuhë specifikimi formal që është e përshtatshme kryesisht për modelimin e programeve të mëdha  të orientuara nga objektet(Java, C++, C#) dhe modele të dizajnit.
* Gjuha E Modelimit Të Ciklit Të Jetës është një gjuhë standarde e hapur për inxhinierinë e sistemeve që mbështet të gjithë ciklin e jetës së sistemit: konceptuale, shfrytëzimit, mbështetjes dhe mbylljes.
* Modelimi I Rolit Të Objektit (ORM shkurt në anglisht) në fushën e inxhinierisë së softuerit është një metodë për modelimin konceptual dhe mund të përdoret si një mjet për analizën e informacionit dhe rregullave.
* Rrjetat Petri përdorin variacione mbi saktësisht një teknikë diagramimi dhe topologji, përkatësisht grafik dypalësh. Thjeshtësia e ndërfaqes së saj bazike të përdoruesit lehtësisht mundësoi mbështetje të gjerë të mjeteve gjatë viteve, veçanërisht në fushat e kontrollit të modeleve, simulimit të orientuar grafikisht dhe verifikimit të softuerit.
* Shënimi Southbeach është një gjuhë e modelimit vizual e përdorur për të përshkruar situatat në terma të aktorëve që konsiderohen të dobishëm ose të dëmshëm nga perspektiva e modeluesit. Shënimi tregon se si aktorët bashkëveprojnë me njëri-tjetrin dhe nëse ky ndërveprim përmirëson ose dëmton situatën.
* Gjuha e Specifikimit dhe Përshkrimit (SDL) është një gjuhë specifikimi që synon specifikimin dhe përshkrimin e qartë të sjelljes së sistemeve reaktive dhe të shpërndara.
* SysML është një gjuhë Modelimi Specifik Të Fushës për inxhinierinë e sistemeve e përcaktuar si një profil UML (personalizimi).
* Gjuha E Unifikuar E Modelimit (UML) është një gjuhë modelimi me qëllim të përgjithshëm që është një standard i industrisë për specifikimin e sistemeve intenzive të softuerit. UML 2.0, versioni aktual, mbështet trembëdhjetë teknika të ndryshme të diagramit dhe ka mbështetje të gjerë të mjeteve.
* Struktura e modelimit të orientuar drejt shërbimit (SOMF) është një gjuhë holistike për hartimin e modeleve të arkitekturës së nivelit të ndërmarrjes dhe aplikimit në hapësirën e arkitekturës së ndërmarrjes, virtualizimit, arkitekturës së orientuar drejt shërbimit (SOA), cloud computing dhe më shumë.
* Gjuha e përshkrimit të arkitekturës (ADL shkurt në anglisht) është një gjuhë e përdorur për të përshkruar dhe përfaqësuar arkitekturën e sistemeve të një sistemi.
* Analiza E Arkitekturës Dhe Gjuha E Dizajnit (Aadl shkurt në anglisht) është një gjuhë modelimi që mbështet analizat e hershme dhe të përsëritura të arkitekturës së një sistemi në lidhje me vetitë kritike të performancës përmes një shënimi të zgjerueshëm, një mjet strukture dhe semantike të përcaktuar saktësisht.

Shembuj të gjuhëve të modelimit grafik në disiplina të tjera të shkencës.

* EAST-ADL është një gjuhë modelimi specifike për domenin, e dedikuar për dizajnimin e sistemit të automobilave.
* Gjuha e Sistemeve të Energjisë (ESL), një gjuhë që synon të modelojë energjetikën ekologjike dhe ekonominë globale.
* IEC 61499 përcakton gjuhën e modelimit specifik për domenin e dedikuar për shpërndarjen e sistemeve të matjes dhe kontrollit të proceseve industriale.

### Llojet tekstuale 
Modelet e informacionit mund të shprehen gjithashtu në gjuhë të formalizuara natyrore, të tilla si Gellish.  Gellish ka variante të gjuhës natyrore si anglishtja formale gellish dhe holandishtja formale gellish ( Gellish Formeel Nederlands ), etj. Anglishtja formale Gellish është një gjuhë reprezentative informacioni ose gjuhë modelimi semantike që përcaktohet në Fjalorin-Taksonominë e gjuhës angleze Gellish, e cila ka formën e një Taksonomi-Ontologji (në mënyrë të ngjashme për holandishten). Anglishtja formale Gellish nuk është e përshtatshme vetëm për të shprehur njohuri, kërkesa dhe fjalorë, taksonomi dhe ontologji, por edhe informacione rreth gjërave individuale. I gjithë ai informacion shprehet në një gjuhë dhe për këtë arsye mund të integrohet i gjithë, pavarësisht nga pyetja nëse ruhet në bazat e të dhënave qendrore, të shpërndara apo të federuara. Modelet e informacionit në anglishten formale Gellish përbëhen nga koleksione shprehjesh të gjuhës angleze formale Gellish, që përdorin terma të gjuhës natyrale dhe shprehje të formalizuara. Për shembull, një model informacioni gjeografik mund të përbëhet nga një numër shprehjesh formale angleze Gellish, të tilla si:
 - the Eiffel tower  Paris

 (kulla e Eifelit  Paris) 

 - Paris  city

 (Parisi  qytet)
ndërsa nevojat dhe njohuritë për informacion mund të shprehen për shembull si më poshtë:
 - tower  geographical area

 (kulla  zonë gjeografike)

 - city  geographical area

 (qyteti  zone gjeografike)
Shprehje të tilla formale angleze Gellish përdorin emra konceptesh (siç është "city") dhe shprehje që përfaqësojnë llojet e marrëdhënieve ( sikurse ⟨is located in⟩ and ⟨is classified as a⟩) që duhet të zgjidheshin nga Fjalori-Taksonomia Gelish Anglisht(ose nga fjalori i fushës suaj). Fjalori-Taksonomia Gelish Anglisht mundëson krijimin e modeleve të informacionit të pasur semantikisht, sepse fjalori përmban më shumë se 600 lloje standarde të marrëdhënieve dhe përmban përkufizime të më shumë se 40000 koncepteve. Një model informacioni në Gellish mund të shprehë fakte ose të bëjë deklarata, pyetje dhe përgjigje.

### Llojet më specifike 
Në fushën e shkencës kompjuterike së fundmi janë shfaqur lloje më specifike të gjuhëve modeluese.

#### Algjebrike 
Gjuhët e Modelimit Algjebrik (AML shkurt në anglisht) janë gjuhë programimi të nivelit të lartë për përshkrimin dhe zgjidhjen e problemeve të llogaritjeve matematikore me kompleksitet të lartë në shkallë të gjerë (dmth. problemet e tipit të optimizimit në shkallë të gjerë). Një avantazh i veçantë i AML-ve si AIMMS, AMPL, GAMS, Gekko, Mosel, OPL, MiniZinc dhe OptimJ është ngjashmëria e sintaksës së saj me shënimin matematikor të problemeve të optimizimit. Kjo mundëson një përcaktim shumë të saktë dhe të lexueshëm të problemeve në fushën e optimizimit, i cili mbështetet nga disa elementë gjuhësorë si bashkësitë, indekset, shprehjet algjebrike, indekse të fuqishëm të rrallë dhe variabla për trajtimin e të dhënave, kufizime me emra të rastësishëm . Formulimi algjebrik i një modeli nuk përmban asnjë sugjerim se si të përpunohet ai.

#### Të sjelljes 
Gjuhët e sjelljes janë dizajnuar për të përshkruar mënyrën e sjelljes së vëzhgueshme të sistemeve komplekse të përbërë nga komponentë që ekzekutohen njëkohësisht. Këto gjuhë përqendrohen në përshkrimin e koncepteve kryesore si: konkurenca, jodeterminizmi, sinkronizimi dhe komunikimi. Bazat semantike të gjuhëve të sjelljes janë llogaritja e procesit ose algjebra e procesit .

#### Specifike për disiplinën 
Një gjuhë modelimi specifike për një disiplinë (DspM shkurt në anglisht) fokusohet në rezultatet e lidhura me një fazë specifike të ciklit jetësor të zhvillimit softuerikë. Prandaj, një gjuhë e tillë ofron një fjalor, sintaksë dhe shënim të veçantë për çdo fazë, të tilla si zbulimi, analiza, dizajni, arkitektura, shtrëngimi, etj. Për shembull, për fazën e analizës së një projekti, modeluesi përdor një shënim specifik analize për të ofruar një diagramë të propozimit të analizës. Gjatë fazës së projektimit, megjithatë, shënimi logjik i dizajnit përdoret për të përshkruar marrëdhënien midis entiteteve të softuerit. Po ashtu, praktikat më të mira të modelimit të gjuhës specifike për disiplinën nuk i pengojnë praktikuesit të kombinojnë shënimet e ndryshme në një diagram të vetëm.

#### Specifike për domenin 
Modelimi specifik i domenit (DSM shkurt në anglisht) është një metodologji e inxhinierisë softuerike për projektimin dhe zhvillimin e sistemeve, më së shpeshti sisteme të IT-së si softueri kompjuterik. Ai përfshin përdorimin sistematik të një gjuhe grafike specifike të domenit (DSL shkurt në anglisht) për të përfaqësuar aspektet e ndryshme të një sistemi. Gjuhët DSM kanë tendencë të mbështesin abstraksione të nivelit më të lartë sesa gjuhët e modelimit me qëllim të përgjithshëm, kështu që ato kërkojnë më pak punë dhe më pak detaje të nivelit të ulët për të specifikuar një sistem të caktuar.

#### Specifike për strukturën 
Një gjuhë modelimi specifike për strukturën (FSML shkurt në anglisht) është një lloj gjuhe modelimi specifike për domenin, e cila është krijuar për një strukturë aplikimi të orientuar nga objekti. FSML-të përcaktojnë abstraksionet e ofruara nga struktura si koncepte FSML dhe i zbërthejnë abstraksionet në karakteristika. Karakteristikat përfaqësojnë hapat ose zgjedhjet e zbatimit.

Një koncept FSML mund të konfigurohet duke zgjedhur karakteristika ose ndryshore dhe duke ofruar vlera për këto ndryshore. Një konfigurim i tillë koncepti përfaqëson se si koncepti duhet të zbatohet në kod. Me fjalë të tjera, konfigurimi i konceptit përshkruan se si duhet të kompletohet struktura në mënyrë që të krijohet zbatimi i konceptit.

#### Modelimi i informacionit dhe njohurive 
Të dhënat e lidhura dhe inxhinieria ontologjike kërkojnë "gjuhë pritëse" për të përfaqësuar entitetet dhe marrëdhëniet midis tyre, kufizimet midis vetive të entitetëve dhe marrëdhënieve, dhe atributet e metadata-s. JSON-LD dhe RDF janë dy gjuhë kryesore (dhe semantikisht pothuajse të njejta) në këtë kontekst, kryesisht sepse ato mbështesin konkretizimin e deklaratave dhe kontekstualitetin të cilat janë veti thelbësore për të mbështetur logjikën e rendit më të lartë të nevojshme për të arsyetuar modelet. Transformimi i modelit është një shembull i zakonshëm i arsyetimit të tillë.

#### Të orientuar nga objekti 
Gjuhët e modelimit të objekteve janë gjuhë modelimi të bazuara në një grup të standardizuar simboleve dhe mënyra për t'i rregulluar ato për të modeluar (disa pjesë të) një dizajn softueri të orientuar drejt objektit ose dizajn sistemi.

Disa organizata shpesh i përdorin ato në kombinim me një metodologji të zhvillimit të softuerit për të avancuar nga specifikimi fillestar në një plan zbatimi dhe për të komunikuar atë plan për një ekip të tërë të zhvilluesve dhe palëve të interesuara. Për shkak se një gjuhë modelimi është vizual dhe në një nivel më të lartë të abstraktimit sesa kodi, përdorimi i modeleve inkurajon krijimin e një vizioni të përbashkët që mund të parandalojë problemet e interpretimit të ndryshëm më vonë gjatë zhvillimit. Shpesh përdoren mjete për modelimin e softuerit për të ndërtuar këto modele, të cilat mund të jenë në gjendje për përkthim automatik në kod.

#### Realiteti virtual 
Gjuha e Modelimit të Realitetit Virtual (VRML shkurt në anglisht), para vitit 1995, e njohur si Gjuha e Etiketimit të Realitetit Virtual është një format standard për përfaqësimin e grafikave vektoriale interaktive 3-dimensionale (3D), e krijuar veçanërisht duke pasur parasysh Rrjetin gjithë botëror.

#### Të tjerët 
* Gjuha e Përshkrimit të Arkitekturës
* Gjuha e Modelimit të Fytyrave
* Gjuha Gjenerative e Modelimit
* Gjuha e Modelimit Java
* Promela
* Gjuha e Modelit Rebeca
* Gjuha e Modelit të Shërbimit
* Shprehja e Modelimit të Shërbimeve në Internet
* X3D

## Përdorimi 
Lloje të ndryshme të gjuhëve të modelimit përdoren në fusha të ndryshme, duke përfshirë shkencën kompjuterike, menaxhimin e informacionit, modelimin e proceseve të biznesit, inxhinierinë softuerike dhe inxhinierinë e sistemeve. Gjuhët e modelimit mund të përdoren për të specifikuar:

* kërkesat e sistemit,
* strukturat dhe
* sjelljet.

Gjuhët e modelimit kanë për qëllim të përdoren për të specifikuar saktë sistemet në mënyrë që palët e interesuara (p.sh. klientët, operatorët, analistët, projektuesit) të mund të kuptojnë më mirë sistemin që modelohet.

Gjuhët e modelimit më të pjekura janë të precize, konsistente dhe të ekzekutueshme. Teknikat joformale të diagramimit të aplikuara me mjetet e vizatimit priten të krijojnë pasqyrime të dobishme piktoreske të nevojave, strukturave dhe sjelljeve të sistemit, të cilat mund të jenë të dobishme për komunikim, dizajn dhe zgjidhje të problemeve, por nuk mund të përdoren në mënyrë programore.  Gjuhët e modelimit të ekzekutueshme, të aplikuara me mbështetjen e mjeteve të duhura, megjithatë, pritet të automatizojnë verifikimin dhe vlefshmërinë e sistemit, simulimin dhe gjenerimin e kodit nga të njëjtat paraqitje.

## Kualiteti 
Një rishqyrtim i gjuhëve të modelimit është thelbësor për të qenë në gjendje të caktohet se cilat gjuhë janë të përshtatshme për kërkesa të ndryshme modelimi. Në konceptimin e kërkesave apo cilësive përfshihen palët e interesuara, domenin apo fushën dhe njohuritë e lidhura. Vlerësimi i **cilësisë së gjuhës** është një mjet që synon të arrijë modele më të mira.

### Struktura për vlerësim 
Këtu cilësia e gjuhës deklarohet në përputhje me strukturën SEQUAL për cilësinë e modeleve të zhvilluar nga Krogstie, Sindre dhe Lindland (2003), pasi kjo është një strukturë që lidh cilësinë e gjuhës me një strukturë për cilësinë e modelit të përgjithshëm. Pesë fusha përdoren në këtë strukturë për të përshkruar cilësinë e gjuhës dhe këto supozohet të shprehin simbolin  dhe vizual të gjuhës. Ne nuk do të shtjellojmë thellë strukturën themelore të cilësisë së modeleve, por do të përqendrohemi në fushat e përdorura për të shpjeguar strukturën e cilësisë së gjuhës.

#### Përshtatshmëria e domenit 
Struktura deklaron aftësinë për të përfaqësuar domenin si përshtatshmëri të domenit. Termi p*ërshtatshmëri* mund të jetë paksa i paqartë, por në këtë kontekst të veçantë do të thotë *e aftë për të shprehur* idealisht, duhet të jeni në gjendje të shprehni vetëm gjërat që janë në domen, por të jeni mjaft të fuqishëm për të përfshirë gjithçka që është në domen. Kjo kërkesë mund të duket pak strikte, por qëllimi është të merret një model i shprehur vizualisht i cili përfshin gjithçka që lidhet me domenin dhe përjashton gjithçka që nuk është e përshtatshme për domenin. Për ta arritur këtë, gjuha duhet të ketë një dallim të mirë se cilat shënime dhe sintaksa janë të dobishme për të paraqitur.

#### Përshtatshmëria e pjesëmarrësve 
Për të vlerësuar përshtatshmërinë e pjesëmarrësve, ne përpiqemi të identifikojmë se sa mirë gjuha shpreh njohuritë që kanë palët e interesuara. Kjo paraqet sfidë pasi që njohuria e palëve të interesuara është subjektive. Njohuria e palëve të interesuara është e heshtur dhe e qartë. Të dy llojet e njohurive janë të karakterit dinamik. Në këtë strukturë merret parasysh vetëm lloji i qartë i njohurive. Gjuha duhet në një masë të madhe të shprehë të gjitha njohuritë eksplicite të palëve të interesuara në lidhje me fushën.

#### Përshtatshmëria e modeluesit 
Paragrafi i fundit thoshte se njohuritë e palëve të interesuara duhet të prezantohen në një mënyrë të mirë. Po ashtu është e domosdoshme që gjuha të jetë në gjendje të shprehë të gjitha njohuritë e mundshme eksplicite të palëve të interesuara. Asnjë njohuri nuk duhet të lihet e pashprehur për shkak të mangsive në gjuhë.

#### Përshtatshmëria e kuptueshmërisë 
Përshtatshmëria e kuptueshmërisë siguron që agjentët socialë të kuptojnë modelin për shkak të përdorimit të vazhdueshëm të gjuhës. Për ta arritur këtë, struktura përfshin një sërë kërkesash. Rëndësia e përgjithshme që shprehin këto është se gjuha duhet të jetë fleksibile, e lehtë për t'u organizuar dhe e lehtë për të dalluar pjesë të ndryshme të brenda gjuhës, si dhe nga gjuhët e tjera. Përveç kësaj, qëllimi duhet të jetë sa më i thjeshtë që është e mundur dhe që çdo simbol në gjuhë të ketë një paraqitje unike.

Kjo është gjithashtu e lidhur me strukturën e nevojave të zhvillimit.

#### Përshtatshmëria e mjetit 
Për tu siguruar që domeni i modeluar në të vërtetë është i përdorshëm për analizë dhe përpunim të mëtutjshëm, gjuha duhet të sigurojë që është e mundshme të arsyetohet në mënyrë automatike. Për ta arritur këtë duhet të përfshijë sintaksën dhe semantikën formale. Një avantazh tjetër i formalizimit është aftësia për të zbuluar gabimet në një fillestare. Jo gjithmonë gjuha e përshtatshme për aktorët teknikë është e njëjtë me atë të aktorëve socialë.

#### Përshtatshmëria organizative 
Gjuha e përdorur është e përshtatshme në kontekstin organizativ, p.sh. që gjuha është e standardizuar brenda organizatës, ose se ajo mbështetet nga mjetet që janë përzgjedhur si standarde në organizatë.

## Referime 
## Lexim i mëtejshëm 
* John Krogstie (2003) "Evaluating UML Using a Generic Quality Framework" . SINTEF Telekom dhe Informatikë dhe IDI, NTNU, Norvegji
* Krogstie dhe Sølvsberg (2003). *Inxhinieria e Sistemeve të Informacionit: Modelimi konceptual në një perspektivë cilësore* . Instituti i Shkencave Kompjuterike dhe Informacionit. 
* Anna Gunhild Nysetvold dhe John Krogstie (2005). "Assessing Business Processing Modeling Languages Using a Generic Quality Framework" . Instituti i Shkencave Kompjuterike dhe Informacionit.

## Lidhje të jashtme 
* Konceptet Themelore të Modelimit
* Portali i Gjuhëve të Modelimit të Softuerit
* BIP -- Ndërtimi i sistemeve në kohë reale bazuar në komponentë shtesë
* Anglishtja Formale Gellish