|
MetaBoss Beginner's Guide
Using Poseidon for UML to model the system
Before we begin
Poseidon for UML is one of many UML modelling tools available today. We have chosen it for
our example mainly because its Community Edition is free and because it supports XMI interchange
(Please note that we have used Poseidon for UML Community Edition Version 2.2.1). Our use of
Poseidon in this example should not be taken as our endorsement of this tool. In addition
please note that we do not intend for this chapter to be Poseidon User Guide, so
we will keep it short and expect that you already know UML modelling and / or Poseidon.
MetaBoss models can be expressed in UML with use of UML Profile. UML Profile is a specification
describing set of allowed Stereotypes and Tagged Values. Stereotypes and Tagged Values are attached
to generic UML model elements such as packages and classes in order to precisely describe
their meaning.
One notable difference between modelling with MetaBoss Design Studio or with Poseidon
is the level of detail designer has to key into the tool. Generic UML tool does not have
specific productivity enchancing features such as automatic model validation and model autocompletion.
This means that every detail of the design has to be manually entered. It also means that
the earliest time when model constraint errors will be discovered is during the code generation and that
means that the designer may have to go back to model and fix errors.
Step by step guide
-
Create the directory where all our work will be located.
We use ${metaboss_home}/examples/AlmaMater, where the expression '${metaboss_home}' is a placeholder for the
path to the MetaBoss installation directory (eg. c:/MetaBoss_1.0)
Download the latest UML Profile for MetaBoss in XMI from Design Model UML Profile
reference page (the download link is at the bottom of the page) and save it somewhere in temporary directory.
Note that the profile is just an XMI file. The page you have downloaded the profile from
also contains the reference documentation of the MetaBoss UML Profile. You should familiarise yourself with
this reference before continuing.
Start Poseidon for UML and open the UML Profile file you have downloaded in the previous step.
To do that use 'File->Open Project' menu command, select file type 'XML Metadata Interchange (*.xmi)',
navigate to the directory where downloaded profile is and open it.
Use 'File->Save Project As' command from the Poseidon main menu and save project in the ${metaboss_home}/examples/AlmaMater/Model/Poseidon
directory. The project file name is 'AlmaMater' and the file type is 'Poseidon 2.x (*.zuml)'.
We have now created an empty Poseidon project with MetaBoss UML Profile in it. After this is done, your screen should look something like this:
Let's have a look at what is in this empty project. There is one package called 'MetaBoss UML Profile' and
it has Stereotype 'profile'. This is the standard UML way to introduce custom
profiles into the model. If you look at the contents of this package you will discover
that it contains definitions for all MetaBoss Stereotypes and each Stereotype
definition in turn contains associated Tag definitions.
Create topmost package (ie. under the 'MetaBoss Enterprise Model'). This package represents the
enterprise. The package name is 'AlmaMater' and the package stereotype is 'MetaBoss UML Profile.metaboss.enterprise'.
Create package which represents the CRS system inside the AlmaMater package.
The package name is 'CRS' and the package stereotype is 'MetaBoss UML Profile.metaboss.system'.
Create package which represents the Design Library inside the AlmaMater package.
The package name is 'DesignLibrary' and the package stereotype is 'MetaBoss UML Profile.metaboss.design library'.
Create package which represents the Data Dictionary inside the Design Library package.
The package name is 'Design Library' and the package stereotype is 'MetaBoss UML Profile.metaboss.data dictionary'.
After this is done, your screen should look something like this:
Notice how package stereotype is displayed in the dedicated widow at the bottom.
In theory, you will now have to keep going and to model all data types, type templates, entities, structures, messages
and services used in the CRS system of the AlmaMater enterprise. Data Types are represented using dedicated UML construct 'DataType'.
Most of other model elements are represented using generic UML contructs, such as 'Class' or 'Package'
marked with the dedicated stereotype (eg. 'MetaBoss UML Profile.metaboss.entity' for the domain entity).
However, we have hit a few roadblocks along the way and do not think that you will be able to succeed with the version of Poseidon we were using (Ver 2.2.1CE).
The showstopper problems we have discovered are:
- Inability to create and maintain UML DataTypes
- Inability to create and maintain UML Binding relationship, which is required for modelling the relationship between
the Data Type and Type Template
We will complete this chapter when we will find a suitable UML tool to use in this example.
For now, you may be luckier with latter version of Poseidon or if you are using some other UML tool.
This area is under construction
|
Copyright © 2000-2005 Softaris Pty.Ltd. All Rights Reserved. MetaBoss is the registered trademark of Softaris Pty.Ltd. Java, Enterprise JavaBeans, JDBC, JNDI, JTA, JTS, JCA and other Java related APIs are trademarks or registered trademarks of Sun Microsystems, Inc. MDA, UML, MOF, CORBA and IIOP are trademarks or registered trademarks of the Object Management Group. Microsoft, .NET and C# are trademarks or registered trademarks of the Microsoft Corporation. All other product names mentioned herein are trademarks of their respective owners.
|
|