Research Area

During my Ph. D. study at the ETH I was researching on how to improve the functionality of the existing typical file system architectures. The whole project was splitted in two phases.

The first phase of project is called IDEOMS: Integrated Document Environment based on OMS Object-Oriented Database System. The object-oriented database system OMS was developed by our group here at the ETH Zurich. You can download the system here and have a look to the online manual here.

The underlying idea of IDEOMS is to modify and extend the current vision of the file system, viewing it in terms of collections of logical documents on which typical database operations, such as queries, can be applied and dependencies between documents can be specified and managed. In this way, we offer higher-level user support for both the organisation and management of all forms of computer-stored information and work activities. Our aim therefore differs from that of many other proposed document management systems which often focus only on text documents and introduce new document formats and/or editors.

IDEOMS can be regarded as a system which integrates, rather than replaces, existing tools for document processing. Tools such as word processors, drawing tools and editors support the creation of individual documents. Users can personalise their working space through the use of preferences which may be general, relate to specific document types or to individual documents. A user can therefore continue to work with familiar and preferred tools with the consequence that their basic working habits as far as individual document development is concerned will remain unchanged. However, new tools can be integrated into the system at any stage by the setting of preferences and the attachment of new methods to document object types.

An important aspect of document management is the classification and retrieval of documents. It should be possible to classify a document in several different ways, and change these classifications, independent of the document format. Rich classification schemes, combined with powerful querying facilities, support document retrieval. In IDEOMS, this is achieved through the classification structures and full algebraic query language of the underlying OMS system.

User interaction should be task-oriented rather than command-oriented. This means that a user should specify what is to be done, rather than how it is to be done. In some operating systems (such as UNIX), users can define command aliases, but these must be specified in a relatively low level manner requiring a reasonable knowledge of the operating system. To simplify user working, it should be possible to specify various command options independently through the direct querying and updating of preferences. In IDEOMS, a document has a number of methods for tasks such as printing, editing, etc. and the actual method implementation invoked will depend on the classification context in which a document is currently viewed, together with specified user preferences.

Typically, file system interfaces allow users only to store files (usually in a hierarchical way) and to create links, which are no more than pointers to the original files. Generally, any dependencies between files have to be managed by the users themselves by trying to rearrange and order the storage-structure in the desired logical manner. There is no support from the system to help users in this operation and, in some cases, the features offered by the system are not sufficient for the purposes of the user. For example, everyday tasks such as managing document versions or generating copies of all files related to a given document for use by another user can prove to be tedious and error-prone.

While the general direction of developing a database-oriented view of file system has been supported (see e.g. BeOS), the underlying database technologies were often too restrictive with limitations in terms of support for associations, constraints, classification and document evolution. For example, relational database management systems proved to be too restrictive in terms of their semantic modelling capability. While object-oriented database management systems are better suited to managing complex structures and multimedia data, current commercial systems tend to have no or very limited support for constraints and rather restrictive classification structures (see for example the ODMG standard). IDEOMS can support a much higher-level of working and better support for the document life-cycle and cooperative working by being based on an object-oriented database system which supports all of those notions.

Support for cooperative working among users wishing to collaborate on and share documents requires also that the system should be multi-user and support distributed access. The system must therefore support access and concurrency control mechanisms to ensure the integrity of the document database. Current tools for controlled document access, such as the Revision Control System (RCS) on UNIX, support document versioning and check-in/check-out procedures. However, users often find them difficult to use and it is cumbersome to change document structures and locate previous versions. In IDEOMS, this sharing mechanism is on a higher-level of abstraction, thereby simplifying the work of users.

The second phase of the project is called OMX-FS: Object Model eXtendend File System. The current vision of the file system and its implementation in existing commercial operating systems remains close to the level of the physical storage structure of a file, following the basic equivalence of file = pathname. With OMX-FS, we present the guidelines as to how this restricted vision can be extended, making a step forward in terms of logical abstraction by considering files as objects. Supported by a powerful and flexible data model such as the object data model OM, we were able to design and implement a multi-user distributed object-oriented file system, introducing more functionality and flexibility. This approach allows both application developers and users to interact with the file system at a more logical level.

We use a simple example of constructing a web page in HTML to illustrate the issues and limitations of the current view. Basically, such a web page contains text, links and pictures. Here is the point: How do you identify imported pictures in your page? At the moment you have to specify their pathname in the HTML code. This is a satisfactory solution as long as you do not change the structure under which you saved and organised your files (HTML-documents and pictures included). If you modify the pathname of a picture (that means, if you work with a graphical user interface, to move the picture into a different folder), the browser is no longer able to find it, because the hard coded pathname in the HTML is now a dangling reference.

This problem is intensified if you consider this web page construction in a multi-user environment, where cooperative working plays an important role. Imagine you have to share your web page with other persons: You have to remember to share the imported pictures too, otherwise these would appear to other colleagues as dangling reference. Keeping track of all the files which compose the logical structure of your work is not a large overhead if you have to manage only a text and a few pictures. But what is the situation with
a complex hierarchical structure? How large an effort is required only to perform such simple actions as sharing or copying files?

You could argue that with the next generation of web languages, such as XML, it is possible to fix such dangling reference. This is correct, but the problem still remains unresolved, because such a solution is limited to the application domain and is not a general solution for all possible structures over files. Would it not be better if you could explain to the file system, how you want to organise and structure your files? In this way, you notify your logical organisation structure to the system, having the opportunity to specify which associations exist between files, or in which way they could be classified. This means introducing into a file management system concepts familiar in database systems, thereby attaining a higher level of structural and operational abstraction.

