Freja is an object-oriented CASE tool supporting system development with
BETA as the implementation language. Together with Sif,
the Source Browser and Editor part of the
Mjølner Tool
([MIA 99-39],
[MIA 99-40],
[MIA 99-34]),
Freja supports
a smooth transition from design diagrams to implementation code and vice
versa. The design notation is a graphical syntax for part of the BETA
programming language. The basic idea is to use the same abstract language
for design as well as implementation. A graphical syntax is used for design
descriptions and the usual textual syntax is used for program code.
Freja is part of the Mjølner tool and can initially be reached
using the Diagrams menu.
Many have wondered about the origins of the strange product names used
for parts of the Mjølner BETA System. Due to the origin of the Mjølner
BETA System, many of the components of the system bear Nordic names. These
Nordic names originate from the Nordic Mythology, and are thus names within
the common cultural background of people in the entire Nordic region. Freja
is the name of the goddess of love. She lives in Folkvang and is the most
beautiful of all women in Asgaard. She owns the golden piece of jewelry
Brisingemen.
There are two important file types when working with Freja: .bet and .diag
files.
The .bet file is well-known to BETA programmers. The .diag file
contains a representation of the diagrams including layout information
and references to the corresponding beta code.
When running Freja there will also exist versions of the files
with extensions "#" and "~". The "#" files are autosave versions that are
used when recovery is called for. Autosave is performed each time the an
operation altering the code is performed. The "~" files are versions corresponding
to how the diagram looked when an explicit save was performed the last
time.
-
Notice:
Freja performs an autosave each time an operation that alters the code
is invoked. To recover after the program has crashed you can do one of
the following:
-
Start the Mjølner tool and use Open Diagram... in the
Diagrams
menu to open the .diag file corresponding to the diagram you were working
on (e.g. foo.diag).
-
Start Mjølner and open the .bet file that corresponds to the diagram
(e.g. foo.bet). If there is an autosave version of this file you will be
prompted wether you want to recover. Answer "yes" to this question. Imediately
after opening and recovering this file choose Show Diagram from
the Diagrams menu. This will bring up a dialog asking you wether
you want to recover the autosaved .diag file. Answer yes to this question.
Explanation of the different file types used in Freja, see
Q03)
What are the important files?
Revert is currently not implemented in Freja, so if you wish to revert
to the situation at the time of the last save it neccesary to manipulte
the files yourself. To do this simply move .ast~ file(s) into the corresponding
.ast file(s), move the .diag~ file into the corresponding .diag file and
move the .bet~ file into the corresponding .bet file.
-
Notice:
-
If the diagram you wish to revert uses more than one .bet file, you
must
move all the involved .bet~ and ast~ files as explained above.
Explanation of the different file types used in Freja, see
Q03)
What are the important files?
If no diagram is available for a piece of BETA code you can create a diagram
using Freja's reverse engineering facilities. To do this open Mj'lner on
the .bet file containing the code. Then choose Show Diagram from
the Diagrams menu. Having opened a diagram on the code, one of two
will appear:
-
If the opened file only contains one fragmentform, the Work Sheet will
appear, showing a diagram containing the attributes visible in the outermost
descriptor of the code.
-
If the opened file contains more than one fragmentform, the Group Page
will appear, showing a diagram with entries for each fragmentform in the
file.
In the first case the detailable attributes can be detailed to the wished
level. If relations like e.g. inheritance connectors and references do
not appear automatically during detail, it means that the program (the
.ast) has not been checked. To do this, select the
Check entry in
Mjølner's Compile/Run menu (No nonterminals must be
present in the code for the checker to be able to semantically check it).
If no semantic errors are detected during checking, all relations will
then automatically appear when checking is finished.
In the second of the above cases, you simply detail one or more of the
fragmentform entries on the Group Page (e.g. by doubleclicking them) and
then proceed as described for the first case.
No, in the current version of Freja closing of diagrams is not implemented.
Several .bet files can be loaded into the same diagram though. If you wish
to load another diagram however, you are forced to quit the application
and start it up again on this other diagram.
Declarations containing lists names, like e.g:
a,b,c: @Integer
(as opposed to: a: @Integer; b: @Integer; c: @Integer)
will currently not be handled well by Freja and may cause serious instability
of the program.
Workaround:
Avoid declarations of the above mentioned type in your problem domain
code and use declarations of the type a: @Integer; b: @Integer; c:
@Integer instead.
If the fragment contains embedded associations and static descriptor SLOTs
(as f.ex. private:@<<SLOT privateSlot:Descriptor>>) Freja
may crash when trying to display association relations.
Workaround:
Avoid static descriptor SLOTs in your problem domain model code.
Mjolner Integrated Development Tool - Reference Manual |
© 1991-2002 Mjølner Informatics |
[Modified: Tuesday October 24th 2000 at 18:16]
|