Specification of Multimedia Software Systems Using an Object Oriented Architecture Description Language

Despite the growing importance of multimedia applications, we still know relatively little about how to specify, design, and maintain this class of complex applications in a systematic manner. The concept of software architecture has recently emerged as a way to improve our ability to effectively construct and maintain large-scale complex software systems. Under this new paradigm, software engineers are able to do evolutionary design of complex systems through architecture specification, design rationale capture, architecture validation and verification, and architecture transformation. Several architecture description languages (ADLs), such as Wright, Rapide, UniCon, ACME, etc. have been proposed to support the architecture development under this new software paradigm. Although current ADLs more or less support certain features of object-oriented design approach, few of them are purely based on object-oriented paradigm. In this paper, we present an architecture description language — OOADL (Object-Oriented Architecture Description Language) to facilitate the architecture specification of multimedia software systems. This language takes object-oriented paradigm as its backbone, and provides formal semantics for modeling architectures of software systems. It also aims at other goals such as, support for hierarchical refinement, support for reuse of architecture styles, support for analysis, and support for exception handling. We also introduce the default architecture style which brings the features of extensibility and re-usability into the language. Finally, we use OOADL to construct part of the architecture framework of a multimedia system to illustrate the usage and modeling capability of OOADL.