Even using the variety of powerful tools currently available for Web site development does not solve the problem. You just shift it. You have more support and comfort during the development and maintenance of Web pages, but the moment that you access the structure managed by such tools from other applications or from the operating system itself, you are no longer capable of retrieving the (metadata) information kept hidden inside the HTML page design tool.

Component software, supported by object-oriented programming, enables the design of open systems, which, in a second step through extensibility, can have their functionalities specialised. Furthermore, component software defines interfaces and protocols, allowing objects to communicate with other objects, exchanging data and executing code. We think that such a technology presents various advantages in terms of file management, and we have basically two approaches to integrate it into a system: As an application on the top of an operating system or directly inside the operating system.

It is difficult to make a clear distinction as to whether a program is an application or just a part of the operating system. Avoiding the more philosophical considerations of the problem, we have studied both variants in our two different projects IDEOMS and OMX-FS. The first one introduces a high-level file management system as an application on the top of an existing file system. The second one modifies and extends the file system directly.

State of the Art

On the one hand, there is an IDEOMS prototype implemented using OMS with methods specified in Prolog. The main objective of this prototype is to validate system functionality in particular with respect to the underlying document metamodel and the preference and access control scheme. Tool integration is also supported and users may develop various forms of documents using a variety of editors, compilers etc. according to the document type and their specified preferences. Another feature demonstrated with this prototype is system extensibility in terms of how new document types, classifications, associations and tools can be added dynamically.

We have designed a dedicated graphical user interface (GUI) for IDEOMS. Clearly, it is vital that the GUI be easy to use and very intuitive. We therefore want the GUI to incorporate features familiar in those of existing file systems such as MacOS X, Windows and Solaris, while at the same time supporting a more abstract level of working as described above.

On the other hand, there is also an OMX-FS prototype implemented in Oberon. OMX-FS provides a persistent and distributed file system with multi-user support. OMX-FS integrates the whole functionality of the OM generic object data model.

Future Work

The vision now is to create a next generation Universal Information Platform (UIP). The UIP mirrors the functionality of OMX-FS and acts as an object data management system. The real challenge will be to design new applications (such as dedicated GUIs, text editors, browsers) that can make use of this extended functionality provided at lover-level.

Publications

IDEOMS: An Integrated Document Environment based on OMS Object-Oriented Database System, G. Rivera, M. C. Norrie and A. Steiner. 4th Doctoral Consortium in Conjunction with 9th Conf. on Advanced Information Systems Engineering (CAiSE'97), Barcelona, Spain. June 1997.

OMX/FS: An Extended File System Architecture based on a Generic Object Model, G. Rivera and M. C. Norrie. Joint Modular Languages Conference (JMLC 2000), Zürich, Switzerland. September 2000.

Dynamic Memory Management with Garbage Collection for Embedded Applications, R. Brega and G. Rivera. First Workshop on Industrial Experiences with Systems Software (WIESS 2000), San Diego, California. October 2000.

Light-Weight Distributed Computing for Embedded Systems - First-Hand Experiences with the Simple Object Access Protocol on Mobile Robots, G. Rivera and R. Brega. The 4th European Workshop on Advanced Mobile Robots (EUROBOT'01), Lund, Sweden, September 2001.

From File Pathnames To File Objects: An Approach to extending File System Functionality integrating Object-Oriented Database System Concepts, G. Rivera, Dissertation ETH No. 14377, Zürich, Switzerland. September 2001.

A Database Approach to Global Document Spaces: Replacing Files with Shared Connected Objects, G. Rivera and M. C. Norrie. Conference on Cooperative Information Systems (COOPIS 2002), Irvine, California. October 2002.

Project InfoSpace: From Information Managing To Information Representation, P. Ravasio, L. Vukelja, G. Rivera and M. C. Norrie. International Conference on Human-Computer Interaction (INTERACT 2003), Zürich, Switzerland. September 2003.

Technical Reports

Bridging the Gap Between Tables and Objects: LOPersistency – A High-Level Persistent Objects Manager based on C++ and RDBs, R. Morelli, R. Brega and G. Rivera. LogObject AG Technical Report, Zürich, Switzerland. August 2002.

Workshops

IDEOMS, G. Rivera and M. C. Norrie. Workshop at Databases: Theory and Application (DBTA'98), Zürich, Switzerland. March 1998.

OMX-FS: Supporting Global Document Spaces, G. Rivera and M. C. Norrie. Workshop on Pervasive Computing (The Next Generation Computing Environment) at Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2000), Minneapolis, Minnesota, October 2000.

Invited Talks

From Files to Documents: Integrating Database Concepts. Host: Prof. Dr. Michael Franz, at University of California, Irvine, 26 October 2000.

Workshops Organisation

I was one of the organisers of the CAiSE'99 Doctoral Consortium workshop held during the first two days (14-15 June 1999) of the CAiSE'99 Conference in Heidelberg.

The idea of this workshop is to give PhD students the opportunity to present and to discuss their research works with distinguished professors in the field of information systems giving constructive remarks and feedback to their work.


Copyright © 2003-2012 by Gabrio Rivera. All rights reserved.
Last update: 12 January 2012