Systems programming with Modula-3
Systems programming with Modula-3
Programming in Modula-3: an introduction in programming with style
Programming in Modula-3: an introduction in programming with style
The case for reflective middleware
Communications of the ACM - Adaptive middleware
Open Distributed Processing and Multimedia
Open Distributed Processing and Multimedia
Introduction: Service-oriented computing
Communications of the ACM - Service-oriented computing
A dynamically-configured, strategic QoS management hierarchy for distributed multimedia systems
M3W Proceedings of the 2001 international workshop on Multimedia middleware
An event-driven, user-centric, QoS-aware middleware framework for ubiquitous multimedia applications
M3W Proceedings of the 2001 international workshop on Multimedia middleware
Multimedia Systems
A formal model for reasoning about adaptive QoS-enabled middleware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Professional C# 2005
Towards declarative characterisation and negotiation of bindings
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
Mobile Networks and Applications - Special issue: Recent advances in wireless networking
New approach to architectural synthesis: incorporating QoS constraint
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Semantics-enriched QoS policies for web service interactions
WebMedia '06 Proceedings of the 12th Brazilian Symposium on Multimedia and the web
Programming language concepts for multimedia application development
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Hi-index | 0.00 |
Quality of service (QoS) has become one of the most important aspects of modern multimedia applications. Nevertheless, programming of QoS-aware, adaptive applications is cumbersome and error-prone. Several QoS-oriented programming methods and tools have been presented, relying on special languages or complex frameworks. Instead, we suggest to slightly extend an existing general-purpose programming language and make thus adaptive programming as easy and as safe as any "normal", exception-based programming. We extend a general-purpose system programming language (C#) with the following features: (1) A time dimension, which can be added to any existing data type; (2) A new time-constrained assignment (streaming) statement and a time-constrained parameter passing (streaming) mode; (3) Declarative QoS specifications. We suggest some patterns for adaptive, quality-aware programming and present sample implementations emphasizing the advantages of the new programming model. Performance measurements show negligible overhead when applying the new language features in real-life multimedia applications.