The overall goal of PROTEUS is to provide methods and tools to support the development and maintenance of evolutive systems. Results will be made available on the European software tool market. A conceptual configuration approach is being taken. Applications are composed of basic components, where components are the conceptual entities by which the applications are modelled and from which they are generated.
The users represented in the PROTEUS project are members of four industrial partners working in the following domains: Cap Sesa Telecom (CST), telecommunication; Matra Marconi Space (MMS), space; Stentofon, networks; Garox: communication control.
The following needs for system description and system building have been identified:
- Capabilities for system description
Description of requirements and their evolving features (domain models); relationship between a family of applications and specific system design; description of evolving features of system designs (HOOD, SDL, MD); non-functional requirements impact on design (performance); design justification description and handling; traceability links between requirements, design, code, test; documentation description (high-level documents).
- Capabilities for system building
Flexible generation of partial design, code and skeletons; selection of skeleton files for multiple targets; control of code generator performances; makefiles and installation procedures builders; generation and management of test suites; test reporting and error management; control of component versions and their configurations; documentation handling (storage and generation).
Four types of software tools are being developed:
- Design support
Three design methods (SDL, HOOD, Modular Design) and their associated tool sets will be enhanced by extending the methods to support object-oriented development. The method toolsets will evolve to support these object-oriented extensions and will enhance their capabilities through integration with other Proteus tools. In particular, we will add support for variability to the design methods and associated tools by using PCL to describe families of designs and will allow access to these family descriptions through the PCL toolset.
- Configuration support
We are developing a language, called PCL, to describe integrated software/hardware configurations plus a set of tools for configuration editing and browsing, system building and software installation. In PCL, logical system entities are related to their physical descriptions as source code, documentations, etc. An important characteristic of PCL is that it supports the description of system version sets or families. Specific system versions are simply described by specifying a family description and the attributes which distinguish a particular version. The PCL toolset will allow these families to be created, edited and browsed through a graphical editing system. When a specific version has been identified, it will be possible to build that version automatically from its source components.
- Process support
We will provide an information system (the PPIS) and a process modelling and enactment system (Process Weaver). The PPIS is a generalised information system which allows access to product and process descriptions (in any notation) through a graphical interface. Their information can be annotated with other information derived during the evolution process. Within Proteus, it will be used to implement a model of Design Rationale and will provide traceability support. Process Weaver is an existing software product to support cooperative software development. We will investigate how it can be used to support the evolution process.
- Run-time support
We will enhance existing tools for distributed system monitoring and testing. One tool will support the monitoring of distributed systems communicating using a message server. The other tool will offer run-time support for the SDI, method and will allow object-oriented SDL designs to be tested on a host platform before delivery to a target system. All tools developed in the Proteus project will be integrated through a message server which will allow any one tool to initiate another tool.