The efforts to build method independence into CASE shells are proving successful, insofar as they allow independence from a particular method's graphical symbols, conceptual data, and rules for creating models. This should be extended still further to include full representational independence, so that the user can choose among several basic representational paradigms. Such an approach seems best served by having a multi-tool CASE shell, with each tool able to display the conceptual information in a given paradigm -- including graphical diagram, matrix, free-form text, form-based text and hypertext -- and where new tools can be added. Only by doing this can the methods be specified from a computer engineering viewpoint. Moreover, only representational independence allows us to improve the intelligence provided for designers to use different representational paradigms to support different intellectual activities on the same model.
MetaEdit+ is a multi-user, multi-tool, meta-CASE environment under development in the MetaPHOR project. It is based on the earlier MetaEdit, which used the four concepts of the OPRR model (described later) to model methods, and also as the underlying data model for the design diagrams themselves. For MetaEdit+, the OPRR model has been extended to GOPRR, by the concept of Graph, corresponding to a single diagram in other CASE tools, and by allowing objects to have a recursive structure. This conceptual model forms the basis on which varied representations of data, including not only the usual graphical diagrams but also hypertext, text and matrices, are built. This allows the application to support a wider range of existing methodologies, and also allows customisation closer to the in-house methodology of any given organisation. Moreover, it improves the representational independence of the method support.
Together, these features provide a substantial improvement to the support offered by metaCASE tools for design, and in particular for the process of designing IS functionality.
At any one time, an organisation has several simultaneous ISD projects. Because each project may have its own specific features, the projects usually need individually-tailored methodologies and tools to support these. Yet, individual users of tools may participate in several development projects. Moreover, each project, in principle, uses only one specific methodology. These are the basic assumptions behind the development of the functionality of MetaEdit+.
MetaEdit+ can run either as a single-user workstation environment, or simultaneously on many workstation clients connected by a network to a server. Each client has a running instance of MetaEdit+, including all its tools and the MetaEngine, which takes care of all issues involved in communicating with the server. At the server is a repository holding all the data contained in models, and also metamodel, user and locking information.
Various tools communicate with each other through the MetaEngine, and through the shared data in the repository. These tools are: