Programming paradigms in an object-oriented multi-media standard
Of the various programming paradigms in use today, object-orientation is probably the most successful in terms of industrial take-up and application, particularly in the field of multimedia. It is therefore unsurprising that this technology has been adopted by ISO/IEC JTC1/SC24 as the foundation for a forthcoming International Standard for Multimedia, called PREMO. Two important design aims of PREMO are that it be distributable, and that it provide a set of media-related services that can be extended in a disciplined way to support the needs of future applications and problem domains. While key aspects of the object-oriented paradigm provide a sound technical basis for achieving these aims, the need to balance extensibility and a high-level programming interface against the realities of efficiency and ease of implementation in a distributed setting meant that the task of synthesising a Standard from existing practice was non-trivial. Indeed, in order to meet the design aims of PREMO it was found necessary to augment the basic object infrastructure with facilities and ideas drawn from other programming paradigms, in particular concepts from constraint management and dataflow. This paper describes the important trade-offs that have affected the development of PREMO and explains how these are addressed through the use of specific programming paradigms.