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

    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Embedded Operating Systems and Client Applications

    A tantárgy neve magyarul / Name of the subject in Hungarian: Beágyazott operációs rendszerek és kliens alkalmazások

    Last updated: 2017. június 25.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Electrical Engineering B.Sc.         
    Embedded and Control Systems Specialization         
    Computer Based Systems Branch         
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUAC07 6 2/1/0/v 4  
    3. Course coordinator and department Dr. Tevesz Gábor,
    4. Instructors
    Name: Title: Department:
    Dr. Gábor Tevesz assoc. prof. Automation and Applied Informatics
    Zoltán Benedek assistant lect. Automation and Applied Informatics
    Zoltán Szabó assistant lect.
    Automation and Applied Informatics
    5. Required knowledge
    6. Pre-requisites
    (Szakirany("AVINszgepalrend", _)
    Szakirany("VIABV-EMBCS", _) )

    VAGY Szak("6N-MA") VAGY Szak("6NAMAR") // KJK AVCE

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    7. Objectives, learning outcomes and obtained knowledge The students will be able to understand and make use of the basic concepts of embedded operating systems. The objective of the course is to present platforms, techniques and tools which are required to create and run both application and system level software for embedded systems. After creating the hardware unit and embedded programs for it, the next natural step is the implementation of a desktop or web application that enables monitoring and parameterizing the hardware unit from a standard PC. The course presents the programming of desktop client applications, focusing on user interfaces, graphics drawing tools, multithreaded and network programming. Most modern development platforms follow object-oriented concepts. Consequently, the course provides introduction to object-oriented design, basic UML and a few architectural and design patterns.
    Students will be able to develop desktop client applications to access hardware units from PCs, and to create user friendly user interfaces for different client types. Network programming also gets an important role. The topics covered are illustrated by case studies and demo applications.
    8. Synopsis

    Part 1 – Simple embedded operating systems (2 weeks)
    Most important attributes of time and event driven systems, synchronization concepts, control constructs. Scheduling, task management, context switch. Synchronization of tasks: critical section, semaphore, mutex, message handling, task priority. The basic features of μC/OS-II (structure, configuration options, major services, differences between 8- and 32-bit systems).
    Case studies: implementation of a complete control system using μC/OS-II operating system.

    Part 2 – Basics of object oriented programming and desktop application development (8,5 weeks)
    Recap object oriented concepts (object, class, member function, inheritance, virtual function). Introducing the C# language. Case study.
    High level overview of the .NET Framework. C# language constructs: property, delegate, event, attribute.
    Event-driven application development in .NET. Win32 API, message handling. .NET Windows Forms applications (architecture, basic principles, event handling).
    Event-driven applications: controls, dialogs.
    Event-driven applications: GDI+, graphics drawing.
    Development of multithreaded applications.
    Network programming based on sockets.

    Part 3 – Software design and architecture (3,5 weeks)
    The basic principles of object oriented software design, UML. The most important UML diagram types.
    Document-view architecture (including some related patterns).
    Document-view architecture case study.

    9. Method of instruction The course consists of lectures and seminars, which are alternating during the semester. The lectures mainly contain the theoretical background and case studies are presented during seminars.
    10. Assessment
    In lecture term:
    An in-class term test
    In examination period:
    Written exam
    Pre-exam:upon request

    The requisite of the mid-term signature is to attend at the in-class term test and have at least satisfactory result. The requisite of attending at an exam is having the mid-term signature. The credits can be obtained by reaching at least satisfactory result at the exam. The grade consists of two parts: the grade of the mid-term test (25%) and the grade of the exam (75%).

    11. Recaps The in-class term test can be repeated once during the semester and once during the repeat period in accordance with the Code of Studies and Exams (CSE).
    12. Consultations Before and after lectures, or upon request, appointed with the lecturer.
    13. References, textbooks and resources Labrosse, J.J.: MicroC/OS-II The Real-Time Kernel (Second edition). CMP Books
    Michael J. Donahoo and Kenneth L. Calvert: TCP/IP Sockets in C: Practical Guide for Programmers
    MSDN: .NET Framework Programming
    14. Required learning hours and assignment
    Contact hours 42
    Preparation for lectures 7
    Preparation for practices 7
    Preparation for in-class test
    Preparation for the exam 24
    15. Syllabus prepared by
    Name: Title: Department:
    Dr. Gábor Tevesz assoc. prof. Automation and Applied Informatics
    Zoltán Benedek assistant lect. Automation and Applied Informatics
    Zoltán Szabó assistant lect.
    Automation and Applied Informatics