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
Kötelező:
(Szakirany("AVINszgepalrend", _)
VAGY
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 rend az adott szak honlapján és képzési programjában található.

Ajánlott:
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
 16
Practice
 24
Preparation for the exam 24
Total
 120
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