Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Beágyazott operációs rendszerek és kliens alkalmazások

    A tantárgy angol neve: Embedded Operating Systems and Client Applications

    Adatlap utolsó módosítása: 2022. december 28.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Villamosmérnöki szak, BSc képzés         
    Beágyazott és irányító rendszerek specializáció         
    Választható specializáció tantárgy        
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUAC14 5 2/2/0/v 5  
    3. A tantárgyfelelős személy és tanszék Dr. Tevesz Gábor,
    A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUAC14
    4. A tantárgy előadója
     Név:
     Beosztás: Tanszék, intézet:
     Dr. Tevesz Gábor
     c. egyetemi tanár
     Automatizálási és Alkalmazott
     Informatikai Tanszék
     Benedek Zoltán
     egyetemi tanársegéd
     Automatizálási és Alkalmazott
     Informatikai Tanszék
     Szabó Zoltán
     mérnöktanár
     Automatizálási és Alkalmazott
     Informatikai Tanszék
    5. A tantárgy az alábbi témakörök ismeretére épít Mikrokontrolleres alapismeretek, a C++ programozási nyelv ismerete.
    6. Előtanulmányi rend
    Ajánlott:
    -
    7. A tantárgy célkitűzése A hallgatók alkalmasak lesznek arra, hogy megértsék és alkalmazzák a beágyazott operációs rendszerek alkalmazásával kapcsolatos alapkoncepciókat. A tantárgy célkitűzése bemutatni azokat a platformokat, technikákat és eszközöket, amelyek szükségesek a beágyazott rendszerek alkalmazás és rendszer szintű szoftverének megírására és futtatására.
    Egy célorientált hardvereszköz elkészítése és felprogramozása után természetes egy megszokott, PC-ről elérhető felhasználói felület, amely akár egy alkalmazáson keresztül teszi lehetővé az új hardvereszköz monitorozását és tulajdonságainak beállítását. Ennek megfelelően a tárgy célja, hogy a hallgatókat megismertesse a vastagkliens (más néven desktop kliens) alkalmazások programozásával és az ehhez kapcsolódó alkalmazásfejlesztési technikákkal, különös tekintettel a felhasználói felületek kialakítására, a grafikus megjelenítésre, a többszálú technikák alkalmazására és a hálózati kommunikációra. Szinte valamennyi korszerű, desktop kliensalkalmazások fejlesztését támogató fejlesztői platform az objektumorientált szemléletet követi. Ennek megfelelően a tárgy ismerteti az objektumorientált szoftvertervezés és modellezés alapjait is (UML alapok, néhány fontosabb architekturális és tervezési minta). Az elméleti ismeretek gyakorlatba történő átültetése esettanulmányok megismerésének, illetve megvalósításának segítségével történik.
    8. A tantárgy részletes tematikája

    I. Az előadások részletes tematikája:

    Egyszerű beágyazott operációs rendszerek (2 hét)

    Idő- és eseményvezérelt rendszerek legfontosabb tulajdonságai, szinkronizációs elvek, vezérlési szerkezetek. Ütemezés, taszkkezelés, kontextusváltás. Taszkok szinkronizációja: kritikus szakasz, szemaforok, mutexek és üzenetek kezelése, prioritási kérdések. A μC/OS-II operációs rendszer főbb jellemzői (felépítés, konfigurációs lehetőségek, legfőbb szolgáltatások, 8 és 32 bites rendszerek közötti különbségek). Esettanulmányok: komplett irányító rendszer megvalósítása μC/OS-II operációs rendszer használatával.

    Objektumorientált ismétlés, C# nyelv alapjai (2 hét)

    Objektumorientált fogalmak átismétlése (objektum, osztály, tagfüggvény, öröklés, virtuális függvény), ennek során ismerkedés a C# nyelv alapjaival.  Egy egyszerű, területszámítós konzol alkalmazás elkészítése közösen, ennek kapcsán kerülnek átismétlésre/bemutatásra a fenti fogalmak.

    Vastagkliens alkalmazásfejlesztés alapok (5 hét)

    A .NET keretrendszer architektúrája röviden. További C# nyelvi elemek (property, delegate, event, attribútum) ismertetése, melyek szükségesek az alkalmazásfejlesztéshez. Eseményvezérelt alkalmazások .NET környezetben. Win32 API üzenetkezelése áttekintés, .NET Windows Forms alkalmazások architektúrája, Windows Forms alkalmazásfejlesztés alapok. Eseményvezérelt alkalmazások: vezérlők, dialógusablakok. Eseményvezérelt alkalmazások: GDI+ (rajzolás)

    Alkalmazásfejlesztés haladóbb témakörök (3 hét)

    Többszálú alkalmazások fejlesztése. Hálózati kommunikáció (socketek).

    Szoftvertervezés és architektúrák alapok (2 hét)

    Objektumorientált szoftvertervezés alapjai. UML alapok (fontosabb diagramok). Szoftver architektúrák (pl. Document-View architektúra), architektúra esettanulmány .NET környezetben.

    I. A gyakorlatok részletes tematikája:

    A gyakorlatokon példák és esettanulmányok formájában kerül elmélyítésre az előadásokon elhangzott elméleti tananyag.

    1.    Esettanulmány: egy egyszerű uCos-II alapú alkalmazás elkészítése.
    2.    Komplett esettanulmány az objektumorientált fogalmak átismétlésére, illetve a C# nyelv alapjainak megismerésére.
    3.    Példák a néhány specifikusabb C# nyelvi elemek alkalmazására (property, delegate, event, attribute).
    4.    Önálló feladat: gyakorlópéldák property, in/out/ref paraméterek, delegate (metódusreferencia), események (C# event) témakörben.
    5.    Esettanulmány: egy vastagkliens alkalmazás megvalósítása, layout kialakítása, eseménykezelés.
    6.    Önálló feladat: gyakorlópélda vastagkliens alkalmazás alapok, layout kialakítása, eseménykezelés témakörben.
    7.    Önálló feladat: gyakorlópélda UML alapú szoftvertervezés témakörben.
    8.    Esettanulmány: egy komplett Document-View architektúrára épülő alkalmazás megtervezése (UML gyakorlás), a tervek alapján megvalósított alkalmazás áttekintése.
    9.    Esettanulmány: többszálú alkalmazás készítése, szinkronizációs technikák alkalmazása, holtpont probléma.
    10.    Önálló feladat: gyakorlópéldák többszálú alkalmazásfejlesztés témakörben.
    11.    Esettanulmány: egy TCP/IP ill. UDP alapú kommunikációra épülő alkalmazás megvalósítása.
    12.    Önálló feladat: szoftverarchitektúrák (pl. Document-View alapú alkalmazásfejlesztés gyakorlása 1. rész
    13.    Önálló feladat: szoftverarchitektúrák (pl. Document-View alapú alkalmazásfejlesztés gyakorlása 2. rész
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tárgy anyaga előadásokon és gyakorlatokon kerül ismertetésre. Az előadások és a gyakorlatok az anyag ütemében váltogatják egymást, a gyakorlatokon példák és esettanulmányok formájában kerül elmélyítésre az előadásokon elhangzott elméleti tananyag.
    10. Követelmények

    Szorgalmi időszakban:

     

    (1) Az ismeretek alkalmazását és készségszintű megértését a félév során folyamatosan tartott gyakorlati foglalkozásokon segítik. A gyakorlati foglalkozások egy részén kötelező a részvétel, más része önálló feladatmegoldást igényel, melynek eredményét a hallgatóknak a tárgy honlapjára kell feltölteni.
    (2) Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak alatt egy alkalommal nagy zárthelyivel mérjük.

    Az aláírás feltételei:

    • A zárthelyi elfogadható (legalább elégséges szintű) teljesítése.
    • A 7 páratlan sorszámú gyakorlati foglalkozáson kötelező a jelenlét (hiányzása nem haladja meg a TVSz szerint megengedett mértéket)
    • A további gyakorlati foglalkozások 7 önálló feladatmegoldást jelentenek (melyek között lehetnek összevontak). A hallgatók a feladatokat a félév során folytatólagosan, a tárgy honlapján kapják meg. A megoldáshoz igény esetén a gyakorlati időpontokban konzultációs lehetőséget biztosítunk. A feladatok megoldását a megadott határidőn belül a tárgy honlapjára fel kell tölteni. A nem teljesített feladatok aránya nem haladhatja el a 30%-ot. Egy feladat akkor számít teljesítettnek, ha határidőre beadásra került, és a megoldást az oktató elfogadja.
    Vizsgaidőszakban:

    A vizsga írásbeli. A kreditpont megszerzésének feltétele: legalább elégséges vizsgaosztályzat elérése.
    A tárgyból szerzett érdemjegy 25%-ban a zárthelyin, 75%-ban a vizsgán elért eredményből (pontszámból) kerül kialakításra.
    11. Pótlási lehetőségek A sikertelen zárthelyi a szorgalmi időszakban tartott pótzárthelyi dolgozat legalább elégséges szintű megírásával pótolható. A pótzárthelyi anyaga megegyezik a zárthelyi anyagával.
    A vizsgák a TVSz-nek megfelelően pótolhatók.
    12. Konzultációs lehetőségek Órák előtt és után, valamint a számonkérésekhez kapcsolódóan egyeztetés szerint.
    13. Jegyzet, tankönyv, felhasználható irodalom
    • Labrosse, J.J.: MicroC/OS-II The Real-Time Kernel (Second edition). CMP Books
    • Benedek Zoltán: Bevezetés a C# nyelvű objektumorientált programozásba (elektronikus formában)
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra 56
    Félévközi készülés órákra 8
    Felkészülés zárthelyire 20
    Házi feladat elkészítése -
    Kijelölt írásos tananyag elsajátítása 26
    Vizsgafelkészülés 40
    Összesen 150
    15. A tantárgy tematikáját kidolgozta
     Név:
     Beosztás: Tanszék, intézet:
     Dr. Tevesz Gábor
     c. egyetemi tanár
     Automatizálási és Alkalmazott
     Informatikai Tanszék
     Benedek Zoltán
     egyetemi tanársegéd
     Automatizálási és Alkalmazott
     Informatikai Tanszék
     Szabó Zoltán
     mérnöktanár
     Automatizálási és Alkalmazott
     Informatikai Tanszék
    IMSc tematika és módszer A tantárgy egyes részei elmélyülést tesznek lehetővé a tananyaghoz kapcsolódó összetettebb problémák, feladatok megértésében és megoldásában. Ezeket a tananyaghoz kapcsolódó összetettebb feladatok opcionális – konzultációval segített – önálló megoldása támogatja.
    IMSc pontozás A tantárgyból 25 IMSc pont szerezhető.
    IMSc pontot opcionális otthoni feladat, plusz zárthelyi és plusz vizsgafeladat elvégzésével lehet szerezni. Max. 13 pont szerezhető az opcionális otthoni feladat megoldásával. Részpontszám is szerezhető a kijelölt bíráló értékelése alapján. A zárthelyin és a vizsgán plusz („csillagos”) IMSc feladatért max. 6-6 pont szerezhető, amennyiben a zárthelyi ill. a vizsga normál része jeles osztályzatú értékelést kapott. Az IMSc pontok megszerzése az IMSc programban nem résztvevő hallgatók számára is biztosított.