Up Previous Next Title Page Index Contents

1.2 MetaEdit+ — a brief introduction

If you already have some experience with CASE tools, the fastest way to introduce you to the MetaEdit+ environment is to explain how it differs from other CASE tools. In the following we explain the key features of MetaEdit+ that are often not found in other CASE tools:
multiple projects
multiple methods
multiple users
multiple tools
multiple platforms
customisability of the environment

1.2.1 Multi-project

In MetaEdit+ you can work in multiple projects, each of which can consist of hundreds of models. You can work in several parallel projects at the same time, and you can reuse and share data between these projects. Projects can be based on the same or different methods, and users can be assigned access to some projects and denied access to others.

A repository is composed of areas, corresponding to projects: a group of models and their contents that are used together. In the standard repository (named ‘db’ in the installation package), there is a set of predefined projects each consisting of one of the methods listed in Table 1-1. Furthermore, in the ‘demo’ repository there are also example projects, like ‘Tutorial’, that include no methods themselves, just models based on some methods in other projects (in MetaEdit+ these models are called graphs).

1.2.2 Multi-method

MetaEdit+ supports a wide variety of information system development methods. Every version of MetaEdit+ already includes a large set of predefined methods. The table on the following pages summarises these methods. Basically, the predefined methods include support for four different modelling areas. These are business modelling, planning and management of system architectures, structured methods, and object-oriented methods.

As can be seen from the table, the predefined method support in MetaEdit+ is extensive. One of the most powerful features of MetaEdit+ is that you can use them all, even at the same time. Multi-method features allow you to link and reuse data across different methods, maintaining a flow of information between them. These features are explained in Section 5.3.

MetaEdit+ can offer such flexible method support because it is based on metamodels. A metamodel is a model of a design method. By specifying a metamodel of a method into MetaEdit+, you promptly get a CASE tool to support that method. You can view all existing (and new) metamodels by using the method development tools. The metamodel-based architecture also makes it very easy to modify existing methods in MetaEdit+. The standard version of MetaEdit+ includes the ability to make modifications to method symbols, dialogs and reports: for more extensive modifications or to add new methods you need MetaEdit+ Method Workbench; alternatively MetaCase Consulting may undertake such modifications or additions as consultancy work.


Method
Techniques
Value chains and value systems
(Porter)
Value Process Model
Critical Success Factors
Activity Analysis
(Goldkuhl)
Activity Model
Goal List
Problem List
Business Systems Planning
(IBM)
Process/Organization Matrix
Process/System Matrix
Process/Entity Matrix
System/Entity Matrix
System/Organization Matrix
Problem Table
Object Modelling Technique
(Rumbaugh et al.)
Class Diagram
Data Flow Diagram
State Diagram
Use-Case Model
Object-Oriented Design
(Booch)
Class Diagram
State Transition Diagram
Object Diagram
Module Diagram
Process Diagram
Object-Oriented Analysis and Design
(Coad/Yourdon)
Object Diagram
Object State Diagram
Service Chart
OODLE
(Shlaer/Mellor)
Information Model
State Model
Action Data Flow Diagram
Object Access Model
Method
Techniques
Fusion
(Coleman et al.)
Object Model
Operation Model
Object-Interaction Graph
Visibility Graph
Inheritance Graph
Moses
(Henderson-Sellers)
O/C Model
Event Model
Inheritance Model
Object-Oriented Systems Analysis
(Embley et al.)
Object-Relationship Model
Object-Behavior Model
Object-Interaction Diagram
Structured Analysis and Design
(Yourdon)
Data Flow Diagram
Entity Relationship Diagram
Structure Chart
State Transition Diagram
Real-Time SA/SD
(Ward-Mellor)
RT Data Flow Diagram
Entity Relationship Diagram
Structure Chart
State Transition Diagram
Unified Modeling Language
(Booch et al.)
Class Diagram
Use Case Diagram
Activity Diagram
Collaboration Diagram
State Diagram
Object Diagram
Component Diagram
Deployment Diagram
Operation Specification

1.2.3 Multi-user: the Object Repository

MetaEdit+ is a CASE 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 1-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 in the same computer as the client part of the environment.

The repository contains all the information about the methods and models available, including all their elements and properties. Hence, modification of system designs (or even methods) in one tool or MetaEdit+ client is reflected everywhere it appears, guaranteeing consistent and up to date information. Similarly, reporting and code generation are based directly on information stored in the repository.

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 user’s operations.

