Show in Frame No Frame
Up Previous Next Title Page Index Contents Search

2.2.3 Multi-user: the Object Repository

MetaEdit+ is an environment that can run either as a single-user workstation environment, or simultaneously on many workstation clients connected by a network to a server. The basic architecture of the environment is illustrated in Figure 2–1.

The heart of the MetaEdit+ environment is the Object Repository. In the multi-user version this is located on a server; in the single user version it is on the same computer as the client part of the environment.

The repository contains all the information about the modeling languages and models available, including all their elements and properties. Hence, modification of system designs (or even modeling languages) in one tool or MetaEdit+ client is reflected everywhere it appears, guaranteeing consistent and up to date information. Similarly, code and document generation are based directly on information stored in the repository. For more detailed description about how the repository is organized and how it handles concurrency, please see Section 6.1.

In the multi-user environment, when one client commits his changes those changes are available to all other clients: the other clients will read the changes the next time they start a transaction. Thus very close co-operation is possible between users working on related data. Simultaneous changes by different users to the same data are prevented by locks; these however allow a high permeability of access, in other words only directly dangerous simultaneous modifications are forbidden — you can work without continually being told that you cannot access some data because another user is using it. Reading data is always allowed, regardless of other users’ operations.

MetaEdit Architecture

Figure 2–1. Architecture of MetaEdit+.

Each MetaEdit+ client offers an integrated set of tools:
*Launcher,
*Diagram Editor,
*Matrix Editor,
*Table Editor,
*Browsers,
*Info Tool,
*Component Selection Tool,
*Generator Editor and Debugger,
*Language development tools,
*API and XML import/export.
The tools, except for the Generator Editor and Debugger and language development tools, are discussed in more detail in Chapters 3, 4 and 5. Whilst each tool offers a specific functionality, they all still follow some general principles common to all tools of MetaEdit+.

Please note that the modeling language development tools and their use as well as the advanced topics of API and XML import/export are described in a separate manual, ‘MetaEdit+ Workbench User’s Guide’. Similarly, extra tools for the MetaEdit+ system administrator are described in the ‘MetaEdit+ System Administrator’s Guide’.

Show in Frame No Frame
Up Previous Next Title Page Index Contents Search