This project intends to build an environment to support the EROOS object-oriented approach for software development.
One of the major characteristics of the EROOS environment is that it fully supports the gradual accumulation of knowledge about a system, with the strategy what one knows first about a system, must be described first. For many applications this strategy is more natural than strategies such as top-down, bottom-up or any combination of both. The strategy of the environment also enables the designer to learn about the system he is modeling, while specifying.
The environment will be built around a coherent set of object-oriented specifications in terms of classes and relations. Bearing in mind a number of fundamental software engineering criteria, the environment will enable the software engineer to specialize/generalize existing classes and relations as a support for reusability, to extend/restrict existing classes and relations as a support for extendibility, and to compose/decompose existing classes and relations as a support for multi-level design (modularity).
The first version of the prototype EROOS environment has a limited functionality.
It is only possible for one user to specify one EROOS model for one project. The user, however, is able to define several viewpoints on that model, or in other words, to hide parts of a model.
By restricting ourselves to one model in this first prototype, we postpone the handling of all problems w.r.t. the management of the collection of classes, relations, etc., used in models for different software projects.
Later versions of the environment will provide access by multiple users, the construction of multiple models, the definition of multiple versions of (parts of) an EROOS model, and the re-use of (parts of) specifications in other projects.
Dirk Craeynest