Applicable with Version 2.5 Oct 2010
Help Version 2.5.123

Contents   Introduction   Concepts   User Help   Modeler Help   Browser Help
Administrator Help   Developer Help    Utility Help   Visio   Graphical Modeler

 

InspiredBg

Model Mapping

Model Types

Model Types define the kinds of models that GM will work with (they are also used in EVA Netmodeler to hold definitions of models that will be used in other tools, e.g. VisioTM via the Archi Requestor interface feature). A model type definition creates a mapping between the concepts in EVA Netmodeler (Types and relationship types) and the visual representation that we want for these in a graphical model. The model type definition is held as XML on an item of Model Type in the repository. The XML has tags dealing with each type in the model and the appropriate symbols to use to represent it in the graphical model. Relationship types are also mapped to visual line types. Items may be represented in GM either by their EVA Netmodeler icons (defined in the meta model via the type browser) or can be represented by vector shapes (defined as scripts in items of type Archi Symbol Definition). The model type mapping simply names the symbol desired. Users can extend the symbol library without restriction. An example model type definition follows:

<MODELTYPE>UML Use Case

            <NODEMAPPING>

                        <ARCHITYPE>UML Actor</ARCHITYPE>

                        <VISUALTYPE>UML            Actor</VISUALTYPE>

            </NODEMAPPING>

            <NODEMAPPING>

                        <ARCHITYPE>UML Activity</ARCHITYPE>

                        <VISUALTYPE>UML    Activity</VISUALTYPE>

            </NODEMAPPING>

            <NODEMAPPING>

                        <ARCHITYPE>UML Boundary</ARCHITYPE>

                        <VISUALTYPE>BOX</VISUALTYPE>

            </NODEMAPPING>

            <NODEMAPPING>

                        <ARCHITYPE>UML Note</ARCHITYPE>

                        <VISUALTYPE>ICON</VISUALTYPE>

            </NODEMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>sends       input     to</ARCHIRELTYPE>

                        <VISUALTYPE></VISUALTYPE>

                        <FROMARCHINODETYPE>UML Actor</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Activity</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>receives output    from</ARCHIRELTYPE>

                        <VISUALTYPE></VISUALTYPE>

                        <FROMARCHINODETYPE>UML Actor</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Activity</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>receives input from</ARCHIRELTYPE>

                        <VISUALTYPE></VISUALTYPE>

                        <FROMARCHINODETYPE>UML Activity</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Actor</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>sends       output to</ARCHIRELTYPE>

                        <VISUALTYPE></VISUALTYPE>

                        <FROMARCHINODETYPE>UML Activity</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Actor</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>included in</ARCHIRELTYPE>

                        <VISUALTYPE>FULLYCONTAINED</VISUALTYPE>

                        <FROMARCHINODETYPE>UML Activity</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Boundary</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>includes</ARCHIRELTYPE>

                        <VISUALTYPE>FULLYCONTAINED</VISUALTYPE>

                        <FROMARCHINODETYPE>UML Boundary</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Activity</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>includes</ARCHIRELTYPE>

                        <VISUALTYPE>FULLYCONTAINED</VISUALTYPE>

                        <FROMARCHINODETYPE>UML Boundary</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Note</TOARCHINODETYPE>

            </RELMAPPING>

            <RELMAPPING>

                        <ARCHIRELTYPE>included in</ARCHIRELTYPE>

                        <VISUALTYPE>FULLYCONTAINED</VISUALTYPE>

                        <FROMARCHINODETYPE>UML Note</FROMARCHINODETYPE>

                        <TOARCHINODETYPE>UML Boundary</TOARCHINODETYPE>

            </RELMAPPING>

</MODELTYPE>
 

Model type definitions can be done manually in XML if desired, but it is far easier to create them automatically via the model type definition features of GM.

up 

Symbol Definition

Recall that vector shapes for drawing symbols in the model are defined in XML scripts and stored as instances of Archi Symbol on the server. An example of a definition follows:

<SYMBOLDEFINITION> UML Class

            <CANVAS>

                        <WIDTH>1</WIDTH>

                        <HEIGHT>1</HEIGHT>

                        <BACKCOLOR>EEEEEE</BACKCOLOR>

                        <BACKALPHA>0.5</BACKALPHA>

                        <BORDERCOLOR>000000</BORDERCOLOR>

                        <BORDERWIDTH>0</BORDERWIDTH>

                        <BORDERALPHA>0.0</BORDERALPHA>

            </CANVAS>

            <ANNOTATION>

                        <ANNOTATIONNAME>NAME</ANNOTATIONNAME>

                        <ANNOTATIONTYPE>ITEMNAME</ANNOTATIONTYPE>

                        <POS>LEFT@(TOP)</POS>

                        <HEIGHT>0.12</HEIGHT>

                        <WIDTH>WIDTH</WIDTH>

                        <BACKCOLOR>FFFFFF</BACKCOLOR>

                        <BACKALPHA>0.5</BACKALPHA>

                        <BORDERCOLOR>000000</BORDERCOLOR>

                        <BORDERWIDTH>1</BORDERWIDTH>

                        <BORDERALPHA>1</BORDERALPHA>

            </ANNOTATION>

            <PENDEFINITION>

                        <PENNAME>THINBLACKLINE</PENNAME>

                        <PENTYPE>LINE</PENTYPE>

                        <PENCOLOR>000000</PENCOLOR>

                        <PENWEIGHT>1</PENWEIGHT>

                        <PENALPHA>1.0</PENALPHA>

            </PENDEFINITION>

            <USEPEN>THINBLACKLINE</USEPEN>

            <PENSTATE>UP</PENSTATE>

            <PENMOVETO>LEFT@TOP</PENMOVETO>

            <PENSTATE>DOWN</PENSTATE>

            <PENMOVEREL>WIDTH@0</PENMOVEREL>

            <PENMOVETO>RIGHT@BOTTOM</PENMOVETO>

            <PENMOVEREL>-1 * WIDTH@0</PENMOVEREL>

            <PENMOVETO>LEFT@TOP</PENMOVETO>

            <PENSTATE>UP</PENSTATE>

            <PENMOVETO>LEFT@TOP %2B (HEIGHT // 2)</PENMOVETO>

            <PENSTATE>DOWN</PENSTATE>

            <PENMOVEREL>WIDTH@0</PENMOVEREL>

</SYMBOLDEFINITION>

When a model type is selected in GM, the tool retrieves the model type definition from EVA Netmodeler, retrieves the icons/symbols necessary to represent the relevant types, build an icon strip with the icons/symbols and retrieve the list of models available of the selected type. Vector shape definitions are compiled on the client side to facilitate performance when they are rendered in the model space.

up 

Models

A model in EVA Netmodeler/GM is a set of related items in the repository that the user wishes to treat/see as a model. The model is a "container" for the various items which comprise it. When a model is selected in GM, the tool retrieves from EVA Netmodeler the details of the items making up the model and the relevant relationships, then draws them in the model space. Once the model appears, you can begin interacting with it to perform further modeling.

up