MultiMedia C# Support of QoS-Aware and Adaptive Programming by Extending a General Purpose Programming Language
Supervisor(s) and Committee member(s): Böszörmenyi Laszlo (Supervisor), Mössenböck Hanspeter
This thesis investigates how adaptive QoS-aware multimedia applications are developed and the required support from the programming language and the compiler as well as the run-time system.
Multimedia applications have become an increasingly important part of our lives. Many frameworks such as JMF, DirectShow, FFmpeg, GStreamer can help in the development of such software. All of these frameworks, however, are subject to one major limitation: they are unable to handle Quality of Service (QoS) issues. Such frameworks do typically provide timing mechanisms to correctly display multimedia content, but QoS considerations are shifted away to the resource layer or other middleware. As a result most multimedia applications work greedily on a best effort basis and provide no adaptivity.
Providing QoS-awareness and adaptive behavior in multimedia applications is cumbersome and error-prone. Many different QoS specification languages which try to support QoS-aware application development have been developed. In many cases this is done by shifting away QoS processing facilities from the programmer and hiding them inside predefined components. Instead, QoS can be directly integrated into a common general purpose programming language like C#.
This thesis introduces the specification of MMC# as an extension to the C# programming language focusing on adaptive, QoS-aware programming. The new language features provide a solution to the three common problems in the field of QoS processing: (1) constraint declaration, (2) constraint monitoring and (3) providing adaptive behavior in multimedia applications. Furthermore, declarative definition of QoS requirements directly within the programming language allows to apply semantic constraint analysis – partly at compile-time, partly at run-time – to check the correctness of specified requirements and further provide optimizations by automatically removing not required constraints. Furthermore, a new multimedia framework that includes integrated support for QoS and adaptivity is introduced. This framework uses predefined QoS metrics and additionally provides mechanisms to freely define QoS requirements to fit an application’s needs.
Distributed Multimedia Systems Group
The research group Distributed Multimedia Systems strives for excellence in (1) research, (2) teaching and (3) cooperation with industry.
- Current research topics
- Self-organizing content delivery
- Video Calculus - formal framework for handling non-linear video delivery
- Video Exploration - interactive and immediate extraction of semantics from videos
- Non-linear video presentation
- Fast video analysis based on H.264 video encoding
- Social computing, metadata, semantics in multimedia
- Languages, compilers and frameworks for QoS aware applications
Our main interest lies in basic research. We aim to actively participate in the work of the international scientific community and also strive to apply our results in close cooperation with industry.
- Teaching areas
Computer Networks and Network Programming, Current Topics in Distributed Multimedia Systems, Distributed Systems, Compiler Construction, Limits of formal sciences.
- Cooperation with industry
Besides project-based cooperation with a number of companies, we are supporting activities of former PhD and master students to found start-up companies and transforming know-how between the university and companies.