K-INFO
HU
EN
Belépés

Elosztott rendszerek és szakterületi modellezés

Distributed Systems and Domain-Specific Modeling
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Elosztott rendszerek és szakterületi modellezés
Distributed Systems and Domain-Specific Modeling
Tantárgykód BMEVIAUMA01
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 1 0
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Charaf Hassan
beosztás: egyetemi tanár
Tantárgyat gondozó oktatási szervezeti egység
Automatizálási és Alkalmazott Informatikai Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

 

Előadás anyaga

1.

Bevezetés: elosztott rendszerek elméleti alapjai, elosztott informatikai rendszerek tervezése és fejlesztése, elosztott rendszerek felépítéséhez szükséges alapszolgáltatások,

2.

Objektum- és szoftverkomponensek fejlesztési paradigmái, szabványosított architektúrák (DCOM, CORBA), kód újrafelhasználhatósági technikák, komponens alapú programozás,

3.

Komponens technológiák, az elosztottság különböző lehetőségei, az elosztott, komponens alapú tervezés és fejlesztés szempontjai, alkalmazások közötti kommunikáció

4.

Middleware szolgáltatások, tranzakció kezelés és aszinkron működés elosztott rendszerekben (MTS, MSMQ)

5.

Biztonság, a megbízhatóság és aszinkronitás elosztott környezetben, elosztott állapotkezelés, többszálú programozás paradigmái, többrétegű szoftverarchitektúrák elméleti megalapozása

6.

Elosztott adatkezelés és megjelenítés, szoftverrendszerek skálázhatóságának kérdései és megoldásai

7.

Tipikus elosztott architektúrák (pl. P2P), Elosztott rendszereket megvalósításának bemutatása esettanulmányok formájában

8.

Szakterületi modellezés, bevezető: A modellvezérelt fejlesztés alappillére a szakterületi modellezés használata. A szakterületi nyelveket egy-egy szakterület feladatainak leírására dolgozzuk ki, kifejezőképességük a tématerületre korlátozódik, ott viszont rendkívül hatékony. A szakterületi nyelvek jellemző, felhasználásuk, példák.

9.

Szoftvermodellezés, szöveges nyelvek: A szöveges szakterületi nyelvek gyakran közel állnak a klasszikus programozási nyelvekhez. Egyszerű nyelvet használva, szöveges formában írják le a szakterületi megoldásokat. A szakterületi kifejezések használata jelentősen megkönnyíti, hogy a szakértők különösebb informatikai előképzettség nélkül megérthessék a feladatokat, tevékenységeket.

10.

Vizuális nyelvek, kényszerek: A vizuális szakterületi nyelvek révén még jobban elősegíthetjük a megértést egy grafikus jelölésrendszer bevezetésével. Ebben az esetben azonban a nyelvek leírása összetettebb feladatot jelent, amire több alternatíva is létezik.

A szoftverek vizuális modellezése során metamodellekkel definiáljuk az alkalmazások statikus struktúráját. A metamodellek összetett megkötéseinek kifejezésére kényszereket használunk.

11.

Konkrét szintaxis, szemantika: Egy új modellezési nyelv létrehozásakor nem csak a nyelv szerkezetét, a nyelv fogalmait és a köztük levő kapcsolatokat kell megadnunk, hanem az egyes fogalmak megjelenési formáját is. Ezt nevezzük konkrét szintaxisnak.

A szakterületi modellek létrehozása és megjelenítése mellet a modellvezérelt fejlesztés szükségessé teszi, hogy a modellek jelentését is meg tudjuk adni. Ezt szemantikának nevezzük. A szemantika szerepe és alkalmazás módjai, lehetőségei a modellvezérelt fejlesztésben.

12.

Generatív programozás, modellfeldolgozás: Ha a modellezés célja további szoftvertermékek automatizált generálása, generatív modellezést alkalmazunk. Modellek alapján generálhatunk akár szöveges dokumentációt, de gyakran a modellezett funkcionalitás részleges vagy akár teljes forráskódja is előállítható.

13.

Gráftranszformáció: A modellvezérelt fejlesztés egyik legfontosabb lépése a modellek feldolgozása, melynek során modellekből más modelleket, vagy valamilyen szöveges kimentet, például fordítható majd futtatható forráskódot generálunk.

Szoftverfejlesztés során alapvető követelmény annak eldöntése, hogy amit elkészítettünk, az helyesen működik-e illetve, hogy a megadott specifikációnak megfelelő funkciókat valósítottunk-e meg a rendszerben. Ezek ellenőrzését verifikációval és/vagy validációval végezzük el.