Figure 1-1. Architecture of MetaEdit+.

Each client of MetaEdit+ offers an integrated set of tools. A tool is a type of window with associated functionality. These tools are:
Launcher,
Diagram Editor,
Matrix Editor,
Table Editor,
Browsers,
Info Tool,
Component Selection Tool,
Report Browser,
Method development tools.

The tools, except for the method development tools, are discussed in more detail in Chapters 2, 3 and 4. Basically, each tool offers a specific functionality, whilst still following some general principles common to all tools of MetaEdit+.

Please note that the method development tools and their use are described in a separate manual: ‘MetaEdit+ Method Workbench User’s Guide’. Similarly, extra tools for the MetaEdit+ system administrator are described in the ‘MetaEdit+ System Administrator’s Guide’.

1.2.4 Multi-tool

In MetaEdit+ you can choose what kind of tools you want to use. You can view the same data as a graphical diagram, as a matrix, or as a table, changing the view according to your needs.

Figure 1-2 illustrates this multi-tool feature. It shows the three editors of MetaEdit+ (Diagram Editor, Matrix Editor and Table Editor) with each tool containing the same graph. Thus, the Diagram Editor shows a graphical specification of a Data Flow Diagram of a ‘Sales system’, and the Matrix Editor provides a matrix view on the same graph. Further, the same graph is also represented in a Table Editor showing all the processes of the ‘Sales system’.

All the tools are integrated through the Object Repository, which maintains and enforces the consistency between the tools. Suppose that you want to change a name of the process ‘Verify orders’ at the Data Flow Diagram in Diagram Editor. When you accept the change of the name, other tools react to the change and show the modifications accordingly.

Similarly, all the editors have common user interfaces and functionality, and only those parts that differ because of the nature of the tool (i.e. diagram, matrix, table) are different. This eases the learning and use of different tools in MetaEdit+.


Figure 1-2. Three editors of MetaEdit+.


1.2.5 Multi-platform

MetaEdit+ is designed to be platform independent and thus follows the principles of open systems to work on all major platforms. Full platform independence is supported for both the environment and the data. Currently MetaEdit+ is available on the following platforms:


Platform
Hardware
Operating system
Windows
Pentium
Windows 95 or later
Windows NT
Pentium
Windows NT 4.0 or later
Linux
486, Pentium
Red Hat Linux 5.2 or later
Solaris
Sun SPARC workstation
Solaris 2.5 or later
HP-UX
HP 9000 Series 700 workstation
HP-UX 10.02 or later

Customisability

MetaEdit+ is a metaCASE tool. That is, it is a CASE tool that can be extensively modified — customised — to be used with different development methods, their concepts, languages, graphical representations, operations, connections to other methods, reports and code generation. All these features are available in the Method Workbench version of MetaEdit+; many are also available in the standard CASE version. In both cases, you must belong to the group of those assigned the right to metamodel, specified by your system administrator.

MetaEdit+ can be customised in the following ways:
Available methods

 If none of the methods currently supported in MetaEdit+ is suitable for you, you have all the capabilities to develop your own methods and CASE tool support for them. MetaEdit+’s configuration capabilities allow you to define modelling languages, operations and connections to other methods. To modify existing methods or add new ones you need to have the Method Workbench version of MetaEdit+; with the CASE version the system administrator can remove methods, but nobody can modify or add them.
Graphical representations

 As different dialects of methods use different notations and symbols, MetaEdit+ allows you to change and modify graphical representations, whether methods use graphs that are diagrams, matrices, or tables. Users with metamodelling rights can design and modify graphical representations with the Symbol Editor; existing representations can be modified with the CASE version of MetaEdit+.
Dialogs

 You can modify the contents and appearance of property dialogs used when MetaEdit+ is used as a CASE tool. As with graphical representations, users with metamodelling rights can modify dialogs with the CASE version of MetaEdit+.
Report customisation

 Report customisation and the use of user-defined reports is possible with MetaEdit+ Report Browser. With this tool you can choose which parts of your design data you want to have written out, in which format and to which destination (file or output window). You can save these report definitions, and run them on your design models to produce output in the format you specified. Reports can be customised with the CASE version of MetaEdit+ and any user can execute created or modified reports, but you can only save them to the repository if you have metamodelling rights.

Up Previous Next Title Page Index Contents