Languages for Content Management
Friday, October 1st, 2004Question: How to program content-based management systems efficiently and easily? How to capitalize and reuse programming and design know-how for this new class of systems?
More precisely we propose three working hypothesis for building an environment that integrates smoothly all the content-management techniques covered by the Music Group research in an integrated manner, so as to propose novel applications that can expand the possibilities of music access.
- Integration of activities in a single environment. The different applications envisaged will necessarily share many information, data, metadata and also software components; It is therefore crucial that they can communicate with each other smoothly.
- Need for managing efficiently large databases. Metadata is interesting, by definition, only for managing large databases, which in turn creates issues of efficiency. Compilers which create efficient Sql queries are mandatory to create systems useable by non professionals.
- Need for vertical languages to develop these new systems. The development of a content-based music application requires the handling of many different layers of software development, from the design of audio acoustic descriptors to the development of graphical interfaces (Matlab, C++, Sql, Php, Java, etc.).
Managing these different levels and their interconnections is time consuming and acrobatic. Vertical languages reduce the difficulty by packaging vertically services, thereby freeing the developer to handle manually all these levels.
To implement the hypothesis proposed above, we have developed an object-oriented framework (in the sense of (Fayad et al. 1999)) called MCM (standing for Multimedia Content Management). This framework contains all the important services needed to build content-based music applications, from the design of perceptive descriptors (using the EDS system) to the creation of specific ontologies such as genre and the creation of user interfaces.