The development of application software is currently a labour- and cost-intensive task, especially for distributed applications. The overall objective of COMANDOS has been to help facilitate the construction of large-scale, multivendor, distributed open systems by providing an integrated applications support environment for programming and using distributed applications that can manipulate long-lived data. The COMANDOS project was targeted at loosely coupled distributed systems of workstations, servers and processor pools, using internets based primarily on LANs.
This result describes the security functions supported by the COMANDOS kernels. These functions are grouped in sets, and each of them is identified through an index, the security level. The security level is a number that reflects the set of security services to be used on a COMANDOS system, and the quality of service to be provided by each of them on each invocation. This work states the security services selectable by a COMANDOS security administrator, and its logical combinations to be supported by the system in the project framework. The specific procedures to be used for each security service, at each level, are installation dependent, and must be agreed over the whole domain.
The Comandos project is designing and implementing a platform to support distributed persistent applications. The platform supports the object oriented style of programming. An essential requirement of the Comandos platform is that it must support applications written in a variety of existing, as well as new (object oriented), programming languages. Moreover, the platform must support interworking between different languages. Each language may naturally have its own object model and execution structures implemented by a language specific runtime system. Comandos provides a generic runtime system on top of which individual language's specific runtimes may be implemented in order to exploit the distribution and persistence support provided by the Comandos platform rather than forcing each language to adopt a common object model and execution structures. In this paper we show how a language specific runtime for an existing language such as C++ can be constructed above the Comandos generic runtime.
The overall objective of the project is to help facilitate the construction of large scale, multivendor, distributed open systems by providing an integrated applications support environment for programming and using distributed applications that can manipulate long lived data. The project is targeted at loosely coupled distributed systems of workstations, servers and processor pools, using internets based primarily on local area networks (LAN).
To construct such a platform requires the integration of 3 key aspects: operating systems, data management and programming languages. An object oriented approach for the operating system support has been adopted, which can be exploited by data management systems and integrated with programming language environments. Intrinsic components of the platform are administrative tools to manage the operation of an installed system, and user interface generation tools to aid the development of interactive applications.
This project builds on a previous project which was mainly dedicated to the exploratory prototyping of the platform. A number of significant achievements were demonstrated in project 834 (COMANDOS-1), and based on these results a further consolidation and integration phase has allowed the development of an integrated prototype of the platform (Release-1). A full preindustrial prototype of the platform (Release-2) has been provided. In parallel, Release-1 is being used as an experimental basis for the construction of extended facilities (mainly a distributed directory service and online management facilities) and for the development of a real world application in the office area. Consolidation and enhancement of the preindustrial prototype will be carried out, including the integration of various facilities already developed on top of Release-1.
The Cidre office system is an enhanced groupware application based on structured documents, which can be used within or between corelated companies to support cooperative work.
The Cidre administrator defines and registers office procedures by specifying models of documents, folders and the associated circulation schemes. Each user can initialize an office procedure, which involves a given circulation scheme. The documents are automatically circulated, following the scheme and taking into account the presence of absence of users involved in the circulation, with delegation facilities. Users may inquire about the state of a given folder from the system. Additional services are provided, such as:
opening a talk session between several users to negotiate about a particular folder;
searching for information about the company organization.
The use of the underlying Comandos distributed platform allows Cidre to combine advantages of both a networked workstation approach and a centralized approach:
each workstation can operate autonomously on its own data;
alternatively the integrated approach allows each user to have a global view of the distributed office system.
Cidre was designed using the Comandos object oriented model. It was implemented on a Unix based version of the platform using the Comandos object oriented language. In addition Cidre uses further facilities of the Comandos platform, such as persistency, object migration, and ability to reuse Unix applications and other Comandos applications.
To construct such a platform requires the integration of three key aspects: operating systems, data management and programming languages. An object-oriented approach for the operating system support has been adopted, which can be exploited by data management systems and integrated with programming language environments. Intrinsic components of the platform are administrative tools to manage the operation of an installed system, and user-interface generation tools to aid the development of interactive applications.