Introduction to the Sea BASS
The Certificate Based Authorization Simulation
System (CBASS or Sea BASS) is a system consisting of an emulated
CBASS Environment and Applications. The system was built with Java
1.2.2 and Java interface to PROLOG provided in SICStus Prolog 3.8.5
upon the Solaris 5.7 environment. Authorization for the CBASS users
and applications is based on the CBASS certification mechanism,
instead of the Access Control List mechanism provided by traditional
operating system such as Unix. The design allows Legacy applications
to use traditional access control mechanisms.
The Sea BASS system was implemented to be one package, seabass,
which consists of three sub-packages: apps, system, and
cbass. The apps package consists of CBASS-ed applications
including Cat, Clock, and CM, which provide interfaces
to the end user to display directories and files, report the system
time, and control certificates. The system package has CBASS-ed
FS, Machine, and User classes, which are used
to emulate the file management, machine and user of an operating
system. The cbass package consists of common CBASS API
classes, which are used to build CBASS-ed applications and systems.
The cbass package has Cbass, CbassInterface, CBException,
CD, Cert, CI, RemoteCBass, and Request
classes.
Modeling the Sea BASS in UML
We modeled the Sea BASS in UML with the Rational
Rose 2000e, and the XMI
Toolkit 1.1.5 from the IBM alphaWorks through reverse
engineering. As we are not sure how different the two automatically
generated UML models would be, and also how the generated Java
skeletons from the UML models would be different from each other, we
conducted following experiment to try to understand the modeling and
conversion functions in each of the tools through manually comparing
the generated skeleton and the models and checking the information
that might be lost during the transformation from one form to
another.
In the above mapping figure, there are three levels. The top level
is the Sea BASS source code, which is used to generate the second
level of the UML models through reverse engineering. The second
level is further converted to the third Java skeleton level through
forward engineering.
With the Rational Rose 2000e, we modeled the
entire seabass package with UML in a file called SeabassRose.mdl.
Then we generated the Java skeletons from the UML model with the
Rational Rose into the RoseRoseJava
and the XMI Toolkit into the XMIRoseJava.
With XMI Toolkit 1.1.5 from IBM alphaWorks, we
converted the entire seabass package with UML in a file
called SeabassXMI.mdl.
Then we also generate the Java skeletons from the UML model with the
XMI Toolkit into XMIXMIJava
and the Rational Rose into the RoseXMIJava.
Meanwhile unlike Rational Rose,
XMI Toolkit 1.1.5 generate the intermediate XMI expression for each
conversion.
- Textbased JavaXMI representation for the Sea BASS source code,
java.zip
- Textbased JavaXMI representation for the XMIRoseJava skeleton,
java.zip
- Textbased JavaXMI representation for the XMIXMIJava skeleton,
java.zip
- Textbased UMLXMI representation for the SeabassXMI.mdl, uml_old.zip
and uml.zip
- Textbased UMLXMI representation for the SeabassRose.mdl, uml.zip
|