This document is primarily intended for designers of signal processing applications serving as a programmer's manual. Although YAPI itself is programmed using the C++ language, application programmers require only some basic knowledge of C++ in order to program the interfaces of the processes and the structures of the process networks. Knowledge of C suffices to describe the functionalities of the processes. For an introduction to C++ we refer to . We provide an efficient implementation of YAPI in the form of a C++ run-time library to execute the applications on a workstation. Subsequently, the applications are used by the system designer as input for mapping and performance analysis in the design of complex stream processing systems.
It is our aim to offer YAPI to colleagues in Philips with expertise in stream processing applications such that they can model their applications in a structured way. These applications can serve as input for our methodologies and tools. YAPI has been been applied in several research projects among others COdesign Simulation and sYnthesis (COSY), PROgrammable MultiMedia PlaTforms II (PROMMPT-II), SCalable BAseband architecture for 3-G terminals (Scuba), Space Computer Architecture 4 Killer Experience (SpaceCAKE), Video Chain Optimization (VCO), Scalable Video Algorithms (SVA), New Algorithms for Video Enhancement, and MPEG coding and Processing for Storage (MEPS). Outside research YAPI is being applied among others at the System Lab Eindhoven in the projects Function and Architecture modeling Kit and Interface Rules (FAKIR), and Universal Display Processor (UDP).