14.

Szimuláció: egy valós rendszer működését számítástechnikai eszközökkel reprodukáljuk. Ehhez használjuk a valós rendszer valamilyen modelljét, ami kifejezi a rendszer számunkra fontos tulajdonságait, a szimuláció pedig előállítja a modell időbeli viselkedését. Ebből következtetni tudunk a valós rendszer viselkedésére.

 

 

Gyakorlat anyaga

1.

Elosztott architektúrák: az elosztott architektúrák tervezésének és kialakításának szempontja egy példa kidolgozásán szemléltetve.

2.

Szabványosított architektúrák alkalmazásának kérdései, a szabványos architektúrák alkalmazásának szemléltetése az előnyök bemutatása példákon. Elosztott rendszerek kialakításának gyakorlata.

3.

Elosztott rendszerek teljesítménymetrikái, finomhangolási és skálázási lehetőségei, monitorozása és nyomonkövetése példákon demonstrálva. Az elosztott rendszerek biztonsági aspektusainak szemléltetése.

4.

Szakterületi nyelvek: a szakterületi nyelvek szerepének demonstrálása, a szakterületi nyelvek kialakításának lépései, a bevezetéshez kapcsolódó döntések, érvek és ellenérvek. A szöveges szakterületi nyelvek szerepe.

5.

Metamodellezés, vizuális szakterületi nyelvek, kényszerek: a vizuális szakterületi nyelvek szerepe, a vizuális szakterületi nyelvek kialakításának és használatának demonstrálása, a

6.

Modellfeldolgozás: bejárás alapú, sablon alapú és gráfújrairás alapú modellfeldolgozás lehetőségeinek szemléltetése, konkrét példákon való lehetőségek, előnyök és következmények bemutatása.

7.

Szimuláció: szimulációs környezetek kialakításának és felhasználásának bemutatása, esettanulmányokkal történő szemléltetése

A tárgy célja, hogy a hallgatók megismerjék a komponens alapú technológiákat, a middleware szolgáltatások kialakításának és használatának lépéseit, jártasak legyenek az elosztott rendszerek területén az aszinkronitás, megbízhatóság, biztonság, teljesítménymetrikák, skálázhatóság, elosztott állapotkezelés valamint monitorozás területeken. További cél, hogy a hallgatók ismerjék a szakterületi nyelvek bevezetésével kapcsolatos döntést támogató kérdéseket, a nyelvek kialakítása során vizsgálandó szempontokat, a követendő lépéseket, a szakterületi nyelvek bevezetéséhez kapcsolódó feladatokat, valamint a nyelvek karbantartásának kérdéseit. A tárgy elvégzésével a hallgatók átlátják és alkalmazni tudják a modellfeldolgozás eltérő lehetőségeit szoftvermodellek feldolgozására és különböző szoftvertermékek (forráskód, konfigurációs fájl, egyéb) generálására.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Előadás és gyakorlat

Tanulástámogató anyagok

Online források
Elosztott objektum alapú rendszerek (Tanszéki segédlet); Don Box, Essential COM, Addison-Wesley Professional, 1998.; Mary Kirtland, Designing component-based applications, Microsoft Press, 1999.; Errol Simon, Distributed information systems, McGraw-Hill, 1996.; Jon Siegel, CORBA 3 Fundamentals and Programming, John Wiley & Sons, 2000.; Krysztof Czarnecki, Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000.; Steven Kelly, Juha-Pekka Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society Press, 2008.; Martin Fowler, Domain-Specific Languages, Addison-Wesley Professional, 2010; Lengyel László, Mezei Gergely, Mészáros Tamás, Asztalos Márk, Vajk Tamás, Fehér Péter: Modellvezérelt paradigmák, Egyetemi jegyzet, VI 201-010, 2013.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Objektumorientált programozási ismeretek. Szoftvertechnikák.
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Objektumorientált programozási ismeretek. Szoftvertechnikák.
Általános szabályok
Követelmények: a. A szorgalmi időszakban: egy zárthelyi  b. A vizsgaidőszakban: írásbeli vizsga c. Elővizsga: igény szerint   Az aláírás megszerzésének feltétele a zárthelyi elfogadható (legalább elégséges szintű) megoldása. A vizsgára bocsátás feltétele az aláírás megléte. Pótlási lehetőségek: A zárthelyihez a TVSZ előírásai szerint mind a szorgalmi, mind a pótlási időszakban 1-1 pótlási lehetőséget biztosítunk.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
Nincs
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.