The main functionality of Audio n-Genie include creating, navigating and saving instances (called Definitions) of an audio domain specific model; validating, maintaining the semantic contents of Definitions; controlling the execution of generators which act on them.
Audio n-Genie is hence composed of: An abstraction (Model) that defines the common characteristics of the audio application family and the ways in which a single audio application can differ from another. The Model defines a vocabulary of elements, while related rules and constraints together specify how to compose such elements in order to describe an application. The abstraction is independent from target platform concerns such as compilation and performance requirements. These details are specified using aspect oriented techniques.
A Graphical User Interface, based on a model driven architecture, allows the user to access the abstraction and its applicable aspects through Visual Editors. This way the developer creates and edit Definitions, enforcing rules and constraints contained in the Model. The Graphical User Interface launches the Validator and Generator(s) too. Moreover, through the integration with CDT, it is possible to manage compilation, debugging and execution of generated applications.
A Validator enables automatic validation of Definitions. Generators read Definition's contents and subsequently produce the source code of the designed application. Generated applications are based on a flexible and efficient signal processing software architecture. Generated code is readable and easily customizable. Executables to drive the generated code are produced too. Localized round trip engineering is supported by Extractors.