5 CASE Tool

Freja [4] is the CASE tool of the Mjølner System supporting system development with the Unified Modeling Language [UML1.1] and with BETA as the implementation language. Together with Sif (the structure editor), Freja supports a smooth transition from design diagrams to implementation code and vice versa.

Figure 5: Class diagram editor

[13kb 714x329 GIF]

The CASE tool offers:

Diagram editing
Design diagrams (class diagrams) can be created and modified.
Automatic code generation
Code skeletons are generated automatically from the design diagrams.
Reverse engineering
Design diagrams can be automatically created from the program code.
Simultaneous editing of design descriptions and program code
The design descriptions and the corresponding program code can be viewed and edited simultaneously, i.e. modifications in the design diagrams are reflected immediately in the program code and vice versa. In other words Freja supports incremental code generation and incremental reverse engineering.
Round trip engineering
If for example attributes, operations or entire classes are added or deleted outside the context of the CASE tool, the diagram will be automatically updated - with as little disturbance to the existing layout as possible - next time it is opened in the CASE tool.

Freja and Sif are tightly integrated in two ways.

Firstly Freja and Sif share one common representation of the program being developed. The structure editing technique gives a convenient representation, namely an abstract syntax tree (AST). The AST is presented (prettyprinted) textually in Sif and graphically in Freja.

Secondly, they communicate about changes in focus or modifications of the AST. Sif manipulates the AST through the textual representation and Freja manipulates the AST through the graphical representation. Whenever one of the editors modifies the AST, the other editor is notified and the other representation can be updated accordingly. Since the graphical UML syntax only reflects the overall structure of BETA programs, many modifications in the textual representation may not affect the graphical representation. Conversely, almost every modification of the design diagram, except changing the layout of the diagrams, implies that the textual representation must be updated.

Both representations need not be visible at the same time. In the start of the development process the user might prefer only to see the diagrams, whereas the textual representation becomes more important later on. Since the diagrams and the program are prettyprints of the AST, they can always be reproduced.

[Tutorial] [Reference Manual]


[4] Freja is the goddess of love


Mjolner Integrated Development Tool - Overview
© 1991-2004 Mjølner Informatics
[Modified: Friday October 27th 2000 at 14:56]