|OpenSoul Metamodeler project|
What is the OpenSoul Metamodeler (OSM)?
Who and what is in the background?
Where can I find more information?
What are the future targets?
|You can download executable binaries from SourceForge or source codes from CVS. Binaries are distributed in two variants.
Installation is easy process now. Unpack the downloaded zip file anywhere you can. If you download incremental package, unpack it and replace previous OSM files.
We assume that you have some Java Runtime Environment (JRE version 1.4 or upper) installed on you machine.
|It is as easy as the installation. If you have properly installed JRE, simple execution of the OSMetamodeler.jar works fine in most of cases. If not, you can use this or similar command:
<java_bin_directory>java -jar <OSM_directory>OSMetamodeler.jar
java -jar OSMetamodeler.jar (if you have java in system path and you are in OSM directory)
What storage place for models
do we use? OSM uses MDR (Meta Data Repository) as storage for all models and metamodels. MDR is the key component of the OSM. MDR is a center point for all other OSM components. It uses JMI standard for accessing the objects stored in the repository.
Why MDR? It is only one open source repository based on MOF, JMI and XMI standards. Secondly, thanks to our lecturer we are in touch with MDR developers. MDR has this main features:
Repository types - you can create three types of repositories. Each type of storage is described bellow:
Export and import - without connection on other CASE tools OSM will be nothing. We always try to apply common known standards to meet this request. OSM uses XMI standard (and UML2MOF tool) for collaboration with other tools. You can export any package contents from repository into the XMI file and import any XMI file into the existing package by analogy.
Manage repositories - Repository can be created/opend by using the buttons on main OSM toolbar or from popup menu after right click on "OS MDR Manager" node in tree view. For mounting the BTree storage you have to type full path to repository file *.btd. If you use JDBC storage you have to specify complete connection string (OSM helps you a little). When repository doesn't exist, OSM tries to create the new one in both cases. You can start, commit and rollback transactions on each repository manually from right click popup menu. MDR Manager allows you to open more than one repository at a time. To close repository use right click popup menu or "Unmount all" button on main toolbar. No support for deleting repository is available now.
|From MOF metamodel to your own CASE tool|
Whole metamodeling and modeling process (in OSM way) is described on picture bellow.
What is the metamodeling?
What is the structure of the OSM repository?
Create new repository
Instantiate metamodel / create new model
Important note for users, who are familiar with MOF. OSMetamodeler can be used as metamodel editor and model editor as well. When you want to design metamodels in MOF, create repository based on MOF metamodel, prepare MOF representation and instantiated models will be prepared for MOF metamodeling. It is possible in respect of the fact that the MOF is self-describing. If you want to model in any of your methods, create new repository, import your metamodel designed in MOF, create representation model and instantiate them.
|Other OSM functions|
|MOF Doc||It is the first implementation of the documentation generator. It is working only for MOF models (in our scope it is a metamodel). The core of the MOF Doc is based on XSLT standard. Nowadays it contains only one XSL template, which is able to transform XMI MOF model.
The "MOF Doc" command is accessible from popup menu in "tree view" in OSM. Right click on extent or package node and select item "Create HTML documentation". Type the target HTML file name and approve it. OSM exports the package content into the XMI file and then calls Saxon parser for creating HTML document. After that OSM copies CSS file into the same directory where target HTML was created. Finally OSM deletes temporary XMI file.
You can also use XSL template (it is located in "../jars/xml") manually for transformation of existing XMI file. Don't forget the XMI file must be MOF model ("model" namespace is expected).
|UML2MOF||This is an extra tool for MDR. We developed only UI for this command line tool. This tool can transform the UML XMI file into the MOF XMI file. This tool is very useful for exchanging models between OSM and other UML CASE tools. Especially for exchanging the metamodels. You can simply create metamodel in some UML CASE tool, export it into UML XMI file and then transform that into the MOF XMI file. MOF XMI file can be imported into the OSM repository. This way we have created some examples in "../models" directory.
This tool is accessible from main menu "Tools -> UML2MOF". Remember that there are a few important points here:
We are sorry for that, but we haven't implemented the error log for this tool yet. Therefore when transformation fails you don't get any useful information. Wait for next versions, please.
|That's all for now ...|