Modern operating systems are evolving towards component based structure: Components are the new base unit managed by the OS and programs make use of available components. Despite this paradigm shift from monolithic programs to smaller units of code, the user interface - both graphical and console - is still command based.

ObjShell is an innovative shell that goes beyond the traditional command based shells: it makes possible to create and manage components directly rather than invoking programs that make use of them. The shell supports the personalization of syntax, by defining simple .NET classes, to change his behavior for different classes of components. In this way it is possible to avoid the general purpose dot-notation and provide more intuitive and appropriate syntaxes. Moreover it is possible to generate scripts that are compiled in MSIL so that there is no need for any kind of interpreter for their execution.

ObjShell can be used for component testing, scripts development; system administration and teaching of object oriented programming. Two versions of the shell are available: a COM and a .NET version (see Resources section for information about download).

Dipartimento di Informatica, Pisa, Italy