P. 1
Together

Together

|Views: 2|Likes:
Published by Myk Velasquez

More info:

Published by: Myk Velasquez on Oct 29, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/04/2014

pdf

text

original

Borland Together 2008

Borland Together Modeling Guide

Borland Software Corporation 8310 N. Capital of Texas Hwy Bldg 2, Suite 100 Austin, TX 78731 USA www.borland.com Borland Software Corporation may have patents and/or pending patent applications covering subject matter in this document. Please refer to the product CD or the About dialog box for the list of applicable patents. The furnishing of this document does not give you any license to these patents. Copyright � 2007 - 2009 Borland Software Corporation and/or its subsidiaries. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. All other marks are the property of their respective owners. July 2009 PDF

2

Getting Started
Getting Started with Together Together Overview ..................................................................................................................................... Together Documentation Set ..................................................................................................................... Sample Projects and Cheat Sheets ........................................................................................................... Help on Help .............................................................................................................................................. Tour of Together ........................................................................................................................................ 25 27 28 29 30

3

Concepts
Concepts Together Basics ......................................................................................................................................... 38 Together Project Overview ................................................................................................................. 39 Package Overview .............................................................................................................................. 40 Together Diagram Overview ............................................................................................................... 41 Diagram Format .................................................................................................................................. 42 Containment Metamodel ..................................................................................................................... 43 Model Element Overview .................................................................................................................... 44 Model Shortcut Overview .................................................................................................................... 45 Roundtrip Engineering Overview ........................................................................................................ 46 Language Support .............................................................................................................................. 47 Generating Source Code Based on Model ......................................................................................... 48 Model Hyperlinking Overview ............................................................................................................. 49 Model Annotation Overview ................................................................................................................ 50 Together Capabilities Activation ......................................................................................................... 51 Together Interoperability and Migration ..................................................................................................... 53 Modeling Overview .................................................................................................................................... 55 Together Modeling .............................................................................................................................. 56 UML Modeling Overview ............................................................................................................................ 59 Supported UML Specifications ........................................................................................................... 60 UML 2.0 Diagrams .............................................................................................................................. 61 UML 2.0 Activity Diagram Definition ............................................................................................ 62 UML 2.0 Class Diagram Definition .............................................................................................. 65 UML 2.0 Use Case Diagram Definition ........................................................................................ 67 UML 2.0 Component Diagram Definition ..................................................................................... 69 UML 2.0 Composite Structure Diagram Definition ....................................................................... 70 UML 2.0 Deployment Diagram Definition .................................................................................... 72 UML 2.0 State Machine Diagram Definition ................................................................................ 73 Interaction (Sequence and Communication) Diagrams ............................................................... 76 UML 1.4 Diagrams .............................................................................................................................. 78 UML 1.4 Class Diagram Definition .............................................................................................. 79 Package and logical class diagrams ........................................................................................... 81 UML 1.4 Sequence Diagram Definition ....................................................................................... 82 UML 1.4 Collaboration Diagram Definition .................................................................................. 84 UML 1.4 Use Case Diagram Definition ........................................................................................ 85 UML 1.4 Statechart Diagram Definition ....................................................................................... 87 UML 1.4 Activity Diagram Definition ............................................................................................ 89 UML 1.4 Component Diagram Definition ..................................................................................... 92 UML 1.4 Deployment Diagram Definition .................................................................................... 93 Business Process Modeling ....................................................................................................................... 95 Data Modeling ............................................................................................................................................ 99 Data Modeling Overview ................................................................................................................... 100 Logical and Physical Data Models .................................................................................................... 101 Model Transformation Support ................................................................................................................ 102 UML Profiles ............................................................................................................................................. 104 UML Profiles Basics .......................................................................................................................... 105 Profile Definition Project ................................................................................................................... 106 Supported Metamodels ..................................................................................................................... 107 Stereotype ........................................................................................................................................ 108 Palette Contribution .......................................................................................................................... 109 Extension Link .................................................................................................................................. 110 Contribution Link ............................................................................................................................... 111

4

Modeling for EJB ...................................................................................................................................... Model Compare and Merge ..................................................................................................................... Template Elements and Generics Overview ............................................................................................ Model Import and Export Overview .......................................................................................................... OCL Support ............................................................................................................................................ About OCL Support in Together ....................................................................................................... OCL Constraints and Expressions .................................................................................................... OCL on Non-Class Diagrams ........................................................................................................... Patterns and Templates ........................................................................................................................... Patterns and Templates Overview .................................................................................................... Pattern Definition Project .................................................................................................................. Pattern recognition ............................................................................................................................ Templates ......................................................................................................................................... Quality Assurance .................................................................................................................................... Code Audits ...................................................................................................................................... Model Audits ..................................................................................................................................... Code Metrics ..................................................................................................................................... Model Metrics .................................................................................................................................... Metrics Graphical Representation .................................................................................................... Exporting and Importing Audits and Metrics ..................................................................................... Refactoring Overview ............................................................................................................................... Requirements Management ..................................................................................................................... Version Control in Together ..................................................................................................................... Project Documentation ............................................................................................................................. Documentation Generation Overview ............................................................................................... Documentation Template .................................................................................................................. Documentation Generator Metamodel ...................................................................................... Organization of a Documentation Template .............................................................................. Documentation Template Sections ............................................................................................ Documentation Template Controls ............................................................................................ Multi-frame Documentation Templates ...................................................................................... Hyperlinks in Documentation .................................................................................................... Javadoc Link References ......................................................................................................... Enable Conditions .....................................................................................................................

112 113 114 115 117 118 120 121 123 124 126 127 128 129 130 131 132 133 134 136 137 138 139 141 142 144 145 147 149 152 155 156 157 158

5

Procedures
Procedures Getting Started Procedures ..................................................................................................................... Activating Together Capabilities ....................................................................................................... Adding a Single Model Element to a Diagram .................................................................................. Bookmarking Model Elements .......................................................................................................... Choosing a Together Perspective .................................................................................................... Configuring Together Preferences on the Workspace and Diagram Levels ..................................... Creating a Browse-Through Sequence of Diagrams ........................................................................ Creating a Diagram ........................................................................................................................... Creating a Project ............................................................................................................................. Creating a Shortcut ........................................................................................................................... Creating a Simple Link ...................................................................................................................... Deleting a Diagram ........................................................................................................................... Deleting Elements ............................................................................................................................. Hiding and Showing Model Elements ............................................................................................... Opening a Diagram ........................................................................................................................... Opening a Diagram Element in the Source Code Editor .................................................................. Printing Diagrams ............................................................................................................................. Reusing Existing Source Code in Modeling Projects ........................................................................ Selecting Model Elements ................................................................................................................ Using Drag-and-Drop ........................................................................................................................ Using Example Projects .................................................................................................................... Diagrams .................................................................................................................................................. Common Diagrams Procedures ....................................................................................................... Annotating a Diagram ................................................................................................................ Browsing a Diagram with Overview Pane ................................................................................. Changing the Default Diagrams Directory ................................................................................. Closing a Diagram ..................................................................................................................... Creating a Diagram ................................................................................................................... Deleting a Diagram .................................................................................................................... Exporting a Diagram to an Image .............................................................................................. Hyperlinking Diagrams .............................................................................................................. Opening a Diagram ................................................................................................................... Opening a Diagram Element in the Source Code Editor ........................................................... Opening a Parent Diagram ........................................................................................................ Printing Diagram Elements ........................................................................................................ Printing Diagrams ...................................................................................................................... Searching Model Elements ........................................................................................................ Searching Model with OCL queries ........................................................................................... Customizing Appearance of Together Diagrams .............................................................................. Hiding and Showing Model Elements ........................................................................................ Using a Class Diagram as a View ............................................................................................. Zooming a Diagram ................................................................................................................... Populating Together Diagrams ......................................................................................................... Adding a Member to a Container ............................................................................................... Adding a Single Model Element to a Diagram ........................................................................... Adding Multiple Elements to a Diagram .................................................................................... Creating a Link with Bending Points .......................................................................................... Creating a Shortcut .................................................................................................................... Creating a Simple Link .............................................................................................................. Creating an Inner Classifier ....................................................................................................... Editing Together Diagrams ............................................................................................................... 162 164 165 166 167 168 169 170 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 193 194 195 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216

6

Aligning Model Elements ........................................................................................................... Assigning a Stereotype to an Element ..................................................................................... Changing Type of an Association Link ...................................................................................... Copying and Pasting Model Elements ....................................................................................... Deleting Elements ..................................................................................................................... Laying Out a Diagram Automatically ......................................................................................... Laying out a Diagram for Printing .............................................................................................. Moving Model Elements ............................................................................................................ Renaming a Diagram ................................................................................................................. Rerouting a Link ........................................................................................................................ Resizing Model Elements .......................................................................................................... Selecting Model Elements ......................................................................................................... Working with Rulers Guides and Grid ....................................................................................... Together Projects ..................................................................................................................................... Changing the Default Diagrams Directory ........................................................................................ Choosing a Together Perspective .................................................................................................... Configuring C++ Projects .................................................................................................................. Configuring IDL Projects ................................................................................................................... Converting UML 1.4 Project to UML 2.0 Project ............................................................................... Creating a Project ............................................................................................................................. Enabling UML Profiles ...................................................................................................................... Establishing cross-project references ............................................................................................... Exporting a Project to XMI Format .................................................................................................... Exporting a Project to XMI Format Using the Command Line .......................................................... Generating Source Code from Design Project ................................................................................. Importing a Project in an IBM Rational Rose MDX Model ................................................................ Importing a Project in IBM Rational Rose (MDL) Format ................................................................. Importing a Project in IBM Rational Rose (MDL) From the Command Line ..................................... Importing a Project in IBM Rational Rose (MDX) From the Command Line ..................................... Importing a Project in XMI Format .................................................................................................... Importing Java Modeling Projects Created in Together Edition for Eclipse 7.0 ................................ Importing Legacy Projects ................................................................................................................ Navigating between the Tree View, Diagram, and Source Code ..................................................... Resolving Duplicates During an XMI Import ..................................................................................... Reusing Existing Source Code in Modeling Projects ........................................................................ Showing libraries .............................................................................................................................. Troubleshooting a Model .................................................................................................................. Using Example Projects .................................................................................................................... Working with a Package ................................................................................................................... XMI Export and Import of the Models with Cross-Project References .............................................. Together Profiles ...................................................................................................................................... A Typical User Scenario of Working With Profiles ............................................................................ Creating a Project ...................................................................................................................... Defining Profile Properties ......................................................................................................... Creating Stereotypes ................................................................................................................. Adding Shortcuts to Metaclasses .............................................................................................. Adding Attributes to Stereotypes ............................................................................................... Setting Viewmap Properties for Stereotypes ............................................................................. Creating Palette Contributions ................................................................................................... Deploying Profiles ...................................................................................................................... Applying Profiles ........................................................................................................................ Adding Attributes to Stereotypes ...................................................................................................... Adding Shortcuts to Metaclasses ..................................................................................................... Applying Profiles ............................................................................................................................... Converting Profile-Specific Properties ..............................................................................................

217 218 219 220 221 222 223 224 225 226 227 228 229 230 232 233 234 236 237 238 239 240 241 242 243 244 245 247 248 249 250 251 253 255 256 257 258 259 260 262 264 265 266 267 268 269 270 272 273 274 275 276 278 279 280

7

Creating Palette Contributions .......................................................................................................... Creating Profile-Specific Constraints ................................................................................................ Creating Stereotypes ........................................................................................................................ Working with Required Stereotypes .......................................................................................... Setting Viewmap Properties for Stereotypes ............................................................................. Adding Attributes to Stereotypes ............................................................................................... Defining Profile Properties ................................................................................................................ Deploying Profiles ............................................................................................................................. Enabling UML Profiles ...................................................................................................................... Exporting and Importing Profiles ....................................................................................................... Opening Profile Definition ................................................................................................................. Setting Viewmap Properties for Stereotypes .................................................................................... Uninstalling Profiles ......................................................................................................................... Verifying a Model Against Profile Constraints ................................................................................... Working with Required Stereotypes ................................................................................................. Configuring Implementation Projects ....................................................................................................... Configuring C++ Projects .................................................................................................................. Configuring IDL Projects ................................................................................................................... Together UML 2.0 Diagrams .................................................................................................................... UML 2.0 Class Diagrams Procedures .............................................................................................. Adding Owned Behavior to a Class ........................................................................................... Changing the Appearance of Compartments ............................................................................ Changing the Appearance of Interfaces .................................................................................... Creating and Editing Properties ................................................................................................. Creating Class By Template ...................................................................................................... Creating Data Types .................................................................................................................. Creating Enumerations and Enumeration Literals ..................................................................... Creating, Editing and Opening Header and Implementation Files in C++ Projects ................... Working with a Constructor ....................................................................................................... Working with a Field .................................................................................................................. Working with a Provided or Required Interface ......................................................................... Working with a Relationship ...................................................................................................... Working with Association classes and n-ary associations ......................................................... Working with Inner Classes ....................................................................................................... Working with Instance Specifications ........................................................................................ UML 2.0 Use Case Diagrams Procedures ........................................................................................ Creating an Extension Point ...................................................................................................... Defining Includes and Extends Links ......................................................................................... Setting Subject for a Use Case ................................................................................................. UML 2.0 Interaction Diagrams Procedures ....................................................................................... A Typical Scenario of Designing a UML 2.0 Interaction Diagram .............................................. Working with Interactions ................................................................................................... Creating an Interaction Use ................................................................................................ Associating a Lifeline with a Classifier ............................................................................... Defining Decomposition of a Lifeline .................................................................................. Working with a UML 2.0 Message ...................................................................................... Working with a Combined Fragment .................................................................................. Creating a State Invariant ................................................................................................... Associating a Lifeline with a Classifier ....................................................................................... Associating a Lifeline with a Referenced Element ..................................................................... Copying and Pasting an Execution or Invocation Specification ................................................. Creating a Full-Screen Sequence or Communication Diagram from an Interaction .................. Creating a State Invariant .......................................................................................................... Creating an Interaction Use ....................................................................................................... Defining Decomposition of a Lifeline .........................................................................................

281 282 283 284 285 286 288 289 290 291 292 293 294 295 296 297 298 300 301 302 303 304 305 306 307 308 309 310 311 312 314 315 316 317 318 320 321 322 323 324 325 326 327 328 329 330 332 334 335 336 337 338 339 340 341

8

Roundtrip Engineering with UML 2.0 Sequence Diagrams ...................................................... Working with a Combined Fragment ......................................................................................... Working with a UML 2.0 Message ............................................................................................. Working with Interactions .......................................................................................................... UML 2.0 State Machine Diagrams Procedures ................................................................................ Associating a Transition or a State with a Behavior .................................................................. Changing Regions Order in a State ........................................................................................... Creating an OCL Guard Condition for a Transition ................................................................... Creating and Editing States ....................................................................................................... Creating History Elements ......................................................................................................... Creating Members for State Machines, States, and Regions .................................................... Designing a UML 2.0 State Machine Diagram .......................................................................... Working with a Complex State .................................................................................................. Working with Activities and State Machines Full Screen Diagrams .......................................... UML 2.0 Activity Diagrams Procedures ............................................................................................ Creating Activity Parameters ..................................................................................................... Creating Pins ............................................................................................................................. Designing a UML 2.0 Activity Diagram ...................................................................................... Rotating Activity Partitions ......................................................................................................... Using Control Flow Link ............................................................................................................. Working with Activities and State Machines Full Screen Diagrams .......................................... Working with Activity Element .................................................................................................... Working with an Object Flow or a Control Flow ......................................................................... UML 2.0 Component Diagrams Procedures ..................................................................................... Designing a UML 2.0 Component Diagram ............................................................................... Working with a Provided or Required Interface ......................................................................... Working with Instance Specifications ........................................................................................ UML 2.0 Deployment Diagrams Procedures .................................................................................... Designing a UML 2.0 Deployment Diagram .............................................................................. Working with Artifacts ................................................................................................................ UML 2.0 Composite Structure Diagrams Procedures ....................................................................... Creating a Port .......................................................................................................................... Creating a Referenced Part ....................................................................................................... Creating an Internal Structure for a Node .................................................................................. Working with a Collaboration Use ............................................................................................. Working with a Provided or Required Interface ......................................................................... Working with Instance Specifications ........................................................................................ Template Elements ........................................................................................................................... Creating Constraints .................................................................................................................. Creating Generic Template Elements in LiveSource Projects ................................................... Creating Template Elements ..................................................................................................... Defining Formal Parameters ...................................................................................................... Editing Constraint Expressions .................................................................................................. Together UML 1.4 Diagrams .................................................................................................................... UML 1.4 Class Diagrams Procedures .............................................................................................. Changing the Appearance of Compartments ............................................................................ Creating and Editing Constructors ............................................................................................. Creating Class By Template ...................................................................................................... Expanding or Collapsing Compartments ................................................................................... Extending and Implementing Classes and Interfaces ............................................................... Hiding and Showing Members ................................................................................................... Instantiating a Classifier ............................................................................................................ Setting Abstract or Final for a Class or Interface ....................................................................... Setting Visibility for a Class or Interface .................................................................................... Setting Visibility for Members of a Class or Interface ................................................................

342 344 346 348 349 350 351 352 353 355 356 357 358 360 361 362 363 364 365 366 367 368 369 370 371 372 373 375 376 377 378 379 380 381 382 383 384 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403

9

Showing Different Modeling Views ............................................................................................ Showing Interfaces as Small Circles (lollipops) ......................................................................... Working with a Constructor ....................................................................................................... Working with a Field .................................................................................................................. Working with a Relationship ...................................................................................................... Working with Association classes and n-ary associations ......................................................... Working with Inner Classes ....................................................................................................... UML 1.4 Use Case Diagrams Procedures ........................................................................................ Creating an Extension Point ...................................................................................................... UML 1.4 Interaction Diagrams Procedures ....................................................................................... Adding a Conditional Block ........................................................................................................ Branching Message Links ......................................................................................................... Converting Between UML 1.4 Sequence and Collaboration Diagrams ..................................... Creating Slots ............................................................................................................................ Generating an Incremental Sequence Diagram ........................................................................ Refining Collaboration Diagrams ............................................................................................... Refining Sequence Diagrams .................................................................................................... Roundtrip Engineering with Sequence Diagrams ...................................................................... Using AutoFix ............................................................................................................................ Using AutoLink Labels ............................................................................................................... Working with a UML 1.4 Message ............................................................................................. Working with Classes in Sequence/Collaboration Diagrams ..................................................... Working with Operations in Sequence/Collaboration Diagrams ................................................ UML 1.4 Statechart Diagrams Procedures ....................................................................................... Choosing a Target Class for the State Diagram or Activity Diagram ......................................... Creating a Deferred Event ......................................................................................................... Creating a Self-Transition .......................................................................................................... Creating History ......................................................................................................................... Creating internal transitions ....................................................................................................... Creating Multiple Transitions ..................................................................................................... Setting Deep History .................................................................................................................. Specifying Entry and Exit Actions .............................................................................................. Specifying entry/exit actions for a state ..................................................................................... Working with a Complex State .................................................................................................. UML 1.4 Activity Diagrams Procedures ............................................................................................ Choosing a Target Class for the State Diagram or Activity Diagram ......................................... Creating a Deferred Event ......................................................................................................... Creating a Self-Transition .......................................................................................................... Creating an Activity for a State .................................................................................................. Designing a UML 1.4 Activity Diagram ...................................................................................... Specifying Entry and Exit Actions .............................................................................................. Using Object Flow Link .............................................................................................................. Working with a Complex State .................................................................................................. UML 1.4 Component Diagrams Procedures ..................................................................................... Designing a UML 1.4 Component Diagram ............................................................................... Nesting Components ................................................................................................................. UML 1.4 Deployment Diagrams Procedures .................................................................................... Designing a UML 1.4 Deployment Diagram .............................................................................. Together Business Process Modeling ..................................................................................................... Attaching External WSDL File .......................................................................................................... Creating a BPMN Project .................................................................................................................. Exporting to BPEL/WSDL Files ........................................................................................................ Importing BPEL File .......................................................................................................................... Importing BPMN Projects Created in Together 2006 for Eclipse ...................................................... Performing Business Process Simulation .........................................................................................

404 405 406 407 409 410 411 412 413 414 415 416 417 418 419 420 422 425 427 428 429 431 432 434 435 436 437 438 439 440 441 442 443 444 446 447 448 449 450 451 452 453 454 456 457 458 459 460 461 462 463 464 465 466 467

10

Specifying BPMN Preferences ......................................................................................................... Specifying Event and Trigger Type ................................................................................................... Using BPMN Layout Features .......................................................................................................... Validating BPMN Diagrams .............................................................................................................. Working with Groups ........................................................................................................................ Working with Projection Bars ............................................................................................................ Working With UML Links in a BPMN Project .................................................................................... Data Modeling Procedures ...................................................................................................................... Activating ER Logical Diagram Profile .............................................................................................. Creating a Data Modeling Project ..................................................................................................... Creating Connection Profile .............................................................................................................. Creating Foreign Key in a Physical Data Model ............................................................................... Creating Logical Data Model ............................................................................................................ Creating View Relationships in a Physical Data Model .................................................................... Generating Data Model from SQL (DDL) Script ............................................................................... Generating DDL Script from a Data Modeling Project ...................................................................... Importing Data Model from Database ............................................................................................... Transforming Logical Data Model to Physical Data Model ............................................................... Model Driven Architecture ....................................................................................................................... Adding a New Ant Task to the Composite Transformation ............................................................... Applying Model-To-Model Transformations ...................................................................................... Applying Model-To-Text Transformations ......................................................................................... Applying XSL Transformations ......................................................................................................... Building MDA Projects from the Command Line .............................................................................. Configuring Model-To-Model Transformation Builder ....................................................................... Configuring Model-To-Text Transformation Builder .......................................................................... Creating a Composite Transformation .............................................................................................. Adding a New Ant Task to the Composite Transformation ........................................................ Creating a Model-To-Model Transformation ..................................................................................... Creating a QVT Library ..................................................................................................................... Creating an Example MDA Transformation Project .......................................................................... Creating an MDA Transformation Project ......................................................................................... Creating an XSL Transformation ..................................................................................................... Creating Model-To-Text Transformations ......................................................................................... Debugging Model-To-Model Transformations .................................................................................. Debugging Model-To-Text Transformations ..................................................................................... Debugging XSL Transformations ...................................................................................................... Deploying Transformations ............................................................................................................... Opening MDA Views ......................................................................................................................... Running a Composite Transformation script .................................................................................... Running Compiled Transformations ................................................................................................. Comparing and Merging Models .............................................................................................................. Comparing and Merging Shared Models .......................................................................................... Comparing Models ............................................................................................................................ Merging Models ................................................................................................................................ Comparing Models .................................................................................................................... Together Object Constraint Language (OCL) .......................................................................................... Creating an OCL Guard Condition for a Transition ........................................................................... Creating Constraints ......................................................................................................................... Editing Constraint Expressions ......................................................................................................... Enabling Source Code Generation from OCL Constraint ................................................................. OCL in Documentation Templates .................................................................................................... Searching Model with OCL queries .................................................................................................. Using OCL in Model Audits and Metrics ........................................................................................... Working with a Combined Fragment ................................................................................................

468 469 470 471 472 474 475 476 477 478 479 480 481 482 483 484 485 486 487 489 490 492 493 494 495 496 497 498 499 501 502 503 504 505 506 507 508 509 510 511 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527

11

Working with Custom OCL Operations ............................................................................................. Patterns and Templates ........................................................................................................................... Adding a Pattern Part ....................................................................................................................... Building Pattern ............................................................................................................................... Creating Model Element by Pattern .................................................................................................. Creating Pattern Definition ................................................................................................................ Deleting Patterns Instances .............................................................................................................. Editing Templates ............................................................................................................................. Managing Pattern Definitions in the Pattern Registry ....................................................................... Recognizing Patterns ........................................................................................................................ Using Conditions in Templates ......................................................................................................... Using the Class Template Editor ...................................................................................................... Using the Link Template Editor ......................................................................................................... Using the Package Template Editor ................................................................................................. Validating Pattern Definition Projects ............................................................................................... Verifying Pattern Instances ............................................................................................................... Working with the Pattern Instances .................................................................................................. Creating Model Element by Pattern ........................................................................................... Adding a Pattern Part ................................................................................................................ Verifying Pattern Instances ........................................................................................................ Recognizing Patterns ................................................................................................................ Deleting Patterns Instances ....................................................................................................... Working with the Templates ............................................................................................................ Editing Templates ...................................................................................................................... Using the Class Template Editor ............................................................................................... Using the Link Template Editor ................................................................................................. Using the Package Template Editor .......................................................................................... Using Conditions in Templates .................................................................................................. Together Quality Assurance .................................................................................................................... Copying QA Results to Clipboard ..................................................................................................... Creating a Metrics Chart ................................................................................................................... Creating and Using Code QA Sets ................................................................................................... Exporting and Importing Model Audits/Metrics ................................................................................. Exporting QA Results ....................................................................................................................... Flagging Audits in Code .................................................................................................................... Generating QA Report ...................................................................................................................... Grouping and Ungrouping ................................................................................................................ Hiding and Showing Audit Results .................................................................................................... Navigating to Problems ..................................................................................................................... Printing Audit Results ....................................................................................................................... Refreshing QA Results ..................................................................................................................... Running Audits and Metrics from the Command Line ...................................................................... Running Model Audits and Metrics ................................................................................................... Running Model Audits and Metrics as Ant Tasks ............................................................................. Running Source Code Audits ........................................................................................................... Running Source Code Metrics .......................................................................................................... Saving and Loading Audit Results .................................................................................................... Saving and Loading Metric Results .................................................................................................. Searching QA Results ...................................................................................................................... Specifying Quality Assurance Preferences ....................................................................................... Using OCL in Model Audits and Metrics ........................................................................................... Using QA History .............................................................................................................................. Viewing and Finding QA Descriptions .............................................................................................. Viewing Audit Results ....................................................................................................................... Viewing Metric Results .....................................................................................................................

529 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 576 577 578 579 580 581 582 583 584 585 586

12

Viewing Metrics as Graphs ............................................................................................................... Viewing Problem Detection Audits (Detection Metrics) .................................................................... Using Version Control and Teams in Together ........................................................................................ Comparing and Merging Shared Models .......................................................................................... Setting Up ClearCase Support ......................................................................................................... Setting Up Repositories .................................................................................................................... Sharing Projects ............................................................................................................................... Sharing Templates ............................................................................................................................ Managing Requirements with Together .................................................................................................. Creating Requirements Based on Use Case .................................................................................... Creating Traces from Requirements to Model Elements .................................................................. Deleting Traces ................................................................................................................................. Generating Documentation for Requirements .................................................................................. Modifying Requirement Preferences ................................................................................................ Navigating from Model Elements to Requirements .......................................................................... Opening Requirements Views .......................................................................................................... Searching for Traced Elements ........................................................................................................ Synchronizing Traces ....................................................................................................................... Viewing Element Traces ................................................................................................................... Generating Project Documentation ......................................................................................................... Configuring the Documentation Generation Facility ......................................................................... Generating HTML Documentation .................................................................................................... Generating Project Documentation as Ant Task ............................................................................... Generating Project Documentation from Command Line ................................................................. Generating Project Documentation Using Template ........................................................................ Together Documentation Templates Procedures .................................................................................... A Typical Scenario of Creating a Custom Documentation Template ................................................ Creating Custom Documentation Template .............................................................................. Creating Sections ...................................................................................................................... Creating Stock Sections ............................................................................................................ Setting Section Properties ......................................................................................................... Setting Area Properties ............................................................................................................. Setting Template Properties ...................................................................................................... Creating Controls ....................................................................................................................... Moving, Resizing and Aligning Controls .................................................................................... A Typical Scenario of Creating a Template for Multi-Frame Documentation .................................... Creating Custom Documentation Template .............................................................................. Defining Frameset Structure ...................................................................................................... A Typical Scenario of Creating a Custom Documentation Template ........................................ Setting Call to Template Section Properties .............................................................................. Hyperlinking Documentation ...................................................................................................... Creating Controls .............................................................................................................................. Creating Custom Documentation Template ...................................................................................... Creating Formatting Styles for Documentation Templates ............................................................... Creating Hypertext Links (Advanced) ............................................................................................... Creating Javadoc Link References (Advanced) ............................................................................... Creating Sections ............................................................................................................................. Creating Stock Sections ................................................................................................................... Defining Frameset Structure ............................................................................................................. Setting Template Properties ...................................................................................................... Setting Frame and Frameset Properties .................................................................................. Hyperlinking Controls to Element Documentation ............................................................................ Hyperlinking Documentation ............................................................................................................. Hyperlinking Controls to Element Documentation ..................................................................... Creating Hypertext Links (Advanced) ........................................................................................

588 589 285 591 592 593 595 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 617 618 619 620 622 623 624 625 626 628 629 630 631 632 633 634 635 636 637 638 640 641 643 644 645 646 648 649 651

13

Image Mapping (Advanced) ...................................................................................................... Creating Javadoc Link References (Advanced) ........................................................................ Image Mapping (Advanced) .............................................................................................................. Moving, Resizing and Aligning Controls ........................................................................................... OCL in Documentation Templates .................................................................................................... Reusing documentation templates from TCC/TA 1.x ....................................................................... Setting Area Properties ..................................................................................................................... Setting Call to Template Section Properties ..................................................................................... Setting Frame and Frameset Properties .......................................................................................... Setting Section Properties ................................................................................................................ Setting Template Properties ............................................................................................................. Using Word Documents in Documentation Templates ..................................................................... Interoperability and Migration ................................................................................................................... Converting Profile-Specific Properties .............................................................................................. Importing a Project in an IBM Rational Rose MDX Model ................................................................ Importing a Project in IBM Rational Rose (MDL) Format ................................................................. Importing a Project in XMI Format .................................................................................................... Importing Java Modeling Projects Created in Together Edition for Eclipse 7.0 ................................ Importing Legacy Projects ................................................................................................................ Reusing documentation templates from TCC/TA 1.x ....................................................................... XMI Export and Import of the Models with Cross-Project References ..............................................

652 653 655 656 658 659 660 661 662 663 664 665 667 668 669 670 672 673 674 676 677

14

Reference
Reference Together Glossary ................................................................................................................................... Together Keyboard Shortcuts .................................................................................................................. Additional Resources ............................................................................................................................... Components of the Together User Interface ............................................................................................ Menus ............................................................................................................................................... Menus ........................................................................................................................................ Model Navigator ....................................................................................................................... Model Package Explorer Context Menus .................................................................................. Common Diagram Context Commands ..................................................................................... Package Context Menu ............................................................................................................. Common Element Context Commands ..................................................................................... Common Link Context Commands ............................................................................................ Model Bookmarks View .................................................................................................................... Compare Editor ................................................................................................................................. Tool Palette ....................................................................................................................................... Diagram View .................................................................................................................................... Metamodel Browser View ................................................................................................................. Model Package Explorer View .......................................................................................................... OCL Expressions View ..................................................................................................................... Properties View ................................................................................................................................. QVT Builder ...................................................................................................................................... QVT Editor ........................................................................................................................................ XSL Editor ......................................................................................................................................... Trace View ........................................................................................................................................ Trace Synchronizer View .................................................................................................................. Templates View ................................................................................................................................ Last Validation Results View ............................................................................................................ Patterns and Template GUI Components ......................................................................................... Pattern Explorer ......................................................................................................................... Pattern Registry ......................................................................................................................... Templates View ......................................................................................................................... Last Validation Results View ..................................................................................................... Quality Assurance GUI Components ................................................................................................ Audit View .................................................................................................................................. Metric View ................................................................................................................................ Model Audits View .................................................................................................................... Model Metrics View .................................................................................................................... Chart View ................................................................................................................................. Together Projects ..................................................................................................................................... Project Properties ............................................................................................................................. C++ Projects ..................................................................................................................................... Special Considerations for C++ Projects .................................................................................. C++ Language-Specific Properties of the Model Elements ....................................................... C++ Project Properties .............................................................................................................. IDL Language-Specific Information .................................................................................................. New Together Project Wizards ......................................................................................................... New Project Wizard Common Pages ........................................................................................ New project Wizard C++ Language-Specific Options .............................................................. New project Wizard IDL Language-Specific Options ................................................................ New project Wizard Data Modeling Specific Options ............................................................... Convert MDL Wizard ................................................................................................................. 682 684 689 690 692 693 694 698 704 707 709 712 714 715 716 717 718 719 720 722 726 727 728 729 730 731 732 733 734 735 736 737 738 739 741 742 743 744 745 746 747 748 752 753 755 757 758 759 761 763 764

15

Import Together Project Wizard ................................................................................................. Preferences .............................................................................................................................................. Together Preferences ....................................................................................................................... Generate Documentation Preferences ............................................................................................. Diagram Image Rotation ............................................................................................................ Generate HTML Preferences .................................................................................................... HTML Output Options ................................................................................................................ RTF Output Options .................................................................................................................. Modeling Preferences ....................................................................................................................... Business Process Preferences .................................................................................................. Data Modeling Preferences ....................................................................................................... Diagram Preferences ................................................................................................................. EMF Model Compare Preferences ............................................................................................ Export to UML2Tools Preferences ............................................................................................ Interaction Diagrams 2.0 Preferences ....................................................................................... Java Preferences ....................................................................................................................... Layout Preferences ................................................................................................................... OCL ........................................................................................................................................... Predefined OCL Library Operations ................................................................................... Patterns ..................................................................................................................................... Print Preferences ....................................................................................................................... UML Profiles Preferences .......................................................................................................... UML Profiles Preferences Constraints ............................................................................... UML Profiles Preferences View Management .................................................................... QA Model ................................................................................................................................... QA Source ................................................................................................................................. Find Analyzer Dialog ................................................................................................................. Requirements ............................................................................................................................ CaliberRM ........................................................................................................................... Source Generation Preferences ................................................................................................ C++ Source Generation Preferences ................................................................................. Java Source Generation Preferences ................................................................................ View Management Preferences ................................................................................................ Modeling Resources Team Preferences .......................................................................................... XML ................................................................................................................................................... XML Editor ................................................................................................................................. Annotation ................................................................................................................................. Code Assist ................................................................................................................................ Folding ....................................................................................................................................... Formatter ................................................................................................................................... Mark Occurrences ..................................................................................................................... References ................................................................................................................................ Relocation .................................................................................................................................. Syntax Coloring ......................................................................................................................... Templates .................................................................................................................................. Typing ........................................................................................................................................ XSL ................................................................................................................................................... XSL ............................................................................................................................................ Annotation ................................................................................................................................. OCL (Syntax Checking) ............................................................................................................. Code Assist ................................................................................................................................ OCL (Syntax Coloring) .............................................................................................................. Syntax Coloring ......................................................................................................................... Run/Debug ................................................................................................................................ Profiles Reference ...................................................................................................................................

765 767 768 769 770 771 773 774 775 777 779 780 782 784 785 786 789 793 795 797 798 800 802 803 804 805 807 808 809 810 811 812 813 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838

16

Profile Definition Properties .............................................................................................................. UML Profile for Business Modeling ................................................................................................... Stereotype Options of UML Profile for Modeling In Color ................................................................. UML Profile for Software Development Processes ........................................................................... EMF API for Together Profiles .......................................................................................................... Business Process Diagram ...................................................................................................................... Mapping Elements ............................................................................................................................ Mapping Exception Flow ................................................................................................................... Mapping Pools and Message Flows ................................................................................................. Mapping Process Structure: Flows and Sequences ......................................................................... Elements That Are Not Transformed to BPEL .................................................................................. BPMN Validation View ...................................................................................................................... BPMN Simulation View ..................................................................................................................... BPMN Diagram Context Commands ................................................................................................ BPMN Simulation-specific Properties ............................................................................................... BPMN Diagram Toolbar .................................................................................................................... BPMN Simulation Report .................................................................................................................. UML 1.4 Reference .................................................................................................................................. UML 1.4 Class Diagrams .................................................................................................................. UML 1.4 Class Diagram Elements ............................................................................................ Attribute Context Menu .............................................................................................................. Attribute Properties .................................................................................................................... Class Context Menu .................................................................................................................. Class Diagram Context Menu .................................................................................................... Class Diagram Properties .......................................................................................................... Class Diagram Relationships .................................................................................................... Class, Inner Class, and Interface Properties ............................................................................. Dependency Link Properties ..................................................................................................... Extend/Include Link Properties .................................................................................................. Generalization/Implementation Link Properties ......................................................................... LiveSource Rules ...................................................................................................................... Object Context Menu ................................................................................................................. Object Properties ....................................................................................................................... Operation Context Menu ........................................................................................................... Operation Properties ................................................................................................................. Package Properties ................................................................................................................... UML 1.4 Use Case Diagrams ........................................................................................................... UML 1.4 Use Case Diagram Elements ...................................................................................... Actor Properties ......................................................................................................................... Generalization Link Properties .................................................................................................. Use Case Diagram Context Commands ................................................................................... Use Case Diagram Elements Context Menu ............................................................................. Extension Point .......................................................................................................................... Use Case Properties ................................................................................................................. UML 1.4 Interaction Diagrams .......................................................................................................... UML 1.4 Interaction Diagram Elements ..................................................................................... Conditional Block ....................................................................................................................... UML 1.4 Message ..................................................................................................................... Activation Bar ............................................................................................................................ Nested Message ........................................................................................................................ Message Link Properties ........................................................................................................... UML 1.4 Statechart Diagrams .......................................................................................................... UML 1.4 Statechart Diagram Elements ..................................................................................... State .......................................................................................................................................... Transition ...................................................................................................................................

839 841 843 844 847 853 854 855 857 859 861 862 863 864 865 867 869 872 873 874 875 876 877 880 881 882 884 885 886 887 888 889 890 891 893 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914

17

Deferred Event .......................................................................................................................... UML 1.4 Activity Diagrams ................................................................................................................ UML 1.4 Activity Diagram Elements .......................................................................................... Activity Diagram Context Commands ........................................................................................ History Properties ...................................................................................................................... Horizontal and Vertical Fork/Join Properties ............................................................................. Transition Link Properties .......................................................................................................... UML 1.4 Component Diagrams ........................................................................................................ UML 1.4 Component Diagram Elements ................................................................................... UML 1.4 Deployment Diagrams ........................................................................................................ UML 1.4 Deployment Diagram Elements .................................................................................. UML 2.0 Reference .................................................................................................................................. UML 2.0 Class Diagrams .................................................................................................................. UML 2.0 Class Diagram Elements ............................................................................................ Class Diagram Relationships .................................................................................................... Class Diagram Properties .......................................................................................................... Association Class and N-ary Association .................................................................................. Dependency Link Properties ..................................................................................................... Generalization/Implementation Link Properties ......................................................................... Operation Context Menu ........................................................................................................... UML 2.0 Use Case Diagrams ........................................................................................................... UML 2.0 Use Case Diagram Elements ...................................................................................... Extension Point .......................................................................................................................... UML 2.0 Interaction Diagrams .......................................................................................................... UML 2.0 Sequence Diagram Elements ..................................................................................... UML 2.0 Communication Diagram Elements ............................................................................ Interaction .................................................................................................................................. UML 2.0 Message ..................................................................................................................... Execution Specification and Invocation Specification ................................................................ Operator and Operand for a Combined Fragment .................................................................... Clipboard operations with execution and invocation specifications ........................................... UML 2.0 State Machine Diagrams .................................................................................................... UML 2.0 State Machine Diagram Elements .............................................................................. State Machine Diagram Context Commands ............................................................................ State Machine Diagram Elements Properties ............................................................................ Transition ................................................................................................................................... History Element (State Machine Diagrams) .............................................................................. UML 2.0 Activity Diagrams ................................................................................................................ UML 2.0 Activity Diagram Elements .......................................................................................... UML 2.0 Activity Diagram Context Commands ......................................................................... UML 2.0 Component Diagrams ........................................................................................................ UML 2.0 Component Diagram Elements ................................................................................... UML 2.0 Deployment Diagrams ........................................................................................................ Deployment Diagram Context Commands ................................................................................ UML 2.0 Deployment Diagram Elements .................................................................................. UML 2.0 Composite Structure Diagrams .......................................................................................... UML 2.0 Composite Structure Diagram Elements ..................................................................... Data Modeling Reference ........................................................................................................................ ER Logical Diagram Elements .......................................................................................................... ER Physical Diagram Elements ........................................................................................................ Element Context Menu Commands of ER Logical Diagram ............................................................. ER Physical Diagram Context Commands ....................................................................................... Element Context Menu Commands of ER Physical Diagram ........................................................... Links Context Menu Commands of ER Physical Diagram ................................................................ MDA .........................................................................................................................................................

915 916 917 918 919 920 921 922 923 924 925 926 927 928 930 932 933 934 935 936 938 939 941 942 943 944 945 946 948 949 951 952 953 955 957 964 965 966 967 969 971 972 973 974 976 977 978 979 980 981 982 983 984 985 986

18

QVT Language ................................................................................................................................. 987 XSL/OCL Language .......................................................................................................................... 997 QVT Ant Tasks ................................................................................................................................ 1011 Model-To-Text Ant Tasks ............................................................................................................... 1013 XSL/OCL Ant Tasks ........................................................................................................................ 1014 Stale Files Tasks ............................................................................................................................ 1015 Descriptor Files Merging Tasks ...................................................................................................... 1016 MDA Example Projects ................................................................................................................... 1017 EMF API for Together Models ........................................................................................................ 1018 Model Compare/Merge ................................................................................................................... 1023 Requirements Management ................................................................................................................... 1025 Element Traces View ...................................................................................................................... 1026 Trace Synchronizer View ................................................................................................................ 1027 Patterns and Templates ......................................................................................................................... 1028 Patterns and Template GUI Components ....................................................................................... 1029 Pattern Explorer ....................................................................................................................... 1030 Pattern Registry ....................................................................................................................... 1031 Apply Template Wizard ................................................................................................................... 1032 Create Pattern from Elements ........................................................................................................ 1033 Save As Template Wizard .............................................................................................................. 1034 Templates View .............................................................................................................................. 1035 Templates View Context Menus ..................................................................................................... 1036 Template Editors ............................................................................................................................. 1037 Class Template Editor ............................................................................................................. 1038 Link Template Editor ................................................................................................................ 1040 Package Template Editor ........................................................................................................ 1041 Template Variable Types ......................................................................................................... 1043 Template Properties ....................................................................................................................... 1044 Syntax and Conditions in Templates .............................................................................................. 1045 Last Validation Results View .......................................................................................................... 1048 Supported Templates ..................................................................................................................... 1049 Link Templates ........................................................................................................................ 1050 Class and Package Templates ................................................................................................ 1052 J2EE, TagLibs, J2EE JMS Templates ..................................................................................... 1054 GoF Templates ........................................................................................................................ 1055 GoF Patterns ........................................................................................................................... 1056 Quality Assurance .................................................................................................................................. 1057 Model Audits and Metrics Descriptions ........................................................................................... 1058 Audit and Metric Sample Project .................................................................................................... 1064 Project Documentation ........................................................................................................................... 1067 Documentation Generation ............................................................................................................. 1068 Gendoc Utility Syntax .............................................................................................................. 1069 Genhtml Utility Syntax ............................................................................................................. 1070 Documentation Template Designer ................................................................................................ 1071 Area Properties ........................................................................................................................ 1072 Call to Stock Section Properties .............................................................................................. 1074 Call to Template Properties ..................................................................................................... 1075 Control Properties .................................................................................................................... 1077 DG functions in Formulae Expressions ................................................................................... 1079 DG Variables ........................................................................................................................... 1091 Documentation Template Designer ......................................................................................... 1093 Documentation Template Properties ....................................................................................... 1095 Element Iterator Properties ...................................................................................................... 1097 Frameset Template Properties ................................................................................................ 1099 Folder Section Properties ........................................................................................................ 1101

19

OCL Functions in formulae expressions .................................................................................. Property Iterator Properties ..................................................................................................... Static Section Properties ......................................................................................................... Model Import and Export ........................................................................................................................ Import Together Project Wizard ...................................................................................................... MDL Import Wizard ......................................................................................................................... MDL Projects Import Options .......................................................................................................... MDX Import Wizard ......................................................................................................................... MDX Projects Import Options ......................................................................................................... XMI Export Wizard .......................................................................................................................... XMI Import Wizard .......................................................................................................................... Version Control ...................................................................................................................................... Sharing Design Elements: Special Considerations ........................................................................ Sharing Packages: Special Considerations .................................................................................... Sharing QA Sets and Audits and Metrics Results .......................................................................... Dialogs ................................................................................................................................................... Apply Transformation ...................................................................................................................... Select Destination .................................................................................................................... Select Transformation ............................................................................................................. BPEL4WS Export Wizard ............................................................................................................... BPEL4WS Import Wizard ............................................................................................................... Call to Stock Section Properties ..................................................................................................... Call to Template Properties ............................................................................................................ Create Pattern from Elements ........................................................................................................ Create Requirement(s) Dialog Box ................................................................................................. Edit Audit ........................................................................................................................................ Edit Hyperlinks for Diagram dialog box ........................................................................................... Edit Metric ....................................................................................................................................... Edit Operation ................................................................................................................................. Edit Transformation Profile ............................................................................................................. Element Iterator Properties ............................................................................................................. Export Diagram to Image Wizard .................................................................................................... Export Pattern Conversion Profiles ................................................................................................. Export QA Results To A File ........................................................................................................... Export Wizard: SQL/DDL Script from DB Schema ......................................................................... Select Generation Objects page .............................................................................................. Select Generation Options page ............................................................................................. Save to File page ..................................................................................................................... Find Analyzer Dialog ....................................................................................................................... Frameset Template Properties Dialog Box ..................................................................................... Generate HTML Documentation dialog box ................................................................................... Generate Documentation Using Template dialog box .................................................................... Generate Sequence Diagram dialog box ........................................................................................ Import Wizard: DB Schema from ER Logical Diagram Profile UML 2.0 Project ............................. Select Source and Target Objects page .................................................................................. Select Options page ................................................................................................................ Import Wizard: DB Schema from JDBC ......................................................................................... DB Schema from JDBC Import Wizard: Select Objects to Import page .................................. Connect to Database Dialog .................................................................................................... Import Wizard: DB schema from SQL script ................................................................................... Select Objects to Import page ................................................................................................. Import Pattern Conversion Profiles ................................................................................................. Import Together Project Wizard ...................................................................................................... Manage Traces Dialog .................................................................................................................... Modeling Preferences .....................................................................................................................

1103 1106 1108 1109 1110 1112 1113 1115 1116 1117 1118 1119 1120 1121 1122 1123 1126 1127 1128 1129 1130 1131 1132 1134 1135 1136 1137 1138 1139 1140 1141 1143 1144 1145 1146 1147 1148 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1167 1168

20

New MDA Ant Task ......................................................................................................................... Choose Data Source Type ...................................................................................................... Select Launch Configuration ................................................................................................... Select Launch Configuration Type .......................................................................................... Preview .................................................................................................................................... MDL Import Wizard ......................................................................................................................... MDX Import Wizard ......................................................................................................................... Model Search and OCL Model Search ........................................................................................... New Together Project Wizards ....................................................................................................... New Project Wizard Common Pages ...................................................................................... New project Wizard C++ Language-Specific Options ............................................................ New project Wizard IDL Language-Specific Options .............................................................. New project Wizard Data Modeling Specific Options ............................................................. Convert MDL Wizard ............................................................................................................... Print Audit dialog box ...................................................................................................................... Print Diagram Dialog Box ............................................................................................................... Print Dialog ..................................................................................................................................... Project Properties ........................................................................................................................... Project Specific Configuration ......................................................................................................... Property Iterator Properties ............................................................................................................ QA Builder Properties ..................................................................................................................... QA Search ...................................................................................................................................... QVT Settings .................................................................................................................................. Run ................................................................................................................................................. Model-To-Text Application ....................................................................................................... Model-To-Text Transformation ................................................................................................ QVT Interpreter ........................................................................................................................ QVT Transformation ................................................................................................................ XSL Transformation ................................................................................................................. Launch BPMN Simulation ........................................................................................................ Run QA ........................................................................................................................................... Requirement Traces Search Dialog Box ........................................................................................ Select element dialog box ............................................................................................................... Selection Manager .......................................................................................................................... Static Section Properties ................................................................................................................ Template Properties Dialog Box ..................................................................................................... Trace Synchronizer Dialog Box ...................................................................................................... XMI Export Wizard .......................................................................................................................... XMI Import Wizard .......................................................................................................................... Legal Notices for Together .....................................................................................................................

1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1182 1184 1185 1186 1187 1188 1189 1190 1191 1193 1194 1195 1196 1197 1198 1199 1201 1203 1204 1205 1206 1207 1208 1209 1210 1212 1213 1214 1215

21

22

Getting Started

23

Getting Started with Together
This section contains an introduction to modeling with Borland Together. The sample projects and Cheat Sheets are designed to help you explore Together features while working with projects. Some of the special features include: BPMN modeling, patterns, generating project documentation, reverse engineering and so forth. In This Section Together Overview Provides a brief introduction to the feature set of Together. Use Together for building a UML model of your application. Together Documentation Set Describes the documentation set for Together. Sample Projects and Cheat Sheets Provides a list of sample projects and cheat sheets. Help on Help Explains how to use the Together online Help and where to find additional resources. Tour of Together Tour of Together.

24

and automated documentation generation. utilizing automation for efficiency. ♦ Jump-start modeling activities by reverse-engineering Java. IBM Rational Rose (MDL) format import. the award-winning. refactoring. and optimize communication and efficiency among project teams. ♦ Integrate modeling and design activities and artifacts with Application Lifecycle Management (ALM) tools and The following resources offer additional assistance. Together allows companies to achieve the right mix of leveraging industry experience embodied in standards and the freedom to tailor or invent what is needed. design-driven environment for modeling applications. see Help on Help in the Related Concepts. ♦ Borland Together Home Page ♦ Borland Together Documentation ♦ Borland Together Support ♦ Borland Product Support ♦ Borland Services ♦ Borland University If your Internet access is limited by network security. patterns. UML™ and DSL designers. Borland® Together® is a visual modeling platform designed to support architects. the Webbased links in this Help system might not function properly. information. and ER modeling activities by generating Java. and SQL DDL. and allowing organizations to leverage industry and internal standards. BPEL. C++. 25 . validation. The unique DSL Toolkit is designed to help organizations that have needs for more specific solutions than Unified Modeling Language (UML)™ models by allowing project teams to create. C# and C++ developers. C++. C#.0. Together benefits include the following: ♦ Leverage UML. or if your computer is protected by a personal firewall. source code generation. and data modelers in the accelerated delivery of high-quality software applications. XMI format import and export. Object Constraint Language (OCL). business process analysts. ♦ Increase productivity and quality by automating design and code reviews with audits and metrics at the model and code level. and services: ♦ For information on how to use this Help system.Together Overview Welcome to Borland® Together®. BPMN. ♦ Improve communication with fully customizable template-based document generation that can assemble content from all model types and requirements. Together® helps companies manage the complexity of today's software world by communicating ideas clearly. Together includes features such as support for Unified Modeling Language (UML) 2. ♦ Leverage Model-Driven Architecture™(MDA) features including OMG’s Query View Transformation (QVT) used in model-to-model transformations and support for OCL 2. Quality Assurance audits and metrics. customize and deploy models within their own business domain and tailored to their own specific needs. code sense.0 with syntax highlighting. Together improves business agility and lowers maintenance costs through the delivery of a platform-independent solution for domain-specific languages (DSLs). DSLs mprove the usability of modeling. Java. eliminate unnecessary overhead. debugging and expression evaluation. BPEL. processes. and SQL DDL.

Related Concepts Help on Help Together Documentation Set Related Reference Together Glossary Together Keyboard Shortcuts 26 .

Refactoring procedures. Using OCL. wizards and GUI elements Cheat Sheets Interactive tutorials that help you start using basic product features. Working with patterns. Working with diagrams. context. Together licensing setup. Quality assurance. Creating and using profiles. Each cheat sheet helps you complete a single task. Online help Setting Up Licensing for Borland Together General. A list of Together cheat sheets is available in the Sample projects and cheat sheets topic.Together Documentation Set The Together documentation set consists of the following items: Item Description Location Release Notes (ReadMe) Late-breaking information including: Last minute notes System requirements Installing and starting Together Known issues and limitations Borland Together 2008 Release Notes Setting Up Licensing for BorlandTogether. Working with different types of modeling. — Reference topics — dialog boxes. and Documentation generation procedures. and dynamic help for Together main menu: Together including the following Help Help Contents comprehensive information most relevant to the user: — Conceptual topics — Getting Started and Concepts — Procedural topics — Working with Projects. The item on Together main menu: Help Cheat Sheets Related Concepts Sample Projects and Cheat Sheets Help on Help 27 .

The sample projects are available under File New Example.Sample Projects and Cheat Sheets Together ships with sample projects and cheat sheets that help you get acquainted with Together and its features. Cheat sheets provided with Together are basically interactive tutorials that help you to start using some of the Together features. For more information about cheat sheets refer to Eclipse Workbench User Guide. Each cheat sheet helps you complete some task. 28 . The cheat sheets are available under Help Cheat Sheets.

Reference Topics The reference topics provide detailed information on subjects such as configuration options. At the end of most conceptual topics. To find the context of a topic within the Contents pane. dialog boxes. more detailed information. procedural how-to's. All procedures are listed under Procedures in the Contents pane of the Help window. Together Online Help Together online Help includes conceptual overviews. Keyboard keys. click the Show in Table of Contents button on the toolbar of the Eclipse Help viewer. Typographic Conventions Used in the Help The following typographic conventions are used throughout Together online Help. Book titles and to emphasize new terms. Related Concepts Together Documentation Set 29 . How-To Procedures The how-to procedures provide step-by-step instructions. Context Sensitive Help Context sensitive Help is available throughout the interface by selecting an item and pressing F1. the CTRL or ENTER key. and wizards references. which allow you to navigate from general to more specific information as needed. Boldface Italics KEYCAPS GUI elements and dialog boxes. file and folder names. Concepts Concepts introduce the main features and methods that will help you learn and understand Together techniques. GUI elements. you will find links to related.Help on Help Together allows you to view various help topics that will assist you while you are completing your tasks. the context of the Help topic you are viewing might not be obvious. or the Help button. for example. and reference information. All of the reference topics are listed under the Reference section in the Contents pane of the Help window. Tip: When you use a link to navigate from one topic to another topic. and text that you must type. Typographic conventions Convention Used to indicate Monospace type Source code.

Model Navigator Provides the logical representation of the model of your project: namespaces (packages) and diagram nodes. including diagram errors. the diagram editor provides a tab for each diagram. Displays the log of the generating implementation code for a sequence diagram. BPMN Validation Lists all BPMN diagram-related errors. export. BPMN Simulation Provides simulation run progress information and tools to control the simulation process. Profile Constraints Lists available profile constraints. Metamodel Browser Lists metamodels that can be selected as a source or a target of a Queries/ Views/Transformations (QVT) transformation.0 project. When you use multiple diagrams.4 project. In Together you can choose one of the following Together perspectives: ♦ Modeling including Business Process Modeling Notation (BPMN). The Modeling perspective provides the following views: View Description Add linked results Code Generation Log Generate Implementation Log Shows results of applying the Add Linked command. and TogetherQA group views ♦ DSL Toolkit ♦ Data Modeling ♦ CaliberRM ♦ RequisitePro Views and Editors Associated with Each Together Perspective The views associated with each Together Perspective vary according to the perspective selected. The views that make up each Together Perspective are described below. Profile Validation Displays results of the profile validation process. Model Audits Displays the results of the model audits you run. Generate Sequence Diagram 2. Properties Displays the properties for a selected element. Model Package Explorer Displays the UML content for all open projects Diagram Editor Displays created and opened diagrams. Model Bookmarks Lists bookmarked model elements. Generate Sequence Diagram 1.4 Log Displays the log of the generating a sequence diagram in a UML 1. Together Modeling The Modeling perspective is the default perspective for Together. Model Metrics Displays the results of the model metrics you run. Model Driven Architecture (MDA). Displays a log of the code generation process. and simulation errors.Tour of Together Together changes the user interface according to how you want to work with Together by providing several Together perspectives to customize the Together-user experience. Patterns and Templates. BPMN Simulation. The properties for each element are usually divided into different categories.0 Log Displays the log of the generating a sequence diagram in a UML 2. 30 .

Metamodel Explorer Lists metamodels that can be selected as a source or target of a QVT transformation. Displays currently available source code templates. Displays the results of the source code audits you run. Properties. Generic Template Browser Lists currently available templates. a textual description of the element. Hyperlinks. Tasks Shows tasks (reminders) that you either created or generated during the build process. Data Modeling The Data Modeling perspective provides the following views: View Description Navigation Contains Model Navigator and Navigator tabs. Figure Gallery Editor Used to configure figure gallery details. by default. Problems Displays compilation errors. 31 . advanced properties. the diagram editor provides a tab for each diagram. provide a tree view of the figure gallery model.OCL Expression Last Validation Results Pattern Explorer Pattern Registry Templates Audit Metric Enables you to quickly evaluate OCL expressions in the explicitly specified context (a Together or Eclipse Modeling Framework [EMF] model element). folders and shortcuts). The properties for each element are usually divided into four categories: Description. Report Definition Editor Used to define a report. the mapping model. adding and importing artifacts. Defines the virtual hierarchy of patterns. Properties Used to view and edit the properties of the currently selected item in the DSL Explorer. Enables you to logically organize patterns (using virtual trees. and generate and validate actions. Domain Model Editor Used for editing domain models. Displays the results of the source code metrics you run. requirement information. or in the context of the current selection. and all of the models involved with a diagram. Requirement. When you use multiple diagrams. and provide a composite viewer and editor for all models involved in a figure gallery. Diagram Definition Editor Used to manage general configuration properties and generation actions. Diagram Editor Displays created and opened diagrams. Displays results of the latest validation of a pattern definition. the tooling model. dragging and dropping of resources and templates with model refactoring. Dynamic Templates Used to browse templates used for model code generation and to copy (override) template files into the folder specified in the Dynamic Templates Path so that you can customize the templates. Properties Displays the properties for a selected element. links to other elements or external files and documents. and manage recognized instances of patterns. Outline Displays outline of the structure of the currently active file in the editor area. UML properties. DSL Editor Used for editing DSL projects. DSL Toolkit The DSL Toolkit perspective provides the following views and editors: View/Editor Description DSL Explorer Provides DSL project navigation. Operational QVT Traces Used to inspect the results of a Model-To-Model QVT transformation.

Together 2008 does not include integrations with requirement management products such as RequisitePro. Traceability Matrix Displays all the trace links for the selected requirement. refer to the CaliberRM plugin help. Requirement Grid Displays the summary information for a set of requirements. 32 . CaliberRM The CaliberRM has the following views. Documentation Generate Using Template Opens the Generate Documentation Using Template dialog box. Note: For more information about CaliberRM. Project Menu Menu Item Description Documentation Generate HTML Opens the Generate HTML Documentation dialog box.DDL Preview Data Description Language (DDL) expressions viewer. projects and server connections. Together provides menu items on the main menu with Together-specific commands. baseline or project in a single matrix view. View Description CaliberRM Navigator Allows you to connect to and browse multiple CaliberRM repositories located on different servers over the network. RequisitePro The RequisitePro has the following views. traced objects. These integrations should be available separately from Borland. Synchronizer Allows you to review and synchronize changes made to traced requirements or external vendor objects. in addition to the views associated with each perspective. Displays information about the requirements and external vendor objects traced to and from the requirement selected in the RequisitePro Navigator view. baselines. Unlike Together 2006 R2. requirement types. Properties Displays property and attribute names and values for the requirements. View Description RequisitePro Navigator RequisitePro Traces Allows you to connect to and browse RequisitePro repositories. Note: For complete information about RequisitePro. CaliberRM Traces Displays information about the requirements and external vendor objects traced to and from the requirement selected in the CaliberRM Navigator view. refer to the RequisitePro documentation. RequisitePro Discussion Provides the ability for users to discuss requirements by displaying the existing discussions and allowing users to post replies.

Starts the creating profile plug-in process. Diagram Menu The Diagram menu includes commands relevant to working with the diagram currently opened in the Diagram editor. Preferences Opens the Profile preferences in the Modeling node. Local Version Compares a shared resource with a version stored on your disk. hiding and showing elements. switching grid and rulers. The commands include. For more information see Converting Profile-Specific Properties topic in the Procedures section. Runs profile-specific audits. and Model to Text transformation specific commands. Apply Transformation Provides QVT. Runs model audits for the selected elements. Each Other as Model Elements Compares two or three selected model elements against each other and shows differences in a separate view. Uninstall Profile Open Profile Definition Deploy profile Run Profile Constraints Convert properties Profile Uninstalls the selected profile. Converts profile-specific properties of the projects created in the previous version of Together to the new format. layout and align patterns. and so forth. eXtensible Stylesheet Language (XSL). but are not limited to. Related Concepts Together Capabilities Activation Related Procedures Activating Together Capabilities Choosing a Together Perspective Related Reference Components of the Together User Interface 33 . different levels of zoom. Opens the profile definition project.Model Menu Menu Item Description Run Model Metrics Run Model Audits Compare With Runs model metrics for the selected elements.

34 .

Concepts 35 .

Modeling Overview Describes UML modeling in general. Data Modeling Describes data modeling in Together. Model Transformation Support Provides overview of MDA transformations in Together. In This Section Together Basics Basic information about Together features.0 modeling projects. Modeling for EJB Describes EJB modeling features of Together. Business Process Modeling This section describes the Business Process modeling basics. Requirements Management Describes requirement management features in Together. Refactoring Overview Describes the Together refactoring features. Version Control in Together This topic provides an overview of version control features in Together.Concepts This section provides an overview of the features provided by Together. Template Elements and Generics Overview This section gives an outline of template elements for the UML 2. and generics for theLiveSource projects. OCL Support Overview of OCL support in Together. UML Modeling Overview Describes what modeling with Together means in general. Model Compare and Merge Describes model compare and merge functionality. Quality Assurance Describes quality assurance facilities in Together. Patterns and Templates Overview of patterns and templates in Together. 36 . Model Import and Export Overview Describes the features for importing and exporting entire models or parts of the models. Together Interoperability and Migration This section describes interoperability with the other editions and versions of Borland Together and migration from the legacy versions. UML Profiles Describes UML profiles in Together.

Project Documentation This part describes the documentation generation facility and documentation template basics. 37 .

Containment Metamodel Brief description of Together containment metamodel. Package Overview Describes Together namespaces and packages. Together Capabilities Activation You can customize the Together capabilities based on your specific environment and requirements. Model Element Overview Describes the model elements. Model Hyperlinking Overview Describes the feature of model element hyperlinking. Model Annotation Overview Describes the feature for annotating UML diagrams. Model Shortcut Overview Describes the shortcuts on UML diagrams. 38 . Roundtrip Engineering Overview Describes the LiveSource feature. Together Diagram Overview Describes the Together UML diagram. Generating Source Code Based on Model Describes generation of the source code from a modeling project feature.Together Basics This section provides information about Together features. Language Support Describes the LiveSource support and limitations for the various languages. Diagram Format This section describes the XML-based diagram format that is common for all modeling tools of the Together product line. In This Section Together Project Overview Describes the Together projects.

♦ UML 2. and modify them further. ♦ Profile Definition project is a profiled modeling project that allows you to create new profiles. using the Properties dialog box. ♦ Business Process Modeling Project enables you to create end-to-end business processes. ♦ Data Modeling project provides a complete data modeling solution. ♦ Java Modeling projects from Java projects creates a Java source code modeling project from pure Java project.4 or UML 2. ♦ MDA Transformation project is a customized Eclipse plug-in project that enables you to develop various transformations in Together.4 converts both Java modeling and design projects from UML 1. All projects located in the selected Workspace are listed in the Model Navigator. ♦ Java Modeling project is either UML 1.0 from UML 1. ♦ UML 2. you can update properties for the existing project.Together Project Overview Work in Together is done in the context of a project.0 source code modeling project.0 source code modeling projects.0 project is a design project with no source code support. ♦ UML 1. Related Procedures Together Projects Related Reference Together Projects 39 .4 to UML 2. ♦ BPMN from Together 2006 Business Process Project helps you import Business Project Modeling Notation (BPMN) projects created in Together 2006 for Eclipse. ♦ C++ Modeling project is a UML 2. The following is a list of projects that can be created in Together. ♦ Pattern Definition project is a profiled UML 2.0 specification.0 source code modeling project. ♦ IDL Modeling project is a UML 2. A project is a logical structure that holds all resources required for your work.0 modeling project that allows you to create new patterns. Note: The project settings are initially specified on project creation. You can set up project properties when the project is being created.4 project is a design project with no source code support. Further.

This allows you to track your package changes using version control. all the classifiers directly owned by this package automatically appear on the package diagram). while settings that you treat as package properties (semantical information. Related Concepts Containment Metamodel Package and logical class diagrams Related Procedures Working with a Package 40 . all properties of the package diagram. such as layout) is retained in the default. both visual and semantical. A package can contain packageable elements (the elements that can be directly owned by a package) and the other packages. Contents of a package can be displayed on a special type of the Class Diagram that is synchronized with the package contents (that is. ♦ Logically. This diagram is created and opened just after the modeling project creation.Package Overview The notion of a package has two facets: logical and physical.txvpck file into the default. a package is a folder containing the files that store diagrams and model elements. The root package of a project (Model) is usually referenced as the default package. are preserved in the default. A model itself is a package. choose Properties. Each package contains the single package diagram that is created automatically and cannot be added explicitly. With this option off. right-click the project in the Model Navigator. To do this.txaPackage file. This diagram is essential for source code projects. The package diagram of this package is called the default diagram.txvpck diagram file. A package is a model element used to group elements. and make sure the Store package properties in package diagram files option is not checked. a model consists of one or more packages. By default. which requires turning the default setting off. only diagramspecific information (visual information. You can enable split package diagram persistence. ♦ Physically.txvpck diagram file. such as descriptions and custom properties) are moved from the default. and provides a namespace for the grouped elements.

These are: class diagrams and sequence and collaboration diagrams. marked with the source class name. Class and interface source code opens the respective class (or interface) in a special tab in the editor. Selecting a member within a class or interface symbol automatically navigates to the appropriate line of the source code in the editor. the tab is also marked with the lock icon. Together models have the socalled Package diagrams. The contents of such diagrams are synchronized with the source code. The set of available diagram types depends on the type of project. in a BPMN project. These tools can be customized. Diagrams exist within the context of a project. These diagrams have the ClassDiagram type. the only available diagram is a BPMN diagram. a Class in a UML 2.0 Class Diagram). Along with the design diagrams that are explicitly created by the user.0 specification. If the class is read-only. Each diagram belongs to a certain diagram type (for example. For example. In a UML 2. You have to create or open a project before creating a new diagram.Together Diagram Overview Each modeling project contains a set of diagrams that are graphical representations of parts of the model. UML 2. The diagram type defines the typical contents of the diagram (the kind of elements that are usually placed on this diagram) and the notation used to represent the model elements. but they are generated automatically for each package and show its contents. Related Concepts Diagram Format Related Procedures Creating a Diagram Related Reference Tool Palette 41 . Click a class or interface symbol on the diagram to open the source code in the editor.0 project you have a set of standard UML diagrams defined in UML2. Diagrams contain graphical elements (nodes connected by paths) that represent model elements. Some diagrams are source-generating. Each diagram has the specific Palette and context menu that allow you to create the model elements specific to this diagram type. For example.0 project can be added to the Class Diagram and to the Composite Structure Diagram and will have different representations there.

which makes the diagrams compatible across the product line. You can copy and reuse diagrams created in the different products. Design elements are stored either in the package files (default. Borland Together Edition for Microsoft Visual Studio .2 and previous versions is not supported now. Borland Enterprise Studio for Java. Borland Together Architect.txa<element_type>.txv<diagram_type>. and Borland Together Designer 2005). The legacy text diagram format (df diagram files) used in TogetherControlCenter6.txaPackage) or in separate XML-based format files with the extension . depending on your choice when creating a project in the New Project wizard.txvcls corresponds to a class diagram. using the Import Together Project wizard.NET. For example. As such. The XML-based diagram format is common for the entire product line of Borland Together modeling products (Borland Together ControlCenter. the file <name>. Related Concepts Together Interoperability and Migration Related Procedures Interoperability and Migration 42 . the UML diagram files created with the text-based format should be converted to an XMLbased format.Diagram Format The diagrams created with Together are stored in XML-based files with the extension *.

♦ You can optionally split package diagram persistence so that diagram-specific property settings (visual information. while settings that you treat as package properties (semantical information.txvpck diagram file. Related Concepts Model Shortcut Overview 43 .Containment Metamodel Together handles the logical and physical containment of design elements as follows: ♦ Design elements are created as children of packages. ♦ All elements shown on diagrams are shortcuts (or references) to actual model elements. Together creates this element in the package and adds its shortcut to the diagram. ♦ You can optionally create design elements in separate files (standalone design elements) or in one file (filemates). therefore when you ♦ Clipboard actions operate with references.txaPackage file. if the source and target containers of the action are diagrams. such as layout) are retained in the default. such as descriptions and custom properties) are moved from the default.txvpck file into the default. create a new element on a diagram. This allows you to track your package changes using version control.

In Together. each actor on a use case diagram in a UML 2. Related Concepts Together Diagram Overview Model Shortcut Overview Containment Metamodel Related Procedures Populating Together Diagrams Related Reference Tool Palette 44 .0 project. The model elements that have the graphical notation and that can be explicitly placed on diagrams are nodes and links. C++ and IDL) may affect the set and allowed values of element properties.0 metamodel (that is. every element created in this project instantiates a metaclass from the UML 2. For example. The model language (design.java.h.0 project is an instance of usecases/Actor. It also defines the model element storage. Each model element has a set of properties and a notation defined for its metaclass. for example.Model Element Overview Each model in a modeling project is a set of entities that are instances of metaclasses of the metamodel chosen for the project. model elements of the same metaclass may be either design or source code ones depending on the container project type.txa* file if it is design one or in *. and each component is an instance of components/Component). *. an element of uml20/classes/class metaclass may be stored in the *. These instances are the Model Elements. when you create a UML 2.cpp. *. and similar files when it is source code. Java.

One can create multiple shortcuts to the same element on different model diagrams. add this project to the Model Path of the current project. it appears only if this node belongs to a different namespace or package. You can create shortcuts to the elements within the same project.Model Shortcut Overview A shortcut is a representation of a model element placed on a diagram. The modifications of shortcut view properties made from any diagram do not affect the representations of this element on other diagrams. Related Procedures Creating a Shortcut Establishing cross-project references 45 . For the package diagrams. Select a shortcut on your diagram and choose Select in Model Navigator on the context menu to navigate to the source element in the Model Navigator. A shortcut can be removed from a diagram without removing the element from the model. The modifications of the element itself can be made from any diagram containing its shortcut and are propagated to all its shortcuts. The small special symbol appears over a node to indicate a shortcut. To create a shortcut to an element from another workspace project.

Together updates the visual model. You can customize forward and reverse engineering and/or source code formatting.Roundtrip Engineering Overview One of the main Together features is the simultaneous roundtrip engineering. not new libraries or technologies) ♦ C++ (GNU and MS dialects) ♦ CORBA IDL 2. This feature only applies to diagram types that generate source code: class. Roundtrip engineering is the combination of: ♦ Reverse engineering (drawing models from code) ♦ Forward engineering (generating code from visual models) Simultaneous roundtrip engineering means that when you change a code-generating diagram. see Getting Started with Eclipse and J2SE 5. This way diagrams are always synchronized with the source code that implements them. Tip: To set up Java 5 support under Unix/Linux platform.0 topic in the Getting Started section of the Java Development User Guide. and when you change the code. and collaboration diagrams. Together immediately updates the corresponding source code. which is the ability to immediately synchronize diagrams with their source code. Related Concepts Language Support Related Procedures Opening a Diagram Element in the Source Code Editor Related Reference LiveSource Rules 46 . sequence. Together supports source code forward and reverse engineering with the following languages: ♦ Java 5 ♦ Java 6 (syntax only.6 Refer to the Language Support section for details of the supported features and limitations.

Related Concepts Roundtrip Engineering Overview Related Reference C++ Projects IDL Language-Specific Information 47 . For example. initialization of variables. C++ (GNU and MS dialects). and CORBA IDL. The table below provides summary information on the features for the supported languages and brief notes about language-specific properties. and CORBA IDL. C++. The limitations stem from the lack of object orientation for some languages and the inapplicability of some of the features to different languages. Most of the Together features work for Java. and so on. and so on).Language Support Together supports Java. Feature Java C++ CORBA IDL Basic functionality Deep parsing Textual templates Properties Syntax highlight Formatter Metrics Audits Documentation generation yes yes yes yes yes yes yes yes yes no yes yes yes n/a yes no yes no Full set Limited set no Full set Limited set no yes yes yes no IDE functionality (Refactoring) via JDT via CDT You can find detailed language-specific information in the Reference. Support for other languages is more limited. 2. perform audits and metrics. interfaces.6. As of this writing. deep parsing enables Together to generate sequence diagrams from methods. Together offers basic functionality for Java. Deep Parsing functionality that handles syntactical constructs within the method bodies. methods. Basic functionality provides parsing of the syntactical constructs that map directly to UML objects (classes.

but keep names in Latin alphabet in your code. and another one for the destination implementation project (attribute alias). About source code generation You can generate source code from the Class Diagrams of your UML 1. This feature is especially useful. You can use names in other languages on your diagrams.0 design project. Name mapping You can force Together to generate different names for your model elements in the source code. If you enable this feature. Name mapping is supported for Java target projects only.Generating Source Code Based on Model Together enables you to generate source code based on a language-neutral design project. the file codegen_java_map. if your model names are not English.4 or 2. Related Concepts Roundtrip Engineering Overview Related Procedures Generating Source Code from Design Project 48 . where each entry (model element) has two names: one for the source design project (attribute name).xml is created in the model support folder of the source design project. You can edit it with any XML or text editor. This file contains a mapping table.

Create a hyperlink from an existing diagram or one of its elements to any other diagram or model element. ♦ A resource in the workspace. however. You can also create hyperlinks from your diagrams to external documents such as files or URLs. or create a new diagram that will be hyperlinked to the current element. you can follow the relationships between the use case diagrams.Model Hyperlinking Overview You can create hyperlinks from diagrams or model elements to other system artifacts and browse directly to them. Next. you begin at a high level and specify the main use cases of the system. you determine the main system use cases at a more granular level. Usually. Once you have achieved the desired level of granularity. ♦ An external document (file or URL) Browse-through sequence Use case diagrams typically represent the context of a system and system requirements. creating hyperlinks within the diagrams that follow a specific actor through all use cases that reference the actor. a "Conduct Business" use case can have another level of detail that includes use cases such as "Enter Customers" and "Enter Sales". For example. Related Procedures Hyperlinking Diagrams Creating a Browse-Through Sequence of Diagrams 49 . As an example. Hyperlink types You can create hyperlinks to: ♦ An existing diagram or diagram element from any project in the workspace. you can create a hierarchical browse-through sequence of use case diagrams. Together does not confine hyperlinking to such sequences. You can use hyperlinking to link diagrams and elements based on your requirements. By browsing the hyperlink sequence. The hyperlinking feature of Together allows you to create browse-through sequences comprised of any number of use cases or any other diagrams. Why use hyperlinking? Use hyperlinks for the following purposes: ♦ Link diagrams that are generalities or overviews to specifics and details. ♦ Link diagrams or elements to external documentation. it is useful to have a convenient method of expanding or contracting the use cases to grasp the scope and relationships of the system's use case views.

Model Annotation Overview The tools Palette for UML diagram elements displays note and note link buttons for all UML diagrams. You can attach a note link to another link. Notes can be free floating or you can draw a note link to some other element to show that a note pertains specifically to it. Use these elements to place annotation nodes and their links on the diagram. Related Procedures Annotating a Diagram 50 . The text of notes linked to class diagram elements does not appear in the source code.

0 modeling are not available.0 modeling. you can enable UML 2. The DSL Development category contains the following Together capabilities: ♦ Diagram Definition (disabled by default) ♦ Domain Modeling (disabled by default) ♦ DSL Project (disabled by default) The Model to Model Transformations category contains the following Together capabilities: ♦ Operational Mapping Language (QVT) (enabled by default) ♦ Operational QVT Debugging (enabled by default) The Model to Text Transformations category contains the following Together capabilities: ♦ Template Authoring (enabled by default) ♦ Template Exploring (enabled by default) ♦ Template Exploring (Legacy) (disabled by default) 51 . This simplifies the Together user interface and helps improve results and productivity. For example. and modeling. make sure that the appropriate capability is enabled in the Advanced Capabilities Settings dialog. development. If you need a menu. or wizard that is not available. DSL development activities. menu item. You can specify the capabilities that should be enabled.0 modeling and disable other types of modeling. if the only modeling capability needed is UML 2.Together Capabilities Activation Together provides many capabilities in areas such as BIRT. Together Capability Categories The Together capabilities are grouped in the following categories: ♦ DSL Development ♦ Model to Model Transformations ♦ Model to Text Transformation ♦ Model Workflow ♦ Modeling ♦ Modeling Tools ♦ Reporting ♦ UML Modeling Together Modeling Capabilities The following list shows the Together capabilities and their default status (enabled or disabled) in Together Modeling (classic Together modeling). menu items. so that menus. and wizards for all modeling capabilities except for UML 2.

4 (enabled by default) ♦ UML 2.0 (enabled by default) ♦ XMI Import/Export (enabled by default) ♦ XSL (enabled by default) The Model Tools category contains the following Together capabilities: ♦ Hyperlinks and Requirement Traces (Early Access) (enabled by default) ♦ Model Refactoring (Early Access) (enabled by default) The Reporting category contains the following Together capabilities: ♦ Model Reporting (enabled by default) ♦ Report Definition (enabled by default) The UML Modeling category (disabled by default) contains the following Together capabilities: ♦ UML2 Diagramming (disabled by default) ♦ UML2 Model Development (disabled by default) Related Procedures Activating Together Capabilities 52 .The Model Workflow category contains the following Together capabilities: ♦ Workflow Definition (enabled by default) ♦ Workflow Execution (enabled by default) The Modeling category contains the following Together capabilities: ♦ Business Process Modeling (enabled by default) ♦ C++ Modeling (enabled by default) ♦ Data Modeling (enabled by default) ♦ Documentation (enabled by default) ♦ IDL Modeling (enabled by default) ♦ Java Modeling (enabled by default) ♦ Manage element persistence (disabled by default) ♦ MDL and MDX Imports (enabled by default) ♦ Model QA (enabled by default) ♦ Modeling profiles (enabled by default) ♦ Patterns (enabled by default) ♦ Source code QA (enabled by default) ♦ Together Project Import (enabled by default) ♦ Together QVT (enabled by default) ♦ UML 1.

Interoperability Interoperability is supported in the following ways: ♦ Together opens projects created with the other tools of Together product line. *. Refer to the concept section “Model Transformation Support” (listed under Related Information below) for details. you can create the resulting project with the design elements stored in different files. If a model root contains diagrams in both DF and TXV formats. preserving the useful features of the legacy projects. Together considers and processes the project roots and diagram formats.0 projects created in Together Designer/Developer 2005 are converted taking into account the changes 53 . this task faces a number of problems related to the differences between the products. in UML 2. All modeling information is stored in a single folder. ♦ Optionally. ♦ All diagrams are converted from the old containment metamodel to the new containment metamodel. ♦ UML 2. Supports TXV format only. ♦ For the models created in the other tools. MDX. New containment metamodel separates the diagram information from the model elements. which are summarized in the following table: Legacy Projects New Projects Support multiple modeling roots. Support two diagram formats (DF format and TXV format) Old containment metamodel stores diagrams and model elements together. these diagrams are converted to TXV format.tpr. such as XMI. It is possible to specify package prefix for a root. So doing. Reusing legacy projects Reusing the legacy *. the model elements of the source project are converted to standalone design elements. the user might want to migrate these projects to the new version. If a model root contains diagrams in DF format. which takes a legacy project as input and produces one or more Together Eclipse projects.tpx and *. MDL or ♦ Also. The resulting projects meet the following common requirements: ♦ Folder structure of the resulting project is created considering the package prefixes if any. use the various types of import and export.x and in the other Together products. In this case. then only TXV diagrams are considered.Together Interoperability and Migration Together supports the possibility to exchange models created in the different products of Together product line and in the other modeling tools.0 specification support (converting State Machine and Activity diagrams). Migration from the legacyTogether products Having created a number of projects in TCC/TA 1. The notion of package prefix does not exist. transformations enable the users to exchange model information. Together resolves these problems by means of a new migration tool implemented as Import Together Project Wizard.jpx projects in Together is an important interoperability goal. However.

x Importing Legacy Projects Related Reference Audit and Metric Sample Project Import Together Project Wizard Audit and Metric Sample Project 54 . but can create source code audits and metrics of your own. Java-based patterns These patterns are not supported in Together. Together supports creating design and source code patterns and templates. patterns and diagrams. Instead Together provides the possibility to create your own artifacts and extensions using its functionality. but custom audits. and Together EMF API for working with models. Refer to the subsection “Using API for creating your Audits and Metrics” in the Audit and Metric Sample Project topic (listed under Related Information below). Custom diagrams and custom properties Use profiles to customize diagrams and define custom properties.Reusing artifacts Due to different platform. Audits and Metrics You cannot reuse audits and metrics from TCC. Together does not support complete migration of the legacy custom artifacts. You can reuse legacy documentation templates. metrics. However. Refer to the Profile Definition Project overview (listed under Related Information below). See the related concepts. Modules You can create modules using Eclipse API and Together EMF API. are not compatible with Together. created in TCC/TA 1. Related Concepts Model Transformation Support Diagram Format Profile Definition Project Patterns and Templates Related Procedures Reusing documentation templates from TCC/TA 1.x. Use Eclipse API for IDE—related parts.

and information on UML diagrams and supported technologies. In This Section Together Modeling Together provides different views into a common model. 55 . with each view suited to a different audience and set of requirements.Modeling Overview The topics in this section provide an overview of modeling.

This includes mapping the design to the requirements. complete. applications. as in the sciences or economics. 29 Aug. and model-driven development practices away from lower-level complexity and write higher-quality code ♦ Provide an environment that is a step beyond high-level programming languages. allowing developers to move ♦ Minimize the time and effort needed to define. and accurate understanding of the solution. Architects use modeling to perform the following tasks: ♦ Design the overall application architecture. often mathematically. Modeling can be of benefit in all areas of software and process development. Modeling helps avoid ambiguity and provides a “big picture” view of the task. and providing architectural views. ensuring the quality of the design. 2007) A model is a means to communicate complex ideas. complete. Any communication breakdown in these areas can result in project delay. and also to automate the translation from human to system or machine language. These requirements apply throughout the project lifecycle. A model can be a plan or an “as-is” view. documenting the design and architecture. understand. developing and communicating the design. and failure. understand. and can be simplified by ignoring certain details. you should be familiar with the following concepts: ♦ Benefits of modeling ♦ Common modeling problems ♦ Together Models. A model is an abstraction that makes it easier to communicate about complex things.1). there are separate views available to make it easier to view. while proper design requires that everyone has a common. and processes from the system or machine view to the problem domain view. Analysts use modeling to help agree on and document the task that needs to be accomplished. applications.” (Dictionary. component. While you can work directly in a model itself. and create systems. views and users ♦ Model transformations Benefits of modeling Proper analysis requires that everyone has a common. Random House. “A model is a simplified representation of a system or phenomenon. Inc.Together Modeling Together modeling provides a concise. with any hypotheses required to describe the system or explain the phenomenon. The benefits of modeling include the following: ♦ Streamline and improve requirements analysis and validation ♦ Build agile applications using UML models that leverage industry-proven design methods. easily communicated picture of a system that is to be created and deployed. and manipulate the model. and accurate understanding of the problem. increased costs.and service-oriented architectures.com Unabridged (v 1. and processes ♦ Reduce the risk of project delays and failures ♦ Reduce costs by allowing reuse for multiple projects ♦ Enhance communication across the project lifecycle and among distributed teams ♦ Help communicate and integrate business and development requirements Modeling allows you to shift the view of programs. To maximize the benefits provided by Together. 56 .

♦ Models need to be persisted for collaborative teamwork. ♦ Traceability needs to be established and models must meet business requirements. and standards to facilitate precise communication and provide focus for key abstractions. these processes are time-consuming and error-prone. with source code change control practices. process constraints (quality and predictability). changing Developers use modeling to perform the following tasks: ♦ Explore implementation options ♦ Provide strong refactoring support to improve code design without affecting functionality ♦ Improve code reviews by adhering to best practices and ensuring that code can be efficiently maintained. with change management practices that are consistent 57 . dependencies. Development. ♦ The notation and meaning of ad-hoc diagrams may not be apparent to all team members. and interfaces A large set of requirements can be difficult to understand as a whole. Models provide constructs to help organize ideas. These are manual processes with drawing tools. visualizations to help clarify complex ideas. including the following: ♦ Repetitive and redundant source code ♦ Framework implementation ♦ Design patterns ♦ Configuration files ♦ Build labels ♦ Deployment variations (for example. and technology constraints (tools and existing systems). including understanding large code bases. These include the following: ♦ It is difficult to communicate consistently and without ambiguity with text-only analysis and design. a common language for all team members. requirements. and headcount). ♦ Models cannot be connected to requirements with drawing tools. and design patterns.♦ Leverage reuse of frameworks. including new features. ♦ Engineer a system that can withstand change during the system's lifecycle. ♦ Engineer a system that can be produced within business constraints (time and cost). Test. and as such. staffing constraints (knowledge. Model-driven development can be used for many tasks. and the updating of IT infrastructure. skills sets. libraries. and reused ♦ Document the system. and Production) ♦ Automation of deployment ♦ Targeting of complex distributed environments ♦ Test plans and test scripts ♦ Test automation ♦ Test verification and validation Common problems in analysis and design Several problems are frequently encountered during the analysis and design process. modified.

A domain model defines the scope and provides a model on which to develop and refine a system or process. You can specify multiple source models and multiple target models. You can use any view to view and modify a model. Any view. A model view provides a window to the model itself. If you or another user subsequently view the model in the tree view. A model transformation can produce new artifacts or modify existing artifacts. ♦ Model consistency must be ensured. define. A UML class diagram provides a view of the classes. A domain model defines a system or process in unambiguous terms so that everyone on a team can understand. relationships. A UML class diagram is used to define classes. Users can choose the view that is best suited to their role and needs. The model views should not be confused with the model itself. A UML class diagram can be used for purposes ranging from defining requirements to creating a detailed design. Using models to generate documentation includes not only diagrams. A model transformation is itself a model. your saved changes are displayed in this view. Domain Model Diagrams and UML Class Diagrams A domain model diagram provides a view of the parts or terms that comprise a project. interfaces. You can create and modify a model in any view and all of your changes are propagated to the model itself and all model views. are synchronized in all of the model views. For example. Models can be used to automate design and implementation and can feed other parts of the development lifecycle. enforces these rules. A view provides a representation of the entire scope of the underlying model. and is not a model in and of itself. class attributes. regardless of the view in which the changes were made. with the changes made to the model itself. and class relationships for a system. Models and views There are several views available for a Together model. and inheritances. is simply a view of a model. A well-designed modeling tool helps users learn the model rules and ♦ An accurate representation is needed. and users can use the view of their choice to view the latest iteration of a model and make any necessary changes to the model. All changes to the model.♦ The ability to create documentation from models is necessary. if you are viewing a model diagram and make any changes. Together allows you to build a single unified model that can be viewed and modified in different views and validated with OCL audits. but also the properties that are associated with the model elements. in that the model transformation conforms to a metamodel. Model Transformations You can use model transformations to convert a model that conforms to a particular metamodel to a model that conforms to another metamodel. such as the diagram view or the tree view. and refine a system or process. Related Concepts UML Modeling Overview Model Transformation Support Related Procedures Creating a Model-To-Model Transformation 58 . your changes are saved in the model itself when you save your changes.

The primary objective of modeling is to organize and visualize the structure and components of software intensive systems. Models visually represent requirements.4 Diagrams Gives a general notion of UML 1. and structural and behavioral patterns. Smooth integration to Together provides developers with easy transition from models to source code. logical and physical elements. In This Section Supported UML Specifications Describes supported UML specifications. UML 1. 59 .4 diagrams supported by Together. subsystems.0 diagrams supported by Together.UML Modeling Overview Effective modeling with Together simplifies the development stage of your project.0 Diagrams Gives a general notion of UML 2. UML 2. While contemporary software practices stress the importance of developing models. Together extends the benefits inherent to modeling by fully synchronizing diagrams and source code.

. and documenting the artifacts of distributed object systems. and select the UML2 Diagramming node under the UML Modeling feature. The version of UML is selected when a project is created.x The set of available diagrams depends on your project type. Refer to UML documentation for the detailed information about UML semantics and notation. See also "Java Modeling in Color with UML: Enterprise Components and Process" by Coad. Together supports UML to help you specify.x. and document models of your software systems. Related Concepts UML Modeling Overview 60 .x specifications. Mi-detail ♦ Party. the UML 2. It cannot be changed later. General Capabilities. UML 1.0 provides (such as documentation functionality and metrics) are not yet implemented in UML 2. It is complemented by the UML (version): Infrastructure document which defines the foundational language constructs required for UML. constructing. To turn them on. Together supports the use of the four main groups of the color-modeling stereotypes: ♦ Role ♦ Moment-interval. The stereotype field displays directly above the name field for the element. Thing ♦ Description When applying a stereotype to one of the diagram elements listed above.1. specifying.1 capabilities are disabled by default. Lefebvre and De Luca. For each of these stereotypes you can choose a specific color to make your model more understandable at a glance. Note: Because several of the features that UML 2. Design projects and Java projects support both UML 1..4 and UML 2. C++ and IDL projects support only UML 2. the view of the associated diagram element changes on the diagram.. visualize. UML In Color “UML In Color” is an optional profile to support the modeling in color methodology. including their structure and design. select Window Preferences. Place. The UML (version): Superstructure document defines the user level constructs required for UML.4 and UML 2. Note that the other stereotypes do not have associated colors. The two complementary specifications constitute a complete specification for the UML modeling language.Supported UML Specifications The Object Management Group’s Unified Modeling Language (UML) is a graphical language for visualizing. Color modeling makes it possible to analyze a problem domain and easily spot certain classes during analysis. Click Advanced.. and the color of the element depends on the stereotype chosen.

61 .0 use case diagram definition. UML 2.0 Class Diagram Definition Provides UML 2. and notes about using class diagrams in the source code projects.0.0 state machine diagram definition and example.0 deployment diagram definition.0 Composite Structure Diagram Definition Provides UML 2.0 component diagram definition.0 Activity Diagram Definition Provides UML 2.0 Component Diagram Definition Provides UML 2.0 class diagram definition and example.0 composite structure diagram definition. UML 2.0 activity diagram definition. Interaction (Sequence and Communication) Diagrams Describes UML 2.0 Diagrams Together provides support for the most frequently needed diagrams and notations defined by the UML 2. UML 2. UML 2. In This Section UML 2.0 Interaction diagrams.0 Use Case Diagram Definition Provides UML 2.UML 2. UML 2. UML 2.0 State Machine Diagram Definition Provides UML 2.0 Deployment Diagram Definition Provides UML 2.

Using decisions and merges. you can create an activity to represent them. By flow. In UML 2. as opposed to control and data flow among actions.0. A control flow may have multiple sources (it joins several concurrent actions) or it may have multiple targets (it forks into several concurrent actions). If an action can be broken into a sequence of other actions.0 Activity Diagram Definition Definition The activity diagram enables you to model the system behavior. An Activity diagram enables you to group and ungroup actions. 62 . be it a computer system or otherwise. we mean that the execution of one node affects and is affected by the execution of other nodes. The execution of an action represents some transformation or processing in the modeled system. and such dependencies are represented by edges in the activity diagram.UML 2. The flow final node means that a certain flow within an activity is complete.0. Each flow within an activity can have its own termination. which is denoted by a flow final node. An action is an executable activity node that is the fundamental unit of executable functionality in an activity. An action represents a single step within an activity. that is. Data and control flows are different in UML 2. Actions are the basic units of the system behavior. The semantics of activities is based on token flow. including the sequence and conditions of execution of the actions. Note that the flow final may not have any outgoing links. you can manage multiple outgoing and incoming control flows. activities consist of actions. An activity represents a behavior which is composed of individual elements that are actions. one that is not further decomposed within the activity.

Sample Diagram 63 .

Related Procedures UML 2.0 Activity Diagrams 64 .0 Activity Diagrams Procedures Related Reference UML 2.

Choose Show as circle command on the context menu of the interface to obtain a lollipop between the client class and the supplier interface. The UML 2.0 Class Diagram Definition UML 2. or components as a classifier.4 class diagram. apply the provided interface link to a port on the client class. To create provided interface. as in UML 1. UML 2. According to the UML 2.0 specification. there are provided and required interfaces.4 diagrams. In addition to the implementation interfaces.0 class diagrams offer new diagram elements such as ports. 65 . interfaces. Sample Diagram The figure below shows a class diagram with some of the new elements. you can show or conceal interfaces.0 class diagram supports the ball-and socket notation for the provided and required interfaces. provided and required interfaces. For the sake of clarity of your diagrams. Interfaces can be represented in class diagrams as rectangles or as circles.UML 2. Interfaces A class implements an interface via the same generalization/implementation link. You can use classes.0 Class diagrams feature the same capabilities as the UML 1. Tip: Applying a provided interface link between a class and an interface creates a regular generalization/ implementation link. an instance specification can instantiate one or more classifiers.

Special Note for the LiveSource Projects Using UML 2.4 class diagrams.0 Class Diagrams 66 .0 class diagrams in the LiveSource projects is limited with certain restrictions. and are similar to UML 1. Related Procedures UML 2.0 Class Diagrams Procedures Related Reference UML 2.

UML 2. August 2003. p. use cases. The key concepts that take part in a use case diagram are actors. The required behavior of the subject is described by the use cases. or what a system is supposed to do. Definition Use case diagram describes required usages of a system. and subjects. Sample Diagram The following diagram shows an example of actors and use cases for an ATM system. A subject represents a system under consideration with which the actors and other subjects interact. 536.0.0 Use Case Diagram Definition Diagram courtesy of the Unified Modeling Language: Superstructure version 2. 67 .

0 Use Case Diagrams Procedures Related Reference UML 2.Related Procedures UML 2.0 Use Case Diagrams 68 .

interfaces. An instance specification can be defined by one or more classifiers.0 Component Diagrams 69 . Sample Diagram The following component diagram specifies a set of constructs that can be used to define software systems of arbitrary size and complexity.0 Component Diagram.UML 2. Related Procedures UML 2. a component diagram can contain instance specifications. Definition According to the UML 2. or components as a classifiers. You can use classes.0 specification. You can instantiate a classifier using the Object Inspector Properties Window. or the in-place editor.0 Component Diagram Definition This topic describes the UML 2.0 Component Diagrams Procedures Related Reference UML 2.

August 2003. A collaboration describes a structure of collaborating parts (roles).0 Composite Structure Diagram Definition Diagram courtesy of the Unified Modeling Language: Superstructure version 2. The contained parts can be included by reference. Referenced parts are represented by the dotted rectangles. Interfaces can be shown or hidden in the diagram as needed. 178. Participants of a collaboration or a class are linked by the connectors. Definition Composite structure diagrams depict the internal structure of a classifier. Internal structure is represented by a set of interconnected parts (roles) within the containing class or collaboration. including its interaction points to the other parts of the system.UML 2. It shows the configuration of parts that jointly perform the behavior of the containing classifier. A collaboration is attached to an operation or a classifier through a Collaboration Use. or on the boundary of the class. Classes and collaborations in the Composite Structure diagram can have internal structure and ports. Composite Structure diagram supports the ball-and-socket notation for the provided and required interfaces. 70 . A port can appear either on a contained part.0. p.

0 Composite Structure Diagrams 71 .0 Composite Structure Diagrams Procedures Related Reference UML 2.Sample Diagram Related Procedures UML 2.

0 Deployment Diagrams 72 .0 Deployment Diagram Definition This topic describes the UML 2. pp. Sample Diagram Related Procedures UML 2. Nodes are connected through communication paths to create network systems of arbitrary complexity. 207.UML 2. 212. Diagram courtesy of the Unified Modeling Language: Superstructure version 2.0. August 2003. Artifacts represent concrete elements in the physical world that are the result of a development process.0 Deployment Diagram.0 Deployment Diagrams Procedures Related Reference UML 2. Definition The deployment diagram specifies a set of constructs that can be used to define the execution architecture of systems that represent the assignment of software artifacts to nodes. Nodes are typically defined in a nested manner. and represent either hardware devices or software execution environments.

or the usage protocol of it.0 are different in many aspects compared to Statechart diagrams in UML 1. On these diagrams you show the possible states of the objects and the transitions that cause a change in state. In UML 2. 73 . Definition State Machine diagrams describe the logic behavior of the system. State Machine diagrams in UML 2.0 Specification for more information about these elements.0 states can have substates.0 State Machine Diagram Definition States are the basic units of the state machines.UML 2. Execution of the diagram begins with the Initial node and finishes with Final or Terminate node or nodes.4. a part of the system. Refer to UML 2.

Sample Diagram 74 .

0 State Machine Diagrams Procedures Related Reference UML 2.0 State Machine Diagrams 75 .Related Procedures UML 2.

However. Interactions can be visually represented in your Together projects by means of the two most common interaction diagrams: Sequence and Communication. interactions can exist in projects without visual representation. you cannot create shortcuts to the elements nested in Interactions. 76 . However. Sequence diagram can contain shortcuts to other diagram elements. You can view an interaction in two ways: as a sequence diagram. the corresponding interaction entity is added to the project. or as a communication diagram.Interaction (Sequence and Communication) Diagrams Using Together you can create interactions for the detailed description and analysis of inter-process communications. Unlike UML 1. Whenever an interaction diagram is created. An interaction diagram contains a reference to the underlying interaction. it is possible to create a sequence diagram and a communication diagram based on the same interaction. Interactions are represented as nodes in the Model Navigator and can be placed inside classes and use cases.4. it is not possible to switch a diagram that already exists from sequence to communication and vice versa. On the other hand.

0 Interaction Diagrams Procedures Related Reference UML 2.Related Procedures UML 2.0 Interaction Diagrams 77 .

4 collaboration diagram definition. UML 1.4 activity diagram definition.4 Statechart Diagram Definition Provides UML 1. UML 1.4 Class Diagram Definition Provides UML 1. UML 1.4 component diagram definition.4. Package and logical class diagrams There are two types of class diagrams used in Together: package and logical class diagrams.4 Use Case Diagram Definition Provides UML 145 use case diagram definition.4 class diagram definition. In This Section UML 1.4 Deployment Diagram definition. UML 1.4 Diagrams Together provides support for the most frequently needed diagrams and notations defined by the UML 1. UML 1.UML 1.4 Sequence Diagram Definition Provides UML 1. UML 1. UML 1.4 statechart diagram definition.4 Activity Diagram Definition Provides UML 1.4 Deployment Diagram Definition Provides UML 1.4 Collaboration Diagram Definition Provides UML 1.4 Component Diagram Definition Provides UML 1. 78 .4 sequence diagram definition.

or Credit. In Together. you can create language-neutral class diagrams in design projects. There are three kinds of relationships used in this example: ♦ Association: For example. Check. or language-specific class diagrams in implementation projects. The order contains OrderDetails (line items). Names of abstract classes and interfaces are in italics. Order has a collection of OrderDetails. and methods. There are three types of payments: Cash. UML class notation is a rectangle divided into three parts: class name.4 Class Diagram Definition Using Together. Sample Diagram The following class diagram models a customer order from a retail catalog. The central class is the Order. ♦ Aggregation: In this diagram. 79 . Relationships between classes are the connecting links.UML 1. Class diagrams are static: they display what interacts but not what happens during the interaction. Definition A class diagram provides an overview of a system by showing its classes and the relationships among them. an OrderDetail is a line item of each Order. the rectangle is further divided with separate partitions for properties and inner classes. Associated with it are the Customer making the purchase and the Payment. fields. For implementation projects. each with its associated Item. all diagram elements are immediately synchronized with the source code.

♦ Implementation: Payment is an interface for Cash.4 Class Diagrams Procedures Related Reference UML 1.4 Class Diagrams 80 . Related Procedures UML 1. and Credit. Check.

4 Class Diagram Definition UML 2. or . The default package diagrams have default.txvClassDiagram20 names respectively.0 projects).Package and logical class diagrams The two types of class diagrams used in Together are package diagrams and logical class diagrams. Package diagrams These diagrams are stored as XML files in the Model folder of the project with the file extension .txvpck (for UML 1.0 Class Diagram Definition 81 .4 projects).txvpck and default.0 projects) Together creates a default package diagram for a project and for each subdirectory under the project root. The default project diagram is named default. Logical class diagrams These diagrams are stored as XML files with the file extension .txvcls (for UML 1.4 projects). or .txvClassDiagram20 (for UML 2.txvClassDiagram20 (for UML 2. Related Concepts UML 1.

Sample Diagram Following is a Sequence Diagram for making a hotel reservation. Each arrow is a message call. the Hotel issues a self call to determine if a room is available.UML 1. is a condition. The expression in square brackets. Notes can be included in any kind of UML diagram. 82 . If so. describing how objects collaborate. [ ]. representing the time that an object exists. then it makes a Reservation and a Confirmation. If the Hotel has available rooms. Definition A sequence diagram is an interaction diagram that details how operations are carried out: what messages are sent and when. Each vertical dotted line is a lifeline. The time progresses as you go down the page. Sequence diagrams are organized according to time. In this diagram. The object initiating the sequence of messages is a Reservation window (the UserInterface). interaction diagrams are dynamic. An arrow goes from the sender to the top of the activation bar of the message on the receiver's lifeline. In contrast. The HotelChain then sends a makeReservation() message to a Hotel. The diagram has a clarifying note. which is text inside a dog-eared rectangle. The UserInterface sends a makeReservation() message to a HotelChain. The activation bar represents the duration of execution of the message. then the Hotel creates a Reservation and a Confirmation. The asterisk on the self call means iteration (to make sure there is available room for each day of the stay in the hotel). The objects involved in the operation are listed from left to right according to when they take part in the message sequence.4 Sequence Diagram Definition Class diagrams are static model views.

Related Procedures UML 1.4 Interaction Diagrams Procedures Related Reference UML 1.4 Interaction Diagrams 83 .

according to when they occur. Definition Like sequence diagrams. Messages at the same level (sent during the same call) have the same decimal prefix but suffixes of 1.4 Interaction Diagrams 84 .4 Interaction Diagrams Procedures Related Reference UML 1. In contrast. 2. describing how objects collaborate. interaction diagrams are dynamic. but focus on object roles instead of the times that messages are sent.4 Collaboration Diagram Definition Class diagrams are static model views. etc. Collaboration diagrams convey the same information as sequence diagrams. collaboration diagrams are also interaction diagrams. Related Procedures UML 1.UML 1. Sample Diagram Each message in a collaboration diagram has a sequence number. The top-level message is numbered 1.

A scenario is an example of what happens when someone interacts with the system. scenarios.4 Use Case Diagram Definition Use case diagrams are helpful in three areas: ♦ Determining features (requirements): New use cases often generate new requirements as the system is analyzed and the design takes shape. The actor is a Patient. The connection between actor and use case is a communication association (or communication for short). An actor is who or what initiates the events involved in that task. ♦ Communicating with clients: Notational simplicity makes use case diagrams a good way for developers to ♦ Generating test cases: The collection of scenarios for a use case may suggest a suite of test cases for those Definition Use Case Diagram describes what a system does from the viewpoint of an external observer. use cases. The following diagram is the Make Appointment use case for the medical clinic. and their communications. 85 . Use Case Diagrams are closely connected to scenarios. The receptionist finds the nearest empty time slot in the appointment book and schedules the appointment for that time slot. Actors are stick figures. A use case diagram is a collection of actors. communicate with clients. Use cases are ovals. Communications are lines that link actors to use cases. Notice that a single use case can have multiple actors. Sample Diagram Following is a scenario for a medical clinic: A patient calls the clinic to make an appointment for a yearly checkup. The emphasis is on what a system does rather than how. A use case is a summary of scenarios for a single task or goal. Following is an example of the use case Make Appointment as part of a diagram with four actors and four use cases.UML 1. Actors are simply roles that people or objects play.

Related Procedures UML 1.4 Use Case Diagrams Procedures Related Reference UML 1.4 Use Case Diagrams 86 .

Logging in consists of entering a valid social security number and personal ID number. and Rejecting.UML 1. The state of an object depends on its current activity or condition. Validating.4 Statechart Diagram Definition This topic describes the UML 1. Events or conditions that trigger transitions are written next to the arrows. Transitions are arrows from one state to another. then submitting the information for validation. This diagram has two self-transitions: Getting SSN and Getting PIN. Definition Objects have behaviors and states. Final states are also dummy states that terminate the action. States are depicted as rounded rectangles. 87 . The initial state (shown as a black circle) is a dummy to start the action. Getting PIN. Each state provides a complete set of transitions that determines the subsequent state.4 Statechart Diagram. Logging in can be factored into four non-overlapping states: Getting SSN. Sample Diagram The following diagram models the login part of an online banking system. A statechart diagram shows the possible states of the object and the transitions that cause a change in state.

The result of that activity determines its subsequent state.The action that occurs as a result of an event or condition is expressed in the form /action. Related Procedures UML 1. it performs an activity.4 Statechart Diagrams 88 . the object does not wait for an outside event to trigger a transition. Instead.4 Statechart Diagrams Procedures Related Reference UML 1. While in its Validating state.

4 Activity Diagram. You can show sequential and/or concurrent steps of a process." The three involved classes (people. An activity diagram is a flowchart that describes the flow of control from one activity to the next. or the flow of an object as it passes though different states at different points in a process. Activity diagrams can be divided into object swimlanes that determine which object is responsible for an activity. A single transition comes out of each activity. The activities are shown as rounded rectangles. Sample Diagram The Activity Diagram below uses the following process: "Withdraw money from a bank account through an ATM. A transition may fork into two or more parallel activities. Definition Activity diagrams enable you to model system dynamics. Guard expressions (inside [ ]) label the transitions coming out of a branch. Unlike interaction diagrams (such as sequence and collaboration) that emphasize the flow of control between objects. 89 . model business workflows. The activity diagram shows the how those activities depend on one another. A branch and its subsequent merge marking the end of the branch appear in the diagram as hollow diamonds. The process begins at the black start circle at the top and ends at the concentric white/black stop circle at the bottom. The fork and the subsequent join of the threads coming out of the fork appear in the diagram as solid bars. Activity diagrams and statechart diagrams are related. and so on) of the activity are Customer. connecting it to the next activity.UML 1. and Bank. activity diagrams emphasize the flow of control between activities. an activity diagram focuses on the flow of activities involved in a single process. While a statechart diagram focuses attention on an object undergoing a process (or on a process as an object). model the flow control of an operation. A transition can branch into two or more mutually exclusive transitions.4 Activity Diagram Definition This topic describes the UML 1. ATM.

90 .

Related Procedures UML 1.4 Activity Diagrams Procedures Related Reference UML 1.4 Activity Diagrams 91 .

4 Component Diagrams 92 . Component also uses the services of other components through one of its interfaces. Components are typically used to visualize logical packages of source code (work product components). Related Procedures UML 1. Component diagrams show the dependencies and interactions between software components. Definition A component is a container of logical elements and represents things that participate in the execution of a system. or executable files (execution components).UML 1. binary code (deployment components).4 Component Diagram Definition Both component and deployment diagrams depict the physical architecture of a computer-based system. Sample Diagram Following is a component diagram that shows the dependencies and interactions between software components for a cash register program.4 Component Diagrams Procedures Related Reference UML 1.

UML 1. Components are shown as rectangles with two tabs at the upper left.4 Deployment Diagram Definition Both Component and Deployment Diagrams depict the physical architecture of a computer-based system. Each component belongs on a node. Deployment Diagrams are made up of a graph of nodes connected by communication associations to show the physical configuration of the software and hardware. 93 . Sample Diagram Following is a Deployment Diagram that shows the relationships of software and hardware components for a real estate transaction. Components are physical units of packaging in software. including: ♦ External libraries ♦ Operating systems ♦ Virtual machines Definition The physical hardware is made up of nodes.

Related Procedures UML 1.4 Deployment Diagrams 94 .4 Deployment Diagrams Procedures Related Reference UML 1.

By default. it is created with a default pool. During the simulation. You also can specify general options of business process modeling (including the default profile). execution cost and other parameters. Together enables you to perform a simulated run of the designed business process specifying simulation parameters in the run configuration or using default parameters. a business process modeling project is created with the enabled BPEL Modeling profile. When you create a BPMN diagram. 95 . A business process project can also contain the following elements that are invisible on the diagram but can be seen in the Model navigator: ♦ Message ♦ Event Detail ♦ Rule ♦ Transaction ♦ Assignment ♦ Web Service ♦ Property ♦ Property Set ♦ Process ♦ Participant ♦ Input Set ♦ Output Set The following diagram is an example of the BPMN diagram. You also can create a BPMN project from imported BPEL and WSDL files. This profile adds properties necessary to create a BPEL file. After you create a diagram in the BPMN project. You can use the diagram immediately for designing your process. Together calculates tasks execution duration. you can export the diagram to BPEL and WSDL files.Business Process Modeling Overview Business Process Modeling Notation (BPMN) covers many types of business process modeling with various detail levels and enables you to create end-to-end business processes. When simulation is finished you can open a report with statistical data on the selected business process.

The projection bars remain visible when the lanes are too long and the diagram have to be scrolled. 96 .A diagram in the Business Process Modeling project can contain projection bars that mirror pools and lanes from the diagram. You can use the projection bars to select pools or lanes.

resizes on element move. use BPMN Project from Together 2006 Business Process Modeling project. colors elements with selected color. You can easily divide a BPMN diagram into logical parts using the Group element. Note: You can open BPMN projects created in Together 2006 for Eclipse but they open as read-only and not accessible via API.The Group element allows you to easily differentiate between sections of a BPMN diagram. A Group permanently keeps track of content. Reusing BPMN Projects Created in Together 2006 To reuse BPMN projects created in Together 2006 for Eclipse. etc. 97 .

Related Procedures Performing Business Process Simulation 98 .

Data Modeling Topics in this section provide a brief overview of data modeling in Together. Logical and Physical Data Models This section outlines the difference between the logical and physical data models. 99 . In This Section Data Modeling Overview Provides data modeling overview.

With Together you can perform the following tasks ♦ Design logical models ♦ Design physical models ♦ Import DDL/SQL script to existing project ♦ Export logical model to physical model ♦ Export physical model to DDL/SQL script ♦ Import Data Model from Database to physical model ♦ Import logical models from Together Designer 2005 Related Concepts Logical and Physical Data Models Related Procedures Data Modeling Procedures Related Reference Data Modeling Reference 100 .Data Modeling Overview Together provides a complete data modeling solution.

consists of both the logical and physical design. ♦ Logical models are designed in UML 2. When you enable this profile for a project. Together enables you to separate the development of the logical and physical models. The concept of entities and relationships in logical data modeling maps to the concept of classes and associations in the UML 2. a logical model can be regarded as a blueprint that clearly defines data structures and relationships between them. which you can use to create your logical model. The physical design addresses the technical implementation of the logical data model and shows how the information is stored in a particular database. which represents the business data.0 class diagram. Thus. Because data modeling is a complicated process. A logical model is developed prior to the physical model and allows you to define how the information to be stored in the database is organized. Together provides a set of ER Logical Elements in the Palette. Related Concepts UML Profiles Together Project Overview Related Procedures Data Modeling Procedures 101 . ♦ Physical models are designed in Data Modeling projects. The physical model is bound to the target database server.0 modeling projects with the help of ER Logical Diagram Profile.Logical and Physical Data Models A data model.

Together provides a powerful and highly customizable XSL/OCL Editor that supports XSL/OCL code sense. and the Variables view.0 Query/View/Transformation final adopted specification. The XSL/OCL script uses the OCL language. Transforms a Together or EMF model into an arbitrary text output using a QVT ♦ XSL/OCL transformation. The language currently supports metamodel and transformation import and OCL expressions. The QVT language implements the ptc/05-11-01 MOF 2. syntax highlighting. and then to Platform Specific Models (PSMs). StepInto and StepOut features). The Eclipse Debugger for QVT allows you to trace the execution of your QVT code step-by-step. Together Model Transformation Framework relates to EMF and Together models. and error checking. Relations are not supported yet. The XSL Debugger. which allows you to automatically (using Ant tasks) apply multiple MDA transformations to the specified models. Model-To-Model transformations produce the target model and an auxiliary trace file with detailed information about every transformation step performed. run and debug transformations within the project environment. When your transformation is ready. For XSL/OCL transformations. The compiled transformation is deployed within the Eclipse environment as a standard Java plug-in that you can share with users in your team. Currently. The debugger supports breakpoints (including StepOver. The framework implements some of the most important concepts underlying the Meta Object Facility (MOF) 2. Together supports the following transformation types: ♦ Model-To-Model transformation. For Model-To-Model transformations. In the scope of QVT. Transforms a Together or EMF model into an arbitrary text output using an XSL/OCL transformation script. The target model opens in the corresponding model editor. the trace file opens in the Trace view. XSL structure outline. Together models are accessible via an EMF API implemented as a set of lightweight wrappers placed around Together model elements. ♦ Composite transformation is the Ant-based MDA transformation. 102 . you can transform your Computation Independent Models (CIMs) into Platform Independent Models (PIMs). run and debug transformations. you can apply it to models or model elements. StepInto. you develop the transformation in the context of the MDA Transformation project. which runs in the XSL/OCL Debugging perspective. model transformation relates to MOF models. The framework comes with a set of tools that helps you write.0 Queries/Views/Transformations (QVT) specification and is based on the Eclipse Modeling Framework (EMF). you can generate code from your PSMs. the QVT Editor provides basic QVT editing features (including code sensitive editing. By using QVT Model-To-Model transformations. By using Model-To-Text and XSL/OCL transformations. In Together. Transforms a Together or EMF model into another Together or EMF model. StepOut and StepReturn features). and in the specified order. XSL uses the XPath language. Together also provides a number of sample projects for each type of transformation. syntax checking and highlighting). The Trace view allows you to inspect the result of your transformation when it is completed. The framework provides an imperative QVT language for defining mappings between models and a transformation engine for interpreting the mapping definitions and queries. you can create transformation chains. transformation script. watches.Model Transformation Support Together provides a complete set of Model Driven Architecture (MDA) capabilities based on the specially developed Together Model Transformation Framework (TMF). For Model-ToModel transformations. You can create. ♦ Model-To-Text transformation. where the output model of the preceding transformation is passed (via Ant properties) to the input of the next transformation in the chain. supports breakpoints (including StepOver.

Related Procedures Creating an MDA Transformation Project Creating a Model-To-Model Transformation Creating Model-To-Text Transformations Creating an XSL Transformation Creating an Example MDA Transformation Project Related Reference MDA Example Projects 103 .

Stereotype Describes the stereotype element in the Profile Definition project. Extension Link Describes the Extension link element in the Profile Definition project.UML Profiles Together includes several pre-installed profiles and allows you to create your own profile definitions using Profile Definition project. Supported Metamodels Provides a list of metamodels supported in Together. Contribution Link Describes the Contribution link element in the Profile Definition project. In This Section UML Profiles Basics Provides an overview of UML profiles. 104 . Profile Definition Project Provides an overview of Profile Definition project in Together. Palette Contribution Describes the stereotype element in the Profile Definition project.

While the general modeling concepts of UML are quite suitable for the majority of developers. tagged values. constraints. The UML standard provides refinement mechanisms for profile creation. These elements can be used to adapt the UML semantics without changing the UML metamodel. and notation icons that collectively specialize and tailor the UML for a specific domain or process. such as stereotypes. a further extension of these concepts is useful to allow a more refined rendering of domain-specific concepts and techniques. visualizing. This technique is known as UML Profiling. and documenting the artifacts of software systems. constructing. UML extension mechanisms address the definition of additional semantics of model elements that cannot be expressed directly using UML constructs. in some situations. Related Concepts Stereotype 105 .UML Profiles Basics UML is a standard modeling language for specifying. This means that you can interpret the semantics of a profile in the context of the UML specification. as well as for business modeling and other non-software systems. All kinds of model elements can get stereotypes and tagged values that are defined in the profile applied to the model. Profiles provide mechanisms that allow metaclasses from existing metamodels to be extended so they can be adapted for different purposes.

Profile Definition Project A Profile Definition project is a profiled modeling project that allows you to create new profile definitions. you can put all enumerations to one package. Inside the Profile Definition project you can use some packages to locate different elements. all palette contributions to another package. For example. Note: Metaclasses referenced in a profile must be taken from the corresponding target UML metamodel that was selected when creating the project. and all stereotypes to a third one. One Profile Definition project corresponds to a single profile. All the elements will be deployed to the same profile. Related Concepts Interoperability and Migration Related Procedures Together Profiles Related Reference EMF API for Together Profiles 106 . The Profile Definition adds the following elements to the class diagram Tools Palette: ♦ Stereotype ♦ Palette Contribution ♦ Extension ♦ Contribution Tip: Stereotype and Palette Contribution elements are also added to the diagram context menu: New Profile Definition.

Related Concepts Interoperability and Migration Related Procedures Together Profiles Related Reference EMF API for Together Profiles 107 .Supported Metamodels In Together. tagged values and OCL constraints declared in the profile must refer to the selected metamodel.0 Stereotypes.4 ♦ UML 2. you can create profiles to extend the following metamodels: ♦ BPMN ♦ ER Physical ♦ UML 1.

it gets the attributes (tagged values) of the stereotype in question. some side effects should be noted. If a Boolean property is set to true as the default value in a profile definition and a user sets an instance value to false. after profile deployment. the new element will not appear in any toolbar. ♦ If. that the child stereotype inherits extensions from the parent stereotype and the parent viewmap (unless the child stereotype defines its own viewmap). ♦ If a profile defines attributes with a default value for a given type that is different from the default value in the underlying implementation. defined for this stereotype in the profile definition. instance values changed to empty/null will not be persisted and will likewise be interpreted as the default value when read back in. Note ♦ A stereotype has the extended metaclass property. For multiplicity values other than 1 or 0 to 1. its value is not persisted but interpreted as the default value (true) when read back in. In this case. Metaclass. the multivalued attributes are created. Similarly. its name and multiplicity properties have specific uses. the default value for a Boolean property is false and is not persisted in the model instance. which is defined in the Profile Definition node of the ♦ An abstract metaclass can be chosen as an extended metaclass. Properties View. For example. ♦ A stereotype can extend another stereotype via Generalization and inherit its attributes and viewmap. ♦ Tagged values of a stereotype can be defined in two ways: as attributes of the valid types and as association links drawn from a stereotype element to the valid attribute types. The following important issues should be taken into consideration: ♦ A stereotype is created as a Class20 element in your project with the <stereotype> tag. If the supplier role is not defined. Enumeration. A model element that has a stereotype is a special kind of element that conforms to a rigid specification. ♦ The following types of attributes (tagged values) of a stereotype are valid: Primitive. an element belonging to the type of the extended metaclass is used in the target Related Procedures Creating Stereotypes 108 .Stereotype A stereotype contains properties that extend a linked metaclass. the association name is used instead. ♦ A stereotype extends a metaclass through an Extension link. ♦ When an instance of a stereotype is created in the target diagram. Attributes of all the other types are ignored during deployment. ♦ If a tagged value of a stereotype is defined as an outgoing association. but all the elements of the child metaclasses will get this stereotype in the list of predefined stereotypes.or domain-specific terminology or notation in addition to the ones used for the extended metaclass. The name property is set to the supplier role of the association link. diagram. the extending stereotypes are added to the list of predefined stereotypes for this metaclass. and enables the use of platform.

contributed stereotypes and pure metaclasses. A contributed stereotype is associated to a Palette Contribution by means of a Contribution link.Palette Contribution A Palette Contribution enables you to add creation tools for stereotypes and pure metaclasses to the selected Diagram Tools Palette. It is also possible to associate a Palette Contribution with a shortcut to a metaclass from the metamodel. A Palette Contribution can extend another Palette Contribution. This allows you to customize the palette by adding some elements to the tool bars of different diagrams. if you want to have the ability to create classes from the component20 diagram toolbar. Related Procedures Creating Palette Contributions 109 . the child Palette Contribution inherits all the parent diagrams. you can associate the shortcut to uml20::classes::Class with a Palette Contribution in your profile definition. For example. when this is done.

Extension Link An extension link indicates that the properties of a parent metaclass are extended with the new properties through a stereotype. An extension link is drawn from a stereotype to a metaclass shortcut whose properties are extended. 110 .

Contribution Link A contribution link connects a Palette Contribution element with a Stereotype. 111 .

2. Note: Because WebLogic 8.1 supports the EJB 2. Related Concepts UML Profiles Basics Profile Definition Project 112 .Modeling for EJB The Enterprise JavaBeans (EJB) architecture is a component architecture for the development and deployment of component-based distributed business applications.1) simultaneously. BEA WebLogic) Using Together. Provides some additional elements. do not enable WebLogic and EJB Standard profile (ver.0 specification. Also changes properties of some other elements to generate deployment descriptors that are compatible with BEA WebLogic 8. Together is shipped with EJB profiles that allow you to create a specific UML model for EJB. Also changes properties of some standard elements to comply with EJB version 2. EJB modeling can be thought of as a three-stage process: 1 2 3 Modeling in UML using the EJB profile Generating Deployment descriptors while exporting to the Java project Editing the Java project and deploying it to the application server (for example.1. This profile should always be selected for any work with EJB because it contains the basic EJB elements. Together provides the following EJB Profiles: Profile Name Standard EJB Description Using the Standard EJB profile you can generate deployment descriptors that are EJB 2. you can create an EJB model and export it to the Java project.1) Weblogic EJB Extension Provides WebLogic specific elements.1.0 compatible. Standard EJB (ver 2.

In a two-way compare. When comparing shared models. Together copies your local model to a temporary project. objects are matched using ID features that you set in the ID Features page of the Preferences dialog box (Window Preferences Modeling EMF Model Compare ID Features). instead of the standard Compare editor. In a three-way compare. On each level. Model Compare/Merge traverses the compared models. and Together uses a modal Model Compare dialog box. It represents a common ancestor version of the two versions taken from VCS. or model elements of the similar type in a tree view. Temporary models are read-only. Together utilizes standard Eclipse synchronization APIs and is able to compare models stored in any version control system that supports the Eclipse Synchronize view. then applies changes reported by the repository provider. Comparing and merging shared models requires one (for two-way comparison) or two (for three-way comparison) remote versions of the compared model. EMF and UML Models Compare Together supports two-way and three-way comparison of EMF or UML models. Merging Models The merging capability enables you to transfer elements from one model to another. You can export the compare results to an EMF XMI file. Model Compare/Merge compares values of attributes and non-containment references. the Left model represents the local version while the Right model represents the remote version. Shared Models Compare Together provides integration with version control systems and allows two-way and three-way comparison and merge of shared (version controlled) models.Model Compare and Merge Together provides a comprehensive solution for comparing and merging models in your project. Related Procedures Comparing and Merging Models Related Reference Model Compare/Merge 113 . the compared models are called Left and Right. going level by level down the containment tree. and then displays these changes in the Synchronize view. After that. the third model is called Ancestor.

generics are enabled by means of a special setting in the Project Properties dialog. A templateable element may contain a template signature which specifies the formal template parameters. Consider the following example: template<class T> Class A. In the Properties View of a template element. this possibility is enabled by default. A<int> *a // on the diagram A<int> will display an entity as a specialization of a template A for the type <int> A<float> *f // displays another entity for the floating type Related Procedures Creating Template Elements 114 . For C++ projects. A templateable element that contains a template signature is a template. Together supports generic language constructs that describe specialization of templates for a certain type. A template binding represents a relationship between a templateable element and a template. Such constructs display in a diagram as special entities.Template Elements and Generics Overview Template elements Together supports templates. Generics In the LiveSource projects. // defines a template A with the parameter type T class B. A template signature displays in a diagram as a rectangle in the top-right corner of the owing element. and template bindings in the UML 2.0 superstructure specification. the isTemplate property is set to true. as defined in the UML 2. parameters. template signature. This support provides the ability to show templates.0 diagram. A template binding specifies the substitutions of actual parameters for the formal parameters of the template. for Java projects.

and . The result in each case is a single. XMI (XML Metadata Interchange) enables the exchange of metadata information. portable .4 (OMG) • XMI for UML 2. if you have a modeling project created with a tool other than Together.mdx file. Together enables you to create projects around an IBM® Rational® XDE . In addition. Likewise.cat. recommended for TCC) when exporting a Together project to be used in Together ControlCenter. Together supports the following UML versions/platforms: • XMI for UML 1.3 (Unisys Extension) • XMI for UML 1. you can import it to Together as an XMI file for extension or as the basis of a new project.uml2 extension.3 (with Unisys Extension.3 (with Unisys Extension recommended for Together ControlCenter) • XMI for UML 1.3 (with Unisys Extension recommended for Rose) • XMI for UML 1.0 compliant with OMG standard (XMI created without usage of some non-OMG-standard tags such as eAnnotations) To import a project from Together ControlCenter.sub.mdl. or by sharing project files: Feature Description Exporting diagrams to images You can save diagrams in several formats. . The models are exchanged via files with an . The following file formats are supported: .3 (Unisys and Together Extensions) and then import it into Together. XMI for UML 2.ptl.0 specification. Using XMI. first use Together ControlCenter and export the project to UML 1. For example. you can export Together projects for use in other applications. XMI 115 . always use XMI for UML 1.xml file.0 was introduced in IBM® Rational® Software Architect and allows you to exchange models that comply with UML 2. including: Bitmap image (BMP) Enhanced windows metafile (EMF) Graphics interchange (GIF) JPEG file interchange (JPG) Importing IBM Rational Rose (MDL) models Importing from MDX Importing from XMI Exporting to XMI Scalable Vector Graphics (SVG) It is possible to convert models designed in IBM Rational Rose 2003 to the format of Together.Model Import and Export Overview You can share model information with other systems by importing and exporting model information. For import and export.0 • XMI for UML 2. you can exchange models across languages and applications. .

Importing from other versions of Together Sharing with other versions of Together export and import makes it possible to reuse multi-root projects. TVS projects and projects created in Together Editions prior to version 7. Related Concepts Together Interoperability and Migration Related Procedures Exporting a Diagram to an Image Importing a Project in IBM Rational Rose (MDL) Format Importing a Project in an IBM Rational Rose MDX Model Importing a Project in XMI Format Exporting a Project to XMI Format XMI Export and Import of the Models with Cross-Project References Creating a Metrics Chart 116 . This feature is known as interoperability.0 cannot be imported to Together. Export a Quality Assurance metric chart to image Create a chart and then export it to image. You can reuse models created in other editions and versions of Borland Together.

OCL Support This section provides an overview of OCL in Together. 117 . OCL Constraints and Expressions Describes OCL constraints and expressions in Together. OCL on Non-Class Diagrams Describes OCL usage for non-class diagrams. In This Section About OCL Support in Together This topic describes support for Object Constraint Language.

About OCL The Object Constraint Language (OCL) is a formal language that describes expressions on UML models.kent.conditions of a StateMachine.0 Object constraints. and code completion functionality. See http://www. Interaction (Sequence and Communication) 2. Pre. These elements are realized as inner constraints available via element's Properties.0 Guard conditions of transitions as OCL expressions. OCL expressions specify operations or actions that.uk/projects/ocl/ Supported Diagram Types OCL supports the diagrams listed in the following table. UML modelers also can use OCL to specify queries on the UML model. Note: Portions of this product include the Object Constraint Language Library.conditions for activity. alter the state of the system.0 specification. United Kingdom. providing them as constraint notes linked to the context elements on the diagram. write and run Model Audits and Metrics. ♦ Use OCL as a query language operating with types defined in the metamodel. 118 . Diagram types with OCL support Diagram type UML version Support provided All diagram types 2. The constraint text opens in a powerful editor that provides syntax highlighting. Together allows you to use all the capabilities of OCL 2.and post.0 Pre. Activity 2. and a StateInvariant for a State.condition for the Interaction.and post.cs.0 State Machine 2. which are completely programming language independent. errors validation. These elements are realized as inner constraint elements available via element's Properties.0 to work with your model: ♦ Add the OCL constraints to the types defined in your model. and use OCL expressions in the documentation templates for the documentation generator.About OCL Support in Together This topic describes support for Object Constraint Language. refer to the OCL 2.and postconditions for an action.and post. ♦ Generate Java code from your model. local pre. The default language of constraints depends on the context element type and project type. For more information about OCL. UML modelers can use OCL to specify application-specific constraints in their models. optionally generating the code for OCL expressions used in the model. State invariant constraints for lifelines and constraints for the operands of the combined fragments as OCL expressions. Pre. courtesy of Kent University.ac. when executed. You can perform a Search In Model by OCL query.

Related Concepts UML Modeling Overview Related Procedures Together Object Constraint Language (OCL) Related Reference Diagram View EMF API for Together Profiles 119 .

Related Concepts UML Modeling Overview Related Procedures Together Object Constraint Language (OCL) Related Reference Diagram View 120 . OCL is a formal language used to describe expressions on UML models. Any OCL constraint contains an OCL expression.OCL Constraints and Expressions As the OMG's specification describes it. and link these constraints with the desired context. The OCL Expressions view provides an OCL editor that lets you develop and validate OCL expressions. These expressions typically specify invariant conditions that must hold for the system being modeled or queries over objects described in a model. The text of the constraint is validated when the constraint is linked to its context. The buttons on the diagram Palette allow you to create OCL constraints as design elements on diagrams. OCL support for constraints provides syntax and error highlighting in the OCL Editor view.

Inner constraints The following properties are defined by creating nested constraints inside the elements. Operation selected as a Specification association of this StateMachine (a class is selected for the context property and specification is a method of the selected class). ♦ guard in transition/internal transition ♦ precondition and postcondition in StateMachine. Constraint Context Element with defined constraint StateMachine Correct context for the constraint. Operation Operation itself. Activity Specification of the activity. and ownedRule in Operation The OCL editor is available for the constraints inside the elements. You can expand the element node in the Model Navigator and open a constraint in the editor. 121 . Operations owned by other classifiers get no OCL context. Action Specification of the activity that contains this action. State invariant and Interaction constraint Class selected as type of the Lifeline that contains this element. Activity. and their constraints should have text as a constraint language. precondition. Tip: For the properties of elements that can have class as their context. Extends Context cannot be specified and constraint can only be defined as text (language=text). It can be either a class directly selected as the type of the Lifeline or part selected as the Lifeline representation. Note that the operation has a valid OCL context only if it is owned by Class or Interface. Generally. errors validation and code completion functionality. the OCL context is set automatically. Interaction Context of this Interaction or Specification if it is defined. Interaction ♦ local precondition and local postcondition in Action ♦ state invariant in State ♦ Condition in Extends on a Use Case diagram ♦ state invariant and Interaction constraint on a Sequence diagram ♦ body. postcondition. each property is a property tab that contains two properties—language (OCL/text) and body (constraint body). State and Transition Class selected in the context property of the StateMachine that contains this State or Transition.OCL on Non-Class Diagrams Constraints on non-class diagrams fall into two categories: ♦ Inner constraints ♦ External constraints The OCL editor provides syntax highlighting.

Thus. the StateMachine constraints may have the context of the assigned specification if it is an inner precondition. External constraints In addition to the inner constraints described above. Unlike inner constraints. the external constraints always use the linked type as a context. Related Concepts UML Modeling Overview Related Procedures Together Object Constraint Language (OCL) Related Reference Diagram View 122 . An external constraint is created as a Constraint element linked to the constrained element by the context link. or the context of the StateMachine itself if it is the external linked constraint.Tip: If a context for a constraint with language=ocl is not specified or cannot be specified. all the elements on the non-class diagrams that are Types (various classifiers) can be furnished with external OCL constraints. such constraints are shown as invalid.

Patterns and Templates This section describes patterns and templates in Together. Pattern recognition Describes how pattern recognition works. Templates Describes code templates in Together. 123 . In This Section Patterns and Templates Overview Overview of patterns and templates in Together. Pattern Definition Project Describes a pattern definition project in Together.

concrete patterns are designed to work with elements of a specific type. the model can change (some elements from the instance may be deleted. you can use the predefined patterns supplied with Together. When applied to a diagram. You can use them to create or modify any type of element. with the links to the created entities. During the lifetime of the pattern instance. Patterns. are independent of any programming or markup language. Rather than trying to tackle each design problem from the very outset. Such patterns enable further modification by means of adding new participants (new pattern part). 124 . Actions on pattern instances in the model are the same as in pattern explorer. and a properties file that contains macro descriptions and their default values. relations between them. such patterns create their entities and are presented on the diagram itself. pattern instances are displayed as ovals (like collaboration occurrences).Patterns and Templates Overview Patterns provide software developers with powerful reuse facilities. Visually. A code template consists of a template file containing source code. others may be changed so that they no longer satisfy the pattern definition) and the pattern instance can become invalid. Pattern entities have children links to pattern participants. This is why you need to perform pattern instance validation regularly. and constraints applied to those elements. Use Pattern Registry to manage patterns. code templates can be regarded as forms ready for "filling in" for a specific instance. Patterns and templates are pluggable extensions for Together enabling you to: ♦ Create new and frequently used elements ♦ Modify existing elements ♦ Implement source code constructions and solutions in your project. However. in general. Patterns are represented by special modeling projects covering all the aspects of patterns. which allow viewmap links on diagrams from pattern instances to pattern participants. Note: Together is shipped with some predefined patterns that cannot be deleted or otherwise edited. Templates in Together are mostly used in Java Modeling projects. You can manage and logically arrange your patterns using the Pattern Organizer. The hierarchy of patterns is defined in the Pattern Registry. They are shown in the Pattern Explorer view and under the Patterns node in the Model Navigator. Therefore. Code templates are text files with the extension specific for Java that use macros to be substituted with real values when the templates are applied. You can use your legacy source code templates to create elements in the source-code projects. Pattern instances Pattern instances appear as a result of recognition of the existing model or creating new instances (along with model elements playing pattern roles) in the model. All patterns that appear in the Pattern Explorer are represented in the project model in the form of entities with metaclass “pattern”. Code templates Together supports code templates to provide backward compatibility with previous versions of Together. Patterns Each pattern describes of a set of model elements. Pattern instances contain information about the pattern name and the role of each participant.

Related Concepts Pattern Definition Project Templates Related Procedures Patterns and Templates Related Reference Patterns and Templates Pattern Registry Pattern Explorer 125 .

you can easily work with patterns via pattern definitions. Pattern definitions contain compilation results suitable for recognition and completion engines and for the whole definition project so that definition editing can be done. Is configurable (Boolean) — When set to true. You can easily view and modify properties of pattern instances using the standard Properties view. predefined patterns. This property should be false if Use for generation property is set to false. A pattern definition project is a profiled UML 2. indicates that by using the “create by pattern” wizard. able to connect instance specifications) ♦ Constraints ♦ Value specifications ♦ Pattern constraint links (derived from a Binary link class. All pattern definitions are stored in the com. Using Together.borlang. you can manage pattern instances by recognizing patterns in an existing model. and so on. the creation process uses participants from your current selection and enables you to modify the pattern properties. Related Procedures Creating Pattern Definition Related Reference Create Pattern from Elements 126 .0 modeling project with the following modifications that distinguish it from a pure UML 2.patterns\patterns subfolder of the Together plugins folder. You can use well-known. ♦ Class diagram—patternPartWizardDefinition (Boolean) — When set to true. the new “create pattern part” wizard will be generated for the instances of this pattern. aimed to define constraint parameters) ♦ Class diagrams ♦ All other elements are prohibited The following extensions are added to the allowed metaclasses: ♦ Instance Specification—able to aggregate pattern definition links. creating new participants for particular roles for an existing pattern instance.tg. You can also define new ones and delete.Pattern Definition Project Using a pattern support subsystem in Together. rename. the user can modify the value of this property to be set on element creation.registry file in the same location. Any change that you make to a pattern property applies immediately to the pattern participants (via refactoring). ♦ Constraint—able to aggregate pattern constraint link. When you create new pattern instances from existing project elements. Folder and shortcuts structure are stored in the pattern. creating elements by pattern. Each pattern definition is an archive file packed by zip utilities provided by the Java Development Kit (JDK). The following elements are allowed in a pattern definition project: ♦ Instance specifications ♦ Slots ♦ Pattern definition links (derived from a Kernel Association class. or edit existing ones. Use for generation (Boolean) — Controls whether to set this property on creating elements by pattern.0 project. ♦ Slot—the following new properties are added: Use for recognition (Boolean) — Controls whether to use this property on recognition.

validation. The identification process determines pattern participants and parameters. and problem reporting. You can start the pattern recognition process from the project's context menu to perform pattern recognition.Pattern recognition Pattern recognition identifies pattern instances from existing elements in the project. Related Procedures Recognizing Patterns 127 .

or transform existing code. or create new ones. The template source contains a template-specific specification of elements and constructions that are applied on the target elements. The wizard analyzes the selection and extracts imports. For example. The template source is then associated with the new template instance. A template instance operates on existing elements using an associated template source. 128 . insert code. fields. It then creates the template source. methods. and methods from the selection. which also gives you the ability to manage existing template instances. fields. Template instances are managed by the template manager. For example. and inner-types that are created when the template is applied to a target Java class. an instance of the Java class template uses its template source to specify imports. You can create new template instances using the template wizard. The current selection of elements is analyzed and then an appropriate template source is created using the data from the selected elements. you can create a new Java class template from an existing class. There are several different types of templates: ♦ Package: For modifying/creating specific groups of classes and members ♦ Class: For modifying existing classes or creating a new class ♦ Link: For modifying existing links or creating a new links on the Class diagram You can use template extensions to create template instances.Templates A template allows you to quickly and automatically create code.

the team should understand what is measured. Model Audits Describes model audits in Together. Exporting and Importing Audits and Metrics Introduces import and export of audits and metrics. Model Metrics Describes model metrics in Together. and why. Together provides different features for interpreting and organizing the results. In This Section Code Audits Describes code audits in Together. they serve different purposes. Although audits and metrics are similar in that they both analyze your project. Metrics Graphical Representation Describes Bar graph and Kiviat chart representation of metrics. Because the results of these two processes are different in nature. 129 . Audits and metrics are run as separate processes. Code Metrics Describes code metrics in Together.Quality Assurance Quality Assurance in Together provides teams and managers with measures of the quality of their project. As with any Quality Control.

however. and reuse sets of audits to run. along with descriptions of what each audit looks for and how to fix violations. in which the package of the class is deemed inappropriate because of the dependency between the class and a different package. For some audits.Code Audits Together provides a wide variety of audits. Together uses one or more of detection metrics to analyze the code to determine audit violations. attributes and methods. which require some code refactoring. line-oriented audits. save. You can create. Problem Detection Audits For most violations. The process of running audits begins with your selecting the specific rules to which your source code should conform. You can examine each violation and decide whether to correct the source code. An example is the Misplaced Class audit. Together ships with a predefined saved audit set and you can create your own custom sets of audits to use. the audit report generated by Together indicates the line of code that causes the violation. Related Concepts Quality Assurance Related Procedures Running Source Code Audits 130 . These are called problem detection audits. For problem detection audits. ranging from design issues to naming conventions. Bad Smell Audits Together includes a group of audits known as "Bad Smell Audits" that detect some issues or convention violations in source code (misplaced classes. such a line number is inappropriate. Together audit reports show problem detection audits along with the other. Together generates an audit report that displays only the violations of those rules. wrong inheritance usage).

” After you run model audits. You can define. The list of available model audits can be viewed in the Preferences dialog box. Related Concepts Quality Assurance OCL Related Procedures Running Model Audits and Metrics Related Reference Model Audits and Metrics Descriptions QA Model 131 . specified in the OCL operations and OCL library operations tabs in the Preferences dialog box. For a description of the predefined model audits provided in Together. Together also contains a set of sample audits (the ideas of most of them are taken from Ambler and Fowler books). refer to “Model Audits and Metrics Descriptions.Model Audits Together supports a wide range of model audits. You can also employ additional OCL operations provided for the Borland metamodel. These audits can be used as examples for custom rules creation. and reuse sets of model audits. the results are displayed in the Model Audits View. save. The view provides detailed descriptions for all found errors and you can navigate to the corresponding problem element from this view by doubleclicking the error message. Model audits are OCL queries that produce Boolean results and that operate in the context of existing metamodels.

Code Metrics Metrics evaluate object model complexity and quantify your code. You can use metrics results that Together generates to determine which code needs to be redesigned. or you can use the results to create reports and compare the overall impact of changes in a project. ranging from lines of code to comment ratio. or they can be used for creating reports and for comparing the overall impact of changes in a project. view the results. It is up to you to examine the results and decide whether they are acceptable. and interpret the findings. you first select which metrics are important for your project. Related Concepts Quality Assurance Related Procedures Running Source Code Metrics 132 . When you run metrics in Together. Together makes it easy to run metrics. Together provides a wide variety of metrics. Metrics results can highlight parts of code that need to be redesigned.

Related Concepts Quality Assurance Related Procedures Running Model Audits and Metrics Using OCL in Model Audits and Metrics Related Reference Model Audits and Metrics Descriptions QA Source 133 .Model Metrics Together supports a wide range of model metrics. Model metrics are OCL queries that produce Integer results and that operate in the context of existing metamodels.” After you run model metrics. refer to “Model Audits and Metrics Descriptions. the results are displayed in the Model Metrics view. save. For a description of the predefined model metrics provided in Together. You can navigate to the corresponding elements listed in the Model Metrics view by double clicking the element name. You can define. specified in the OCL operations and OCL library operations tabs in the Modeling OCL page. The list of available model metrics can be viewed in the Modeling QA Model node of the Preferences dialog box. You can also employ additional OCL operations provided for the Borland metamodel. and reuse sets of model metrics.

♦ Lower limit labels are displayed as counterclockwise directional blue ticks perpendicular to the Kiviat ray. ♦ Blue points represent values below the lower limit. In this way. Use the Kiviat chart for rows and the bar chart for columns. ♦ Green points represent acceptable values. Note that blue shading does not show up in areas of the graph with lower limits of 1 or 0. classes. ♦ Scale marks are displayed as clockwise directional ticks perpendicular to the Kiviat ray. Kiviat Chart The Kiviat chart demonstrates the analysis results of the currently selected class or package for all the metrics that have predefined limiting values. hover your mouse pointer over it to display a popup. limits and values are displayed using the following notation: ♦ Upper limits are represented by a red circle. Any points outside the red circle violate the upper limit. Tip: To see the value of an individual data point on the Kiviat graph.Metrics Graphical Representation Metrics results can also be viewed graphically. The metrics results are arranged along the axes that originate from the center of the graph. Each axis has a logarithmic scale with the logarithmic base being the axis metric upper limit so that all upper limit values are equidistant from the center. and/or operations. ♦ A thin vertical red line represents the upper limit and a thin vertical blue line represents the lower limit. Bar Chart The bar chart displays the results of a selected metric for all packages. ♦ Blue represents values that are lower than the minimal permissible value. Both charts are invoked from the context menu of the table. showing that any points inside the blue area violate the lower limit. ♦ Red points represent values exceeding the upper limit. ♦ The actual metrics show up in the form of a star with metric values drawn as points. ♦ Lower limits are represented by blue shading. 134 . The bar color reflects conformance to the limiting values of the metric in reference: ♦ Green represents values that fall within the permissible range. Two graphic views allow you to summarize metrics results: bar charts and Kiviat charts. ♦ Red represents values that exceed the upper limit.

Related Concepts Quality Assurance Related Procedures Running Source Code Metrics Running Model Audits and Metrics Creating a Metrics Chart 135 .

a default subset is active. These QA sets can be saved to your local file system. Saving them with the project makes them easier to distribute to your team via the version control system (VCS). The C++ and Java QA Source pages of the Preferences dialog box display the set of all available audits and metrics for C++ and Java source code projects respectively.qa extension. Source Code Audits and Metrics Once you identified the QA rules the team needs to use. including a set of named OCL queries on metamodels. Model audits and metrics can be saved to files with . The quality assurance sets are saved with a .Exporting and Importing Audits and Metrics Introduces import and export functionality for audits and metrics. you completely replace your currently defined model audits or metrics. Active audits and metrics are indicated by check marks. and other settings. you can create specific QA Sets for source code audits and metrics in Together.ModelMetrics and . or you can save them in the project. When you open a project. When importing such a file.ModelAudits extensions. You can select necessary audits and metrics and save the selected set for future use. Related Procedures Exporting and Importing Model Audits/Metrics Creating and Using Code QA Sets 136 . Model Audits and Metrics You can import and export model metrics and audits all at once.

Refactoring Overview Together leverages refactoring operations provided by the platform. when classes or operations are renamed by means of refactoring. Refer to JDT documentation for information on Java refactoring and to CDT documentation for information on C++ refactoring. For example. the hyperlinks to the renamed elements are preserved. 137 . the changes propagate to the model. When refactoring is applied to source code. Refactoring is available for the model elements in Together projects by means of context menus.

Traceability is supported via CaliberRM and RequisitePro Integrations for Together. respectively. Related Procedures Opening Requirements Views Creating Traces from Requirements to Model Elements Deleting Traces Creating Requirements Based on Use Case Viewing Element Traces Synchronizing Traces Navigating from Model Elements to Requirements Related Reference Element Traces View Trace Synchronizer View 138 . ♦ Manage traces between requirements and model elements in the Element Traces view. Together provides the following requirements management possibilities: ♦ Create and delete traces between requirements and Together diagram elements.Requirements Management Requirements Management allows you to create and manage traces between Together diagram elements and Borland CaliberRM or Rational RequisitePro requirements. ♦ Create requirements based on use case. You can find more information about working with specific requirements in online help provided with both integrations. ♦ Synchronize traces that are out of date using the Trace Synchronizer view. ♦ Navigate easily between traced elements and related requirements.

The model merge tooling provides a hierarchy comparison of two models with annotations to show what has been added. In case several users edit the model at a time. Overview Together uses a file-based approach to store models. Alternatively. and ClearCase. Therefore.Version Control in Together This topic provides an overview of version control features in Together. Visual team status indicators for items are also displayed in the model navigator. refer to the appropriate program documentation. To enable task-aware features. However. AutoCheckout modeling resource on edit. After modification. they will become unlocked and read-only. They include but are not limited to CVS. You can compare the structure of your models and merge inconsistencies if necessary. some Version Control System features may be not available or may work differently for a given Version Control System. Note: For more information about each version control system. Together supports several version control systems that can be integrated in Eclipse. Each time you try to edit a read-only file that is under version control. which lists all resources that need to be locked.. views. what is missing. views. the model merge does not provide a comparison of changes in the layout. Note: The Together teamwork-related functionality that is provided depends on how well the specific Version Control System integrates with the basic Eclipse team support flow and UI. While editing some model elements. use the following Team options for locking files and managing modeling resources: Path to option Options Preferences Team Star Team File Locking Clear file lock on check-in and Mark unlocked working files read-only Preferences Team Modeling resources This option also exists on a project level. you can revert to the saved version of the model. Your version control system should be set up so that only one user can work with a shared model at a time. StarTeam. and files It is important to be aware of the relationship between models. a dialog box appears suggesting that you lock the file for editing. Models. This provides openness and choice when selecting a version control system to manage your models. By choosing Yes you apply a locking mechanism to the selected resources and they become writable. Version control in Together enables several users to work with one modeling project. or ordering of model elements. Together leverages the functionality provided by the Version Control System client and maps these menus from the file resources level (as provided by the Version Control System provider) to model elements. use the model compare and merge functionality of Together. Task-aware features Task-aware features of Together make it easier to work with modeling resources under version control by automatically finding all the resources that need to be checked out for the modeling resource to be modified. and the files used to store models and views in Together. when you are checking in the files. sizing. To automatically 139 . a lock dialog box appears. and what has been changed.

These integrations are available separately from Borland.txvClassDiagram20 patterns to the ignored resources.24 of StarTeam and may be different for other versions of StarTeam. Note: The Preferences Team Star Team options are for a Version 10.lock files on checkout. Eclipse does not let you automatically check out files in this situation. Note: Together 2008 does not include integrations with version control systems (StarTeam®. check the auto lock check box in the dialog box or use the Lock files on modification in the Preferences Team Star Team File Locking page (this is a StarTeam Eclipse client option). Note: The task-aware feature of Together cannot manage read-only files located inside a Package when this package is moved or renamed. Related Procedures Using Version Control and Teams in Together 140 . ♦ Consult an expert if you need to resolve any merge conflicts. ♦ Consider the version control implications if you rename any diagrams or packages.1. ClearCase).0.txvpck and default. ♦ Do not check in the default package diagram. You can also use the Ignore default package diagrams option to specify that default package diagrams are not stored or synchronized. ♦ Use version control locking at the package level. Together Version Control Recommendations ♦ Use an Eclipse Team Provider. Version control system Eclipse clients are not bundled with the Together installation and must be installed to the same Eclipse instance as Together. ♦ Check in the . This option adds default. Use Navigate to resources on the Team menu to select files for locking and then try to move or rename the package again.txaPackage file.

Related Concepts Documentation Generation Overview Documentation Template Related Procedures Generating HTML Documentation Creating Custom Documentation Template 141 .Project Documentation This part describes the documentation generation facility and documentation template basics.

this is the out folder of your Eclipse workspace. If a report is generated from an Ecore model. or from the command line. Documentation files All the documentation that Together generates is written to a single directory that you specify in the documentation generation dialogs. 142 . from CaliberRM). Documentation generation is available for all types of Together projects. Custom Together templates make it possible to use styles. the domain name is used as the model file extension. as well as the information extracted from the integrated products (for example. Documentation output formats You can generate documentation in one of the following output formats: ♦ RTF ♦ HTML ♦ TXT ♦ PDF ♦ XSL-FO By default. Documentation templates are *. If a report is generated from a domain. Together comes with a set of predefined templates and also lets you create custom documentation templates. the projects provide the source of project-specific data.tpl text files with formatting instructions and tags for the commands. Pattern Definition or Profile Definition projects. documentation is generated in HTML format. Use the generated reports to illustrate your projects with the documentation in one of the available formats. Documentation templates Project reports are created by applying documentation templates to Together projects. The generated documentation can include the results of Audits. The templates contain commands to the documentation generator. Data Modeling. headers and footers from the Word documents. associated with the output format. using the built-in Documentation Template Designer. including Business Process. The generated documentation opens in the appropriate viewer.Documentation Generation Overview Together enables you to create external documentation for the open projects. By default. the top package name is used as the model file extension.

Related Concepts Organization of a Documentation Template Related Procedures Generating HTML Documentation Generating Project Documentation Using Template Generating Project Documentation from Command Line Configuring the Documentation Generation Facility Creating Custom Documentation Template Using Word Documents in Documentation Templates Related Reference Documentation Template Designer 143 .

Documentation Template The documentation generator uses Together projects and templates to produce project reports. its zones. In This Section Documentation Generator Metamodel Documentation Generator makes use of its own metamodel that defines the hierarchy of metatypes. 144 . Documentation Template Sections This topic describes sections of a documentation template. sections and controls. Javadoc Link References Together supports Javadoc References (or JDRefs). This part discusses the structure of templates. You can use predefined templates that are delivered with the product. Hyperlinks in Documentation A hypertext link connects a link reference (starting point or source) to a link destination (target). Enable Conditions Enable conditions are Boolean expressions for turning section processing on or off. which are the expressions associated with Javadoc tags. Documentation Template Controls Controls are the items in documentation templates that determine the contents of reports. Multi-frame Documentation Templates This topic describes multi-frame documentation templates structure. Organization of a Documentation Template This topic describes the organization of a documentation template and the correspondence between the elements of a template and the generated output. using the Template designer. or create your own custom templates.

borland.gendoc. MEMBER. It is a textual file that defines the metatypes hierarchy. LINK } </metatype> An element iterator or folder can contain nested element iterators whose type is listed among its contained metatypes. or indirectly through the contained metatypes of one of its contained metatypes. descendant metatypes inherit their properties from parent metatype ♦ excluded_properties: items listed among the properties that are not documented when using the 'all properties' scope in Property iterator ♦ contained_metatypes: metatypes that can be contained by this metatype The name field for each type is always present. The existence of the other fields varies with the type. Properties are defined as follows: property_name = "[name of property localization key]" The remainder of each model definition file contains the metatype definitions. For example. An example of a metatype definition follows: <metatype> name=NODE extends=ELEMENT rwi_entity=node full_name="[gendoc/gen_doc_by_template1/full_name_NODE]” properties = { %package } contained_metatypes = { NODE. an element iterator with a DIAGRAM scope can contain nested element iterators with the following scopes: ♦ hyperlink (inherited from ELEMENT) ♦ diagram reference ♦ diagram ♦ node ♦ link ♦ member (indirectly through the contained metatype.core_8.1.0\templates\MetaModel. These include DocGen-specific properties and others. and the properties of each metatype. The major fields in the definitions are as follows: ♦ name: metatype name ♦ extends: parent metatype ♦ full_name: the name displayed in the Documentation Template Designer ♦ metatype_filter: defines the correspondence between metatype and model element ♦ rwi_entity: the type of the related element in Together API ♦ properties: a list of properties available for this type. The beginning of each model definition file lists the properties that DocGen knows. how metatypes correspond to the model elements. the types of elements another element can contain.Documentation Generator Metamodel The Documentation Generator (DocGen) has its own metamodel described in the metamodel plugins \com. NODE) 145 . the contained metatypes of its parent.mm definition file.

package.Element properties are inherited. For example. Related Concepts Organization of a Documentation Template 146 . stereotype. and alias. url (inherited from ELEMENT). documentation. name. An element iterator can contain nested property iterators whose type is inherited from its ancestor or listed directly among its properties. hyperlink. an element iterator with a DIAGRAM scope can contain nested property iterators for the following types of scopes: shapetype. annotation.

indenting each section according to its level in the tree. The scope pane reveals the tree structure. which include commands to the DocGen engine.Organization of a Documentation Template A documentation template is a *. reveals the template structure. Some sections have siblings. The section scope of the body zone corresponds to the root object metatype. and body sections. Headers and footers are at the top and the bottom of the Designer window. Sections that are not nested within any others are children of the root. The scope pane. Body of a template The body of a documentation template is organized into a hierarchy of sections. The report header and the report footer apply only once per document. In this section you will learn about: ♦ Zones of a template ♦ Body of a template. footers. The body zone of a template contains the commands that produce the body of the generated report. Root object metatype Every section in the body of a template has a section scope. Scopes are based on metatypes that correspond to the different types of model elements. Each region in the report corresponds to a section in the template that determines the data for that region and how that data should appear. they are ignored for HTML and text documentation. which is the default root metatype for a new template. Context menus for each zone are different in the scope pane and in the details pane. Page headers and footers apply once per page for RTF documentation. Project reports are created by applying documentation templates to Together projects. The Documentation Template Designer divides templates into five major zones: ♦ Page header ♦ Report header ♦ Body ♦ Report footer ♦ Page footer The zones are horizontal bands that go across two panes. The details pane on the right shows the contents of the zones. 147 . which is on the left. and its representation in a generated report ♦ Root object metatype ♦ Current model elements Zones of a template Documentation templates consist of headers. DocGen builds a report into horizontal regions. The model itself is considered to be a special metatype.tpl text file that contains instructions to the Documentation Generator. Some sections in the body are nested inside others.

Current model element Documentation Generator uses a dynamic current model element to go through a template and access specific project information. processing starts with the first root section. going in a “depth-first” fashion. visiting it along with any of its nested subsections before continuing to the next root section. In other words. DocGen begins its processing with the same current element. Related Concepts Documentation Generation Overview Documentation Template Sections Documentation Template Controls Related Procedures Creating Custom Documentation Template Related Reference Documentation Template Designer Area Properties 148 . For each sibling of a section. This pattern is recursive: visit the sub-tree rooted at a section before going to the next sibling section. The type of the current element is the metatype for the section that the engine is currently processing. The body of a report is created starting from the root element. The value of the current element changes according to when the processing for the section takes place.

If the section execution does not result in output. no documentation is produced. Element property iterators Element property iterators are for looping through the properties of model elements. Folders and iterators. There are six different types of body zone sections: ♦ Static sections ♦ Element iterators ♦ Element property iterators ♦ Folder sections ♦ Calls to stock sections ♦ Calls to template sections Static section Static sections contain the commands to the Documentation Generator for getting project data. You can edit properties of an element iterator. Of all kinds of body sections. choose Package as the metatype. You can edit properties of a static section. Each iterator works over the subtree of the model that is rooted at the current element (the element that starts the iteration). Element property iterators traverse element properties instead of elements. only static sections contain controls for producing actual output. Scope options determine which elements of the model this iterator will document. Refer to the Static section reference for details. which must be consistent with the metatype of the iterator’s parent’s.Documentation Template Sections The body of a newly created template consists of a generic element iterator and a static section nested within. Every new section must be a sibling or a child of an existing section. a new current element is calculated according to the current element of the parent section and the metatype of the iterator. Refer to the Element Iterator reference for details. which cannot directly contain controls. Element iterators can have headers and footers. 149 . If you want an iterator to be able to access an entire model. then the iterator’s headers and footers are ignored. Each element iterator has its own metatype. If no elements are encountered corresponding to the iterator’s metatype. Documentation Generator loops through an element iteration section using each possible new element as the current element for that iteration. It provides a minimal base for constructing the tree of sections. Headers and footers can also contain controls. The properties of an element iterator affect the way a new current element is calculated and how it changes during iterations. Element iterators traverse model elements. In an element iteration section. must have at least one static section nested somewhere within. Element iterators Element iterators provide a way of looping through elements of a model.

You can insert a call to a stock section from any section whose metatype is consistent with the metatype of the stock section. folders are similar to element iterators. Folders inherit their metatypes from their parents. Calls to template sections With a call to a template. Calls to stock sections Stock sections are reusable folders or iterators that reside in the template’s collection of stock sections. Calls to templates make it possible to construct a library for generating documentation for particular model elements (class. actor. Stock sections may contain calls to other stock sections. or call to a stock section or template. such as its iteration scope and sorting. Stock sections are especially convenient for frequently used constructs. If the sections in a folder do not result in output. the current element of the calling template becomes the root element of the called template. and it may have a header or footer. A folder section is described by its properties. and so on). A folder has at least one nested section. Refer to the Folder section reference for details. except that DocGen executes folders only once. You can edit properties of a call to stock section. such as its output style and enable condition. it is the same as if the called stock section were simply embedded at the position of the call. or another property iterator. as well recursive calls to themselves. A property iterator must contain at least one static section. folder. Refer to the Call to template section reference for details. When a template is called. Refer to the Call to stock section reference for details. or property iterator. Refer to the Property Iterator reference for details. DocGen can produce documentation using a different template without terminating the current one. Folders provide a way to put section-level properties on their contents. Folder sections Folder sections group other sections together. use case. When a call to a stock section is processed. They are not shared among different templates. Folders can have headers and footers. The sections nested within a folder must be consistent with its metatype. folder section. You can edit the properties of a call to a template section. A property iterator may also contain an element iterator. A calling template can pass additional information to the called template through template parameters. 150 . In that sense. A property iterator is described by its properties.A property iterator can reside inside an element iterator. This includes enabling conditions for toggling its processing on and off. then the folder’s headers and footers are ignored.

Related Concepts Documentation Generator Metamodel Related Procedures Creating Custom Documentation Template Creating Sections Related Reference Static Section Properties Element Iterator Properties Property Iterator Properties Folder Section Properties Call to Stock Section Properties 151 .

border. Panel A panel is simply a container for other controls. Documentation Generator. Label properties include the label’s text. and if and how to hyperlink the output. The controls described in this section include: ♦ Label ♦ Image ♦ Panel ♦ Formula ♦ Data ♦ Include Text Label. color. and border). Placing identical labels in a header and a static section results in the same output as long as the header and static section are not skipped. Label A label generates static text that is independent of its containing section. The Data Control dialog box displays a list of every property belonging to the metatype of the current model element. which cannot directly contain controls. and the parameters that will be passed to the controls within the panel. You can set the panel’s background color. You can put an image control in a static section to include an image of a diagram in the generated document. The text does not depend on the metatype of the section or where the section belongs in the template. Folders and iterators. and style. Data Controls Data controls provide the major mechanism of placing data from a project into a report. panels. the actual data are obtained from the current model element. When you insert a new control. only static sections contain controls for producing actual output. 152 . Image. an image can be external to the project or it can be a project diagram. will create an image only if the current model element represents a model diagram. Image Depending on its type. and Panel Controls The simplest kinds of controls are labels. When a data control is processed. the Documentation Template Designer displays a dialog box for setting the control’s properties. while processing the section. You can change the properties of a control after it is created. style (font. and images.Documentation Template Controls Of the six kinds of body sections. must have at least one static section nested somewhere within. The template shows each control as a shaded rectangle in the details pane. Panels are convenient for grouping controls together to provide a uniform style and precise alignment. The source of information for a data control can be one of the following: Element Property A property of the current element. Headers and footers can also contain controls.

DG variables. Document Field A field of the report such as page number or bookmark. The expression can be a combination of string literals. and template parameters. DG variables include items such as current element. OCL functions and legacy RWI functions in the section Documentation Generator and Template Designer Reference.name) Example 2 From a section with a generic class metatype. Both formula controls and text controls rely on such formulas. The syntax depends on the selected formula type. Formula controls A formula is an expression that Documentation Generator can evaluate to a string.interface then 'Interface' else 'Class' endif 153 . as shown in the following table. + for string concatenation -> for calls to functions via pointers OCL OCL The following examples demonstrate the usage of formulae expressions for the different formulae types. Formula and Text Controls Formulae provide a way to place data into a report that DocGen calculates when it processes the control. You can select Document Field to insert page numbers and number of pages into page headers or footers. "Interface". put Interface in the report if the current element is an interface and put Class if it is not. Example 1: From a section with a class metatype. The Document Field list is empty for report headers and footers. the date and time. You must enter the formula that DocGen evaluates to calculate that output. Supported formulae type Syntax Legacy single quotes for string literals. Find the complete list of DG variables. You can use this in report headers or footers to insert the project name or the date and time the report is created. put Package followed by the name of the containing package into the report: Syntax Formulae expression Legacy "Package " + getContainingPackage() -> getProperty("$name") context uml14::kernel::classes::Class OCL 'Package '.getContainingPackage(). and OCL or legacy RWI functions. Syntax Formulae expression Legacy if (hasProperty("$interface").concat(self. "Class") context uml14::kernel::classes::Class OCL if self. DG variables are special variables that are available to DocGen at runtime when it is producing a report.Generator’s Variable A variable used by DocGen. Supported formula types are Legacy and OCL.

When you insert an Include Text control.Include Text controls Include Text controls are used for copying text from other files into a template. or it can use a formula as described above. The expression can be hard-coded as a string literal. Include Text controls have formatting properties identical to those for formula and label controls. you must enter an expression for the location of the text file. Related Concepts Documentation Template Sections Hyperlinks in Documentation Related Procedures Creating Controls Hyperlinking Documentation Related Reference Control Properties 154 .

Multi-frame HTML documentation consists of two kinds of HTML files: ♦ A collection of HTML files to define the content for each frame ♦ A frameset file to specify the layout of frames A frameset template consists of two major parts. It is the starting point of the generated documentation. The root element for the called template is the current model element of the calling template. Calls to template sections replace static sections to produce the actual output. However. The section properties of a call to template determine how the output for a template call can be used. After the body of the frameset template has completed processing. The other part. the Documentation Generator produces the special HTML frameset file. A frameset template body can contain any number of iteration sections (element iterators and property iterators). One part describes the frameset file that can be defined through the template properties. contains calls to the templates that provide the contents of the frames. static sections and headers and footers for folder sections and iterators are prohibited. The Documentation Generator begins processing a frameset template at its body. After the called template's processing is completed. The name of the frameset file matches the name of the frameset template. When it encounters a call to a template section. With multiframe HTML documentation. which is the body of the frameset template. This file corresponds to the frameset structure specified in the template properties. the engine suspends the current template execution. folder sections.Multi-frame Documentation Templates Multi-frame HTML documentation divides project reports into frames to give multiple views within the same browser window. and stock section calls. it produces the frameset HTML file and the separate HTML files for the frame content. The body of a frameset template is similar to the body of an ordinary document template. the Documentation Generator resumes executing the calling template. calls to template sections typically generate separate files that can be loaded into a frame of the resulting HTML project documentation. loads the called template. When the Documentation Generator processes a frameset template. and processes it to produce a separate HTML document. Related Concepts Documentation Generation Overview Related Procedures A Typical Scenario of Creating a Template for Multi-Frame Documentation Related Reference Frameset Template Properties 155 .

Link references in multi-frame documentation can have multiple targets. and footers. Link targets are properties of static sections. there could be a different HTML document that simply lists all classes in the package. Clicking on this element could load the image of the package diagram in one frame and the main (textual) documentation for the package in another. For example. Documentation templates have facilities for inserting anchors at the “main documentation” of model elements. For example. The link destination is a file (usually an HTML document or an anchor in an HTML document). Such link references are named compound. Clicking the package on a diagram (or in some more general text) could load that listing document in the navigation frame. Any generated output that contains an anchor or bookmark can be a link target. headers. Related Procedures Hyperlinking Documentation Related Reference Control Properties 156 .Hyperlinks in Documentation A hypertext link connects a link reference (starting point or source) to a link destination (target). Link references are properties of controls. The link reference is a text or image in the HTML document. Document templates support both references and targets. If this listing document were in a separate “navigation” pane. suppose a diagram element represents a package. The Documentation Template Designer enables you to target different documentation locations generated by the same model element. it would serve as an index for the package. It is occasionally necessary to provide link references to several different documents (or locations in HTML files) created with the same model element. along with the main documentation file created for a package. Clicking on such a reference could simultaneously load two different documents in two different frames.

The Documentation Generator can convert JDRefs into real hypertext links. A text reference is simply information that A JDRef appears in one of two forms: ♦ inside {@link} tags embedded in documentation text.class#member is the referenced model element and label is optional text to be displayed with the link. Each JDRef should conform to the rules described in the standard Javadoc documentation. The Documentation Template Designer provides conversions for both cases. There are three types of Javadoc references. the name of the referenced element is displayed. where package. class. The general form of an element reference is package. You can use them to create link references inside documentation text ({@link}) as well as with some other documenting tags. ♦ URL reference represents a link to a relative or absolute URL. or package). Related Procedures Creating Javadoc Link References (Advanced) Related Reference Control Properties 157 . (If label is omitted. You need to specify the conversion in the properties of the control. The general form of an URL reference is <a ♦ Text reference has the form "string" (a text string in double-quotes). href="URL#value">label</a> does not represent a hyperlink.class#member label.Javadoc Link References Javadoc References (or JDRefs) are the expressions associated with Javadoc tags such as {@link} and @see. ♦ An element reference refers to an element of the model (such as method.) The Documentation Generator can convert each element reference into a hyperlink to the main documentation of the element. ♦ as the value of some Javadoc element’s properties such as see. The JDRef is the value of the $doc property and other Javadoc element’s properties.

Enable Conditions Enable conditions are Boolean expressions for turning section processing on or off. Enable conditions typically have subexpressions that are calls to special DG functions returning DG options and template parameters.getContainingNode(). (See the list of DG functions and variables in the Documentation Generator and Template Designer Reference. The following table shows two examples of the enable conditions in the Legacy and OCL notation: Legacy OCL getDGVariable('reportScope') != 'current_diagram' context OclAny getDGVariable('reportScope') <> 'current_diagram' getContainingNode() -> hasProperty ("$interface") context uml::kernel::Element self. The results can be joined together with logical operators under the usual precedence rules. An enable condition is evaluated before stepping into this section. so the properties of the metatype of a section are not available to the Documentation Generator at the moment of expression evaluating.oclAsType (uml14::kernel::classes::Class). They are created using the OCL or legacy notation.interface Related Concepts OCL Support Related Procedures Creating Sections Related Reference DG functions in Formulae Expressions Folder Section Properties Static Section Properties 158 .) They can also use the properties of the upper-level section metatype.

Procedures 159 .

Together Business Process Modeling Provides how-to information about Together Business Process Modeling project. Together Projects Provides how-to information on using Together projects. 160 . Patterns and Templates This section provides how-to information on using patterns with Together. and perform history comparison with the earlier versions of the model stored in Version Control Systems (VCS). Diagrams This section describes how to create Together diagrams. Together Quality Assurance This section provides how-to information on using Together Audits and Metrics. generating requirements documentation and more. managing traces. Data Modeling Procedures This section describes how to work with ER diagrams and create logical and physical data models. Together UML 2. Together UML 1. customize their appearance.4 Diagrams Provides how-to information on using Together UML diagrams. and populate diagrams with elements and shortcuts.0 Diagrams Provides how-to information on using Together UML diagrams. Configuring Implementation Projects This part provides how-to information on setting Together preferences and options for the source code projects. Model Driven Architecture This section provides how-to information on using the Together MDA feature. Generating Project Documentation Provides how-to information on using Together Documentation Generation facilities. Together Object Constraint Language (OCL) This section provides how-to information on using Together OCL facilities. Using Version Control and Teams in Together This section describes the use of Version Control Systems (VCS) with Together.Procedures This section provides how-to information for the various areas of software development supported by Together. In This Section Getting Started Procedures This section provides how-to information that will help you start using the product. Together Profiles This section provides how-to information about Profiles in Together. Managing Requirements with Together Provides how-to information on using Together for creating requirements. Comparing and Merging Models Describes how to compare models and model elements with each other.

Interoperability and Migration Provides how-to information on exchanging model information between the various products of the Together product line. 161 .Together Documentation Templates Procedures This section provides how-to information on creating and editing custom documentation templates using the Documentation Template Designer.

Getting Started Procedures This section provides how-to information on configuring Together. and more. Configuring Together Preferences on the Workspace and Diagram Levels How to define Together preferences on the workspace and diagram levels. working with projects. Printing Diagrams Lists the steps for printing diagrams. In This Section Activating Together Capabilities You can use the Preferences or Advanced Capabilities Settings dialogs to enable or disable Together capabilities Adding a Single Model Element to a Diagram How to create a single model element. Opening a Diagram Element in the Source Code Editor How to open a code-generating element in the Source Code Editor. Creating a Browse-Through Sequence of Diagrams How to create a browse-through sequence of diagrams. Bookmarking Model Elements How to bookmark model elements for easy access. Creating a Project How to create a project in Together. 162 . Opening a Diagram How to open an existing diagram in the Diagram Editor. Deleting Elements How to delete an element from a diagram. Choosing a Together Perspective How to choose a Together perspective. Deleting a Diagram How to delete a diagram. Using Drag-and-Drop How to use drag-and-drop. Creating a Simple Link How to create a simple link. Creating a Shortcut How to create a shortcut. Creating a Diagram How to create a diagram in a Together project. Hiding and Showing Model Elements How to hide or show model elements. Selecting Model Elements How to select model elements. Reusing Existing Source Code in Modeling Projects How to use existing source code in modeling projects.

Using Example Projects How to use sample projects in Together. 163 .

4 Related Concepts Together Capabilities Activation 164 . Expand the General item in the tree view and select Capabilities. You can expand categories in the Capabilities tree view to enable or disable specific Together capabilities. or Disable All to disable all Together capabilities settings. To enable or disable individual Together capabilities 1 2 3 Select Window Preferences to display the Preferences dialog. Click the Advanced button to display the Advanced Capabilities Settings dialog. Click OK. Enable All to enable all Together capabilities settings. Expand the General item in the tree view and select Capabilities.Activating Together Capabilities To enable or disable all Together capabilities in a category 1 2 3 Select Window Preferences to display the Preferences dialog. Click OK. You can enable or disable complete categories in the Capabilities area. You can also click Restore Defaults to restore the default Together capabilities settings.

The submenu displays all of the basic elements that can be added to the current diagram and the Shortcuts command. or the diagram node in the Model Navigator. Tip: Alternatively. Related Procedures Adding Multiple Elements to a Diagram Creating a Simple Link 165 . or the New command of the diagram context menu.Adding a Single Model Element to a Diagram You can create a single node element using the diagram Palette. and choose New on the context menu. you can right-click the diagram background in the Diagram Editor . To create a single model element 1 2 Open a target diagram in the Diagram Editor . 3 Click the diagram background in the place where you want to create the new element. Tip: Icons are identified with tooltips. The button stays down. click the icon for the element you want to place on the diagram. On the Palette. This creates the new element and activates the in-place editor for its name.

Bookmarked elements are listed in the Model Bookmarks view. you can use the context menu of the Model Bookmarks view to remove a bookmark. Note: Double-click a bookmark in the Model Bookmarks view to select the element on the diagram. right-click an element on the diagram editor and choose Model Bookmarks Bookmark. Right-click a bookmark and choose either Show in Model Navigator or Select on Diagram. Related Reference Model Bookmarks View 166 .Bookmarking Model Elements Together allows you to bookmark model elements. right-click an element on the diagram editor and choose Model Bookmarks Bookmark Alternatively. Add Remove To navigate to a bookmarked element 1 2 Open the Model Bookmarks view. To add or remove a bookmark 1 2 To add a bookmark. To remove a bookmark.

but you may find it easier to just switch perspectives. Together automatically customizes the interface to provide ready access to only the relevant elements of the interface. and to show only the information in the model that best supports the chosen perspective. Interface elements and/or model information that are not generally relevant to the perspective are hidden. clicking the Take me to the DSL workbench link from the Welcome page displays only the DSL Workbench's default perspectives. choose Window Open Perspective Other. In order to display a list of all the perspectives. check the Show all check box in the Open Perspective dialog box. An additional Confirm Enablement dialog box might appear that requires you to enable any necessary capabilities. Select one of the Together Perspectives from the list and click OK. Related Concepts Together Capabilities Activation Tour of Together Related Procedures Activating Together Capabilities 167 . After you select a perspective. The Select Perspective dialog box opens. You can still access hidden information by changing the relevant configuration options and restoring hidden panes manually. Note: The way you have Together configured influences which perspectives and views you can choose from. To choose a Together Perspective 1 2 On the main menu.Choosing a Together Perspective Together changes the user interface according to how you want to work with Together by providing several perspectives. For example. By default. Together starts with the Modeling perspective.

View management and Print).Configuring Together Preferences on the Workspace and Diagram Levels You can flexibly change configuration of Together. and level of detail on the diagram and workspace levels. View management and Print) on the diagram level. Edit configuration options as required. Edit configuration options as required. To enable configuration changes on the diagram level 1 2 3 4 5 On the main menu. Clear the checkbox Enable diagram-specific settings. Use the Preferences dialog box to tune modeling features to best fit your requirements. Related Reference Together Preferences 168 . Click OK to apply changes and close the dialog window. specify font properties. choose Window Click the desired subcategory. Click the desired subcategory (Diagram. Layout. Preferences. Click OK to apply changes and close the dialog window. expand the Modeling category. Set the checkbox Enable diagram-specific settings. Layout. The Preferences dialog window provides a number of diagram customization settings. In the Preferences dialog window. member format. To configure Together settings on the workspace level 1 2 3 4 5 On the main menu. Click OK to apply changes and close the dialog window. choose Diagram Preferences. You can configure the appearance and layout of the diagrams. To disable configuration changes on the diagram level 1 2 3 On the main menu. choose Diagram Preferences. You can configure certain diagram-specific options (Diagram.

or you can link from key use cases or actors to the next diagram. Repeat steps 3–5 for all parts of your sequence.0 Use Case Diagrams 169 . Optionally. Related Concepts Model Hyperlinking Overview Related Reference UML 1. Select the source model element. The titles of source and destination model elements turn blue.Creating a Browse-Through Sequence of Diagrams You can link entire diagrams at one level of detail to the next diagram up or down in a sequence of increasing granularity. Open the destination diagram. Tip: It is recommended that you use some common approach for all links in your sequence. To create a browse-through sequence 1 2 Open the main diagram of the sequence you are going to create. create hyperlinks in the reverse motion.4 Use Case Diagrams UML 2. or right-click the diagram background to link the entire diagram. 3 4 5 6 Create a hyperlink to the next diagram or model element you would like to participate in the sequence.

♦ Type: Use the drop down list to select a diagram type. To create a new diagram using the New Diagram Wizard 1 2 Select File New Diagram. select a diagram type from the drop down list. The New Diagram Wizard displays. select New Diagram. right-click on a package or the project root. Create or open a project before creating any new diagrams. Alternatively. Select the package where the new diagram will be created. In the resulting dialog. By default. 170 . Specify the properties for the new diagram as follows: ♦ Location: By default. or 1 2 3 Click directly on the New Diagram icon. right-click on a package or the project root. See To create a diagram using the New Diagram Wizard below for more information. select New Diagram. select classes that you would like to display in a separate class diagram. Click Browse to choose a package. From the context menu. right-click the default diagram of a source package. To create a new diagram using the Diagram Editor toolbar 1 2 Click the arrow to the right of the New Diagram icon on the diagram editor toolbar. the new diagram is created in the package selected before the wizard displays. To create a new diagram from the Model Package Explorer 1 2 In the Model Package Explorer view. Click Finish. and choose the diagram type from the submenu. 3 Click Finish. To create a class diagram from a package diagram 1 2 On the package diagram. To create a new diagram from the Model Navigator 1 2 In the Model Navigator. From the context menu. select New Diagram and choose the diagram type from the submenu. Choose the diagram type from the submenu. select Model Generate Class Diagram. the Class Diagram is selected. ♦ Name: Use the text field to type a name for the new diagram. The UML Diagram dialog opens. On the main menu. Enter a name for the new diagram.Creating a Diagram Diagrams exist within the context of a project.

Note: This action is available only when several classes are selected. 171 .

While creating a project. and select the type of project you want to create. To create a Together Project 1 2 3 Select File New Project on the main menu. Follow the wizard steps to specify necessary options for a new project and click Finish to complete the wizard. The projects in Together are created in the same manner. you will specify different options depending on the type of project. Click Next. The New Project wizard displays. Expand the Modeling node in the tree view list.Creating a Project Together provides several projects that you can work with. Related Concepts Together Project Overview Related Procedures Together Projects Related Reference Together Projects 172 .

select the element to be added to the current diagram as a shortcut. When the list of ready-to-add elements is complete. To create a shortcut by using drag-and-drop 1 2 Select the element in the Model Navigator. Use the CTRL+SHIFT+N keyboard shortcut 3 In the Shortcuts dialog window. the contents of these projects is available for being added as a shortcut. Drag-and-drop the element onto the diagram. by using three methods: ♦ By choosing New Shortcut on the Diagram Editor context menu ♦ By dragging and dropping a shortcut from the Model Navigator ♦ By choosing Add as Shortcut on the Model Navigator context menu To create a shortcut by using the Shortcuts dialog window 1 2 Right-click the diagram background. Related Concepts Model Shortcut Overview Related Procedures Establishing cross-project references Adding a Single Model Element to a Diagram 173 .Creating a Shortcut You can create a shortcut to a model element from the current project or from the projects connected by crossprojects references. In the Model Navigator. click OK. To create a shortcut by using the Model Navigator context menu 1 2 3 Open the diagram where the shortcut will be added. choose the required element from the tree view of available contents. 4 5 Click Add to place the selected element to the list of the existing or ready-to-add elements. Choose New Tip: Shortcuts on the context menu. Note: If the project has cross-project references to the other projects in the workspace. Right-click the element in the Model Navigator and choose Add as Shortcut on the context menu.

click the button for the type of link you want to draw in the diagram.Creating a Simple Link You can create a link to another node. Click the source element. Drag to the destination element and drop when the target element is highlighted. Related Procedures Rerouting a Link Creating a Link with Bending Points Creating Model Element by Pattern Related Reference Class Diagram Relationships 174 . The button stays down. To create a simple link between two nodes 1 2 3 On the diagram Palette. or a shortcut of an element of the same or another project (these projects must be of the same UML version).

Deleting a Diagram Warning: You cannot delete the default diagram created automatically for a package. choose Delete. select the diagram to be deleted. Confirm deletion. To delete a diagram 1 2 3 In the Package Explorer. if required. Related Procedures Creating a Diagram Closing a Diagram 175 . On the context menu.

Choose Delete on the context menu of the element. This behavior is configured in the Modeling Preferences. Confirm deletion. Choose Delete from View on the context menu of the element. Tip: Alternatively.Deleting Elements All elements shown on diagrams are shortcuts to actual model elements. When deleting an element on a diagram. To delete an element from View 1 2 3 Select the element on the diagram. click the DELETE key. you have the option to delete either the shortcut from view or delete the element from the model (except classes on synchronized package diagrams). 3 Confirm deletion. if this behavior is selected in the Modeling Preferences. Related Procedures Adding a Single Model Element to a Diagram Related Reference Modeling Preferences 176 . if this behavior is selected in the Modeling Preferences. To delete an element 1 2 Select the element on the diagram.

The Show Hidden dialog box opens. ♦ Select multiple elements using CTRL+CLICK and click Remove. ♦ Click the element once and click Remove.Hiding and Showing Model Elements You can control the visibility of elements on a diagram by using the Hide command (available on the context menu for individual diagram elements) and the Show/Hide command (available on the diagram context menu). Related Procedures Adding a Single Model Element to a Diagram Related Reference View Management Preferences 177 . To show or hide diagram elements using the Show Hidden dialog box 1 2 3 Right-click the diagram and choose Show/Hide on the context menu. ♦ Select multiple elements using CTRL+CLICK and click Add. and select Hide from the context menu. click Remove All. Do one of the following: ♦ Select the element on the diagram. ♦ Select multiple elements on the diagram using CTRL+CLICK or by lassoing. Select the element(s) that you want to hide from the Diagram Elements list. 4 To remove items from the Hidden Elements list. To hide elements using the Diagram Editor 1 2 Open the Diagram Editor . 5 Click OK to close the dialog box. do one of the following: ♦ Double-click the element. To add elements in the Diagram Elements list to the Hidden Elements list. The Show Hidden dialog box opens. right-click and choose Hide on the context menu. as discussed below. ♦ To remove all items from the Hidden Elements list. ♦ Right-click the diagram background and choose Hide/Show on the context menu. ♦ Click the element once and click Add. do one of the following: ♦ Double-click the element.

To terminate a diagram opening 1 2 Open diagram as described above. a message appears informing the user that the diagram contents were only partially loaded. In this section you will learn how to: ♦ open an existing diagram ♦ cancel a diagram's opening process To open a diagram 1 2 In the Model Navigator view. Related Procedures Opening a Parent Diagram 178 . navigate to the diagram you want to open. or by using the Diagram Editor toolbar. Under the diagram title. In the Diagram opening information dialog.Opening a Diagram You can open diagrams from the Model Navigator. Model Package Explorer. click Stop. The Diagram Editor displays the diagram with those elements that have been loaded before termination. Select the diagram node in the tree-view and do one of the following: ♦ Double-click the diagram ♦ Select Open from the context menu ♦ Select Open in Active Editor from the context menu (this replaces the contents of any currently opened diagram) You can use the Diagram Editor toolbar to open the parent diagram.

In this section you will learn how to: ♦ Open a source-generating element in the Editor ♦ Enable synchronization between diagram and source code. choose Open. choose Window Preferences Modeling Diagram. Tip: Alternatively. To open a source-generating element in the Editor 1 2 Right-click an element in the diagram. Related Concepts Roundtrip Engineering Overview 179 . To enable synchronizing source code with the model 1 2 On the main menu. Check the option Synchronize source code editor to diagram. just click Link with Editor button on the diagram toolbar.Opening a Diagram Element in the Source Code Editor Based on the LiveSource technology. you can open elements for editing and synchronize your model with the source code. On the context menu. the editor for this class gets focus. If the source code editor is opened for a class and a class member is selected. Tip: Alternatively. and the member is selected in the source. press F3 or just double-click the element.

Select the scope for printing. Click the drop-down arrow to set the Preview Scale factor. if needed. You can use the scroll bars to scroll around the diagram or to view other diagrams that were included in the scope. Be sure to check the paper and orientation and set them.Printing Diagrams To print a diagram or multiple diagrams 1 2 3 4 5 6 7 8 Open the diagram or select the tab in the Diagram Editor that displays the diagram. Click the Print Options button to define Together Print Preferences. to the settings in the Together Print Preferences. Note: There is a known issue that the Java print library is not able to update the standard printer settings. Select File Print on the main menu. The Print Diagram dialog box is displayed. the Print diagram as black and white image option becomes enabled. Related Procedures Print Preferences 180 . Click the Preview >>> button to see how the diagram or diagrams look with the current print settings. Click Print to proceed to the standard print dialog box where you can select your printer. If you check the option Print whole diagram as an image. Make your selections.

In the Import wizard. On the Modeling Project page. To import source code to the existing modeling project 1 2 3 4 5 Right-click a target Java Modeling project in the Model Navigator and select Import on the context menu. type the project's name.Reusing Existing Source Code in Modeling Projects Together allows you to convert your existing source code to UML models. Select Create project from existing source and specify the path to the existing source code project folder. Click Finish. Select sources you want to import or click Select all to import the entire folder. Browse to the folder with source code to import. Together provides two ways to use reverse engineering: ♦ Convert the existing source while creating a new project ♦ Import the existing source code to a Java Modeling project To import source code while creating a new project 1 2 3 4 5 On the main menu. Click Finish. Related Procedures Creating a Project 181 . select File System and click Next. choose File New Projects. Expand the Modeling node and select Together Project.

On the diagram Palette. do one of the following 1 2 3 4 Hold down the CTRL key and click each element individually.Selecting Model Elements Most manipulations with diagram elements and links involve dragging the mouse or executing context menu commands on the selected elements. click the Select button. Related Procedures Aligning Model Elements Related Reference Together Keyboard Shortcuts 182 . Note: To cancel a selection. press the ESC key. click any element or a member to select it. In this section you will learn how to: ♦ Select one or more elements ♦ Cancel selection To select an element 1 2 3 Open a diagram in the Diagram Editor . OR Press CTRL+A to select all elements on a diagram. OR Right-click the diagram background and choose Select All on the context menu. In the Diagram Editor . OR Click the background and drag a lasso around an area to select all the elements it contains. To select multiple elements.

drag the link in the appropriate direction. To move a link to a new destination 1 2 3 Select a link in the Diagram Editor . Drag the arrow and drop it on the new destination. You can move or copy members (methods. Related Procedures Selecting Model Elements Moving Model Elements Related Reference Together Keyboard Shortcuts 183 . Hover the cursor over the destination arrow. Tip: Follow the same instructions to move the link source to an allowable location. and so on) by using drag-and-drop in the Diagram Editor or in the Model Navigator. Drag-and-drop functionality from the Model Navigator to the Diagram Editor and within the Model Navigator works as follows: ♦ Selecting an element in the Model Navigator and using drag-and-drop to place the element onto the diagram creates a shortcut. fields. and the diagram will scroll with you. ♦ Using drag-and-drop while pressing the CTRL key copies the element to the selected container. You can also change the origin and destination for links on your diagrams using drag-and-drop.Using Drag-and-Drop Drag-and-drop applies to the members as well as to the node elements. properties. If the destination element is not in view. ♦ Using drag-and-drop while pressing the SHIFT key moves the element to the selected container.

Expand the Examples node in the tree view list. Click Next. Follow the wizard steps to specify the necessary options for a new project and click Finish to complete the wizard. Tip: Alternatively. and select the project you want. choose File New Example on the main menu. Related Concepts Together Project Overview Related Procedures Together Projects Related Reference Together Projects 184 .Using Example Projects Together comes with a set of predefined sample projects. The New Project wizard opens. To use a Together Example Project 1 2 3 Select File New Project on the main menu.

185 . Customizing Appearance of Together Diagrams Lists the Customizing Appearance of Together Diagrams Procedures. In This Section Common Diagrams Procedures This section describes procedures that apply to all types of diagrams. and populate diagrams with elements and shortcuts. Editing Together Diagrams Lists the Editing Together Diagrams Procedures. customize their appearance. links and members in all types of Together diagrams. Populating Together Diagrams This topic provides How-To information about creating node elements.Diagrams This section describes how to create Together diagrams.

Common Diagrams Procedures This section describes procedures that apply to all types of diagrams. Deleting a Diagram How to delete a diagram. In This Section Annotating a Diagram How to annotate a diagram. Searching Model Elements How to search model elements on diagrams. Printing Diagram Elements How to print one or more diagram elements. Hyperlinking Diagrams How to hyperlink diagrams. Exporting a Diagram to an Image How to export a diagram to an image. Searching Model with OCL queries How to search for model elements using OCL queries. Opening a Parent Diagram How to open a parent diagram of the current diagram. Closing a Diagram How to close a diagram. Opening a Diagram Element in the Source Code Editor How to open a code-generating element in the Source Code Editor. 186 . Printing Diagrams Lists the steps for printing diagrams. Changing the Default Diagrams Directory Lists the steps for changing the default directory of the diagram files. Creating a Diagram How to create a diagram in a Together project. Opening a Diagram How to open an existing diagram in the Diagram Editor. Browsing a Diagram with Overview Pane How to browse.

In the Diagram Editor . Related Concepts Model Annotation Overview Related Procedures Adding a Single Model Element to a Diagram Creating a Shortcut 187 . ♦ Change the foreground and background colors. Drag the link to the destination element.Annotating a Diagram Use the following actions to annotate a diagram: 1 2 3 Draw a note Draw a note link Type comments To draw a note 1 In the Diagram Editor . 2 In the Properties View for the note. ♦ Change the text-only property. you can: ♦ Edit the text. Since. You can also enter source code comments directly into the code using the Editor. ♦ Edit the properties of a note using Properties View. use the Comment fields (Author. To draw a note link 1 2 3 4 Click the Note Link button on the Palette. Tip: You can use the Properties View to view both the client and supplier sides of the link. ♦ Edit the text when its in-place editor is active. To enter comments 1 2 To enter comments in the source code. click the source element. Drop when the second element is highlighted. Version) in the Properties View for the class. you can: ♦ Hyperlink the note to another diagram or element.

The pane expands to show a thumbnail image of the current diagram. Resize the Overview pane by clicking the upper-left corner of the pane and dragging it. Click the shaded area and drag it.Browsing a Diagram with Overview Pane To open the Overview pane 1 2 3 4 Open a diagram and click the Overview button. Close the Overview pane by clicking the diagram. Related Procedures Zooming a Diagram 188 . This is a convenient way to scroll around the diagram.

Warning: The path name can contain only the folder name that the existing design root will be renamed to. or Model Package Explorer view. and select Properties. which is called the Model Folder. 189 . The Properties dialog box displays. Choose Design root path from the properties list on the left. not the path to the folder. Specify the path in the Design root path field. To change the default diagrams directory 1 2 3 Right-click the project root in the Model Navigator. and press OK. Together diagram files are contained within the default design root folder.Changing the Default Diagrams Directory By default.

choose File Close on the main menu. Tip: Alternatively. Related Concepts Together Diagram Overview 190 . or CTRL+W. Click the cross icon to close the current view. Note: Closing a diagram does not remove it from your project.Closing a Diagram To close a diagram 1 2 Switch to the Diagram Editor .

select a diagram type from the drop down list. ♦ Type: Use the drop down list to select a diagram type. Alternatively. In the resulting dialog. From the context menu. Click Browse to choose a package. 191 . select Model Generate Class Diagram. The New Diagram Wizard displays. or 1 2 3 Click directly on the New Diagram icon. To create a new diagram from the Model Navigator 1 2 In the Model Navigator. Select the package where the new diagram will be created. the Class Diagram is selected. the new diagram is created in the package selected before the wizard displays. select classes that you would like to display in a separate class diagram. select New Diagram. Enter a name for the new diagram.Creating a Diagram Diagrams exist within the context of a project. By default. To create a new diagram using the New Diagram Wizard 1 2 Select File New Diagram. To create a new diagram from the Model Package Explorer 1 2 In the Model Package Explorer view. From the context menu. On the main menu. To create a new diagram using the Diagram Editor toolbar 1 2 Click the arrow to the right of the New Diagram icon on the diagram editor toolbar. select New Diagram and choose the diagram type from the submenu. The UML Diagram dialog opens. ♦ Name: Use the text field to type a name for the new diagram. Click Finish. select New Diagram. Specify the properties for the new diagram as follows: ♦ Location: By default. right-click the default diagram of a source package. 3 Click Finish. right-click on a package or the project root. See To create a diagram using the New Diagram Wizard below for more information. right-click on a package or the project root. and choose the diagram type from the submenu. To create a class diagram from a package diagram 1 2 On the package diagram. Choose the diagram type from the submenu. Create or open a project before creating any new diagrams.

192 .Note: This action is available only when several classes are selected.

Deleting a Diagram Warning: You cannot delete the default diagram created automatically for a package. Confirm deletion. if required. Related Procedures Creating a Diagram Closing a Diagram 193 . select the diagram to be deleted. To delete a diagram 1 2 3 In the Package Explorer. choose Delete. On the context menu.

Image (GIF. SVG). ♦ Format: select the desired format from the drop-down list. JPEG. and click In the Select page of the wizard. ♦ Export heading: check the option to save the image together with the diagram title. Click Next to preview. Related Concepts Model Import and Export Overview Related Reference Export Diagram to Image Wizard 194 . The Export wizard opens. EMF. In the Export to Image page. or Finish to complete the export. ♦ Diagrams scope: click a radio button to select the diagrams or diagram elements to be exported. ♦ Open in viewer: check the option to launch the default image viewer. or click the Browse button and navigate to the desired location.Exporting a Diagram to an Image To export a diagram to an image 1 2 3 4 Place the focus on the diagram that you want to export in the Diagram Editor . Choose File Export on the main menu. specify the following settings: ♦ Destination file: enter the fully qualified name of the resulting file. Bitmap. ♦ Scale: enter magnification factor. choose Modeling Next.

To remove an element from the selected list. and browse hyperlinks. Use the following techniques to create a hyperlink 1 2 3 4 5 Create a hyperlink to an existing diagram or element Create a hyperlink to a new diagram Create a hyperlink to an external URL or file Browse hyperlinks Remove a hyperlink To create a hyperlink to an existing diagram or element 1 2 3 Open an existing diagram or create a new diagram from which to create the hyperlink. Right-click and choose Hyperlinks Edit. 3 4 5 Select the External Documents tab to view the Recently Used Documents list which contains a list of previously selected files or URLs. Select the diagram or element you want from the list.Hyperlinking Diagrams Select Hyperlinks from the diagram context menu to create. 195 . To link the entire diagram. Select the element that you want to link to another diagram or element. Rather. or select it in the Model Navigator. expand the package node. To link the entire diagram. remove. choose Hyperlinks New Diagram. To add a file to the Recently Used Documents list: 1 Click Browse. select the element and click Remove. expand diagram nodes in the Model Elements tab. click the diagram background to deselect all elements. 4 5 6 7 8 9 Right-click and choose Hyperlinks Select the Model Elements tab to view the pane containing a tree view of the available project contents. select the diagram type. and select the desired diagram. To create a hyperlink to an external URL or file 1 2 Open an existing diagram or create a new diagram from which to create the hyperlink. For element selection. click the diagram background to deselect all elements. The Open file dialog box opens. enter the diagram name and click OK. Edit. On the context menu. The Edit Hyperlinks dialog window (Selection Manager) opens. Note: Do not select the actual package in the Model Navigator to create a hyperlink. In the New Diagram dialog box. Select the element that you want linked to the external document. view. and click Add. The Edit Hyperlinks dialog box opens. Click OK to close the dialog box and create the link. To create a hyperlink to a new diagram 1 2 3 Open a diagram in the Diagram Editor .

2 To remove a hyperlink 1 2 3 4 5 Open the diagram that displays the link you want to remove. Click OK to close the dialog box. Related Concepts Model Hyperlinking Overview 196 . and the diagram scrolls to the linked element and selects it. the respective element appears selected in the Diagram Editor . Note: To remove a hyperlink from a specific element.2 6 Navigate to the appropriate file and click Open. Tip: You can create a hyperlink to an external document by entering a relative URL path. When you select a link from the submenu. and choose Hyperlinks from the context menu. Browsing to a linked element causes its parent diagram to open or become current. In the dialog box that opens. click the hyperlink that you want removed. use the context menus to browse to the linked resources. all names of diagram elements that are hyperlinked are displayed in blue font. Edit from the diagram or element context menu. enter the appropriate URL and click OK. All hyperlinks created appear under the Hyperlinks submenu. select the element and click Remove. Choose Hyperlinks Click Remove. The Edit Hyperlinks dialog box opens. Note: Browsing to a linked diagram opens it in the Diagram Editor or makes it the current diagram (if it is already open). right-click on the diagram background or element. To browse hyperlinks 1 To view hyperlinks to a diagram. To add a URL to the Recently Used Documents list: 1 2 Click URL. On a diagram. 7 8 9 To remove an element from the selected list. To clear the Recently used Documents list. select the element first. Click OK to close the dialog box and create the link. Then choose Hyperlinks Edit on the context menu. In the selected list on the right of the dialog. After you have defined hyperlinks for a selected diagram or element. element or external document. click Clear.

navigate to the diagram you want to open. In this section you will learn how to: ♦ open an existing diagram ♦ cancel a diagram's opening process To open a diagram 1 2 In the Model Navigator view. Under the diagram title. a message appears informing the user that the diagram contents were only partially loaded. click Stop. To terminate a diagram opening 1 2 Open diagram as described above. Select the diagram node in the tree-view and do one of the following: ♦ Double-click the diagram ♦ Select Open from the context menu ♦ Select Open in Active Editor from the context menu (this replaces the contents of any currently opened diagram) You can use the Diagram Editor toolbar to open the parent diagram.Opening a Diagram You can open diagrams from the Model Navigator. The Diagram Editor displays the diagram with those elements that have been loaded before termination. Model Package Explorer. In the Diagram opening information dialog. Related Procedures Opening a Parent Diagram 197 . or by using the Diagram Editor toolbar.

the editor for this class gets focus. and the member is selected in the source. Tip: Alternatively. To open a source-generating element in the Editor 1 2 Right-click an element in the diagram. just click Link with Editor button on the diagram toolbar. choose Window Preferences Modeling Diagram. Tip: Alternatively. press F3 or just double-click the element. If the source code editor is opened for a class and a class member is selected. To enable synchronizing source code with the model 1 2 On the main menu. Related Concepts Roundtrip Engineering Overview 198 . Check the option Synchronize source code editor to diagram. choose Open. On the context menu.Opening a Diagram Element in the Source Code Editor Based on the LiveSource technology. In this section you will learn how to: ♦ Open a source-generating element in the Editor ♦ Enable synchronization between diagram and source code. you can open elements for editing and synchronize your model with the source code.

Related Procedures Opening a Diagram 199 . the button is disabled. If a diagram has no parent.Opening a Parent Diagram You can open a parent diagram from the Diagram Editor toolbar. To open the parent diagram 1 2 Click the Open Parent Diagram button to open the parent of the active diagram.

When you select the Print whole diagram as an image option. Click Print to proceed to the standard print dialog where you can select your printer. At this point you can click Preview >>> button to see how the selected diagram element or elements look with the current print settings. You can click the Print Options button to set up Together Print Preferences.Printing Diagram Elements To print one or more diagram elements 1 2 3 4 5 6 Open the diagram or select the tab in the Diagram Editor that displays the diagram containing the diagram elements you want to print. Make your selections. The Print Diagram dialog box displays. and select Print from the context menu. Related Procedures Print Preferences 200 . Right-click the diagram element or multiple elements. Click the drop-down arrow to choose the Preview Scale factor from the list of available scales to best fit the printed image on the page. it enables the Print diagram as black and white image option.

Make your selections. Click Print to proceed to the standard print dialog box where you can select your printer. to the settings in the Together Print Preferences. the Print diagram as black and white image option becomes enabled. Related Procedures Print Preferences 201 .Printing Diagrams To print a diagram or multiple diagrams 1 2 3 4 5 6 7 8 Open the diagram or select the tab in the Diagram Editor that displays the diagram. If you check the option Print whole diagram as an image. Be sure to check the paper and orientation and set them. You can use the scroll bars to scroll around the diagram or to view other diagrams that were included in the scope. Click the Preview >>> button to see how the diagram or diagrams look with the current print settings. Click the drop-down arrow to set the Preview Scale factor. The Print Diagram dialog box is displayed. if needed. Click the Print Options button to define Together Print Preferences. Select the scope for printing. Note: There is a known issue that the Java print library is not able to update the standard printer settings. Select File Print on the main menu.

Searching Model Elements Together enables you to use its search facilities to locate model elements on model diagrams. click the appropriate radio button to select the name or any other property to search for. 3 4 In the Search for section. You can create search strings using wildcards and regular expressions. The function is case-sensitive. The possible options are workspace. with the Model Search tab Specify the search string in the Search String field. use the New button to create one. choose your working set and click OK. perform the following steps 1 2 On the main menu. the current project or a predefined working set. Model. To find model elements that fall under specified criteria. In the Scope section. choose Search selected. To select a working set. This function enables you to search the current diagram or all opened diagrams for the specified string in a certain scope. click the appropriate radio button to select the search area. selected resources. If there are no available working sets. In the Select Working Set dialog. The Search dialog box opens. Check the following options if necessary: ♦ Case sensitive: Searches for text that matches uppercase and lowercase characters ♦ Regular expression: Enables using regular expressions. Related Procedures Searching Model with OCL queries 202 . click the Choose button. 5 Click Search.

A tree with the list of matching elements opens. choose your working set and click OK. click the appropriate radio button to select the search area.Searching Model with OCL queries Together lets you search for models using OCL queries. Related Concepts OCL Support Related Procedures Searching Model Elements 203 . click the Choose button. the current project or a predefined working set. type the query expression. In the Select Working Set dialog. If there are no available working sets. enter: uml20::classes::Class 4 In the Invariant field. click on the Context field and press CTRL +SPACE. Model. Click the OCL Model Search tab. enter: self. You can navigate to the corresponding diagram from this view by double-clicking the selected element. to search for all UML 2. Tip: Use the drop-down list or the Content Assistant.0 classes that have the stereotype MyStereotype. to complete your search for all UML 2.stereotypes->includes('MyStereotype') 5 In the Scope section. To find model elements that match the specified OCL query 1 On the main menu. choose Search The Search dialog box is displayed. To open the Content Assistant. The possible options are workspace. selected resources. Choose your element from the list.0 classes that have the stereotype MyStereotype. 2 3 Specify the context for your expression in the Context field. For example. For example. 6 Click Search. use the New button to create one. To select a working set.

Customizing Appearance of Together Diagrams In This Section Hiding and Showing Model Elements How to hide or show model elements. Using a Class Diagram as a View How to use a class diagrams as a view. Zooming a Diagram How to zoom a diagram. 204 .

♦ Click the element once and click Remove. ♦ Select multiple elements on the diagram using CTRL+CLICK or by lassoing. ♦ Right-click the diagram background and choose Hide/Show on the context menu. do one of the following: ♦ Double-click the element. To add elements in the Diagram Elements list to the Hidden Elements list. 4 To remove items from the Hidden Elements list. ♦ Select multiple elements using CTRL+CLICK and click Add. as discussed below. and select Hide from the context menu. do one of the following: ♦ Double-click the element. click Remove All. Do one of the following: ♦ Select the element on the diagram. right-click and choose Hide on the context menu. Select the element(s) that you want to hide from the Diagram Elements list. The Show Hidden dialog box opens. ♦ Click the element once and click Add. To hide elements using the Diagram Editor 1 2 Open the Diagram Editor . ♦ Select multiple elements using CTRL+CLICK and click Remove. The Show Hidden dialog box opens.Hiding and Showing Model Elements You can control the visibility of elements on a diagram by using the Hide command (available on the context menu for individual diagram elements) and the Show/Hide command (available on the diagram context menu). 5 Click OK to close the dialog box. Related Procedures Adding a Single Model Element to a Diagram Related Reference View Management Preferences 205 . ♦ To remove all items from the Hidden Elements list. To show or hide diagram elements using the Show Hidden dialog box 1 2 3 Right-click the diagram and choose Show/Hide on the context menu.

Tip: Using this feature. Related Concepts Roundtrip Engineering Overview Related Reference UML 1.Using a Class Diagram as a View Class diagrams can also be used to create subviews of the project. changes made here also update the source code. Note: In implementation projects. Create shortcuts to the original diagram to easily and quickly build subset views for easier management. you can create views of distributed classes into one diagram.0 Class Diagrams 206 . To use a class diagrams as a view 1 2 Create a new class diagram. with Together automatically displaying any relationships that the gathered classes may have with each other. keeping diagram and source code in sync.4 Class Diagrams UML 2.

Actual Size. Related Reference Together Keyboard Shortcuts 207 . Fit to Window.Zooming a Diagram Use the zooming commands of the main menu. Choose one of the available zooming commands on the menu: Zoom In. To specify the magnification in the Diagram Editor 1 2 On the main menu. Zoom Out. choose Diagram. use the diagram Palette or keyboard shortcuts. or toolbar buttons. to obtain the required magnification in the Diagram Editor . Tip: Alternatively.

Creating a Link with Bending Points How to create a link with bending points. Adding a Single Model Element to a Diagram How to create a single model element. Adding Multiple Elements to a Diagram How to create multiple elements. Creating a Simple Link How to create a simple link. 208 . Creating an Inner Classifier How to create an inner classifier. links and members in all types of Together diagrams.Populating Together Diagrams This topic provides How-To information about creating node elements. Creating a Shortcut How to create a shortcut. In This Section Adding a Member to a Container How to add a member to a container.

Related Procedures Adding a Single Model Element to a Diagram Related Reference UML 1.4 Class Diagrams Procedures UML 2.Adding a Member to a Container You can add members to class diagram elements (containers) by using the respective context menu for the diagram element in the Diagram Editor or Model Navigator. On the context menu. where the Member type corresponds to the target You can also use keyboard shortcuts to add fields and methods to a container that allows such members. or by using the available shortcut keys. Tip: <Member type>. Properties View. To add a member to a container 1 2 Right-click the desired container element. 3 You can edit the member using the in-place editor. Click CTRL+W (for fields) and CTRL+M (for methods and functions). or source code editor.0 Class Diagrams 209 . choose New container.

On the Palette. The button stays down. Tip: Alternatively. This creates the new element and activates the in-place editor for its name.Adding a Single Model Element to a Diagram You can create a single node element using the diagram Palette. or the New command of the diagram context menu. To create a single model element 1 2 Open a target diagram in the Diagram Editor . or the diagram node in the Model Navigator. and choose New on the context menu. click the icon for the element you want to place on the diagram. Related Procedures Adding Multiple Elements to a Diagram Creating a Simple Link 210 . 3 Click the diagram background in the place where you want to create the new element. Tip: Icons are identified with tooltips. you can right-click the diagram background in the Diagram Editor . The submenu displays all of the basic elements that can be added to the current diagram and the Shortcuts command.

The new element is placed on the diagram at the point where you click. Tip: After making a selection on the Palette or doing the first of a multi-draw or multi-placement operation. Repeat the previous step until you have the desired number of elements of that type. To create multiple elements 1 2 3 4 5 Holding down the CTRL key. Related Procedures Adding a Single Model Element to a Diagram Creating a Simple Link Related Reference Together Keyboard Shortcuts 211 .Adding Multiple Elements to a Diagram You can place several elements of the same type on a diagram without returning to the Palette or by using the diagram context menu. To stop multiple element creation. click the Palette button for the element you want to create (the button stays down). Click the desired location on the diagram background. The next new element is placed on the diagram. Click the next location on the diagram background. Release the CTRL key. you can cancel the operation by clicking the Pointer button on the Palette or by pressing the ESC key. click the Pointer Palette button or press the ESC key to deselect the element after closing the in-place editor of the last inserted element. Each element will have a default name that can be edited with the in-place editor or in the Properties View.

To create a link with bending points 1 2 3 Click the link button on the Palette. and drag it to the position you want. Drag the link line. Related Procedures Rerouting a Link Creating a Simple Link Related Reference Class Diagram Relationships 212 . Click the source element.Creating a Link with Bending Points If your diagram is densely populated. Tip: You can cancel each section of a link pressing the BACKSPACE key. Click on a specific point of the link. you can draw bent links between the source and target elements to avoid other elements that are in the way. clicking the diagram background each time you want to create a section of the link. 4 Click the destination element to terminate the link. you can add bending points to it. The bullets display whenever you select the link on the diagram. Tip: After you have created a link. Sections on a link lie between two blue bullets.

by using three methods: ♦ By choosing New Shortcut on the Diagram Editor context menu ♦ By dragging and dropping a shortcut from the Model Navigator ♦ By choosing Add as Shortcut on the Model Navigator context menu To create a shortcut by using the Shortcuts dialog window 1 2 Right-click the diagram background. Drag-and-drop the element onto the diagram.Creating a Shortcut You can create a shortcut to a model element from the current project or from the projects connected by crossprojects references. Choose New Tip: Shortcuts on the context menu. To create a shortcut by using drag-and-drop 1 2 Select the element in the Model Navigator. When the list of ready-to-add elements is complete. In the Model Navigator. choose the required element from the tree view of available contents. the contents of these projects is available for being added as a shortcut. 4 5 Click Add to place the selected element to the list of the existing or ready-to-add elements. To create a shortcut by using the Model Navigator context menu 1 2 3 Open the diagram where the shortcut will be added. Note: If the project has cross-project references to the other projects in the workspace. click OK. Related Concepts Model Shortcut Overview Related Procedures Establishing cross-project references Adding a Single Model Element to a Diagram 213 . select the element to be added to the current diagram as a shortcut. Use the CTRL+SHIFT+N keyboard shortcut 3 In the Shortcuts dialog window. Right-click the element in the Model Navigator and choose Add as Shortcut on the context menu.

Click the source element. click the button for the type of link you want to draw in the diagram. or a shortcut of an element of the same or another project (these projects must be of the same UML version). The button stays down.Creating a Simple Link You can create a link to another node. Drag to the destination element and drop when the target element is highlighted. To create a simple link between two nodes 1 2 3 On the diagram Palette. Related Procedures Rerouting a Link Creating a Link with Bending Points Creating Model Element by Pattern Related Reference Class Diagram Relationships 214 .

Use the clipboard operations to paste the selected classifier into the container element. Tip: You can use drag-and-drop or clipboard operations to remove an inner classifier from the container element. Inherited forms. Select the container element. containers) in implementation projects.0 Class Diagrams 215 . such as Windows forms. To create an inner classifier using drag-and-drop 1 2 Select an existing classifier in the Diagram Editor . Choose Add <Inner classifier type> To create an inner classifier using the clipboard operations 1 2 3 Use the clipboard operations to either cut or copy an existing classifier. To create an inner classifier using the context menu 1 2 Right-click the container element. User Controls and so on). A border highlights the location that Together recognizes as a valid destination for the inner classifier. structures.Creating an Inner Classifier This section includes instructions for adding inner classifiers to classes (including Windows classes. Drag-and-drop it onto an existing container in the Diagram Editor . You can add inner classifiers to class diagram elements (containers) using the respective context menu for the diagram element in the Diagram Editor or Model Navigator. You can also select a classifier in the Palette and click the container element in the Diagram Editor to add the inner classifier to the container element.4 Class Diagrams UML 2. Related Procedures Adding a Single Model Element to a Diagram Related Reference UML 1. and modules (collectively.

Resizing Model Elements How to change a size of a model element. Deleting Elements How to delete an element from a diagram.Editing Together Diagrams In This Section Aligning Model Elements How to align model elements. Renaming a Diagram How to rename a diagram. Working with Rulers Guides and Grid How to use ruler guides and grids in your diagram. 216 . Selecting Model Elements How to select model elements. Laying out a Diagram for Printing How to use optimized layout for printing. Laying Out a Diagram Automatically How to lay out a diagram automatically. Moving Model Elements How to move model elements. Rerouting a Link How to reroute a link. Copying and Pasting Model Elements How to copy and paste model elements. Assigning a Stereotype to an Element How to specify and define an element stereotype. Changing Type of an Association Link How to change the type of an Association link.

Tip: Alternatively. The following options are available: ♦ Top ♦ Bottom ♦ Right ♦ Left ♦ Center Horizontally ♦ Center Vertically To align model elements on a diagram 1 2 Select several nodes or inner classifiers on a diagram. use the diagram Palette buttons. Related Procedures Laying Out a Diagram Automatically 217 . On the main menu. choose Diagram Align <option>.Aligning Model Elements You can automatically rearrange all or selected model elements on a diagram according to the order you specify.

Enter the new name. In the Properties View. In the Edit Property Values dialog. select the Stereotype field. click the Add button and enter the required stereotype. or the Properties View.Assigning a Stereotype to an Element You can assign a stereotype in the diagram by using the in-place editor. Related Reference Stereotype Options of UML Profile for Modeling In Color 218 . To assign a stereotype by using the Properties View 1 2 3 4 Select an element on your diagram. Click the value editor button. To assign a stereotype by using the in-place editor 1 2 3 Double-click the stereotype name to activate the in-place editor. Press ENTER.

Click the drop-down arrow and select the appropriate property from the list. or Composition.Changing Type of an Association Link Use the following techniques to change the type of an Association link ♦ Set the link type by using the Properties View ♦ Set the link type by using the context menu To set the Association link type by using the Properties View 1 2 3 4 Select a link on the diagram. select the Type field. In the Properties View. Choose Link Type on the context menu. Aggregation. To set the Association link type by using the context menu 1 2 3 Right-click an Association link on the diagram. aggregation. Open the Properties View. Related Procedures Creating a Simple Link Related Reference Class Diagram Relationships 219 . or composition. Choose Association. Your available choices are association.

To disable this warning. select Window Preferences from the main menu. By default. do any of the following: ♦ Right-click and choose Copy on the context menu ♦ Press CTRL+C on the keyboard 3 To paste the selection. In this case. all elements addressed on this diagram are not copied. To copy the selection.Copying and Pasting Model Elements The move and copy operations are performed by drag-and-drop. do any of the following: ♦ Right-click the target location and choose Paste on the context menu ♦ Select the target location and press CTRL+V Note: Pasting elements from one package to another also maps relationships of those elements to the target package. Related Procedures Adding a Single Model Element to a Diagram Together Keyboard Shortcuts 220 . choose the Modeling node. To copy and paste one or more elements 1 2 Select the desired element or elements. context menu commands. Note: You can move or copy an entire diagram. a prompt appears warning users of this before the paste is complete. or keyboard shortcut keys. and a new diagram contains shortcuts to these elements. and uncheck the Show warning about relationships when elements copied option.

you have the option to delete either the shortcut from view or delete the element from the model (except classes on synchronized package diagrams). To delete an element 1 2 Select the element on the diagram. Tip: Alternatively. To delete an element from View 1 2 3 Select the element on the diagram. Confirm deletion. This behavior is configured in the Modeling Preferences. if this behavior is selected in the Modeling Preferences. click the DELETE key. Related Procedures Adding a Single Model Element to a Diagram Related Reference Modeling Preferences 221 . When deleting an element on a diagram. Choose Delete on the context menu of the element.Deleting Elements All elements shown on diagrams are shortcuts to actual model elements. 3 Confirm deletion. if this behavior is selected in the Modeling Preferences. Choose Delete from View on the context menu of the element.

On the context menu. To set up the diagram layout 1 2 3 4 On the main menu. There are several Layout commands on the Layout submenu: ♦ Do Full Layout: Sets the layout of all elements according to the layout algorithm defined for the current diagram. ♦ Layout for Printing: Sets the layout of all elements using the Together algorithm. choose Window Preferences Modeling Layout.Laying Out a Diagram Automatically To lay out a diagram by using one of the algorithms 1 2 Right-click the diagram background. ♦ Route All Links: Streamlines the links removing bending points. leaving enough space for its label and any sub elements it may contain. select Layout. Choose the desired algorithm from the Algorithm drop-down list. and specify the algorithm-specific options (if any). check the Recursive option. Note: Individual diagram elements also have the Route Links and Optimize Size layout commands on their respective context menus. You can now observe results of layout tuning when you apply one of the Layout commands to the diagram. The context menu available in the Diagram Editor provides access to the automated layout optimization features in Together. and choose a command from the submenu. check the Recursive option ((level) Diagram Layout General) in the Options dialog window. Select the desired layout for links in the Links layout section. ♦ Optimize Sizes: Enlarges or shrinks all elements on the diagram to the optimal size. Related Procedures Aligning Model Elements 222 . The Route Links command streamlines the links and removes any bending points. To enable layout of the inner substructure in diagrams. regardless of the option selected on any level. Tip: To enable the layout of the inner substructure in diagrams. The Optimize Size command enlarges or shrinks the element to the optimal size.

Related Procedures Print Preferences 223 . Invoke automated layout immediately before printing a diagram. Tip: You can revert to your manual layout after a Layout and optimize operation by using Undo. you might invoke Layout and optimize. For example. then call Undo to restore your manual layout. To lay out you diagram elements for printing 1 2 Right-click the diagram background.Laying out a Diagram for Printing Together has automated layout optimization for printing diagrams. On the context menu. choose Layout Layout All for Printing. Using automated layout for printing ensures that all diagram elements fall within page borders. print the diagram.

♦ Use Cut and Paste operations. Related Procedures Selecting Model Elements Related Reference Together Keyboard Shortcuts 224 . You can: ♦ Select a single element and drag it to a new position.Moving Model Elements Create your own layout by selecting and moving single or multiple diagram elements. Use Case. Tip: If you have selected several model elements in certain diagrams (State Machine. use the heading area of one of the selected elements to drag the entire group. Drag-and-drop the selection to the target location. the new selection will be canceled and the current selection will be preserved. Note: If you drag an element outside the borders of the Diagram Editor . To move one or more elements 1 2 Select the element or elements to be moved. ♦ Select multiple elements and change their location. ♦ Manually reroute links. Activity or Business Process). Tip: Manual layouts are saved when you close a diagram or project and are restored when you next open it. Any attempt to drag by an internal area of an element results in switching the Diagram Editor to the Select mode and losing the current selection. However. Manual layouts are not preserved when you run one of the auto-layout commands (Do Full Layout or Optimize Sizes). if you hold the mouse button down and press ESC. the diagram automatically scrolls to follow the dragging.

Enter a new name. Related Procedures Creating a Diagram 225 .Renaming a Diagram Warning: The automatically created package diagram cannot be renamed. Press F2 or right-click and choose Rename on the context menu. To rename a diagram 1 2 3 In the Properties View. Enter a new name. Press ENTER. Press Enter. double-click the diagram name to initiate the inline editor. To rename a diagram using the Model Navigator 1 2 3 4 Select the diagram in the Model Navigator.

Tip: Model elements have the Layout Route All Links command on diagram context menus. click a place on the link where you want to reroute the link. Related Concepts Model Element Overview Related Procedures Laying Out a Diagram Automatically 226 . Together automatically reshapes the link the way you want.Rerouting a Link To reroute a link 1 2 3 4 Select a link. Drag the line. To change the direction of the link. Drag and drop the client or supplier end of the link to the destination object.

When the element contents change (for example. When new items are added to an element that has never been manually resized. Drag one of the bullets in the direction you want to expand. and the element size is too small to display all members) scroll bars are displayed to the right of compartments. Choose Layout Optimize Size.Resizing Model Elements You can resize diagram elements automatically or manually. Related Procedures Laying Out a Diagram Automatically 227 . the element automatically grows to enclose the new items. To optimize a node element size 1 2 Right-click an element. Choose Layout Optimize Size. when members are added or deleted. The selected element is highlighted with bullets. To resize an element manually 1 2 Click an element. To optimize the elements on an entire diagram 1 2 Right-click the diagram background.

Note: To cancel a selection. click any element or a member to select it. Related Procedures Aligning Model Elements Related Reference Together Keyboard Shortcuts 228 . do one of the following 1 2 3 4 Hold down the CTRL key and click each element individually. OR Right-click the diagram background and choose Select All on the context menu. press the ESC key. OR Click the background and drag a lasso around an area to select all the elements it contains.Selecting Model Elements Most manipulations with diagram elements and links involve dragging the mouse or executing context menu commands on the selected elements. click the Select button. In the Diagram Editor . To select multiple elements. OR Press CTRL+A to select all elements on a diagram. On the diagram Palette. In this section you will learn how to: ♦ Select one or more elements ♦ Cancel selection To select an element 1 2 3 Open a diagram in the Diagram Editor .

Choose the Modeling Adjust the options. simply move the element from the guide. Aligning elements with ruler guides 1 2 3 4 Move or resize an element on the diagram to place one side of the element close to a rule guide. 2 To remove a ruler guide. Drop the element when the guide highlights. Note: To disconnect an element from the guide. You can optionally display or hide a design grid on the diagram background and have elements “snap” to the nearest grid coordinate when you place or move them. click a guide on the ruler. Notice how all connected elements move with the connected ruler guide. After you created several guides. Repeat the previous steps to connect other elements to the guide. Note: Alternatively. and Snapping group. The guide appears at the click point.Working with Rulers Guides and Grid Together provides means to use ruler guides in the Diagram Editor for aligning purposes. Move the guide. click either the vertical or horizontal ruler. If you connect several elements to a guide. Related Reference Diagram Preferences 229 . Diagram category. drag it out of the ruler space until your pointer becomes a normal select shape. The guide is created at the zero point of the ruler. all elements move when you move the guide. Grid. you can connect your elements to ruler guides. Rulers. right-click a ruler and choose Create Guide. and release your mouse button. To add or remove a ruler guide 1 To add a ruler guide. Note: Grid display and snap are enabled by default. Grid options are configured in the Diagram page of the Preferences dialog box. To show the grid 1 2 3 Open Preferences dialog box.

4 Project to a UML 2. Enabling UML Profiles Describes how to enable profile support for a project.0 Project How to convert a UML 1.Together Projects This section provides how-to information on using Together projects. In This Section Changing the Default Diagrams Directory Lists the steps for changing the default directory of the diagram files. Importing a Project in IBM Rational Rose (MDL) Format How to import . Choosing a Together Perspective How to choose a Together perspective. Establishing cross-project references Describes how to establish cross-project references between the projects located in the same workspace.0 How to import a project created in TEC 7. and source code. Importing a Project in an IBM Rational Rose MDX Model How to import . Importing Java Modeling Projects Created in Together Edition for Eclipse 7. 230 . Creating a Project How to create a project in Together.mdl projects using the command line utility. Importing Legacy Projects How to import a legacy project and handle multiple project roots.0.mdl projects. Configuring IDL Projects How to define IDL project structure and language-specific options. Diagram. and Source Code How to synchronize the Tree View.0 project. Configuring C++ Projects How to define C++ project structure and language-specific options. Exporting a Project to XMI Format Using the Command Line How to export a project to XMI format using the command line.4 Project to UML 2. Converting UML 1. Exporting a Project to XMI Format How to export a project to XMI format. Navigating between the Tree View. Importing a Project in IBM Rational Rose (MDX) From the Command Line How to import Rational projects using the command line utility. Importing a Project in XMI Format How to import XMI data. Generating Source Code from Design Project How to create a source code project from design project in Together. Diagram. Importing a Project in IBM Rational Rose (MDL) From the Command Line How to import .mdx projects.

XMI Export and Import of the Models with Cross-Project References You can import and export multi-root projects using XMI.Resolving Duplicates During an XMI Import How to resolve duplicates while importing an XMI project. Showing libraries Describes how to show classes or packages from the standard Java libraries in a class diagram. Working with a Package How to work with a package.0 projects. Reusing Existing Source Code in Modeling Projects How to use existing source code in modeling projects. Note that XMI imports and exports are implemented differently for UML 1. Using Example Projects How to use sample projects in Together. and for UML 2. 231 . Troubleshooting a Model How to troubleshoot a model.4 and Java modeling projects.

Specify the path in the Design root path field. Together diagram files are contained within the default design root folder. which is called the Model Folder. or Model Package Explorer view. 232 . To change the default diagrams directory 1 2 3 Right-click the project root in the Model Navigator. The Properties dialog box displays. Choose Design root path from the properties list on the left. and select Properties. and press OK. not the path to the folder.Changing the Default Diagrams Directory By default. Warning: The path name can contain only the folder name that the existing design root will be renamed to.

By default. To choose a Together Perspective 1 2 On the main menu. Interface elements and/or model information that are not generally relevant to the perspective are hidden. The Select Perspective dialog box opens. and to show only the information in the model that best supports the chosen perspective. but you may find it easier to just switch perspectives. In order to display a list of all the perspectives. choose Window Open Perspective Other. Together automatically customizes the interface to provide ready access to only the relevant elements of the interface. clicking the Take me to the DSL workbench link from the Welcome page displays only the DSL Workbench's default perspectives. Select one of the Together Perspectives from the list and click OK. Note: The way you have Together configured influences which perspectives and views you can choose from. After you select a perspective. An additional Confirm Enablement dialog box might appear that requires you to enable any necessary capabilities. check the Show all check box in the Open Perspective dialog box. Together starts with the Modeling perspective.Choosing a Together Perspective Together changes the user interface according to how you want to work with Together by providing several perspectives. You can still access hidden information by changing the relevant configuration options and restoring hidden panes manually. Related Concepts Together Capabilities Activation Tour of Together Related Procedures Activating Together Capabilities 233 . For example.

9 Select the C/C++ indexer page. Tip: Use the context menu of the linked folder to remove it. specify the linked folder location and name. Tip: Alternatively.Configuring C++ Projects In this section. check the Skip standard includes option. select Together C++ Code Formatter. Among the available indexers. you will learn how to define the project structure and processing options: ♦ Access C++ project properties ♦ Define source path ♦ Define entry points ♦ Include search paths ♦ Define C++ processing settings (for example. choose Window Preferences Under the C/C++ category. skip standard includes option. To enable C++ formatter 1 2 3 On the main menu. From the list of available formatters. The Properties for <project> dialog opens. enter the folder name or click Browse and navigate to the folder you want to add. you can choose the Borland indexer. choose Properties on the context menu of the project. ♦ To skip standard includes. or suffixes for the C++ files) ♦ Define indexer ♦ Enable C++ formatting ♦ Set up formatting options To configure a C++ project 1 2 Select the desired project in the Model Navigator. On the main menu. Select the Project Properties page. 5 6 7 8 Configure parsing entry points using the Configure Entry points dialog. In the Add Include Folder dialog. or filter it. 234 . specify its name in the Preinclude file name field. select the Code Formatter page. choose Project Properties. select your C++ project options. click Add. and click OK. In the Link Additional Source dialog. mark it read-only. click the Link Additional Source to Project button. In the Include paths tab. ♦ If you want to use the preinclude file. and select an indexer from the list. In the C++ Processing Settings tab. 3 4 In the Project source path tab.

expand the plugins folder.tg. In the com. Related Reference New project Wizard C++ Language-Specific Options C++ Projects 235 .cdtintegration plugin.To set up formatting options 1 2 3 Under your Together installation. Use the documentation provided with the file to edit as required.borland.properties file. open the formatter.

Tip: Use the context menu of the linked folder to remove it. click Add. In the Add Include Folder dialog. click the Link Additional Source to Project button. mark it read-only. specify the linked folder location and name. 5 6 7 In the Include paths tab. and click OK. enter the folder name or click Browse and navigate to the folder. Refer to the IDL Language-Specific Options section for details. On the main menu. In the Link Additional Source dialog. Tip: Alternatively. select your IDL project options. 3 4 In the Project source path tab. Related Reference New project Wizard IDL Language-Specific Options IDL Language-Specific Information 236 . choose Properties on the context menu of the project. or filter it.Configuring IDL Projects In this section you will learn how to define the project structure and processing options: ♦ Access IDL project properties ♦ Define source path ♦ Include search paths ♦ Define IDL processing settings To configure an IDL project 1 2 Select a project in the Model Navigator. In the IDL Processing Settings tab. choose Project Properties.

4 project you want to convert.4 projects and existing UML 2. Click Finish to complete the wizard. 5 6 The selected UML 1.0 project. Expand the Together node in the tree view list. specify mappings between referenced UML 1. ♦ Using the procedure that follows.0 project. convert each project separately.4 Project. ♦ Select Window Preferences Modeling UML 1.4 project is converted to a newly created UML 2. Click Next. Click Next.4 project to a UML 2. If necessary. Type the new UML 2.0 project 1 2 3 4 On the main menu.4 to UML 2. choose File New Project. The New Project wizard opens. Automatic mappings are normally created during any previous conversions. observe the following: ♦ Ensure that all dependent projects are part of the current workspace and are opened. Related Procedures Reusing Existing Source Code in Modeling Projects Working with a Package Creating a Diagram 237 . Projects that are referenced by other projects should be converted first.4 project to a UML 2.Converting UML 1.0 Converter and ensure that the Enable referenced projects support option is checked. beginning with those that do not reference To convert an existing UML 1. and select UML 2.4 Project to UML 2. other projects. If you want to preserve any cross-project dependencies during the conversion. Click Next.0 from 1.0 Project This topic describes how to convert a UML 1.0 projects near the bottom section of the dialog that shows a list of all UML 1.0 project name and specify other project-related options. Select the UML 1.4 projects currently referenced by the selected project.

Expand the Modeling node in the tree view list. To create a Together Project 1 2 3 Select File New Project on the main menu. While creating a project. Related Concepts Together Project Overview Related Procedures Together Projects Related Reference Together Projects 238 . Follow the wizard steps to specify necessary options for a new project and click Finish to complete the wizard. The New Project wizard displays.Creating a Project Together provides several projects that you can work with. Click Next. The projects in Together are created in the same manner. you will specify different options depending on the type of project. and select the type of project you want to create.

and select Properties on the context menu. More than one can be activated. The Profiles screen of the wizard lists available profiles. Expand the Modeling node in the tree view list. Note: You can also access the Properties for <project> dialog box through the Model Package Explorer view and Navigator view. From the list on the left. Follow the wizard to the Profiles screen. In the left pane of the Preferences dialog box. Note: The selected UML profiles are automatically enabled for projects created after you changed profile preferences. Select the profiles you want to enable for UML 1. The Properties for <project> dialog box displays. The New Project wizard opens. expand the Modeling node.0 or UML 1.Enabling UML Profiles There are several ways to enable UML profiles for Together projects. and select the UML project you want to create (UML 2.4).4 and UML 2. Select the UML Profiles node. To enable UML profiles support for existing projects 1 2 3 4 In the Model Navigator. Select one or more profiles you want to enable and click Next to continue creating a new project with the New Project wizard. Click OK. right-click the root project folder. Click Next. To specify the default set of UML profiles enabled for all new workspace projects 1 2 3 4 Choose Window Preferences on the main menu. select UML Profiles. Select any of the UML profiles that you want to enable. Profiles support of existing projects is not changed.0 projects. To enable UML profiles support while creating a project 1 2 3 4 On the main menu. 239 . choose File New Project.

Consequently. click Add Project button. Related Concepts Together Project Overview Related Procedures Creating a Project Related Reference Project Properties 240 . The Properties for <Project Name> dialog opens. 5 6 Check one or more projects in the field Available Projects in the Workspace and click OK. 3 4 Select Model Path node. In the Model Path page. Warning: Avoid establishing recurrent references. the imported project is included in the original project as read-only root and becomes visible in the selection dialogs. The Select Projects to Import dialog opens. To enable cross-project references 1 2 Select the desired project in the Model Navigator. When cross-project referencing is enabled. displaying the list of available projects in the workspace.Establishing cross-project references You can establish references between the projects of a similar type within your workspace. and does not have any effect on the Together cross-project references. choose Project Properties. Click OK to confirm your settings and close the Project Properties dialog. This capability is enabled in the Model Path page of the Project Properties dialog. renaming elements in the referenced project is immediately reflected in the target project. For example. Tip: The Project references tab of the Project Properties dialog is a part of Eclipse functionality. Tip: Right-click on the project node and choose Properties on the context menu. any changes in the referenced projects are propagated across the target project as well. On the main menu. Note: Only the projects of similar types are included in the list.

you can also expand the project to select only a portion of it.4 and Java modeling projects.xml is automatically added as the file extension.uml2 – for applied profiles Related Concepts Model Import and Export Overview Related Procedures XMI Export and Import of the Models with Cross-Project References Related Reference XMI Export Wizard 241 . 4 Click Finish to generate the XMI file. The availability of formats depends on the types of projects currently opened in Together. Under Modeling.0 projects with applied profiles or projects that contain any stereotypes or primitive types. Note: For UML 2. To open the Task view.uml2 file: <model name>. <number>=1. If there are any warnings produced during XMI export. Together supports several XMI formats. select Window Show View Other Basic Tasks from the main menu. specify the following: ♦ Select the project to export. or you can accept the default. You can include the path as well as the name of the file that will be created. the name consists of <project_folder>\out\xmi\<project_name>. You cannot proceed until a project or package is selected. the name consists of <project_folder>\out\xmi\<project_name><number>. For UML 1. ♦ Specify the destination in the Select the export destination field. choose XMI File and click Next.xml. the XMI Export dialog box notifies you to refer to the Task view. For UML versions 1. In the Export Project to XMI FIle dialog box.Exporting a Project to XMI Format You can export projects or sections of projects created in Together for use by other applications/languages using XMI. For UML version 2. A UML 2.0. To export a project to XMI format 1 2 3 Select File Export on the main menu.0 only. <number> increases by one for each file saved under the same name.profile.uml2.profile. ♦ Select the XML and UML version you want the file to support under Select XMI Type. Note that .uml2 – for stereotypes and primitive types <profile name>. For the first file generated under this name. Thereafter. The Export dialog box opens.0 project ♦ Select an appropriate XMI Encoding requirement in the XMI Encoding list.3-1. can be exported to XMI for UML 2. A dialog box opens indicating that the XMI export is completed.4. the following files are created during the export process in addition to the model .

Note: For usage instructions and command-line parameters. Run the XMIExport.cmd -help or XMIExport. Use the XMIExport. run XMIExport.Exporting a Project to XMI Format Using the Command Line Together provides a comand-line method for an XMI export of UML 1. UML 2.4.0.cmd on the Windows platform or XMIExport.cmd file in the Together installation folder.sh on the UNIX platforms. Related Concepts Model Import and Export Overview Related Reference XMI Export Wizard 242 .sh help. To export a project to XMI format under Windows 1 2 Locate the XMIExport. and Java Modeling projects.cmd file with necessary parameters.

Click Next. Click Next to specify Java-related options for a Java project. Click Next. To generate source code from a design project 1 2 3 4 5 6 Select File Export on the main menu. Select the modeling project you want to use for source generation. Click Finish for a C++ Project. Select either Generate C++ Project or Generate Java Project in the list. Click Finish to complete the wizard. Related Concepts Together Interoperability and Migration 243 . Specify source code generation options and click Next.Generating Source Code from Design Project Together provides several projects that you can work with. The Export wizard is displayed. A new code generation project is created from the selected modeling project. Specify a new code generation project name.

choose File Import. Specify the diagram to start with. A new project will be created with elements from the MDX file. user-defined bounds are preserved in the resulting diagrams. the properties from this profile are imported as custom properties.0 specification. Related Concepts Model Import and Export Overview Related Reference MDX Import Wizard MDX Projects Import Options 244 . The New Project wizard opens. By default. Specify the path to the MDX file you want to import or click Browse to locate the file.03. Click Next. Specify new project name. ♦ Preserve diagram nodes and bounds: If this option is selected.Importing a Project in an IBM Rational Rose MDX Model Together enables you to create projects around an IBM® Rational® XDE . Otherwise the default values are applied. To create a project from an MDX model 1 2 3 On the main menu. Click Next. Note: If a profile was applied to the Rational XDE model while importing the MDX model to Together. Click Next. Select any referenced projects.mdx file. 4 5 6 7 8 9 Click Next. the scale factor is 0. You can also specify the following: ♦ Use the Scale factor field to specify the element dimensions coefficient. Click Finish to complete the wizard. Select one or more profiles you want to enable for this project. Note: Together design projects that are created on the basis of the imported MDX models always comply with the UML 2. Select Project from MDX file and click Next.

Follow the remaining steps in the wizard to specify options for your new project. or Physical Worker. To create a design project from an IBM Rational Rose (MDL) project 1 2 3 On the main menu. a new Java Modeling project is created. otherwise. After the import process is complete.3. The New Project wizard opens. 245 . choose File Import. Note: You can import a set of petal and subunit files.Importing a Project in IBM Rational Rose (MDL) Format Together enables you to create projects around IBM® Rational® Rose model files (. When prompted. If the option is selected. ♦ Generate source code: If this option is selected. such as Actor. .sub). Modeling project is created from imported MDL. you can click Finish without completing the remaining steps of the wizard. and click Finish to complete the wizard. By default. .mdl. Note: After entering a project name. Click either Add or Add Folder to designate the MDL project path. the scale factor is 0.ptl. Business Worker. Click Remove to delete the selected file or files from the Paths list. Specify the following options for the project: ♦ Convert Rose default colors: If this option is selected. Note: Avoid adding a model file along with its subunit to the import list because this results in invalid project. . If the option is not selected.4 specification. ♦ Preserve diagram nodes and bounds: If this option is selected. Warning: Together projects created on the basis of the imported MDL models always comply with the UML 1. a 6 7 8 Click Finish. Click Remove all to delete all files from the Paths list. Business Actor.cat. user-defined bounds are preserved in the resulting diagrams. Select Project from MDL file and click Next. 4 5 Use the Scale factor field to specify the element dimensions coefficient. ♦ Convert Rose actors: This option enables you to choose mapping for the Rose actors. supply a name for your project and click Finish. This step specifies the name (or names) of the Rational Rose project file (or files) to be imported (several model files can be imported at once). The project is created using the remainder of default settings. the Rose actors are mapped to Together actors. you can view the project structure in the Model Navigator view. the Rose actors are mapped to the classes with the Actor stereotype. the default Rational Rose colors will be replaced with the default Together colors. Otherwise the default values are applied. The mdlimport.log file is generated by default and lists any errors encountered during the import process.

Related Concepts Model Import and Export Overview Related Procedures Generating Source Code from Design Project Related Reference Together Projects MDL Projects Import Options MDL Import Wizard 246 .

Related Concepts Model Import and Export Overview Related Procedures MDL Projects Import Options 247 . Execute 'java -cp mdlimport.tg.0 in the Together installation folder.borland.jar com.tg.borland.1.tg.borland.CmdLineImporter <parameters>'. Java -cp mdlimport.cat. To execute an MDL import from the command line 1 2 Navigate to plugins\com.CmdLineImporter -d c: \myproject -project myproject -modelfile mymodel. For example.mdl. .mdlimport_8.Importing a Project in IBM Rational Rose (MDL) From the Command Line Together enables you to create projects around IBM® Rational® Rose model files (.jar com.ptl. .mdl. .mdlimport.mdlimport.sub) by executing the import wizard from the command line.

borland.jar com.mdx files by executing the MDL import wizard from the command line with specific parameters. Related Concepts Model Import and Export Overview Related Reference MDX Projects Import Options 248 .mdlimport.Importing a Project in IBM Rational Rose (MDX) From the Command Line Together enables you to create projects around IBM® Rational® XDE model *. Note: For parameter values.mdlimport_8. refer to MDX Project Import Options.tg. To execute an mdx import from command line 1 2 Navigate to plugins\com.tg.0 in the Together installation folder.CmdLineImporter <parameters>'. Execute 'java -cp mdlimport.borland.1.

xmi file field. ♦ The full path to the . After you are notified that the import process is complete. the XMI Import dialog notifies you to refer to the Task view.0 projects. If there are any warnings produced during XMI import. The Import dialog box opens.xmi.4 and Java Modeling projects only. Related Concepts Model Import and Export Overview Related Procedures XMI Export and Import of the Models with Cross-Project References 249 .uml2 file you want to import in the Select source .1/1. select Window Show View Other Basic Tasks from the main menu. In the Import Project from XMI File dialog box. select model .xmi file can be imported to UML 1.uml2 file as a source and make sure that all the profile files are located in the same folder with the model file. a .uml2 file can be imported to UML 2.Importing a Project in XMI Format You can import projects or sections of projects that were created in other modeling tools and saved in XMI format. for the models originally exported from Together for Eclipse. To open the Task view. you can view the results in the Model Navigator.0 file results in an empty project. or . XMI 1.xml. To import a project from an XMI file 1 2 3 Select File Import on the main menu.0 models with profile files related to the model. Note: When importing UML 2. Attempting to import an XMI 1. Note: For UML 1. . 4 Click Finish. Note: A . Select XMI File and click Next.xml or .4 and Java Modeling projects.2 imports are supported. specify the following: ♦ The Together project to which your XMI data will be imported in the Select destination project field.

To create a Java modeling project from a Java project 1 2 3 4 5 Select File New Project on the main menu. Therefore. In the Import Projects dialog box. Select Existing Projects into Workspace and click Next. The general procedure for importing a project created in Together Edition for Eclipse 7. the projects are created with the same name as the imported projects. Click Next. Expand the Together node in the tree view list and select Java Modeling projects from Java projects. Note: The name of the imported project cannot be changed during the import process. Select the Java project you created from the project created in Together Edition for Eclipse. Click Finish when you specified all necessary options. Related Concepts Together Interoperability and Migration 250 . Click Next. The new Java project is created and opened in your workspace.0 consists of the following steps: 1 2 Importing your existing project into a workspace Creating a Java modeling project from a Java project To import an existing project from TEC 7. Specify other project-related options. Click Finish when you specified all necessary options. specify the path to your project's root directory and select one or more projects you want to import.0 You can import projects created in Together Edition for Eclipse 7.0 1 2 3 4 Select File Import on the main menu.0. The New Project wizard opens.Importing Java Modeling Projects Created in Together Edition for Eclipse 7.

Click Finish to import the selected project. The third page of the wizard opens. Specify the name of the target project. ♦ The Separate projects option is recommended when your input project has nonstandard configuration with several design roots. Click Browse to specify the fully qualified name of the project you want to import. or you can create a separate project for each root of the source project. Click Browse to specify the fully qualified name of the project you want to import. On the third page of the wizard. you can either copy them to the target location or skip the root. Click Next.0 cannot be imported to Together. Together suggests two ways to accomplish this import. To create separate projects for each selected root 1 2 3 4 5 6 Select File Import on the main menu In the Import Wizard. In the Migration type section. If the root contains source code files. If the root contains design files. select Modeling Together Project and click Next. The second page of the wizard opens. The default name is constructed from the package prefix. The second page of the wizard opens. Considering the differences between the products. select Modeling Together Project and click Next. choose whether the design elements of the resulting project will be stored as standalone design elements or as filemates. Warning: TVS projects and projects created in Together Editions for Eclipse prior to version 7. In the Design elements storage policy section.Importing Legacy Projects Together allows you to import projects from some of the previously released Together products. In the Migration type section. the Root location table displays the list of folders of the source project. choose the way to handle information of the selected root. ♦ The Merge option is recommended for typical cases of when the input project has one design root and several source code roots. ♦ The read-only Content type and Diagram format fields display the corresponding information for the ♦ In the Decision field. In the Design elements storage policy section. the project name is created from the names of the last two folders of the root location. specify the name of the target project for the selected root. Select each root from the list and define the way you want to handle the root and its contents: ♦ In the Together project name field. select the Create a separate project for each root option. if any. select the Merge all roots contents into the new project option. You can merge all roots of a legacy multi-rooted project into a single root. To import a legacy project merging all source roots into a single project 1 2 3 4 5 6 7 8 Select File Import on the main menu In the Import Wizard. choose whether the design elements of the resulting project will be stored as standalone design elements or as filemates. If there is no package prefix. The default project name is constructed from the names of the last two folders of the source project file location. which you would like to preserve as separate projects. selected root. 251 .

Related Concepts Together Interoperability and Migration Related Reference Import Together Project Wizard 252 . The fourth page of the wizard opens. Specify the name of the master project that contains references to all projects created in the course of the migration. Use the real projects to create or edit contents and establish dependencies. ♦ In the Dependencies to be preserved while importing field. It is read-only and not intended for editing. and the selected root does not refer to any elements from other roots. if you are aware of any one-way dependencies between the original roots. UML 1. The option Copy and convert to design language is the default choice for the roots that contain Java files. However. you can specify whether the import handles links and references between projects created for the currently selected root and projects created for other roots. copy and convert it to design language. 7 8 Click Next. All resulting projects belong to the same type. All dependencies are processed by default. which is defined by the properties of the source project and your choice in the Decision field of the Import Wizard. or if such roots exist but the Decision field is set to Skip or Convert to design language.you have the choice to copy it as is. Java modeling projects are created if there is at least one Java source root for which the Copy option is selected. The default name of the master project is based on the source project name. uncheck those corresponding projects listed in the field to save CPU resources and complete the import faster.4 modeling projects are created if there are no Java source roots. or skip the root. 9 Click Finish to import the selected project. Note: The master project is created to demonstrate the contents and structure of the source project.

double-click the diagram node in the Model Navigator View. and Source Code Together provides constant synchronization between different aspects of your project: ♦ Model hierarchy. right-click the diagram node. To navigate from the Diagram Editor to the Model Navigator View 1 2 Right-click the selected element or diagram background in the Diagram Editor. You can navigate between the Model Tree. and the Refresh function of the Diagram Editor. Diagram.0 Sequence diagram in the Diagram Editor. presented in the tree view (Model Navigator View) ♦ Model graphical representation in the Diagram Editor ♦ Source code (for implementation projects) Tip: You can also use the Refresh function of the Model Tree View to update the entire model. To navigate to a model element from the Model Navigator View to the Diagram Editor 1 2 Right-click a model element in the Model Navigator View. Navigate to a model element from the Model Tree View to the Diagram Editor. Choose Select Type in Model Navigator View to navigate to the classifier in the Model Navigator View. Diagram Editor. 253 . Navigate from the Model Tree View or Diagram Editor to source code (for implementation projects). Choose Select on Diagram on the context menu. Navigate from source code to the Tree View. To navigate to the Diagram Editor from the Model Navigator View 1 2 In the Model Navigator View. Navigate from a lifeline to its classifier in the Model Navigator View or a Class diagram. Choose Select on Diagram.Navigating between the Tree View. Choose Select in Model Tree on the context menu. To navigate from a lifeline to its classifier in the Model Navigator View or a Class diagram 1 2 Right-click the selected lifeline on a UML 2. Navigate from the Diagram Editor to the Model Tree View. Alternatively. and source code in the following directions: 1 2 3 4 5 6 Navigate to the Diagram Editor from the Model Tree View. Note: Click the Link with Editor button on the Model Navigator toolbar and all elements selected in the Model Navigator will be automatically selected on diagrams.

OR Choose Select Type On Diagram to navigate to the classifier on a Class diagram in the Diagram Editor.

To navigate from source code to the Model Navigator View
1 2

Right-click the line that contains the element you want. On the context menu of the selection, choose Select in Model Tree.

The corresponding element is highlighted in the Model Navigator View.

To navigate from the Model Navigator View or Diagram Editor to source code (for implementation projects)
1 2

Right-click a model element or a node member. Choose Open on the context menu.

Note: This command is available for source code-generating elements. Click the Link with Editor button on the Model Editor toolbar and corresponding definitions will be automatically selected in the source code editor when you select model elements. Likewise, corresponding model elements will be selected when definitions are selected in the source code editor. Related Concepts Roundtrip Engineering Overview Related Procedures Troubleshooting a Model

254

Resolving Duplicates During an XMI Import
To resolve duplicates when importing an XMI file
1 2

If a duplicate package exists in the XMI file, the Confirmation dialog opens. Select whether to rename the imported package or replace a package in the current project with the imported package.

Further behavior depends on the project type: UML 1.4 and Java Modeling projects: When you choose rename, the name of the imported entity is automatically updated, adding a numeric value to the end. For example, if you have a project that contains a package named "problem_domain," and the imported XMI file also contains a package with the same name, choosing rename will rename the imported package "problem_domain1." Choosing replace will automatically replace the entity in the current project with the imported entity. UML 2.0 projects: During XMI import, if an entity exists in the XMI file and it has the same name as an entity in the project, a new entity is created. For each imported package that has the same name as a package in the project, a new package is created and an incremental number is added to the package name. Related Concepts Model Import and Export Overview Related Reference XMI Export Wizard

255

Reusing Existing Source Code in Modeling Projects
Together allows you to convert your existing source code to UML models. Together provides two ways to use reverse engineering:

♦ Convert the existing source while creating a new project ♦ Import the existing source code to a Java Modeling project

To import source code while creating a new project
1 2 3 4 5

On the main menu, choose File

New

Projects.

Expand the Modeling node and select Together Project. On the Modeling Project page, type the project's name. Select Create project from existing source and specify the path to the existing source code project folder. Click Finish.

To import source code to the existing modeling project
1 2 3 4 5

Right-click a target Java Modeling project in the Model Navigator and select Import on the context menu. In the Import wizard, select File System and click Next. Browse to the folder with source code to import. Select sources you want to import or click Select all to import the entire folder. Click Finish.

Related Procedures Creating a Project

256

Showing libraries
When you create a project, you can define directories with any number of search paths whose content you want to show in diagrams. For example, you can show entities that reside in the standard Java libraries. Such resources exist for the project, but Together does not include them in the generated HTML documentation for the project.

To show classes or packages from the standard Java libraries in a class diagram
1 2 3 4

Open or create a class diagram. Right-click on the background and choose New > Shortcut. The Shortcuts dialog opens displaying available model elements. Under the Model Elements tab, expand the libraries node, and navigate to the resource you want to add. Click Add. Repeat until you have added all the resources you want. Click OK to close the dialog.

Tip: If the resource you are looking for is not shown, it is probably not in the Java build paths defined in Project Properties. You can add resources to the Java build paths at any time by using the Navigator view (Navigator view is not the same as Model Navigator View). Right-click the project in the Navigator view, and select Properties from the context menu. In the dialog that displays, select Java Build Path. Add the appropriate paths to your project by using the different tabs listed on the Java Build Path page. Note: The new command available from the context menu, New, is disabled for classes that have been added from libraries (or compiled source code) to the diagram.

257

Troubleshooting a Model
You can also reload your project from the source code.

Use the following techniques to troubleshoot your model:
1 2 3

Refresh a model Reload a model Fix a model

To refresh a model
1 2

Open the Diagram View. Press F6.

To reload a model
1 2

Open the Model View. Right-click the project root node and choose Reload on the context menu.

Note: Use the Reload command as a workaround for issues that might appear while making changes in Together that cause some elements on the diagram to stop responding. The command is also helpful if you get certain errors from Together, such as <undefined value>. Tip: Usually, when these problems occur, the elements also disappear from the Together Structure View Class View and the corresponding source code is underlined in blue in the Together Editor. Together cannot always properly handle such elements that become broken. To restore broken elements to a normal state, edit the code in the text editor according to the recommendation shown in the Together Editor. In these cases, it is best to refresh the model using Reload to prevent further problems.

To fix a model
1 2

For interaction diagrams, regenerate them from the source code. For all types of diagrams, check that none of the necessary elements are hidden.

Related Procedures Navigating between the Tree View, Diagram, and Source Code

258

Using Example Projects
Together comes with a set of predefined sample projects.

To use a Together Example Project
1 2 3

Select File

New

Project on the main menu. The New Project wizard opens.

Expand the Examples node in the tree view list, and select the project you want. Click Next. Follow the wizard steps to specify the necessary options for a new project and click Finish to complete the wizard.

Tip: Alternatively, choose File New Example on the main menu. Related Concepts Together Project Overview Related Procedures Together Projects Related Reference Together Projects

259

Working with a Package
By default, a package element on diagram displays the package contents.

You can accomplish the following tasks for a package:
1 2 3 4 5

Open a package Modify package contents Delete a package Rename a package Move a package

To open a package
1 2

Select the package in the Diagram Editor or in the Model Navigator. Choose the Open or Open in Active Editor command on the package context menu.

Tip: Alternatively, double-click the package element on the diagram.

To modify package contents
1

To add an element, choose New <element> on the package context menu. Tip: You can use the context menu of a nested element in a package to add its fields and subelements directly without opening it in diagram.

2

To delete an element from a package, press the DELETE key.

To delete a package
1 2

Select the package in the Diagram Editor or in the Model Navigator. Choose Delete on its context menu. Warning: Deleting a package also deletes all of its contents.

To rename a package
1 2

Select the package in the Diagram Editor or in the Model Navigator. To rename the package, including changing its name in all of its source files, do one of the following:

♦ Choose Rename on the context menu of the package in the Diagram Editor or in the Model Navigator. ♦ Press F2 to invoke the in-place editor for the package element in the Diagram Editor or in the Model
Navigator.

260

♦ Edit the Name field in the Properties View

To move a package
1 2

Select the package in the Diagram Editor or in the Model Navigator. Drag the package and drop it to the target location.

Warning: It is not recommended to undo move operations for packages.

To split package diagram persistence
1 2

Right-click the project in the Model Navigator and choose Properties. Make sure the Store package properties in package diagram files option is not checked (this option is on by default). The default setting specifies that all properties of the package diagram, both visual and semantical, are preserved in the default.txvpck diagram file. With this option off, only diagram-specific information (visual information, such as layout) is retained in the default.txvpck diagram file, while settings that you treat as package properties (semantical information, such as descriptions and custom properties) are moved from the default.txvpck file into the default.txaPackage file. This allows you to track your package changes using version control.

3

Click OK. Note: Changing this option from Project Properties dialog converts the project files. This option can also be set using the New Project Wizard.

Related Concepts Package Overview

261

XMI Export and Import of the Models with Cross-Project References
You can import and export multi-root projects using XMI. Note that XMI import and export is implemented differently for UML 1.4 and Java modeling projects, and for UML 2.0 projects.

♦ UML 1.4 and Java modeling projects: When a project that contains cross-project references is exported to

an XMI file, the main project root and referenced roots are exported to the same XMI file. The Use prefix of imported root option of the Export Wizard enables you to reproduce the package structure of each root in top-level packages named as the root prefixes. If the option is unchecked, all same-named packages from the different roots are merged. When an XMI file is imported, the resulting project contains all packages and elements from the main model and referenced roots. *.imports.uml2 special files are created for each referenced root. The exported XMI file contains references to these files. When an XMI file is imported, the resulting project contains the main model only. If the referenced roots still exist in the workspace, the resulting UML 2.0 model recognizes them. References to the elements from these roots can be resolved only if the unique identifiers (UINs) of the elements have not been changed since export. Note that when an element is moved, its container is changed, and this can change the UIN.

♦ UML 2.0 projects: When a project that contains cross-project references is exported to an XMI file,

To export a UML 1.4 and Java modeling project with cross-project references
1 2 3

On the main menu, choose File Export. On the first page of the Export Wizard, select XMI file under Modeling and click Next. On the second page of the wizard:

♦ Select the project to be exported; ♦ Select the XMI type and encoding; ♦ Specify the export destination; ♦ Check the Use prefix of imported root option if you want to reproduce the package structure of each
root in top-level packages named as the root prefixes. By default, this option is unchecked.
4

Click Finish.

Tip: Package prefixes of the referenced roots are never used if you perform an export via the XMIExport.cmd command line utility.

To export a UML 2.0 project with cross-project references
1 2 3

On the main menu, choose File Export. On the first page of the Export Wizard, select XMI file under Modeling and click Next. On the second page of the wizard:

♦ Select XMI for UML 2.0 as the project to be exported ♦ Specify export destination
4

Click Finish.

262

Related Concepts Together Interoperability and Migration Model Import and Export Overview Related Procedures Importing a Project in XMI Format Exporting a Project to XMI Format

263

Together Profiles
Together allows you to model diagrams using several preinstalled profiles as well as profiles created with Profile Definition projects. In This Section A Typical User Scenario of Working With Profiles General information on how to create a profile definition. Adding Attributes to Stereotypes How to add attributes (tagged values) to stereotypes, and define inspector grouping. Adding Shortcuts to Metaclasses How to create shortcuts to metaclasses. Applying Profiles How to apply a profile. Converting Profile-Specific Properties How to reuse a project with a profile, created and applied in Together 2006. Creating Palette Contributions How to create a palette contribution in the profile. Creating Profile-Specific Constraints How to create profile-specific constraints. Creating Stereotypes How to create stereotypes in your profile. Defining Profile Properties How to specify profile definition properties Deploying Profiles How to deploy a profile. Enabling UML Profiles Describes how to enable profile support for a project. Exporting and Importing Profiles How to import and export profile plugins. Opening Profile Definition How to view and modify definitions of the custom profiles and profiles that come bundled with Together. Setting Viewmap Properties for Stereotypes How to specify a visual representation of the elements in the created profile. Uninstalling Profiles How to uninstall a profile and correctly remove it from the platform. Verifying a Model Against Profile Constraints How to verify a model against the specified constraints, provided that a profile is applied to this model. Working with Required Stereotypes How to define required stereotypes and filter their manifestation in diagrams.

264

A Typical User Scenario of Working With Profiles
To create, deploy and apply a new profile definition, perform the following general steps:
1

Create a Profile Definition project. While creating a Profile Definition project, specify a UML version that the profile is targeted for (UML 2.0 by default). Metaclasses referenced in a profile must be taken from the corresponding target UML metamodel. Creating a Project Open the default class diagram of your Profile Definition project and edit the profile properties: Defining Profile Properties Create Stereotypes: Creating Stereotypes Edit Stereotypes (edit properties, create shortcuts to metaclasses): Adding Shortcuts to Metaclasses Add attributes (tagged values) to the stereotypes: Adding Attributes to Stereotypes Define view properties for the stereotypes: Setting Viewmap Properties for Stereotypes Create Palette Contributions; fill them with the contributed stereotypes or pure metaclasses. Creating Palette Contributions Deploy profile: Deploying Profiles Apply profile: Applying Profiles

2

3

4

5

6

7

8

9

Related Concepts UML Profiles Basics Related Procedures Together Profiles

265

Creating a Project
Together provides several projects that you can work with. The projects in Together are created in the same manner. While creating a project, you will specify different options depending on the type of project.

To create a Together Project
1 2 3

Select File

New

Project on the main menu. The New Project wizard displays.

Expand the Modeling node in the tree view list, and select the type of project you want to create. Click Next. Follow the wizard steps to specify necessary options for a new project and click Finish to complete the wizard.

Related Concepts Together Project Overview Related Procedures Together Projects Related Reference Together Projects

266

Defining Profile Properties
When a Profile Definition project is created, you can specify or edit profile properties that are accessible via the default package diagram of the Profile Definition project. These properties are:

♦ Textual profile description ♦ Namespace, which identifies the profile

To specify profile definition properties
1 2 3 4 5

Open the default package diagram of the Profile Definition project. On the context menu of the diagram, choose Properties. The Properties View opens. In the Properties View, select the Profile Definition tab. Click the description field and enter the description text. Optionally, click the Edit button. Click the namespace field and enter a valid string.

Related Reference Profile Definition Properties

267

Creating Stereotypes
To create a Stereotype
1 2 3

Using the Profile Definition palette, add a Stereotype node to the diagram background. In the Properties View, choose Profile Definition node. In the Extended metaclass field, click the Edit button. In the dialog box that opens, select the desired metaclasses from the Model Elements pane. Use the Add and Remove buttons to make up a list of extended metaclasses. Click OK when you are finished.

4

If necessary, specify the required stereotype property: Working with Required Stereotypes Define view properties. Tip: View properties are not available for the stereotypes that extend across multiple metaclasses.

5

Setting Viewmap Properties for Stereotypes
6

Add attributes (tagged values) to the stereotype: Adding Attributes to Stereotypes Using Contribution link, connect the Stereotype to the desired Palette Contribution.

7

Related Procedures Working with Required Stereotypes Setting Viewmap Properties for Stereotypes Adding Attributes to Stereotypes

268

Adding Shortcuts to Metaclasses
When creating your profile definition project, you can use shortcuts to metatypes from the metamodel root. Shortcuts to metaclasses can be created in several ways, some of which are similar to adding any other shortcut to your diagram.

To use the Shortcuts dialog box
1 2 3 4

Right-click the diagram background and select Shortcuts

New. The Shortcuts dialog box opens.

Expand the metamodels node, choose the desired metaclass, and click Add. Use the Add and Remove buttons to make up a list of extended metaclasses. Click OK when you are finished.

To use cut, copy, and paste operations
1 2

Cut, copy, or drag a metaclass in the Model Navigator Paste and drop it to any diagram that is not a package diagram.

To use the drag-and-drop operation to create a shortcut on a package diagram, press and hold the CTRL and SHIFT keys while dragging an element from the Model Navigator to your package. Related Procedures Profile Definition Properties

269

Adding Attributes to Stereotypes
In this section you will learn how to add attributes to stereotypes, and how to define attribute properties, groupings and descriptions. After applying a profile, stereotype attributes become visible in the Properties View of the elements with this stereotype. You can add attributes to stereotypes in one of the following ways:

♦ Using the Properties View ♦ Using outgoing association links

To add attributes (tagged values) to a stereotype using the Properties View
1 2 3

Right-click on the selected stereotype in a profile definition diagram, and choose New menu. Add as many attributes as required. In the Properties tab:

Attribute on the context

Select an attribute in the stereotype node. Its properties are displayed in the Properties View.

♦ Choose the name field and enter the attribute name. ♦ Click the type field and specify the valid type using the combobox for primitive types or the selection
manager dialog for the enumerations and metaclasses. Note:
4

Invalid types are ignored during profile deployment.

In the Profile Definition tab, click the inspector group field, and select the inspector group from the list of existing groups, or create a new one. After applying the profile, the attribute is displayed in a separate tab (group) of the Properties View. In the Description tab, choose the Edit tab and enter description text. After applying the profile, this description shows up as a tooltip in the tab (group) of the Properties View.

5

After the attribute is added to the stereotype, the tagged value name is equal to the attribute name. Multiplicity of the tagged value is equal to the attribute's multiplicity. Note: If a profile defines attributes with a default value for a given type that is different from the default value in the underlying implementation, some side effects should be noted. For example, the default value for a Boolean property is false and is not persisted in the model instance. If a Boolean property is set to true as the default value in a profile definition and a user sets an instance value to false, its value is not persisted but interpreted as the default value (true) when read back in. Similarly, instance values changed to empty/null will not be persisted and will likewise be interpreted as the default value when read back in.

To add attributes (tagged values) to a stereotype using outgoing association links
1 2 3 4

On the profile definition diagram, create shortcuts to certain types (Primitive types, Enumerations or Metaclasses). Note that invalid types are ignored during profile deployment. In the Class Diagram group of the Tool Palette, select the Association link and draw it from the stereotype to a shortcut to the type that you have chosen. Select the created association link. Its properties are displayed in the Properties View. In the Supplier tab, specify the following properties: supplier multiplicity, supplier role

270

5

If necessary, specify the inspector group and description, as described in the steps 4 and 5 of the previous procedure.

After the attribute is added to the stereotype, the supplier role (if specified) is used as the tagged value name. If the supplier role is not specified, the link name or default name is used as a tagged value name. Multiplicity of the tagged value is equal to the supplier multiplicity. If the upper value of the supplier multiplicity is greater than 1, the attribute is treated as multivalued. Note: When the attribute of a metaclass type or the association to a metaclass shortcut is added to a stereotype, this attribute or association receives the viewmap and icon properties specified in the Profile Definition section of the Properties View. These properties allow you to select the viewmap and icon for the link that appears when this profile-specific property is set in the target project for the element with this stereotype. Related Reference Profile Definition Properties

271

Setting Viewmap Properties for Stereotypes
You can specify a visual representation of the elements in the profile you create. Values in the icon and viewmap properties affect the way the elements are displayed on your diagram. Note: Viewmap property values are different for stereotypes that extend links.

To set viewmap and icon properties
1 2 3

Select a stereotype rectangle. The Properties view displays the properties of the selected stereotype. In the Profile Definition node of the Properties view, choose the extended metaclass field and click the Edit button. In the selection manager dialog, navigate to the a metaclass and click Add. You can select several extended metaclasses. Click OK when you are finished. Tip: The viewmap property is available for the stereotypes that extend one metaclass only.

4 5

After a value for the extended metaclass property is provided, viewmap and icon properties are displayed. Select the viewmap field and click the Edit button. This opens the Viewmap Editor dialog box. Note that viewmap depends on the type of the extended metaclass. There are different sets of viewmap properties for the links and nodes. Specify the viewmap properties. For a stereotype that extends a node, select color to specify color for the element, or select svg to browse for an svg file. If you choose svg, you can also specify the figure from those described in the selected svg file and specify whether the graphical node with the selected .svg figure will be resizable. For a stereotype that extends a link, specify values for Source decoration, Target decoration, Foreground, Background, and Line style options. Click OK to save the changes and close the dialog box.

6

7

272

Creating Palette Contributions
In this section you will learn how to create a new tool, assign target diagrams and define the tool icon. A Palette Contribution is defined by the two basic notions:

♦ its target diagram ♦ contributed stereotypes or pure metaclasses

To create a Palette Contribution
1 2 3 4

Using the Profile Definition tool, add a Palette Contribution node to the diagram background. In the Properties View, choose Profile Definition node. In the diagrams field, define the diagram types where you want the new creation tools to appear. Click the Edit button and in the Select Diagrams dialog box that opens, check the desired diagram types. In the icon field, click the Edit button. In the Select Icon dialog box that opens, navigate to the *.gif file you want using the Copy From File System button. Tip: This dialog lets you arrange your icons in an orderly way. Use the Create New Directory button to create a special folder for storing icons, and populate it with the required images. This is useful for the large shared projects.

5

Using the Contribution link, define the contributed stereotype set:

♦ Linking to a stereotype defines the contributed stereotype ♦ Linking to a metaclass shortcut defines the contributed pure metaclass

Related Concepts UML Profiles Basics Related Procedures Together Profiles

273

Deploying Profiles
After you create one or more profiles, you can create profile plugins to share them with your team members.

To deploy a created profile
1 2 3 4 5 6

Select the Profile Definition project or any project element in the Diagram Editor or Navigator view. Choose Model Profile Deploy profile. The Deploy Profile wizard opens. In the Profile Content Project Settings page, update project and plugin settings as required and click Next. In the Behavior page, define the way the new profile will be deployed. Follow the notes of the wizard. Click Next. In the Target Directory page, select the directory where the plugin will be deployed. You can choose from the default location, linked folders or an external location outside of the Eclipse platform. Click Finish. Any errors that occur during the profile validation are reported in the Profile Validation Results view. You can navigate from an error message to the respective profile definition element and correct the error. When you are ready, click the Deploy button in the view. After the profile plugin is deployed, you will be prompted to restart the workbench and make the new profile available in the list of supported profiles. Click Yes to restart.

7

Note: Because the profiles are internationalized on creation, you can edit the .properties file inside your new profile plugin to provide any strings. Related Procedures Uninstalling Profiles

274

Applying Profiles
Profile plugins that you create can be distributed among your team members. If you have just created a profile plugin, you need to restart Together for the changes to take effect and for the plugin to become available in the program.

To enable a created profile
1 2 3 4 5

Select the Navigator view tab. If this view is not open, select Window menu.

Show View

Navigator on the main

In the Navigator view, right-click the root project folder, and select Properties from the context menu. The Properties dialog box displays. From the list on the left, select UML Profiles. Select the profile you created. More than one can be activated. Click OK.

Note: There is no binary compatibility of compiled profiles across the various operating systems and versions of Together. You can copy a deployed profile to the plugins folder on another computer if the operating system and Together version are the same. Related Procedures UML Profiles Basics Profile Definition Project A Typical User Scenario of Working With Profiles

275

Adding Attributes to Stereotypes
In this section you will learn how to add attributes to stereotypes, and how to define attribute properties, groupings and descriptions. After applying a profile, stereotype attributes become visible in the Properties View of the elements with this stereotype. You can add attributes to stereotypes in one of the following ways:

♦ Using the Properties View ♦ Using outgoing association links

To add attributes (tagged values) to a stereotype using the Properties View
1 2 3

Right-click on the selected stereotype in a profile definition diagram, and choose New menu. Add as many attributes as required. In the Properties tab:

Attribute on the context

Select an attribute in the stereotype node. Its properties are displayed in the Properties View.

♦ Choose the name field and enter the attribute name. ♦ Click the type field and specify the valid type using the combobox for primitive types or the selection
manager dialog for the enumerations and metaclasses. Note:
4

Invalid types are ignored during profile deployment.

In the Profile Definition tab, click the inspector group field, and select the inspector group from the list of existing groups, or create a new one. After applying the profile, the attribute is displayed in a separate tab (group) of the Properties View. In the Description tab, choose the Edit tab and enter description text. After applying the profile, this description shows up as a tooltip in the tab (group) of the Properties View.

5

After the attribute is added to the stereotype, the tagged value name is equal to the attribute name. Multiplicity of the tagged value is equal to the attribute's multiplicity. Note: If a profile defines attributes with a default value for a given type that is different from the default value in the underlying implementation, some side effects should be noted. For example, the default value for a Boolean property is false and is not persisted in the model instance. If a Boolean property is set to true as the default value in a profile definition and a user sets an instance value to false, its value is not persisted but interpreted as the default value (true) when read back in. Similarly, instance values changed to empty/null will not be persisted and will likewise be interpreted as the default value when read back in.

To add attributes (tagged values) to a stereotype using outgoing association links
1 2 3 4

On the profile definition diagram, create shortcuts to certain types (Primitive types, Enumerations or Metaclasses). Note that invalid types are ignored during profile deployment. In the Class Diagram group of the Tool Palette, select the Association link and draw it from the stereotype to a shortcut to the type that you have chosen. Select the created association link. Its properties are displayed in the Properties View. In the Supplier tab, specify the following properties: supplier multiplicity, supplier role

276

5

If necessary, specify the inspector group and description, as described in the steps 4 and 5 of the previous procedure.

After the attribute is added to the stereotype, the supplier role (if specified) is used as the tagged value name. If the supplier role is not specified, the link name or default name is used as a tagged value name. Multiplicity of the tagged value is equal to the supplier multiplicity. If the upper value of the supplier multiplicity is greater than 1, the attribute is treated as multivalued. Note: When the attribute of a metaclass type or the association to a metaclass shortcut is added to a stereotype, this attribute or association receives the viewmap and icon properties specified in the Profile Definition section of the Properties View. These properties allow you to select the viewmap and icon for the link that appears when this profile-specific property is set in the target project for the element with this stereotype. Related Reference Profile Definition Properties

277

you can use shortcuts to metatypes from the metamodel root. or drag a metaclass in the Model Navigator Paste and drop it to any diagram that is not a package diagram. Shortcuts to metaclasses can be created in several ways. To use the drag-and-drop operation to create a shortcut on a package diagram. Related Procedures Profile Definition Properties 278 . choose the desired metaclass. Use the Add and Remove buttons to make up a list of extended metaclasses. Expand the metamodels node. To use the Shortcuts dialog box 1 2 3 4 Right-click the diagram background and select Shortcuts New.Adding Shortcuts to Metaclasses When creating your profile definition project. copy. and click Add. The Shortcuts dialog box opens. To use cut. copy. some of which are similar to adding any other shortcut to your diagram. and paste operations 1 2 Cut. Click OK when you are finished. press and hold the CTRL and SHIFT keys while dragging an element from the Model Navigator to your package.

select UML Profiles. You can copy a deployed profile to the plugins folder on another computer if the operating system and Together version are the same. If this view is not open. you need to restart Together for the changes to take effect and for the plugin to become available in the program. Show View Navigator on the main In the Navigator view. From the list on the left. right-click the root project folder. Click OK. To enable a created profile 1 2 3 4 5 Select the Navigator view tab. select Window menu. Related Procedures UML Profiles Basics Profile Definition Project A Typical User Scenario of Working With Profiles 279 . and select Properties from the context menu. Note: There is no binary compatibility of compiled profiles across the various operating systems and versions of Together.Applying Profiles Profile plugins that you create can be distributed among your team members. More than one can be activated. If you have just created a profile plugin. The Properties dialog box displays. Select the profile you created.

choose Model Profile Convert Properties. which has different properties names. This results in creating a profile plugin. To convert profile-specific properties 1 2 On the main menu. If there are no profile-specific properties in the project. Related Concepts UML Profiles 280 . This profile plugin is applied to a certain modeling project. a profile has been created and deployed.Converting Profile-Specific Properties The converting profiles function helps you reuse projects from Together 2006 in which custom profiles were applied. The same modeling project is opened in Together 2006 R2. The same profile definition is reused and deployed in Together 2006 R2. This results in creating another profile plugin. This feature is useful for the following scenario: 1 2 3 4 In Together 2006. On an attempt to apply the new profile plugin to this project. the profile-specific properties will loose their values unless they are properly converted. no action is performed.

navigate to the *. define the diagram types where you want the new creation tools to appear. check the desired diagram types. A Palette Contribution is defined by the two basic notions: ♦ its target diagram ♦ contributed stereotypes or pure metaclasses To create a Palette Contribution 1 2 3 4 Using the Profile Definition tool.gif file you want using the Copy From File System button. assign target diagrams and define the tool icon. click the Edit button. add a Palette Contribution node to the diagram background. In the Select Icon dialog box that opens. Click the Edit button and in the Select Diagrams dialog box that opens. In the diagrams field. choose Profile Definition node. In the Properties View. 5 Using the Contribution link.Creating Palette Contributions In this section you will learn how to create a new tool. Use the Create New Directory button to create a special folder for storing icons. and populate it with the required images. Tip: This dialog lets you arrange your icons in an orderly way. define the contributed stereotype set: ♦ Linking to a stereotype defines the contributed stereotype ♦ Linking to a metaclass shortcut defines the contributed pure metaclass Related Concepts UML Profiles Basics Related Procedures Together Profiles 281 . In the icon field. This is useful for the large shared projects.

The value of the description property is used as the audit description. Note: The description and name properties of the constraint element. Such audits can be created as constraints linked to metaclasses in the profile definition project. Create a constraint element. do the following in your profile definition project: 1 2 3 4 5 Create a shortcut to the uml20::classes::Class metaclass. it is possible to run profile-specific audits via the Model Profile Constrains command. a stereotype MyStereotype has been defined for uml20::classes::Class.Creating Profile-Specific Constraints When defining your profile. Type the following in the body of the constraint: inv:stereotypes->includes('MyStereotype') implies generalizations->forAll( general. you can create a set of specific audits available only for projects with the applied profile.stereotypes->includes('MyStereotype')) Deploy the profile. Link the created constraint with the metaclass shortcut (it gets the context uml20::classes::Class). Note that a constraint context can be represented only by a metaclass from the target metamodel. Profile Run After the profile is applied to some project. For the following procedure. are used in the new audit. and you want to verify that the class with this stereotype only extends class with the same stereotype. and the constraint name and invariant name are used as the audit name. specified in the Properties View. Related Concepts UML Profiles Basics Related Procedures Together Profiles 282 . To provide the audit.

select the desired metaclasses from the Model Elements pane. In the Extended metaclass field.Creating Stereotypes To create a Stereotype 1 2 3 Using the Profile Definition palette. specify the required stereotype property: Working with Required Stereotypes Define view properties. In the Properties View. click the Edit button. choose Profile Definition node. 7 Related Procedures Working with Required Stereotypes Setting Viewmap Properties for Stereotypes Adding Attributes to Stereotypes 283 . Click OK when you are finished. Tip: View properties are not available for the stereotypes that extend across multiple metaclasses. 4 If necessary. connect the Stereotype to the desired Palette Contribution. In the dialog box that opens. add a Stereotype node to the diagram background. Use the Add and Remove buttons to make up a list of extended metaclasses. 5 Setting Viewmap Properties for Stereotypes 6 Add attributes (tagged values) to the stereotype: Adding Attributes to Stereotypes Using Contribution link.

Select an extension link. check the stereotypes you would like to hide in diagrams. After the parent profile is turned off. 3 4 5 In the Properties View of the extension link. Related Concepts UML Profiles Basics Related Procedures Creating Stereotypes Related Reference Profile Definition Properties UML Profiles Preferences View Management 284 . and the bind with profile field appears in the Properties View. choose Window Preferences Modeling Profiles View Management. The extension link in the diagram gets the {isRequired} label. after applying the profile to a project. select the Profile Definition tab. Tip: Alternatively. select a stereotype that extends a metaclass. after applying the profile to a project. Apply the changes and close the dialog.Working with Required Stereotypes In this section you will learn how to create a required stereotype and how to manage stereotypes in diagrams after applying or removing the parent profile of a stereotype. the appropriate elements get the required stereotype. To create a required stereotype 1 2 In a Profile Definition. stereotype. After the parent profile is turned off. this stereotype is preserved. add a shortcut to the parent metaclass to the Profile Definition. ♦ If the field is set to false. The extension link to the extending stereotype is drawn automatically. this stereotype is removed from the elements. Click the tab that corresponds to the appropriate metamodel. Set the bind with profile field as required: ♦ If the field is set to true. the appropriate elements get the required Tip: This feature is useful for the large team projects and helps avoid confusion that might be caused by applying custom profiles. expand the stereotype node and click the extension link. In the list of available profiles. To filter out required stereotypes in diagrams 1 2 3 4 On the main menu. Set the is required property to true. In the Model Navigator.

You can select several extended metaclasses. For a stereotype that extends a link. or select svg to browse for an svg file. Note that viewmap depends on the type of the extended metaclass. Tip: The viewmap property is available for the stereotypes that extend one metaclass only.Setting Viewmap Properties for Stereotypes You can specify a visual representation of the elements in the profile you create. you can also specify the figure from those described in the selected svg file and specify whether the graphical node with the selected . This opens the Viewmap Editor dialog box. and Line style options. For a stereotype that extends a node. Select the viewmap field and click the Edit button. viewmap and icon properties are displayed. Background. If you choose svg. 6 7 285 . In the selection manager dialog. In the Profile Definition node of the Properties view. Click OK when you are finished. 4 5 After a value for the extended metaclass property is provided. Values in the icon and viewmap properties affect the way the elements are displayed on your diagram. Foreground. There are different sets of viewmap properties for the links and nodes. Note: Viewmap property values are different for stereotypes that extend links. Specify the viewmap properties. select color to specify color for the element. navigate to the a metaclass and click Add. specify values for Source decoration. To set viewmap and icon properties 1 2 3 Select a stereotype rectangle. Click OK to save the changes and close the dialog box. Target decoration. choose the extended metaclass field and click the Edit button. The Properties view displays the properties of the selected stereotype.svg figure will be resizable.

For example. You can add attributes to stereotypes in one of the following ways: ♦ Using the Properties View ♦ Using outgoing association links To add attributes (tagged values) to a stereotype using the Properties View 1 2 3 Right-click on the selected stereotype in a profile definition diagram. the attribute is displayed in a separate tab (group) of the Properties View. After applying a profile. Add as many attributes as required. choose the Edit tab and enter description text. and how to define attribute properties. Similarly. Its properties are displayed in the Properties View. create shortcuts to certain types (Primitive types. In the Properties tab: Attribute on the context Select an attribute in the stereotype node. some side effects should be noted. specify the following properties: supplier multiplicity. In the Profile Definition tab. Enumerations or Metaclasses). Its properties are displayed in the Properties View.Adding Attributes to Stereotypes In this section you will learn how to add attributes to stereotypes. 5 After the attribute is added to the stereotype. After applying the profile. ♦ Choose the name field and enter the attribute name. and choose New menu. To add attributes (tagged values) to a stereotype using outgoing association links 1 2 3 4 On the profile definition diagram. Note: 4 Invalid types are ignored during profile deployment. Note: If a profile defines attributes with a default value for a given type that is different from the default value in the underlying implementation. its value is not persisted but interpreted as the default value (true) when read back in. the default value for a Boolean property is false and is not persisted in the model instance. or create a new one. and select the inspector group from the list of existing groups. If a Boolean property is set to true as the default value in a profile definition and a user sets an instance value to false. click the inspector group field. In the Class Diagram group of the Tool Palette. select the Association link and draw it from the stereotype to a shortcut to the type that you have chosen. Note that invalid types are ignored during profile deployment. After applying the profile. ♦ Click the type field and specify the valid type using the combobox for primitive types or the selection manager dialog for the enumerations and metaclasses. stereotype attributes become visible in the Properties View of the elements with this stereotype. the tagged value name is equal to the attribute name. Multiplicity of the tagged value is equal to the attribute's multiplicity. groupings and descriptions. instance values changed to empty/null will not be persisted and will likewise be interpreted as the default value when read back in. In the Supplier tab. In the Description tab. Select the created association link. this description shows up as a tooltip in the tab (group) of the Properties View. supplier role 286 .

If the upper value of the supplier multiplicity is greater than 1. If the supplier role is not specified. specify the inspector group and description. this attribute or association receives the viewmap and icon properties specified in the Profile Definition section of the Properties View. the supplier role (if specified) is used as the tagged value name. Multiplicity of the tagged value is equal to the supplier multiplicity. After the attribute is added to the stereotype. as described in the steps 4 and 5 of the previous procedure. Note: When the attribute of a metaclass type or the association to a metaclass shortcut is added to a stereotype. the attribute is treated as multivalued. These properties allow you to select the viewmap and icon for the link that appears when this profile-specific property is set in the target project for the element with this stereotype. the link name or default name is used as a tagged value name. Related Reference Profile Definition Properties 287 .5 If necessary.

On the context menu of the diagram. Click the namespace field and enter a valid string.Defining Profile Properties When a Profile Definition project is created. which identifies the profile To specify profile definition properties 1 2 3 4 5 Open the default package diagram of the Profile Definition project. These properties are: ♦ Textual profile description ♦ Namespace. Click the description field and enter the description text. Related Reference Profile Definition Properties 288 . choose Properties. Optionally. The Properties View opens. In the Properties View. you can specify or edit profile properties that are accessible via the default package diagram of the Profile Definition project. select the Profile Definition tab. click the Edit button.

In the Behavior page. select the directory where the plugin will be deployed. Click Yes to restart. The Deploy Profile wizard opens.properties file inside your new profile plugin to provide any strings. define the way the new profile will be deployed. Choose Model Profile Deploy profile. you will be prompted to restart the workbench and make the new profile available in the list of supported profiles. update project and plugin settings as required and click Next. Related Procedures Uninstalling Profiles 289 . In the Profile Content Project Settings page. you can edit the . You can navigate from an error message to the respective profile definition element and correct the error. Follow the notes of the wizard. In the Target Directory page. you can create profile plugins to share them with your team members. click the Deploy button in the view. Any errors that occur during the profile validation are reported in the Profile Validation Results view. To deploy a created profile 1 2 3 4 5 6 Select the Profile Definition project or any project element in the Diagram Editor or Navigator view. When you are ready.Deploying Profiles After you create one or more profiles. linked folders or an external location outside of the Eclipse platform. Click Next. Click Finish. 7 Note: Because the profiles are internationalized on creation. After the profile plugin is deployed. You can choose from the default location.

4). The New Project wizard opens. select UML Profiles. expand the Modeling node. and select Properties on the context menu. From the list on the left. Select the UML Profiles node. Select one or more profiles you want to enable and click Next to continue creating a new project with the New Project wizard. Expand the Modeling node in the tree view list. To specify the default set of UML profiles enabled for all new workspace projects 1 2 3 4 Choose Window Preferences on the main menu. right-click the root project folder.4 and UML 2. choose File New Project. Click Next. The Properties for <project> dialog box displays.Enabling UML Profiles There are several ways to enable UML profiles for Together projects. More than one can be activated.0 projects.0 or UML 1. Select any of the UML profiles that you want to enable. Profiles support of existing projects is not changed. In the left pane of the Preferences dialog box. Note: The selected UML profiles are automatically enabled for projects created after you changed profile preferences. Note: You can also access the Properties for <project> dialog box through the Model Package Explorer view and Navigator view. 290 . and select the UML project you want to create (UML 2. The Profiles screen of the wizard lists available profiles. Select the profiles you want to enable for UML 1. Click OK. To enable UML profiles support for existing projects 1 2 3 4 In the Model Navigator. Follow the wizard to the Profiles screen. To enable UML profiles support while creating a project 1 2 3 4 On the main menu.

Optionally. Specify the target directory. specify the source directory where the plug-ins you want are stored. With XMI exports. under the Modeling node. when you export a Together model with a profile applied. The list of available profiles is displayed. choose File Export. check the ones to be exported. In the Export dialog.uml and model. In the list of available profiles. the selected profile plug-ins will be imported to the default directory. Note: When exporting. you can link new directories using the Link New Directory button. The data from the other model should provide similar functionality with default values if it has a similar active profile. and ownership of the profile default values are repeated. default values are stored in the profile itself (the defaultValue property of the stereotype attribute). ♦ If you click the Target plug-ins directory radio button.Exporting and Importing Profiles In this section you will learn how to export and import profile plugins. you do not have to copy default values for properties to the target directory. choose Profile Plug-ins and click Next . check the ones to be imported. entering its fully qualified name in the text field or clicking the Browse button. The profile's default values are stored in the latter. under the Modeling node. To import profiles 1 2 3 4 5 On the main menu. choose File Import. For example. Click Finish. In the Search profile plug-ins in directory field. the selected profile plug-ins will be imported to the linked directory of your choice. choose Profile Plug-ins and click Next . Related Procedures UML Profiles Basics 291 . two files are created: model. 6 Click Finish.profile.uml. In the list of profiles encountered in the specified folder. To export profiles 1 2 3 4 5 On the main menu. and click Next. Specify the target directory. In the Import dialog. ♦ If you click the Linked directory radio button.

0 project.0 project. 2 Check the profile you want and click Finish. Related Concepts Profile Definition Project Related Procedures UML Profiles Basics 292 .Opening Profile Definition In this section you will learn how to view and modify definitions of the custom profiles and profiles that come bundled with Together. To open a profile definition 1 On the main menu. The selected profile definition opens as a UML 2. choose Model Profile Open Profile Definition. The Open Profile Definition dialog displays the list of profiles that declare their definitions. A profile definition opens as a UML 2.

you can also specify the figure from those described in the selected svg file and specify whether the graphical node with the selected . Specify the viewmap properties. navigate to the a metaclass and click Add. select color to specify color for the element. or select svg to browse for an svg file. If you choose svg. For a stereotype that extends a node. The Properties view displays the properties of the selected stereotype. For a stereotype that extends a link. Note that viewmap depends on the type of the extended metaclass. 4 5 After a value for the extended metaclass property is provided. 6 7 293 . There are different sets of viewmap properties for the links and nodes. Select the viewmap field and click the Edit button. You can select several extended metaclasses. Note: Viewmap property values are different for stereotypes that extend links. specify values for Source decoration. viewmap and icon properties are displayed.svg figure will be resizable. Values in the icon and viewmap properties affect the way the elements are displayed on your diagram. Foreground. Background. In the Profile Definition node of the Properties view. In the selection manager dialog.Setting Viewmap Properties for Stereotypes You can specify a visual representation of the elements in the profile you create. This opens the Viewmap Editor dialog box. choose the extended metaclass field and click the Edit button. To set viewmap and icon properties 1 2 3 Select a stereotype rectangle. Click OK to save the changes and close the dialog box. Click OK when you are finished. Tip: The viewmap property is available for the stereotypes that extend one metaclass only. and Line style options. Target decoration.

which involves detaching them from all projects in your workspace and deleting them from the file system. To uninstall a profile 1 2 On the main menu. Profile Uninstall Profile. choose Model Select the profiles to be uninstalled. Related Procedures UML Profiles Basics 294 .Uninstalling Profiles The uninstalling profile feature enables you to correctly remove the unused profile plugins.

and project. On the main menu. You can specify a scope for profile constraints after choosing Model Profile Run Constraints. Related Procedures UML Profiles Basics Related Reference UML Profiles Preferences Constraints 295 . choose Window Preferences constraints in the appropriate metamodel.Verifying a Model Against Profile Constraints Verification of a profile involves defining the necessary constraints within the target metamodel. and an actual verification of a model against the selected constraints. The results of verification display in the Profile Constraints view. choose Model Note: Profile Profile Constraints. and choose the desired Run Constraints. The Profile Constraint history contains the project name. You can navigate from any entry in the table to the respective element in diagram. The project name is qualified with an actual item. To verify a model against an applied profile 1 2 On the main menu. The possible constraint restrictions are selected resource (single selection). package (shallow or deep).

after applying the profile to a project. Tip: Alternatively. In the list of available profiles. The extension link to the extending stereotype is drawn automatically. After the parent profile is turned off. The extension link in the diagram gets the {isRequired} label. choose Window Preferences Modeling Profiles View Management. expand the stereotype node and click the extension link. this stereotype is preserved. 3 4 5 In the Properties View of the extension link. check the stereotypes you would like to hide in diagrams. and the bind with profile field appears in the Properties View. this stereotype is removed from the elements. Set the is required property to true. select a stereotype that extends a metaclass. add a shortcut to the parent metaclass to the Profile Definition. To create a required stereotype 1 2 In a Profile Definition. select the Profile Definition tab. stereotype. Apply the changes and close the dialog. After the parent profile is turned off.Working with Required Stereotypes In this section you will learn how to create a required stereotype and how to manage stereotypes in diagrams after applying or removing the parent profile of a stereotype. Click the tab that corresponds to the appropriate metamodel. To filter out required stereotypes in diagrams 1 2 3 4 On the main menu. Set the bind with profile field as required: ♦ If the field is set to true. Related Concepts UML Profiles Basics Related Procedures Creating Stereotypes Related Reference Profile Definition Properties UML Profiles Preferences View Management 296 . Select an extension link. after applying the profile to a project. the appropriate elements get the required stereotype. the appropriate elements get the required Tip: This feature is useful for the large team projects and helps avoid confusion that might be caused by applying custom profiles. ♦ If the field is set to false. In the Model Navigator.

297 . Configuring IDL Projects How to define IDL project structure and language-specific options.Configuring Implementation Projects This part provides how-to information on setting Together preferences and options for the implementation projects. In This Section Configuring C++ Projects How to define C++ project structure and language-specific options.

Tip: Use the context menu of the linked folder to remove it. Among the available indexers. From the list of available formatters. specify the linked folder location and name. choose Window Preferences Under the C/C++ category. ♦ If you want to use the preinclude file. select your C++ project options. or suffixes for the C++ files) ♦ Define indexer ♦ Enable C++ formatting ♦ Set up formatting options To configure a C++ project 1 2 Select the desired project in the Model Navigator. 298 . or filter it. Select the Project Properties page. choose Properties on the context menu of the project. mark it read-only. In the Add Include Folder dialog. 9 Select the C/C++ indexer page. and click OK. you will learn how to define the project structure and processing options: ♦ Access C++ project properties ♦ Define source path ♦ Define entry points ♦ Include search paths ♦ Define C++ processing settings (for example. skip standard includes option. specify its name in the Preinclude file name field. 5 6 7 8 Configure parsing entry points using the Configure Entry points dialog. check the Skip standard includes option. select the Code Formatter page. and select an indexer from the list. In the Link Additional Source dialog. choose Project Properties. To enable C++ formatter 1 2 3 On the main menu. enter the folder name or click Browse and navigate to the folder you want to add. The Properties for <project> dialog opens. ♦ To skip standard includes. select Together C++ Code Formatter. In the C++ Processing Settings tab.Configuring C++ Projects In this section. you can choose the Borland indexer. click Add. In the Include paths tab. click the Link Additional Source to Project button. 3 4 In the Project source path tab. On the main menu. Tip: Alternatively.

To set up formatting options 1 2 3 Under your Together installation. expand the plugins folder.properties file.borland.cdtintegration plugin.tg. In the com. Use the documentation provided with the file to edit as required. open the formatter. Related Reference New project Wizard C++ Language-Specific Options C++ Projects 299 .

and click OK. choose Project Properties. click the Link Additional Source to Project button.Configuring IDL Projects In this section you will learn how to define the project structure and processing options: ♦ Access IDL project properties ♦ Define source path ♦ Include search paths ♦ Define IDL processing settings To configure an IDL project 1 2 Select a project in the Model Navigator. In the IDL Processing Settings tab. choose Properties on the context menu of the project. 5 6 7 In the Include paths tab. specify the linked folder location and name. Refer to the IDL Language-Specific Options section for details. In the Add Include Folder dialog. click Add. mark it read-only. Related Reference New project Wizard IDL Language-Specific Options IDL Language-Specific Information 300 . select your IDL project options. enter the folder name or click Browse and navigate to the folder. Tip: Use the context menu of the linked folder to remove it. In the Link Additional Source dialog. 3 4 In the Project source path tab. Tip: Alternatively. or filter it. On the main menu.

0 State Machine Diagrams Procedures.Together UML 2. UML 2. 301 . UML 2. UML 2.0 State Machine Diagrams Procedures Lists the UML 2.0 Component Diagrams Procedures. Template Elements This section describes how to create template elements in diagrams and define formal parameters. UML 2. UML 2. UML 2.0 Interaction Diagrams Procedures Lists the UML 2.0 Diagrams This section provides how-to information on using Together UML diagrams.0 Class Diagrams Procedures Lists the UML 2.0 Composite Structure Diagrams Procedures.0 Activity Diagrams Procedures Lists the UML 2.0 Activity Diagrams Procedures.0 Use Case Diagrams Procedures.0 Component Diagrams Procedures Lists the UML 2. In This Section UML 2.0 Interaction Diagrams Procedures.0 Deployment Diagrams Procedures Lists the UML 2.0 Use Case Diagrams Procedures Lists the UML 2.0 Composite Structure Diagrams Procedures Lists the UML 2. UML 2.0 Class Diagrams Procedures.0 Deployment Diagrams Procedures.

4 and 2. Working with a Field How to rename a field. Creating Data Types How to create and extend a data type. Component and Composite Structure diagrams. and how to define its visibility and stereotype. and how to open these files from the Diagram Editor.0 Class Diagrams Procedures In This Section Adding Owned Behavior to a Class Lists the steps for adding a classifier behavior to a class. Working with Inner Classes Lists the steps for creating inner classes. 302 .0). Working with Instance Specifications Lists the steps for instantiating classifiers using the Properties View or the in-place editor. Working with a Provided or Required Interface How to work with the provided and required interfaces. Working with Association classes and n-ary associations How to create and delete association classes and n-ary associations.UML 2. Creating Class By Template How to create an element by template. Changing the Appearance of Compartments About changing the appearance of the class compartments in diagrams. Editing and Opening Header and Implementation Files in C++ Projects How to create header and implementation files of C++ classes and interfaces. Changing the Appearance of Interfaces About changing the appearance of interfaces. Working with a Relationship How to work with a relationship link (common for UML 1.0 Class. These procedures are common to UML 2. Creating and Editing Properties How to activate Java Beans and create/delete properties. Creating Enumerations and Enumeration Literals Lists the steps for creating an enumeration and extending an enumeration literal. Working with a Constructor How to create a constructor and define constructor parameters. Creating.

the interaction can be added to the class. Click OK when you are finished. This way.4 Class Diagrams Procedures 303 . click the classifier behavior field. Use the Add and Remove buttons to make up a list of Selected Elements. The owned behaviors can be added to a classifier by pasting a behavior into the classifier (for example. To add a classifier behavior to a class 1 2 3 4 5 Select a class in a diagram. select the desired element in the Model Elements pane.Adding Owned Behavior to a Class You can add behavior to a class. state machine or interaction.0 Class Diagram Definition Related Procedures UML 1. In the Select Behavior for Classifier Behavior Property dialog. In the Properties View. Related Concepts UML 2. Behavior is defined by an activity. cutting an activity and pasting it to a class) or via the Context menu. Note: This feature is available in the design projects only. and activity and interaction can be added to the use case.

Adding compartment controls is particularly useful when you have large container elements with content that does not need to be visible at all times.Changing the Appearance of Compartments You can collapse or expand compartments for the different members of class. Use the Preferences dialog to set viewing preferences for compartment controls. choose Window Open the Modeling Preferences.0 Class Diagrams UML 1. To show compartment controls 1 2 3 On the main menu.4 Class Diagrams 304 . View Management page. Click the “+” or “-” in the left corner of the compartment. Related Reference UML 2. To collapse or expand compartments 1 2 Select the class (or interface) on the diagram. Check the Always show Attributes and Operations compartments option. and package elements. interface.

0 Class Diagrams 305 . Press F4 to open the Properties View. Set the Circle view property as True.Changing the Appearance of Interfaces Note: This feature is available in the design projects only. Tip: This menu item works as a toggle. Tip: Choose False for the Circle view property to show the interface element as a rectangle. Choose Show as circle. To show an interface as a circle using the context menu 1 2 Right-click the interface element in the Diagram View or Model View.4 Class Diagrams UML 2. Note: Interfaces shown as small circles do not show their members in the Diagram View. Use the Model View to view the members. Related Reference UML 1. To show an interface as a circle using the Properties View 1 2 3 Select the interface element in the Diagram View or Model View. Right-click again and choose Show as circle to show the interface element as a rectangle.

Uncheck the Hide Java Bean Properties Participants option. creating a property results in creating a property attribute and its accessor methods in the source code. paste. Check the Recognize Java Bean Properties option. The Preferences dialog opens. the relevant types in the accessor methods will not be synchronized. If you edit the property type using the in-place editor. To add a property member to a class element 1 2 Select the target class in the diagram. choose Window Under the Modeling node. select Java. Refer to the Java Preferences description for details. Optionally.Creating and Editing Properties If recognizing Java Beans is enabled. On the context menu. The same result occurs when a property is deleted. using the cut. Related Procedures Java Preferences 306 . Preferences. that is. Refer to the Java Preferences description for details. Note: This feature is available in the implementation projects only. The Preferences dialog opens. To show property participants 1 2 3 On the main menu. Preferences. the accessor methods stay in place and should be deleted individually. If recognizing Java Beans is disabled. respectively. select Java. clone. When the Java Beans Properties Support is activated. choose Window Under the Modeling node. choose New Property. special care is required when editing or deleting properties. you can show the participants of a property (its attribute and the getter and setter methods) in the Attributes and Operations compartments of the class icon. To activate or deactivate Java Beans 1 2 3 On the main menu. Properties display in a class icon in the Properties compartment. copy. or delete commands on a property member applies to the property attribute and to its getters and setters. The participants are hidden by default.

Select the appropriate template from the Templates tree. The Apply template dialog box opens.Creating Class By Template Use the Class By Template button on the Palette diagram to implement source code constructions or solutions in your model. Set each value field within the Parameters area. Click on the diagram background. Related Procedures Apply Template Wizard 307 . or click Finish to apply default values. Note: This feature is available in the implementation projects only. To create a class by template 1 2 3 4 Select Class by Template in the Tools Palette.

Note: This feature is available in the design projects only. In the Properties View.Creating Data Types Data types are created as regular diagram elements. select the desired element in the Model Elements pane. Click OK when you are finished. You can add attributes and operations to data types using the context menu. In the Select Data type for Extends Property dialog. using the Tool Palette or New Data Type command on the diagram context menu. Related Concepts UML 2. select the extends field and click the chooser button. To extend a data type 1 2 3 4 5 Select a data type in a diagram. Use Add and Remove buttons to make up a list of Selected Elements.0 Class Diagram Definition Related Procedures Adding Owned Behavior to a Class 308 .

Use the Add and Remove buttons to make up a list of Selected Elements.4 Class Diagrams Procedures 309 . On the context menu. Related Concepts UML 2. The name of the literal is displayed in diagram. To extend an enumeration 1 2 3 4 5 Select an enumeration in the diagram. delimited by the equal sign. using the Tool Palette or the New Enumeration command on the diagram context menu.Creating Enumerations and Enumeration Literals Enumerations are created as regular diagram elements. To add an enumeration literal 1 2 3 4 Select an enumeration in the diagram. The new literal is added to the enumeration element. In the Select Enumeration for Extends Property dialog. In the Properties View. In the Properties View. select the enumeration element you want in the Model Elements pane. select the name field and enter the enumeration name.0 Class Diagram Definition Related Procedures UML 1. In the specification field enter the value that is displayed in the diagram next to the enumeration name. Click OK when you are finished. choose New Enumeration literal. select the extends field and click the chooser button.

Creating. Double-click the selected node. On the submenu. Related Procedures Special Considerations for C++ Projects 310 . If the implementation file already exists. choose the member that you want (operation. To create an implementation file 1 2 3 4 Select a class in the diagram. an operation or constructor) exists in the class. Editing and Opening Header and Implementation Files in C++ Projects C++ header files are automatically created when a class. To open a header file for editing 1 2 Select a class in the diagram. constructor or destructor). An implementation file is created. To open an implementation file for editing 1 2 Select a class in the diagram. Right-click the member and choose Create member definition on the context menu. Creating an implementation file becomes possible when anything that is defined outside the header (for example. interface or enumeration is added to a diagram. the new member definition is added to this file. Right-click the member and choose Edit member definition on the context menu. Right-click the selection and choose New on the context menu. The implementation file opens in the separate tab of the editor.

each new constructor is created with its unique set of parameters. In the Select Parameters for Operation dialog that opens. a constructor is created as an operation with the <<create>> stereotype. To define the constructor parameters 1 2 3 Select a constructor in a class. Use the Add and Remove buttons to make up the list of parameters. you can define the custom set of parameters using the Properties View. copy and paste constructors and destructors between the container classes the same way as you would do the other members.Working with a Constructor You can create as many constructors in a class as needed using the New menu of a class. Tip: Alternatively. Use a comma as a delimiter. and click OK when you are finished. Edit the values as required. click Add. type the list of parameters in the text area. Tip: You can move. click the Browse button in the parameters field. Related Reference UML 2.0 Class Diagrams UML 1.4 Class Diagrams 311 . Constructor command of the context In implementation projects. In the Properties View. In addition to creating parameters automatically. A parameter is added with the default values. or use the defaults. In design projects.

consider the following: 1 2 In the source code of the Java and IDL projects. set initial values and so on. or select one from the visibility combobox in the Properties View. the model and the source code are kept in sync.Working with a Field You can edit members using the Properties View. an equal sign (=). To define the visibility modifier 1 2 Choose a field. In this section you will learn how to: ♦ rename a field ♦ define a visibility modifier ♦ define a stereotype ♦ define modifiers. You can rename the fields. 312 . Use the in-place editor in the Diagram Editor . Use the Properties View or the source code editor (for implementation projects). and all modifications will be applied to the respective field in the diagram icon. To use multi-declarations in the source code. This notation is represented in the diagram as a number of separate entries in the Fields section in a class icon. initial values. it is possible to declare several fields in one line. you can also use the source code editor to modify the members. To define the stereotype of a field 1 2 Choose a field. or use the stereotype combobox of the Properties View. and the Name property (for example. In the implementation projects. associated objects and so on 1 2 Choose a field. When you do this. To define modifiers. Enter the visibility symbol in the in-place editor in the Diagram Editor . or use the name text field in the Properties View. initial values. Enter the new name in the in-place editor of the Diagram Editor or Model Navigator. change modifiers. Note: You can type the Value property. and associated objects ♦ handle multi-declarations To rename a field 1 2 Choose a field. or the in-place editor of the Diagram Editor or Model Navigator. EXCLUDE=2) when adding an Enum literal with the inplace editor.

Diagram. Related Procedures Navigating between the Tree View.0 Class Diagrams 313 . In C++ projects. and the pasted field will appear in the target container separately. and Source Code Adding a Single Model Element to a Diagram Related Reference UML 1. editing multi-declarations in the Diagram Editor or Properties View is not allowed.4 Class Diagrams UML 2.3 You can copy and move such fields in a diagram (using the context menu commands or drag-and-drop).

To create a required interface 1 2 3 Create class and interface node elements using the Palette buttons.0 Component Diagrams UML 2. On the diagram Palette. click the Required Interface button. click the Provided Interface button.Working with a Provided or Required Interface To create a provided interface 1 2 3 Create class and interface node elements using the Palette buttons. Related Procedures Changing the Appearance of Interfaces Related Reference UML 2. On the diagram Palette.0 Class Diagrams UML 2.0 Composite Structure Diagrams 314 . Click the client class and drag the mouse to the interface node. Click the client class and drag the mouse to the interface node.

Click the drop-down arrow and select the value for this Boolean property.4 Class Diagrams UML 2. Choose the link type (association. In the Link tab of the Properties View. Related Procedures Getting Started Procedures Creating a Simple Link Changing Type of an Association Link Related Reference UML 1. select the directed field. aggregation. To set the directed property of an association link 1 2 3 Select the association link that you want on the diagram. In the Properties View.Working with a Relationship Refer to the Getting Started Procedures to learn how to draw a link. This section describes how to change the link type and properties. The properties for the link appear in the Properties View. or composition) from the drop-down list. To change the type of an association link 1 2 3 Select an Association Link on the diagram.0 Class Diagrams 315 . select the Link tab and click the associates type field.

Related Reference Class Diagram Relationships UML 2. connect the diamond icon with the participant classes. The whole association class construct is now deleted from the diagram. Using the Association End button. To delete an association class 1 2 Right-click an association class or its diamond icon. Choose Delete on the context menu. select the Association Class button.Working with Association classes and n-ary associations Association classes appear in diagrams as three related elements: ♦ Association class itself (represented by a class icon) ♦ N-ary association class link (represented by a diamond) ♦ Association connector (represented by a link between both) To create an association class 1 2 3 4 On the diagram Palette. Click the diagram background. Create participant classes.4 Class Diagrams 316 . connected with the diamond icon that represents the Association Class Link Aspect. The source code of an association class now contains appropriate tags for the association class itself. and for each of the association end classes.0 Class Diagrams UML 1. This adds a regular class icon for the association class.

To create an inner class. Use the clipboard operations to paste the selected class into the parent class. Select New Inner Class from the context menu. Drop it. 317 . and Paste 1 2 3 Use the clipboard operations to either cut or copy an existing inner class.Working with Inner Classes Both inner classes and inner interfaces in diagrams display within their own compartment field within the class. do one of the following: When the class already exists 1 2 Drag it over the target class. Using Cut. Copy. Using the context menu 1 2 Right-click the parent class. Tip: Classes do not keep the same visibility after they are removed from the parent class. Select the parent class.

To instantiate a classifier using the in-place editor 1 2 3 4 Select an instance specification in your diagram. select the attribute you want from the list of attributes owned by the classifiers.0 specification. To define the features of an instance specification. In the Choose Classifier for 'instantiates' property. To add a slot to an instance specification element 1 2 Add an instance specification element to your diagram. To set the slot value. Alternatively. click twice on the instance specification name. click the Editor button. and define the slot stereotype. For example. InstanceSpecifcation1:Class1. In the defining feature field. 318 . Press F2 to open the in-place editor.Working with Instance Specifications According to the UML 2. To instantiate a classifier using the Properties View 1 2 3 4 5 Select an instance specification in your diagram. an instance specification can instantiate one or more classifiers. Click OK to save your changes. select the value field. you can insert slots into an instance specification element. delimited by a colon. Right-click the instance specification element and choose New Slot on the context menu. Click the Properties tab of the Properties View. You can instantiate a classifier using the instantiates property in the Properties View or the in-place editor. select the classifiers from the available contents. associate the slots with the attributes of the instantiated classifiers. using the Add/Remove buttons. select the instantiates field. Type the name of an existing classifier. OR Invoke the in-place editor for the slot and type the value next to the slot name. which is instantiated by the instance specification (or their parents). delimited by an equal sign. In the Properties node of the Properties View. To associate a slot with a structural feature 1 2 3 Select a slot in an instance specification element. next to the instance specification name. Click the chooser button. and type the string in the Edit property values editor. Press Enter. set the value. do one of the following: 1 2 In the Properties View of the slot.

0 Component Diagrams Procedures UML 2.0 Composite Structure Diagrams Procedures UML 2.Related Procedures UML 2.0 Class Diagrams Procedures 319 .

0 Use Case Diagrams Procedures This section outlines the procedures related to UML 2.UML 2. In This Section Creating an Extension Point How to create an extension point. 320 . Setting Subject for a Use Case Lists the steps for setting a subject for a Use Case. Defining Includes and Extends Links Describes how to define the condition properties of Includes and Extends links.0 Use Case diagrams.

Choose Add Type in a name.Creating an Extension Point To create an extension point 1 2 3 Right-click the use case element. Related Reference UML 1. Extension Point on the context menu.0 Use Case Diagrams 321 .4 Use Case Diagrams UML 2.

you can double-click on the condition element in the diagram and enter the condition text in the editor window. In the body field. Tip: Alternatively. In the Properties View. Related Procedures Setting Subject for a Use Case Together Object Constraint Language (OCL) 322 . The created links are marked with their stereotype. specify the condition text. In the language field. choose the condition type (OCL or plain text). To define condition properties of an Extends link 1 2 3 4 Select Extends link in the diagram.Defining Includes and Extends Links Includes and Extends links are created between Use Cases. expand the condition node.

323 . select the desired classifiers from the metamodel.Setting Subject for a Use Case To set a subject for a Use Case 1 2 3 4 5 Select a Use Case in the diagram. Click on the chooser button. Click OK. In the Select Classifier for Subject Property dialog. In the Properties View. expand the Common properties node and select the subject field. Use the Add and Remove buttons to create the list of selected elements.

0 project.0 Message About working with UML 2. Roundtrip Engineering with UML 2.0 Interaction Diagram How to design a UML 2. Defining Decomposition of a Lifeline How to define decomposition of a lifeline. Creating a Full-Screen Sequence or Communication Diagram from an Interaction How to create a full-screen sequence or a communication diagram from an interaction.0 Sequence Diagrams This section demonstrates how to create and edit a sequence diagram that generates source code in a UML 2. open it in a sequence or collaboration diagram and associate it with a class.0 Sequence and Communication diagrams. Working with a UML 2. Creating a State Invariant How to create a state invariant.0 sequence or communication diagram. Associating a Lifeline with a Classifier How to associate a lifeline with a classifier. In This Section A Typical Scenario of Designing a UML 2. Creating an Interaction Use How to create an interaction use. Working with Interactions How to create an interaction. Associating a Lifeline with a Referenced Element How to associate a lifeline with a referenced element. Working with a Combined Fragment How to work with a combined fragment.UML 2.0 messages. 324 . Copying and Pasting an Execution or Invocation Specification How to copy and paste an execution or invocation specification.0 Interaction Diagrams Procedures This section outlines the procedures related to UML 2.

Working with a UML 2. Note: Unlike UML 1.0 Sequence Diagram. and open it in a sequence diagram. Interactions are represented as nodes in the Model Navigator. it is possible to create a sequence diagram and a communication diagram based on the same interaction. However. An interaction diagram contains a reference to the underlying interaction. Working with a Combined Fragment Add state invariants. You can view an interaction in two ways: as a Sequence Diagram or as a Communication Diagram. Adding or deleting an element in an interaction results in the modification of the corresponding interaction diagram.4. and vice versa.0 Sequence or Communication Diagram. Link the created lifelines by using messages. Any actions performed with either view are automatically reflected in the other views. Creating a State Invariant 2 3 4 5 6 7 8 Related Reference UML 2. Defining Decomposition of a Lifeline Repeat the steps to create all required lifelines. Associating a Lifeline with a Classifier Define the decomposition of a lifeline. the corresponding interaction is added to the project. To design a UML 2. Creating an Interaction Use Associate a lifeline with a classifier.0 Interaction Diagrams 325 . Working with Interactions Create an interaction use.A Typical Scenario of Designing a UML 2. Whenever an interaction diagram is created.0 Message Add combined fragments to the lifeline. perform the following general actions: 1 Create an interaction with one or more lifelines. Usually you create interaction diagrams after class diagrams. Associate the interaction with a class and operation.0 Interaction Diagram Use the following tips and techniques when you design a UML 2. it is not possible to switch a diagram that already exists from sequence to communication and vice versa.

select the operation for the specified context. In the specification field. 2 3 4 In the Properties View. click the chooser button and in the Choose operation dialog.0 Interaction Diagrams 326 . choose New Interaction diagram elements Interaction. Tip: Alternatively. In this section you will learn how to: ♦ Create an interaction ♦ Open an interaction in a sequence or communication diagram ♦ Define context and specification for an interaction To create an interaction 1 2 In the Model Navigator. Related Reference UML 2. To open an interaction in diagram 1 2 Select an interaction in the Model Navigator. On the context menu. right-click a project or a package node. An interaction can be opened in a sequence or communication diagram. On the context menu. click on the interaction diagram background. select the Properties tab. choose Open full screen communication diagram or Open full screen sequence diagram. click the chooser button and in the Choose referenced classifier dialog. In the context field. To define context and specification for an interaction 1 Select an interaction in the Model Navigator.Working with Interactions You can start designing your sequence or communication diagram with creating an interaction. select a context.

Tip: Alternatively. 5 In the Choose Referenced Interaction dialog box. You can further expand it over several lifelines. Related Reference UML 2. select the interaction and click OK. choose the Properties tab. just type the interaction name. In the interaction name field. An interaction use is initially created attached to a lifeline. Click on the target lifeline.Creating an Interaction Use To create an interaction use 1 2 3 4 In the diagram Palette.0 Interaction Diagrams 327 . click the chooser button. In the Properties View for the newly created interaction use. as well as detach it from and reattach it to lifelines. choose the Interaction Use button.

0 Interaction Diagrams 328 . Related Procedures Instantiating a Classifier Related Reference UML 2. The Choose represented connectable element's type dialog box opens. Select a classifier to be associated with the lifeline from the tree of available model elements. The Choose represented connectable element's type dialog box opens. select type field. and click OK. Select Class or Interface on the submenu. In the Properties View of the lifeline. To associate a lifeline with a classifier using the Properties View 1 2 3 Select a lifeline on an Interaction diagram. choose More.Associating a Lifeline with a Classifier In this section you will learn how to: ♦ Associate a lifeline with an existing classifier using the lifeline context menu ♦ Associate a lifeline with a new classifier using the context menu ♦ Associate a lifeline with a classifier using the Properties View To associate a lifeline with a classifier using the lifeline context menu 1 2 3 Select a lifeline on an Interaction diagram. To associate a lifeline with a new type using the lifeline context menu 1 2 3 Select a lifeline on an Interaction diagram. or click the file chooser button. If the desired type is not in the list. Enter the classifier name in the text area. and click OK. Right-click the lifeline and select New Type on the context menu. The new connectable element adds to the model. Select a classifier to be associated with the lifeline from the tree of available model elements. Right-click the lifeline and select Choose Type <connectable element's type> on the context menu.

Click OK. Click the chooser button. select the decomposition field. and referenced element properties are also reflected in the corresponding Communication diagram. type.Defining Decomposition of a Lifeline To define decomposition for a lifeline 1 2 3 4 5 Select the desired lifeline in the Model Navigator or the Diagram Editor . In the Choose Referenced Interaction dialog box. Tip: Decomposition. In the Properties View. stereotype.0 Interaction Diagrams 329 . Related Reference UML 2. select the desired interaction.

To create a message from a lifeline back to itself 1 2 Choose the Message icon on the diagram Palette. Click an execution specification to originate the message and drag the link to the target lifeline. a message that comes from an object that is not shown on the To show or hide reply messages 1 2 Select a call message on a diagram. The message link is named according to the name of the operation. In the Properties tab of the Properties View. To create a nested message 1 2 Choose the Message icon on the diagram Palette. Click OK. To create a message link that corresponds to an operation call 1 2 3 4 5 Create a message link between two lifelines in an interaction. select an operation. set the show reply message value to true to show reply messages or to false to hide reply messages. In the Choose Operation dialog box. For example.Working with a UML 2. Double-click the target lifeline. Note: The nested message inherits the numbering of the parent message. its first nested message is 1. Make sure that the target lifeline has its type defined and the associated classifier contains at least one operation. which enables you to extend or reduce the time of invocation specification and execution specification independently diagram [Sequence diagram]) ♦ Create a found execution on a lifeline (that is.0 Message This section describes techniques for working with messages in sequence and communication diagrams. if the parent message has the number 1. In the Properties View. 330 . In this section you will learn how to: ♦ Show or hide reply messages ♦ Create nested messages (Sequence diagram) ♦ Create a message from a lifeline back to itself ♦ Create a message link that corresponds to an operation call ♦ Create an asynchronous call. Although the two diagram types are equivalent.1. the techniques for dealing with messages differ. select the signature field and click the chooser button.

0 Message Execution Specification and Invocation Specification 331 . Click the sort property in the Properties View and select asynchCall in the list. To create a found execution 1 2 In the Palette.0 Interaction Diagrams UML 2. click the Found execution button. An execution specification bar is created in the target lifeline. Click on a place of a lifeline. Related Procedures Working with Instance Specifications Related Reference UML 2.To de-synchronize invocation specification and execution specification 1 2 Select an invocation specification on a lifeline.

if any. To create nested operators 1 2 3 4 5 6 Select a combined fragment. The combined fragment is added to the target lifeline or execution specification. You can work with the inner frames in the same way as with the outer frames: move along a lifeline. A new line is displayed below the existing entry in the list of operators. together with its outer frames. and click on the target lifeline. Use a comma as a delimiter. The nested operators are now listed in the descriptor of the combined fragment in the specified order. detach and tie frames. spread them over several lifelines. Note that drawing a message link from a frame automatically expands it. The Interaction Operators dialog box opens. or number of operands). Click on the target combined fragment that already exists in a lifeline.Working with a Combined Fragment In this section you will learn how to: ♦ Create a combined fragment ♦ Create nested combined fragments ♦ Create nested operators ♦ Sever nested operators ♦ Create operands ♦ Expand combined fragments across several lifelines ♦ Detach a combined fragment from a lifeline To create a combined fragment 1 2 3 Choose the Combined Fragment button in the diagram Palette. Click the Add button. Each new combined fragment has a different color to distinguish it from the other combined fragments within the same cluster of nested frames. In the other operators field of the Properties View. If a certain operator enables arguments. choose an operator from the list of available operators and set the combined fragment options (operator name. Click OK to apply changes. displaying the list of already defined operators in the current combined fragment. enter them in the adjacent field in the Arguments column. In the New Combined Fragment dialog box that opens. Use the Add and Remove buttons to compile your list of the nested operators. Click OK. Use the Up and Down buttons to specify the proper order of nested operators. click the chooser button. To create a nested combined fragment 1 2 Choose the Combined Fragment button in the diagram Palette. 332 . arguments. Note: Each new node has a different color that is selected at random.

A combined fragment must be attached to at least one lifeline. Add as many operands as required. select the pair of operators between which the combined fragment will be divided. Constraint text is displayed in the operand section of the combined fragment.To sever operators 1 2 3 Right-click a combined fragment that contains nested operators. On the context menu of the selection. Related Reference Operator and Operand for a Combined Fragment 333 . On the context menu. it will be added to the end of the combined fragment. To create an operand 1 2 3 4 5 6 Select a combined fragment or an operand in the Model Navigator or in the Diagram Editor . select the language to be used for describing the constraint. On the context menu. On the submenu. Type the constraint expression. To combine with an outer fragment 1 2 Right-click an inner fragment. it will be added just before this operand. 2 Click the anchor icon and drag it to the target lifeline. The fragment now spans across lifelines. Tip: You can expand both outer and inner combined fragments. To expand a combined fragment across several lifelines 1 Select the combined fragment. choose New Interaction Operand. click the Language drop-down list and choose OCL or plain text. A nested combined fragment is now created. Apply changes. If the operand was created from the context menu of an operand. Choose Delete on the context menu. choose Combine with an outer fragment. with the mounting links on each lifeline. If the operand was created from the context menu of a combined fragment. Tip: You cannot delete the only mounting link of a combined fragment. In the Interaction constraint tab of the Properties View. A new operand is now created. choose Sever operators between. To do this. To detach a combined fragment from a lifeline 1 2 Select the mounting link of a combined fragment.

In the invariant kind field. The typed OCL expression is correct only if the context is specified for it. If no type is set. Click the target lifeline or execution specification. If the state or region belongs to a different package. This constraint is evaluated at runtime prior to execution of the next execution specification. In the Choose States and/or Regions dialog box. click the state invariant button. you can type the state or region name using the in-place editor. An OCL editor with highlighting and validation is provided for typing your OCL expression. expand the Common properties node. click the Edit button. Click OK to save your changes. The context of the State Invariant connected to the LifeLine is the type of the part this LifeLine represents. select the states and/or regions from the model. the OCL expression is reported as invalid with OCL as the language of the expression. In the States/Regions field. expand the Common properties node. click the state invariant button.0 Interaction Diagrams 334 .Creating a State Invariant A state invariant is a constraint placed on a lifeline. choose States/Regions from the list. You can use the state invariants to provide comments to your interaction diagrams and to connect interactions with states. To connect a state invariant to a state: 1 2 3 4 5 6 7 8 On the diagram Tools Palette. In the Properties view of the state invariant. Click the target lifeline or execution specification. In the OCL invariant view that opens. The shape of the state invariant diagram element changes to braces. In the invariant kind field. In the Properties view of the state invariant. If no correct context can be specified. Related Concepts About OCL Support in Together Related Reference UML 2. Alternatively. choose OCL expression from the list. The possible options are OCL and plain text. Use the Add button to add them to the Selected list. State invariants are represented in the interaction diagrams in two ways: as OCL expressions or as references to the state diagrams. select the language of the comment from the Language list. Type your expression text and apply changes. specify its fully qualified name. To create a state invariant as an OCL expression: 1 2 3 4 5 6 On the diagram Tools Palette. Together provides validation of the state invariants represented as OCL expressions. select text as the expression language.

Select a classifier to be associated with the lifeline from the tree of available model elements. To associate a lifeline with a classifier using the Properties View 1 2 3 Select a lifeline on an Interaction diagram. and click OK. and click OK. or click the file chooser button. Select a classifier to be associated with the lifeline from the tree of available model elements. select type field. The Choose represented connectable element's type dialog box opens. choose More.0 Interaction Diagrams 335 . To associate a lifeline with a new type using the lifeline context menu 1 2 3 Select a lifeline on an Interaction diagram. Select Class or Interface on the submenu. Right-click the lifeline and select New Type on the context menu. In the Properties View of the lifeline. Enter the classifier name in the text area. The Choose represented connectable element's type dialog box opens. Right-click the lifeline and select Choose Type <connectable element's type> on the context menu. If the desired type is not in the list.Associating a Lifeline with a Classifier In this section you will learn how to: ♦ Associate a lifeline with an existing classifier using the lifeline context menu ♦ Associate a lifeline with a new classifier using the context menu ♦ Associate a lifeline with a classifier using the Properties View To associate a lifeline with a classifier using the lifeline context menu 1 2 3 Select a lifeline on an Interaction diagram. The new connectable element adds to the model. Related Procedures Instantiating a Classifier Related Reference UML 2.

Click OK. Related Reference UML 2. On the context menu. In the Choose Represented Connectable Element dialog box. choose Select. To navigate to a referenced interaction 1 2 3 Right-click on an interaction use that refers to another interaction.Associating a Lifeline with a Referenced Element To associate a lifeline with a referenced element 1 2 3 4 5 6 Make sure that your Interaction context or Interaction specification contains the referenced elements that should be represented by the lifelines. In the Properties View. select the desired part from the project or Favorites.0 Interaction Diagrams 336 . Choose the desired destination on the submenu. Select the desired lifeline in the Model Navigator or the Diagram Editor . Click the chooser button. select the represents field.

To copy and paste an execution or invocation specification 1 2 Cut. When an execution or invocation specification is copied. drag-and-drop while holding the CTRL key down. To create a copy. it means that the entire branch of messages is copied also.0 Message Related Reference UML 2. 3 Tip: It is also possible to move and copy message branches using the drag-and-drop technique. drag-and-drop it to the target location. Pasting the clipboard contents to a target lifeline results in changing the message numbers according to the numbering of messages in the target lifeline. Related Procedures Working with a UML 2. the entire outgoing bunch of messages will be pasted also. and Paste commands are available on the context menu of an execution specification and invocation specification.Copying and Pasting an Execution or Invocation Specification Clipboard operations are supported for the execution and invocation specifications. If you paste an invocation or execution specification to another diagram. It is possible to copy or move these elements within the same diagram or to another diagram.0 Interaction Diagrams 337 . To move an execution or invocation specification. Copy. with all the respective lifelines. If the target diagram does not contain lifelines for this execution specification. they will be created automatically.

Creating a Full-Screen Sequence or Communication Diagram from an Interaction To create a full-screen sequence or a communication diagram from an interaction 1 2 In the Diagram Editor or in the Model Navigator. Related Reference UML 2. If such a diagram does not exist.0 Interaction Diagrams 338 . choose an Interaction element. it will be created and will open in the Diagram Editor . Right-click the Interaction node and choose Open Full-Screen Sequence diagram or Open Full-Screen Communication diagram.

In the Choose States and/or Regions dialog box. To connect a state invariant to a state: 1 2 3 4 5 6 7 8 On the diagram Tools Palette. Use the Add button to add them to the Selected list. Click the target lifeline or execution specification. choose States/Regions from the list. the OCL expression is reported as invalid with OCL as the language of the expression. select the language of the comment from the Language list. An OCL editor with highlighting and validation is provided for typing your OCL expression. you can type the state or region name using the in-place editor. click the Edit button. If the state or region belongs to a different package. The typed OCL expression is correct only if the context is specified for it. Type your expression text and apply changes. click the state invariant button. click the state invariant button. select the states and/or regions from the model.0 Interaction Diagrams 339 . In the invariant kind field. The possible options are OCL and plain text. Together provides validation of the state invariants represented as OCL expressions. Click the target lifeline or execution specification. In the States/Regions field. If no type is set. Related Concepts About OCL Support in Together Related Reference UML 2. If no correct context can be specified. State invariants are represented in the interaction diagrams in two ways: as OCL expressions or as references to the state diagrams. specify its fully qualified name. You can use the state invariants to provide comments to your interaction diagrams and to connect interactions with states. expand the Common properties node. select text as the expression language. In the invariant kind field. This constraint is evaluated at runtime prior to execution of the next execution specification. Click OK to save your changes. To create a state invariant as an OCL expression: 1 2 3 4 5 6 On the diagram Tools Palette. The context of the State Invariant connected to the LifeLine is the type of the part this LifeLine represents. In the OCL invariant view that opens. The shape of the state invariant diagram element changes to braces. Alternatively. In the Properties view of the state invariant. In the Properties view of the state invariant. expand the Common properties node.Creating a State Invariant A state invariant is a constraint placed on a lifeline. choose OCL expression from the list.

choose the Properties tab. as well as detach it from and reattach it to lifelines. just type the interaction name. You can further expand it over several lifelines.0 Interaction Diagrams 340 . Click on the target lifeline. In the interaction name field. 5 In the Choose Referenced Interaction dialog box. Related Reference UML 2.Creating an Interaction Use To create an interaction use 1 2 3 4 In the diagram Palette. Tip: Alternatively. select the interaction and click OK. In the Properties View for the newly created interaction use. click the chooser button. choose the Interaction Use button. An interaction use is initially created attached to a lifeline.

select the desired interaction. stereotype. Related Reference UML 2. In the Properties View. Click OK. In the Choose Referenced Interaction dialog box.Defining Decomposition of a Lifeline To define decomposition for a lifeline 1 2 3 4 5 Select the desired lifeline in the Model Navigator or the Diagram Editor . Tip: Decomposition. select the decomposition field. Click the chooser button. type.0 Interaction Diagrams 341 . and referenced element properties are also reflected in the corresponding Communication diagram.

and click on the diagram to create a new object with the name Frame. ♦ Generate a sequence diagram from the main method of the class. The Generate Sequence Diagram wizard displays. All the messages will have the same source and destination. The new main() method is created. Tip: By default. the generated diagram gets the name [Class_name]. ♦ Create source-generating elements on the sequence diagram.0 source code project. Click Finish. select for and click OK. Create a new class on the diagram. and choose New Operation on the context menu. In the body field. Right-click on the class. The in-place editor activates. In the Properties View of the operand. i < 4. add a main class method by entering the following code in the in-place editor: main(args: String[]):void Press ENTER. ♦ Create messages.0 Sequence Diagrams This section demonstrates a sample procedure if creating and editing a UML 2. you will: ♦ Create an implementation project and a class with the main() method. — In the language field. accepting the default settings for the first page of the wizard.0 sequence diagram that generates source code. i ++ The label displays in the operand of the combined fragment as: [int i = 0. Create an operation. 342 .Roundtrip Engineering with UML 2. — Select an operand in the combined fragment. To generate source code from a sequence diagram. i++] 2 Add a new lifeline to the sequence diagram: — Click the Lifeline button on the Palette. Click Next.[method_name]. To generate a sequence diagram from the main method 1 2 3 Right-click on the main method. To create a project and class 1 2 3 4 5 Create a UML 2. accepting the default settings for the second page of the wizard. select plain text. The lifeline gets the name self. and choose Generate Sequence Diagram from the context menu. For example. choose the Combined Fragment button and click on the execution specification of the message #1. click the Interaction Constraint tab. To create source-generating elements on the sequence diagram 1 Create a for statement in the self lifeline: — On the Tools Palette of the diagram. enter the following code: int i = 0. The sequence diagram opens in a new diagram tab of the Diagram Editor . i < 4. — In the New Combined Fragment dialog. and add a new class diagram.

2: setDefaultCloseOperation(JFrame.2.50*i) Draw Message Link 1. enter JFrame. scroll through the list. Click OK. scroll through the list. Related Reference UML 2. Open implementation code of the Class1 in the Editor. Click Finish. scroll through the list.0 Interaction Diagrams 343 . Select JFrame from the list. The message label becomes: 1.400) Draw Message Link 1.1: JFrame().5:show():void 6 7 To generate implementation code for a sequence diagram 1 Right-click on the background of the sequence diagram.4.swing. and select setDefaultCloseOperation(int):void.50*i). In the Choose operation dialog. Select JFrame constructor (JFrame:void) from the list. Note that the message link now points to the frame object. To create messages on a sequence diagram 1 2 Draw a message link from the Execution Specification to the lifeline of the Frame lifeline. Warning messages display. for which implementation code has been generated. Its label is Message Link 1. As you click the target lifeline. the Choose operation dialog opens. The Choose represented connectable element's type dialog box displays. In the Properties View of the message. In the Choose operation dialog expand the Component node. Click Next to display the second page of the wizard. Message labels. The message changes visually to the creation type. The second page of the wizard displays changes that are necessary to perform refactoring. and observe that the Editor scrolls to the point of appropriate method invocation.3 Associate the new lifeline with a type: — Right-click on the Frame lifeline. expand the JFrame node. enter (50*i. — Expand the libraries node and navigate to javax > swing. In the Choose operation dialog. and choose Choose type More from the context menu. 3 4 5 Draw a new message. The first page of the Sequence diagram refactoring wizard displays. and choose Generate Implementation from the context menu.EXIT_ON_CLOSE) Draw Message Link 1.400. set creation property to true. 2 3 4 On the sequence diagram.4: setLocation(50*i. expand the Component node. and select with the operation setSize(int.int):void. Notice the sections on the page highlighting the original source code to be replaced and the refactored source code to replace it.5. In the arguments field of the Properties View.3: setSize(600. In the Choose operation dialog expand the Component node. In the Editor.EXIT_ON_CLOSE. The message label becomes: 1. display in bold on the diagram. which means that the object is being created. and select with the operation show().2. scroll through the list.int):void . those messages do not display in bold. double-click one of the message links displayed in bold. add an import statement for javax. if applicable. The name of the selected class displays on the frame object.3. and click OK. If code generation fails for certain messages. The message label becomes: 1. The message becomes: 1. and select with the operation setLocation(int. In the arguments field of the Properties View of the message 1. In the arguments field of the Properties View enter 600. The message label becomes: 1.

Note that drawing a message link from a frame automatically expands it. arguments. click the chooser button. In the other operators field of the Properties View. To create nested operators 1 2 3 4 5 6 Select a combined fragment. Use the Add and Remove buttons to compile your list of the nested operators. Click on the target combined fragment that already exists in a lifeline. together with its outer frames. Click OK. Note: Each new node has a different color that is selected at random. detach and tie frames. spread them over several lifelines. Each new combined fragment has a different color to distinguish it from the other combined fragments within the same cluster of nested frames. A new line is displayed below the existing entry in the list of operators. Use the Up and Down buttons to specify the proper order of nested operators. The nested operators are now listed in the descriptor of the combined fragment in the specified order. choose an operator from the list of available operators and set the combined fragment options (operator name. displaying the list of already defined operators in the current combined fragment. or number of operands).Working with a Combined Fragment In this section you will learn how to: ♦ Create a combined fragment ♦ Create nested combined fragments ♦ Create nested operators ♦ Sever nested operators ♦ Create operands ♦ Expand combined fragments across several lifelines ♦ Detach a combined fragment from a lifeline To create a combined fragment 1 2 3 Choose the Combined Fragment button in the diagram Palette. In the New Combined Fragment dialog box that opens. You can work with the inner frames in the same way as with the outer frames: move along a lifeline. Click OK to apply changes. The Interaction Operators dialog box opens. Use a comma as a delimiter. The combined fragment is added to the target lifeline or execution specification. enter them in the adjacent field in the Arguments column. Click the Add button. if any. To create a nested combined fragment 1 2 Choose the Combined Fragment button in the diagram Palette. 344 . and click on the target lifeline. If a certain operator enables arguments.

To do this. On the context menu. A new operand is now created. A nested combined fragment is now created. In the Interaction constraint tab of the Properties View. click the Language drop-down list and choose OCL or plain text. select the language to be used for describing the constraint. On the context menu of the selection. Apply changes. The fragment now spans across lifelines. Tip: You cannot delete the only mounting link of a combined fragment. choose New Interaction Operand. Choose Delete on the context menu. Constraint text is displayed in the operand section of the combined fragment. 2 Click the anchor icon and drag it to the target lifeline. To detach a combined fragment from a lifeline 1 2 Select the mounting link of a combined fragment. choose Sever operators between. To create an operand 1 2 3 4 5 6 Select a combined fragment or an operand in the Model Navigator or in the Diagram Editor . A combined fragment must be attached to at least one lifeline. Related Reference Operator and Operand for a Combined Fragment 345 . If the operand was created from the context menu of a combined fragment. it will be added to the end of the combined fragment. If the operand was created from the context menu of an operand. Add as many operands as required. Type the constraint expression. On the context menu.To sever operators 1 2 3 Right-click a combined fragment that contains nested operators. with the mounting links on each lifeline. To expand a combined fragment across several lifelines 1 Select the combined fragment. Tip: You can expand both outer and inner combined fragments. it will be added just before this operand. choose Combine with an outer fragment. select the pair of operators between which the combined fragment will be divided. On the submenu. To combine with an outer fragment 1 2 Right-click an inner fragment.

Note: The nested message inherits the numbering of the parent message. To create a message from a lifeline back to itself 1 2 Choose the Message icon on the diagram Palette. set the show reply message value to true to show reply messages or to false to hide reply messages. the techniques for dealing with messages differ.Working with a UML 2. 346 . which enables you to extend or reduce the time of invocation specification and execution specification independently diagram [Sequence diagram]) ♦ Create a found execution on a lifeline (that is.1. a message that comes from an object that is not shown on the To show or hide reply messages 1 2 Select a call message on a diagram. its first nested message is 1. Click OK. The message link is named according to the name of the operation. In the Choose Operation dialog box. In the Properties tab of the Properties View. select an operation. Make sure that the target lifeline has its type defined and the associated classifier contains at least one operation. In this section you will learn how to: ♦ Show or hide reply messages ♦ Create nested messages (Sequence diagram) ♦ Create a message from a lifeline back to itself ♦ Create a message link that corresponds to an operation call ♦ Create an asynchronous call. Click an execution specification to originate the message and drag the link to the target lifeline. Double-click the target lifeline. To create a nested message 1 2 Choose the Message icon on the diagram Palette. Although the two diagram types are equivalent. select the signature field and click the chooser button. To create a message link that corresponds to an operation call 1 2 3 4 5 Create a message link between two lifelines in an interaction. For example.0 Message This section describes techniques for working with messages in sequence and communication diagrams. In the Properties View. if the parent message has the number 1.

Related Procedures Working with Instance Specifications Related Reference UML 2. Click on a place of a lifeline. click the Found execution button. Click the sort property in the Properties View and select asynchCall in the list.0 Interaction Diagrams UML 2. An execution specification bar is created in the target lifeline.To de-synchronize invocation specification and execution specification 1 2 Select an invocation specification on a lifeline. To create a found execution 1 2 In the Palette.0 Message Execution Specification and Invocation Specification 347 .

right-click a project or a package node. On the context menu. In the context field. 2 3 4 In the Properties View. choose New Interaction diagram elements Interaction. select the operation for the specified context. On the context menu. Related Reference UML 2. click on the interaction diagram background. In this section you will learn how to: ♦ Create an interaction ♦ Open an interaction in a sequence or communication diagram ♦ Define context and specification for an interaction To create an interaction 1 2 In the Model Navigator. An interaction can be opened in a sequence or communication diagram. click the chooser button and in the Choose referenced classifier dialog. click the chooser button and in the Choose operation dialog. select a context.0 Interaction Diagrams 348 . choose Open full screen communication diagram or Open full screen sequence diagram. To define context and specification for an interaction 1 Select an interaction in the Model Navigator. select the Properties tab. In the specification field.Working with Interactions You can start designing your sequence or communication diagram with creating an interaction. Tip: Alternatively. To open an interaction in diagram 1 2 Select an interaction in the Model Navigator.

Creating an OCL Guard Condition for a Transition How to create a guard condition for a transition.0 State Machine Diagrams Procedures In This Section Associating a Transition or a State with a Behavior How to associate a transition with an activity (UML 2. Designing a UML 2.0 State Machine Diagram).0 State Machine Diagram How to design a UML 2.4 State Diagram. and Regions How to create a member for a state. Working with a Complex State How to create a composite (nested) state (UML 1.0 State Machine Diagram). Creating and Editing States How to create and edit states in a state diagram. UML 1. Creating History Elements How to create a history. States. UML 2.UML 2. Working with Activities and State Machines Full Screen Diagrams How to open an activity or a state machine in a full-screen view. Creating Members for State Machines.4 Activity Diagram.0 state machine diagram. 349 . Changing Regions Order in a State Describes how to rotate regions either in horizontal or vertical order.

and upon exiting the state). click the Effect (for a transition) or Do Behavior. Related Procedures Creating an OCL Guard Condition for a Transition Related Reference UML 2. In the Common properties tab of the Properties view.0 Activity Diagram) with a state (upon entering the state.Associating a Transition or a State with a Behavior You can associate an activity (created on a UML 2.0 State Machine Diagrams State 350 . To associate a transition with an activity 1 2 3 4 5 Select a transition or a state on a UML 2. or with a transition between states. Click OK to save the changes. while doing the state activity. Entry Behavior or Exit Behavior (for a state) field.0 State Machine diagram. locate your chosen activity and click Add. Click the chooser button to open the Select Behavior for property dialog box. In the model tree view.

you can rotate them to place them either in horizontal or vertical order.0 State Machine Diagram Definition Related Reference UML 2.0 State Machine Diagrams 351 . To change regions order 1 2 Right-click a State or a State Machine on your diagram Select either Order Regions Vertically or Order Regions Horizontally. Related Concepts UML 2.Changing Regions Order in a State If you have several regions in your State or State Machine.

Specify the language for your guard condition (OCL by default). The expression. To create a guard condition for a transition 1 2 3 4 5 Select a transition on a diagram. is of type Boolean. which is evaluated when the guard's transition is attempted. In an OCL guard condition. the StateMachine must have a context that is a Classifier.Creating an OCL Guard Condition for a Transition An OCL expression can restrict a StateMachine transition by acting as a guard to that transition. Select the body field and click the Edit button. Type the condition expression and click OK to apply changes.0 State Machine Diagrams 352 . Related Concepts About OCL Support in Together Related Reference UML 2. Select the guard tab in the Properties view.

Specify the activity to be performed when the current state finishes executing by using the Properties View. To open a StateMachine element in a separate Diagram Editor view 1 2 Right-click a StateMachine element in the Diagram Editor . select the language of the expression from the Language list box. you can hide the content of composite states for better understanding of the whole diagram. Click the diagram background. It is possible to hide individual states. 353 . create at least one State Machine before attempting to create other elements. ♦ Configure standard properties of the element. This activity may be selected from any Activity diagram of the project. This activity may be selected from any Activity diagram of the project. For example.Creating and Editing States Note: Because all State Diagram elements are created inside State Machines. click the State button. Specify the activity to be performed when the current state starts executing by using the Properties View. To make a state a submachine state 1 2 Select a state you want to make a submachine state. The possible options are OCL and plain text. Select Open Full Screen in New Diagram. you can use the Properties View to edit its properties. To create a state 1 2 On the Palette. configure the behavior of the state by setting these additional properties: Field Description Composite Orthogonal Simple Do Behavior Entry Behavior Exit Behavior Set to True if there is one or more regions in this state (not editable) Set to True if there are two or more regions in this state (not editable) Set to True if there are no regions in this state (not editable) Specify the activity to be performed during execution of the current state by using the Properties View. ♦ In the State Invariant tab. Alternatively. For your convenience a StateMachine element can be opened in a separate Diagram Editor view. right-click a region of the StateMachine element and select New State from the context menu. This activity may be selected from any Activity diagram of the project. In the Properties View of the state. When a new state is placed on a diagram. click the submachine property and choose any model state machine. ♦ In the Properties page. Note: You may place a state inside of the existing state.

Locate your chosen activity and use the Add and Remove buttons to add and remove activities.0 State Machine Diagram Definition Related Procedures Changing Regions Order in a State Related Reference UML 2. Click OK to save your changes. Click the Edit button. Related Concepts About OCL Support in Together UML 2. entry or exit activities of a state 1 2 3 4 Select a state and click the appropriate field in the Properties view. This opens the Select Activity20 for property dialog box.0 State Machine Diagrams 354 .To define the do activity.

do one of the following: 1 2 Right-click a region in a state.0 Specification for more information about these elements.Creating History Elements The Shallow History and Deep History elements are placed on regions of the states.0 State Machine Diagram Definition Related Procedures Changing Regions Order in a State Related Reference UML 2.0 State Machine Diagrams 355 . To add a history to a state. Related Concepts UML 2. You can create none or one Deep History. Refer to the UML 2. point to New. and none or one Shallow History elements in each region. OR Click one of the History elements on the Palette and then click the target state region. and select one of the History elements on the shortcut menu.

It is possible to create several exit points for one Related Reference UML 2. which makes sense if there are substates. and Regions To create a member for a state 1 2 Open the Diagram View. The regions may have different visibility settings and history elements. you can create the following members for State Machines: ♦ Entry point – Execution of the state starts at this point. targets of transitions. Right-click an existing state and choose New The following members are available: (member) on the context menu. ♦ Reference to Entry point and Reference to Exit point – Use references to entry/exit points as sources/ In the Regions.Creating Members for State Machines. It is possible to create several entry points for one state. which makes sense if there are substates. respectively. ♦ Region (also available on the context menu) – Use regions inside the states to group the substates. you can create all the elements that are available for the States except Internal transition.0 State Machine Diagrams 356 . although it can be deleted. ♦ Internal transition (also available on the context menu) – A shorthand for handling events without leaving a state and dispatching its exit/entry activities. In addition to regions. Each state has one region immediately after creation. States. ♦ Exit point – Execution of the state finishes at this point. state.

Create transitions.0 State Machine Diagram 1 2 3 4 5 6 7 8 Create initial and final nodes.0 State Machine Diagram.0 State Machine Diagram Following are tips and techniques that you can use when working with a UML 2. Related Procedures Creating a Shortcut Related Reference UML 2. Create entry and exit points. Create regions. Create main states and substates.0 State Machine Diagrams 357 . You can optionally create shortcuts to related elements of other diagrams. Create history nodes.Designing a UML 2. Create pins. To design a UML 2.

Create a composite state by nesting one or more levels of states within one state and draw transitions among the nested elements. forks. and then hyperlink the diagrams sequentially. For especially complex state modeling. however. You can place the following elements in a state: ♦ activity ♦ signal sending ♦ signal receipt ♦ start/end states ♦ history Tip: You can nest multiple levels of states inside one state. These procedures are common for the State and Activity diagrams. navigate within the pane containing the tree view of the available project contents to the existing diagram. Select New State on the context menu. Drop a new state. you can reuse existing elements from the other state diagrams. histories. and/or joins.Working with a Complex State The techniques in this section apply to models of particularly complex composite states. To create a nested state using drag-and-drop 1 2 3 Place a state element on the diagram background. you may find it more convenient to create different diagrams. Use the following techniques to create a composite (nested) state 1 2 Create a nested state using drag-and-drop. states. model each of the state levels individually. Tip: Using the Shortcuts command on the context menu of the diagram. 358 . Right-click the diagram and choose New Shortcuts. Create a nested state using the context menu of the state element. To create a nested state using the context menu of the state element 1 2 Right-click the state (region) that will be the container. Drag a new state on top of an existing state. and select its elements.

Related Concepts Model Hyperlinking Overview Related Procedures Creating a Shortcut Related Reference UML 1.0 State Machine Diagrams 359 .4 Activity Diagrams UML 1.4 Statechart Diagrams UML 2.

Working with Activities and State Machines Full Screen Diagrams It is possible to work with the individual activities and state machines in specific diagrams. The new diagram has the same name as the selected element. On the context menu of the selection. To create a full-screen diagram for an activity or a state machine 1 2 Select the desired element in the diagram or in the Model Navigator. You cannot move the container activity or state machine. This kind of activity or state machine is transparent. but the nested elements are still selectable and movable. choose Open Full Screen in New Diagram. and the element is expanded to the whole diagram. 360 . which makes it possible to view the grid. You can open an activity or a state machine in a full-screen view.

Creating Pins How to create a pin. Using Control Flow Link Lists the steps for creating control flow links.0 Activity Diagrams Procedures In This Section Creating Activity Parameters Lists the steps for adding activity parameters to an activity. you should create at least one Activity to start modeling in the Activity diagram.0 Activity Diagram How to design a UML 2.UML 2.0 Activity Diagram. 361 . Designing a UML 2. Working with an Object Flow or a Control Flow How to work with an object flow or a control flow. Working with Activity Element Because all activity diagram elements are enclosed into the Activity element. Working with Activities and State Machines Full Screen Diagrams How to open an activity or a state machine in a full-screen view. Rotating Activity Partitions How to change the orientation of activity partitions.

Creating Activity Parameters To add an activity parameter to an activity 1 2 On the Palette. or 1 2 Right-click an activity Select New Activity Parameter on the context menu. You can move the node only along the activity borders. Click the target activity. click the Activity Parameter button. Note that the activity parameter node is attached to its activity. 362 . An Activity Parameter node is added to the activity as a rectangle.

output pin. and choose either Input Pin or Output Pin or Value Pin on the context menu. choose one of the pins Click the target action. 363 .Creating Pins Actions may require some input and produce some output. OR 1 2 In the Tools Palette. To add an input pin. The input and output are defined by the input and output pins. Note that the pins are attached to their actions and can be dragged only along the action borders. do one of the following: 1 2 Right-click an action Select New. The created pin is added to the target action as a square. or value pin.

they can be used simultaneously.Designing a UML 2. Create starting and finishing points for every flow. Create action nodes for your flows. Warning: You cannot create nested activities. You do not link object nodes to classes on your Class Diagrams. you may find that some more activities must be created. Tip: After you do this. To design a UML 2. Related Procedures Creating a Shortcut Related Reference UML 2. add pins to actions. 3 4 Switch back to the Activity Diagram. Switch to your State Machine Diagrams and associate the activities you just created with states and transitions. 7 8 9 For object flows. a control flow.0 Activity Diagram. or create a separate diagram for each. Flows can share actions. Add pre.conditions. You can optionally create shortcuts to related elements of other diagrams. Warning: You cannot create nested actions.0 Activity Diagram.0 Activity Diagrams 364 . You can create plain text or OCL conditions. both or even several flows in each activity. 5 6 Create object nodes. However. You can have an object flow (for transferring data). Each flow can have the following starting points: ♦ Initial node ♦ Activity parameter (for object flow) ♦ Accept event action ♦ Accept time event action Each flow finishes with a Activity Final or Flow Final node. or the same activity can be used in several places. you can use hyperlinks for better understanding of your diagrams. Think about flows in your activities. If your activity has several starting points.and post. Usually you create Activity Diagrams after State Machine Diagrams. follow this general procedure: 1 Create one or more activities. You can place several activities on a single diagram. 2 Usually activities are linked to states or transitions on State Machine Diagrams. Connect actions and pins by flow links.0 Activity Diagram Use the following tips and techniques when you design a UML 2.

To rotate activity partitions 1 2 Create one or more activity partitions within activities. You can rotate those elements to fit your diagram.0 Activity Diagrams 365 . Right-click the Activity with activity partitions and select Rotate Activity Partitions. Related Procedures Creating a Shortcut Related Reference UML 2. activity partitions are created horizontally aligned.Rotating Activity Partitions By default.

Related Reference UML 2. use the Properties view to update the link. It can be drawn between the following elements on the state or activity diagrams.0 Activity Diagram Elements 366 .Using Control Flow Link A transition link represents a control flow. After the link has been drawn on the diagram. ♦ state ♦ activity invocation ♦ decision ♦ fork/join ♦ history To create a control link between two elements 1 2 3 4 Click the Control Flow link button on the tools palette. Properties set for the link are shown on the diagram. Drop when the second element is highlighted. Drag the link to the destination element. or to an activity final or final flow element from those elements listed below. On the Diagram. click the source element. It can also be drawn from an initial node.

You cannot move the container activity or state machine. To create a full-screen diagram for an activity or a state machine 1 2 Select the desired element in the diagram or in the Model Navigator. On the context menu of the selection. which makes it possible to view the grid. The new diagram has the same name as the selected element.Working with Activities and State Machines Full Screen Diagrams It is possible to work with the individual activities and state machines in specific diagrams. This kind of activity or state machine is transparent. You can open an activity or a state machine in a full-screen view. and the element is expanded to the whole diagram. but the nested elements are still selectable and movable. 367 . choose Open Full Screen in New Diagram.

For your convenience. To create an activity element 1 2 On the Palette. Click the diagram background.Working with Activity Element Because all activity diagram elements are enclosed into the Activity element. 368 . To open an activity element in a separate Diagram Editor view 1 2 Right-click an activity element in the Diagram Editor Select Open Full Screen in New Diagram. you should create at least one Activity to start modeling in the Activity diagram. an Activity element can be opened in a separate Diagram Editor view. click the Activity button.

and from the fork to each of the target actions. Create a fork or a join. If depicting multiple targets. place all of the actions on the diagram first. and from the merge to the target action.Working with an Object Flow or a Control Flow You can create control flow or object flow as an ordinary link between the two node elements. Place either a fork or a join on the diagram.0 specifications: ♦ An object flow link must have an object on at least one of its ends. You can scroll to the target element if it is out of direct reach. Lay them out however you want. Flows are created as the regular links. draw a control flow from each of the source actions to the merge. and from the decision to each of the target actions. If merging multiple actions. Resize as needed. draw a control flow from the source action to the fork. Resize as needed. draw a control flow from the source action to the decision. Place either a decision or a merge on the diagram. and from the join to the target action. Create a decision or a merge. The valid nodes are highlighted when the link is established. place all of the actions on the diagram first. ♦ It is impossible to connect two actions with an object flow except through an output pin on the source action.0 Activity Diagrams 369 . If necessary. There are certain limitations stipulated by UML 2. If making a decision. To create a fork or a join 1 2 3 Identify the actions involved. draw a control flow from each of the source actions to the join. Use the following techniques with an object flow or a control flow: 1 2 3 Create a flow. If necessary. If depicting multiple sources. ♦ Control flow link may not connect objects and/or activity parameters. Related Procedures Creating a Simple Link Related Reference UML 2. Lay them out however you want. To create a decision or a merge 1 2 3 Identify the actions involved. or you can use the context menu command to avoid scrolling.

These procedures are common to UML 2.UML 2. 370 . Component and Composite Structure diagrams. Working with Instance Specifications Lists the steps for instantiating classifiers using the Properties View or the in-place editor.0 Component Diagrams Procedures In This Section Designing a UML 2.0 Component Diagram How to design a UML 2. Working with a Provided or Required Interface How to work with the provided and required interfaces.0 Class.0 Component Diagram.

0 Component Diagrams. create ports for your components. when a message arrives. Each component can have a provided interface and a required interface. service). Alternatively. Tip: You can create nested artifacts. But if a component is closely connected with its physical store. you can create two separate components and connect them with an Association-Composition link. add and link an artifact to a Component Diagram. Tip: You can create nested component nodes. It might be convenient to begin creating a model with Component Diagrams if you are modeling a large system.0 Component Diagram 1 Create a hierarchy of components. You can optionally create shortcuts to related elements of other diagrams. you can end up by adding concrete classes and instance specifications. and you use Deployment Diagrams for modeling a physical structure. To design a UML 2. you describe physical artifacts of your system on Deployment Diagrams. You can attach a port to a component and link it with several classes or components inside. this port decides which class must handle it. 6 7 Related Procedures Working with a Provided or Required Interface Creating a Shortcut Related Reference UML 2. Draw links between elements.Designing a UML 2. such as a distributed. You use Component Diagrams for modeling a logical structure of your system. with numerous interconnected modules. Usually. server application. There are two methods for creating a nested component node. Create interfaces. Optionally. IDE. 2 In the hierarchy of components.0 Component Diagram You can use the following tips and techniques when working with UML 2. In this case. create artifacts. You can select an existing component and add a child component inside. The largest component can be the whole system or its major part (for example. You can create them on a Component Diagram directly or create them on a Class Diagram and put shortcuts on a Component Diagram. client-server software system.0 Component Diagrams 371 . 3 4 5 Optionally.

0 Component Diagrams UML 2. Related Procedures Changing the Appearance of Interfaces Related Reference UML 2. Click the client class and drag the mouse to the interface node. On the diagram Palette. Click the client class and drag the mouse to the interface node. click the Required Interface button.0 Class Diagrams UML 2. To create a required interface 1 2 3 Create class and interface node elements using the Palette buttons.0 Composite Structure Diagrams 372 .Working with a Provided or Required Interface To create a provided interface 1 2 3 Create class and interface node elements using the Palette buttons. click the Provided Interface button. On the diagram Palette.

Type the name of an existing classifier. To instantiate a classifier using the Properties View 1 2 3 4 5 Select an instance specification in your diagram. In the Properties node of the Properties View. Press Enter. Press F2 to open the in-place editor. select the instantiates field.0 specification. Click OK to save your changes. OR Invoke the in-place editor for the slot and type the value next to the slot name. Click the Properties tab of the Properties View. and type the string in the Edit property values editor. and define the slot stereotype. click twice on the instance specification name. To set the slot value. For example. Alternatively.Working with Instance Specifications According to the UML 2. select the value field. Click the chooser button. delimited by an equal sign. associate the slots with the attributes of the instantiated classifiers. InstanceSpecifcation1:Class1. click the Editor button. set the value. select the attribute you want from the list of attributes owned by the classifiers. delimited by a colon. Right-click the instance specification element and choose New Slot on the context menu. To associate a slot with a structural feature 1 2 3 Select a slot in an instance specification element. You can instantiate a classifier using the instantiates property in the Properties View or the in-place editor. 373 . using the Add/Remove buttons. do one of the following: 1 2 In the Properties View of the slot. next to the instance specification name. To define the features of an instance specification. To add a slot to an instance specification element 1 2 Add an instance specification element to your diagram. In the defining feature field. which is instantiated by the instance specification (or their parents). In the Choose Classifier for 'instantiates' property. select the classifiers from the available contents. To instantiate a classifier using the in-place editor 1 2 3 4 Select an instance specification in your diagram. you can insert slots into an instance specification element. an instance specification can instantiate one or more classifiers.

0 Class Diagrams Procedures 374 .0 Composite Structure Diagrams Procedures UML 2.0 Component Diagrams Procedures UML 2.Related Procedures UML 2.

0 Deployment Diagram.0 deployment diagrams. specifying the parameters of the operation. and deploying the artifact to a target node. 375 .0 Deployment Diagrams Procedures This section provides how-to information about designing UML 2.0 Deployment Diagram How to design a UML 2. In This Section Designing a UML 2.UML 2. Working with Artifacts Lists the steps for adding an operation to an artifact.

type.0 Deployment Diagram.0 Deployment Diagram You can use the following tips and techniques when you design a UML 2. Devices usually represent hardware equipment. To deploy an artifact to a target node 1 2 In the diagram Palette. For example. In the Properties View. and you use Component Diagrams for modeling a logical structure. You can optionally create shortcuts to related elements of other diagrams. create the list of parameters. Tip: You can create nested execution environments. This creates an entry in the parameters list. or a node inside of a device. especially if these modules reside on different computers. 2 3 4 5 6 Create artifacts. multiplicity and more. or from the model. Drag-and-drop the deployment link from a node to an artifact. Click the chooser button to open Add/Remove Parameters dialog box. Nodes represent the remaining physical entities. By doing this. Create deployment and instance specifications. such as a printer. devices. a hard disk. multiplicity. or a computer. It might be convenient to begin creating a model with Deployment Diagrams if you are modeling a large system that is comprised of multiple modules. you arrange physical locations of objects and other entities of your system. and direction. Click OK when ready. you can add a node inside of an execution environment. stereotype. You use Deployment Diagrams for modeling a physical structure of your system. follow this general procedure 1 Create a hierarchy of execution environments. devices. Related Procedures Creating a Shortcut Related Reference UML 2. such as a file. and nodes. Execution environments usually represent a software environment that is used to execute your system.0 Deployment Diagram. Enter the parameter's name. Add operations to artifacts. To define parameters of an operation 1 2 3 4 5 6 7 Select the desired operation in an artifact. After an operation is added. Note that parameter type can be selected from the list of predefined types. such as an operating system. which includes parameters. Using the Add and Remove buttons.0 Deployment Diagrams 376 . you can define its properties in the Properties View. and nodes. Click Add. To design a UML 2. choose the deployment button. expand the General node and choose Parameters field. default value.Designing a UML 2.

Note that the parameter type and direction kind can be selected from the list of predefined values. Choose New Operation on the context menu. Physically. The valid source is highlighted. After an operation is added. In the Properties View. type. a word-processing document. An artifact may have properties that define its features.Working with Artifacts An artifact represents a physical entity and is depicted in a diagram as a rectangle with the <<artifact>> stereotype. Enter the parameter's name. The valid target is highlighted. Tip: You can create complex artifacts by nesting artifact icons. Repeat steps 4–5 to create the list of parameters and click OK when you are finished. source files. Click Add. the artifacts can be model files. expand the Common properties node and click the parameters field. Drag-and-drop the deployment link to a target node. 377 . This creates an entry in the parameters list. binary executable files. you can define its properties in the Properties View. Deployed artifacts are connected with the target node by deployment links. A deployed artifact is one that has been deployed to a node used as a deployment target. To add operation to an artifact 1 2 Right-click an artifact icon in the diagram. a table in a database system. or a mail message. Click the Edit button to open the Select Parameters for Operation dialog box. and operations that can be performed on its instances. multiplicity. To deploy an artifact to a target node 1 2 3 Click the deployment button in the Palette. To define parameters of an operation 1 2 3 4 5 6 Select the desired operation in an artifact. default value. direction kind. a development deliverable. scripts. Click the element to be deployed.

378 . Creating a Referenced Part How to create a referenced part.0 Class.0 Composite Structure Diagrams Procedures In This Section Creating a Port How to create a port.UML 2. Component and Composite Structure diagrams. Working with Instance Specifications Lists the steps for instantiating classifiers using the Properties View or the in-place editor. Creating an Internal Structure for a Node How to create an internal structure for a node. These procedures are common to UML 2. Working with a Collaboration Use How to work with a collaboration use. Working with a Provided or Required Interface How to work with the provided and required interfaces.

Create as many ports as required.0 Composite Structure Diagrams 379 . Click the target class or part. Related Reference UML 2.Creating a Port To create a port: 1 2 3 Choose the port icon on the Palette.

Do one of the following: ♦ Use the referenced part button on the diagram Palette. and check the option aggregated by reference.0 Composite Structure Diagrams 380 .Creating a Referenced Part To create a referenced part: 1 2 Open the Diagram View. open the Model Navigator. ♦ Right-click a target container and choose New Referenced part on the context menu. Related Reference UML 2. ♦ Select a part.

Related Reference UML 2. Use the Properties View to set up the properties of the part. Tip: Choose the part icon on thePalette diagram while holding down the CTRL key.Creating an Internal Structure for a Node To create an internal structure for a node 1 2 3 Choose the part icon on the diagram Palette. Repeat these steps to create as many participants as needed. Each click on a valid container produces a new part.0 Composite Structure Diagrams 381 . Click the valid container (class or collaboration). 4 5 Link the collaborating parts by connectors.

choose the Collaboration Use button. A link is now created between the owner as supplier and the collaboration use as the client. navigate to the owner class or collaboration and click OK.Working with a Collaboration Use To create a collaboration use 1 2 3 On the Tools Palette. Create one or more parts in the collaboration that represents the type. In the Select Destination dialog box that opens. and select the collaboration. which the Collaboration Use instantiates. which the The type of collaboration use is now indicated next to its name. To define an owner 1 2 3 Right-click a collaboration use and choose Properties on its context menu. from the model. To bind the roles (parts) of the different classifiers via the collaboration use 1 2 3 4 Create a collaboration use and define its type. The role link is now marked with the name of the role selected in the collaboration. choose the role to be bound in the target classifier. Note: Each role can be used for binding only once. With the next invocation of the Bind new role command. Specify the type of Collaboration Use using one of the following methods: ♦ In the type field of the Collaboration Use in the Tools Palette. insert a colon and the name of the collaboration.0 Composite Structure Diagrams 382 . To link to a collaboration type 1 2 Select a Collaboration Use element. click the chooser button. Click the target container. Right-click the target collaboration use and choose Bind new role on its context menu. The link is marked with the <<occurrence>> label. click the chooser button. ♦ Next to the name of the Collaboration Use. Specify the name of the Collaboration Use. Collaboration Use instantiates. A role link is now created from the collaboration use to the role in the target classifier. the list of available roles no longer displays the ones previously used. Related Reference UML 2. In the owning classifier field of the Properties View. In the Select Owning Classifier dialog box.

To create a required interface 1 2 3 Create class and interface node elements using the Palette buttons. click the Required Interface button. On the diagram Palette.Working with a Provided or Required Interface To create a provided interface 1 2 3 Create class and interface node elements using the Palette buttons.0 Composite Structure Diagrams 383 . Click the client class and drag the mouse to the interface node. click the Provided Interface button. Click the client class and drag the mouse to the interface node. Related Procedures Changing the Appearance of Interfaces Related Reference UML 2.0 Class Diagrams UML 2.0 Component Diagrams UML 2. On the diagram Palette.

delimited by a colon. OR Invoke the in-place editor for the slot and type the value next to the slot name. For example. To define the features of an instance specification. select the classifiers from the available contents. Click OK to save your changes. click twice on the instance specification name. InstanceSpecifcation1:Class1. To add a slot to an instance specification element 1 2 Add an instance specification element to your diagram. and type the string in the Edit property values editor. set the value. Type the name of an existing classifier. click the Editor button. Right-click the instance specification element and choose New Slot on the context menu. Click the chooser button. select the instantiates field. In the defining feature field. select the attribute you want from the list of attributes owned by the classifiers. select the value field. In the Choose Classifier for 'instantiates' property. you can insert slots into an instance specification element. do one of the following: 1 2 In the Properties View of the slot. To associate a slot with a structural feature 1 2 3 Select a slot in an instance specification element.Working with Instance Specifications According to the UML 2. delimited by an equal sign. 384 . Click the Properties tab of the Properties View. Press F2 to open the in-place editor. an instance specification can instantiate one or more classifiers. In the Properties node of the Properties View. next to the instance specification name. To instantiate a classifier using the in-place editor 1 2 3 4 Select an instance specification in your diagram. Press Enter. using the Add/Remove buttons. To instantiate a classifier using the Properties View 1 2 3 4 5 Select an instance specification in your diagram. To set the slot value. You can instantiate a classifier using the instantiates property in the Properties View or the in-place editor. Alternatively.0 specification. which is instantiated by the instance specification (or their parents). and define the slot stereotype. associate the slots with the attributes of the instantiated classifiers.

0 Composite Structure Diagrams Procedures UML 2.Related Procedures UML 2.0 Component Diagrams Procedures UML 2.0 Class Diagrams Procedures 385 .

This procedure is common for UML 2. This procedure is common for UML 2.0 diagrams. In This Section Creating Constraints This topic describes how to create an OCL constraint. Creating Template Elements This topic provides how-to information about creating template elements. 386 .0 diagrams.Template Elements This section describes how to create template elements in diagrams and define formal parameters. Defining Formal Parameters This topic provides how-to information about adding formal parameters to templates. Editing Constraint Expressions How to edit a constraint expression. Creating Generic Template Elements in LiveSource Projects This topic provides how-to information about creating generic template elements in C++ and Java projects.

and close the Constraint editor. Type the constraint expression.0 diagram 1 Click the Constraint Link button on the diagram Palette and point to the model element that defines the context of your constraint (such as Class. Release the mouse button to insert the element. then hold down the left mouse button and draw the link to the place where you want to create the Constraint element.0 diagrams. choose New expression. Attribute or Operation). diagram and link it to the context element. To describe a constraint. use one of the following methods: 2 3 ♦ On the context menu of an element.Creating Constraints You can create constraints for all elements of the UML 2. Linked Constraint and enter the constraint ♦ Use the Constraint and Constraint link buttons on the Tools Palette to place a constraint node on the Related Concepts About OCL Support in Together 387 . The element displays with the in-place editor open. save your changes. To create a constraint in a UML 2. you can use plain text or OCL. Tip: Alternatively.

On the main menu. To create a template specialization element using the Properties View 1 2 3 Create a class or interface in a diagram.Creating Generic Template Elements in LiveSource Projects In this topic you will learn how to: ♦ Enable template specialization in a Java project ♦ Create a template specialization using the Properties View ♦ Create a template specialization using the Class by Template dialog. locate the Default Template <> template and click Finish. select the template parameters field. Enter one or more parameters in the text area. check the Enable template specialization option. To create a template specialization element using the Class by Template dialog 1 2 Right-click on the diagram background and choose New Class by Template on the context menu. In the Templates list. Related Concepts Template Elements and Generics Overview 388 . Use commas to separate multiple parameters. In the Properties View of the class. In the UML Template Specialization category of the Project Properties dialog. choose Project Properties. To enable template specialization in a Java project 1 2 3 Select a Java project node in the Model Navigator.

Click the template binding field to open the Select Template Signature dialog. set the isTemplate field to true. select the desired templates to be bound to the element. Bind a templateable element to a template using the Template Binding button and drawing a link from a template to the template signature.0 diagrams. The template signature rectangle is added to the element. To create a template element using the Properties View 1 2 3 In the Properties View of the selected model element. Note: These tasks are common for all UML 2. In the dialog. Click OK. Define formal parameters in the Formal Template Parameters dialog using the Add and Remove buttons. metaclass and constraint. Related Concepts Template Elements and Generics Overview Related Procedures Defining Formal Parameters Related Reference Selection Manager 389 .Creating Template Elements In this topic you will learn how to: ♦ Add a template signature to a templateable element ♦ Bind a templateable element to a template. Use the Up and Down buttons to define the order of parameters in the template signature. Specify each parameter's name. To create a template element using the Tools Palette 1 2 Add a template signature to a templateable element using the Template Signature button on the Palette and clicking on the target model element in diagram. Use the Add and Remove buttons to make up the list of bound templates. 3 You can achieve the same goal using the Properties View.

In the Formal Template Parameters dialog that opens.0 diagrams.Defining Formal Parameters Note: This task is common for all UML 2. To define formal parameters of a template using the Properties View 1 2 3 Select a template signature in the diagram. Related Concepts Template Elements and Generics Overview Related Procedures Creating Template Elements Related Reference Selection Manager 390 . metaclass and constraint. This can also be accomplished using the Properties View. define formal parameters using the Add and Remove buttons. In the Properties View. click the formal parameters field. Specify each parameter's name. Use the Up and Down buttons to define the order of parameters in the template signature.

3 Apply changes.Editing Constraint Expressions Constraint expressions are represented in plain text or in the OCL language. Note: If OCL is selected. A red or green mark to the right indicates the validity of the OCL expression. Related Concepts About OCL Support in Together Related Procedures Creating Constraints Related Reference Diagram View 391 . Edit the constraint in the editor. the OCL editor provides syntax control and error highlighting. enter the expression in the text area. You can use the Editor view or the OCL tab of the Properties View to create or modify the constraint body. In the body field. In the Properties View. The constraint test opens in its own tab of the Editor view. select the OCL tab. select a constraint element and press F2. In the Language drop-down list in the upper-right corner of the view. To edit a constraint expression in the Editor view 1 2 Double-click a constraint element. select the desired language of the expression. or click the Edit button and enter text in the Enter constraint dialog box. Tip: Alternatively. select the desired language of the expression. In the language field. To edit a constraint expression in the Properties View 1 2 3 4 Select a constraint element in diagram.

4 Statechart Diagrams Procedures. UML 1.4 Interaction Diagrams Procedures Lists the UML 1.4 Activity Diagrams Procedures.4 Component Diagrams Procedures.4 Class Diagrams Procedures Lists the UML 1.Together UML 1.4 Diagrams This section provides how-to information on using Together UML diagrams.4 Deployment Diagrams Procedures Lists the UML 1.4 Statechart Diagrams Procedures Lists the UML 1. UML 1.4 Use Case Diagrams Procedures.4 Deployment Diagrams Procedures.4 Component Diagrams Procedures Lists the UML 1.4 Activity Diagrams Procedures Lists the UML 1.4 Interaction Diagrams Procedures.4 Use Case Diagrams Procedures Lists the UML 1. UML 1.4 Class Diagrams Procedures. UML 1. UML 1. 392 . In This Section UML 1. UML 1.

and how to define its visibility and stereotype. Working with Inner Classes Lists the steps for creating inner classes. Setting Abstract or Final for a Class or Interface Lists the steps for setting Abstract or Final for a class or interface.0). Working with a Relationship How to work with a relationship link (common for UML 1. Setting Visibility for Members of a Class or Interface Describes how to set the visibility modifiers for a class or interface. Creating Class By Template How to create an element by template. Showing Different Modeling Views Describes the different options for changing your modeling views. Extending and Implementing Classes and Interfaces Describes how to extend a class or implement an interface.4 and 2.4 Class Diagrams Procedures In This Section Changing the Appearance of Compartments About changing the appearance of the class compartments in diagrams. Setting Visibility for a Class or Interface How to define visibility for a Java class or interface. Working with a Field How to rename a field. Working with a Constructor How to create a constructor and define constructor parameters. Working with Association classes and n-ary associations How to create and delete association classes and n-ary associations. Showing Interfaces as Small Circles (lollipops) Lists the steps for displaying interfaces as circles.UML 1. Creating and Editing Constructors Lists the steps for adding a constructor to a class and then editing the constructor. Instantiating a Classifier How to instantiate a classifier. Hiding and Showing Members Describes the features of the Hide / Show command. 393 . Expanding or Collapsing Compartments Lists the steps for expanding or collapsing compartments for members.

Adding compartment controls is particularly useful when you have large container elements with content that does not need to be visible at all times. Check the Always show Attributes and Operations compartments option. To collapse or expand compartments 1 2 Select the class (or interface) on the diagram. View Management page. choose Window Open the Modeling Preferences. Use the Preferences dialog to set viewing preferences for compartment controls. Related Reference UML 2. and package elements. To show compartment controls 1 2 3 On the main menu.4 Class Diagrams 394 .Changing the Appearance of Compartments You can collapse or expand compartments for the different members of class.0 Class Diagrams UML 1. Click the “+” or “-” in the left corner of the compartment. interface.

Creating and Editing Constructors
To add a constructor to a class
1 2

Right-click the class. Select New > Constructor from the context menu.

You can edit the constructor by using in-place editing or by using its Properties view. Use drag and drop to move constructors between class elements on the diagram. The constructor name automatically updates to reflect the current class.

395

Creating Class By Template
Use the Class By Template button on the Palette diagram to implement source code constructions or solutions in your model. Note: This feature is available in the implementation projects only.

To create a class by template
1 2 3 4

Select Class by Template in the Tools Palette. Click on the diagram background. The Apply template dialog box opens. Select the appropriate template from the Templates tree. Set each value field within the Parameters area, or click Finish to apply default values.

Related Procedures Apply Template Wizard

396

Expanding or Collapsing Compartments
To expand or collapse compartments for members
1 2

Select the class or interface. Click the "+" or "-" in the section's upper left corner.

Related Procedures Hiding and Showing Members

397

Extending and Implementing Classes and Interfaces
Use the Properties View or the Generalization/Implementation Link button to extend a class or implement an interface. A generalization/implementation link displays between the two elements for classes/interfaces located in the same package or diagram. However, for classes and interfaces that reside in the different packages, the base class name displays in the upper right corner of the corresponding class. You must use the Properties View to designate a base class if the base class (or interface) resides in a different package than the extending/implementing class. A class may implement more than one interface. To show this on the diagram, draw Generalization/Implementation links from the class to each interface. You may also indicate this by updating the implements property for the class in the Properties View.

To choose an extending class or implement an interface using the Properties View
1 2 3 4

Right-click on the class. In the Properties View, select the extends field or implements field. In the Model elements tab, select the class or interface, and click Add. Click OK.

398

Hiding and Showing Members
You can use the Hide / Show command for class or interface elements. This command gives you a more granular control over the class or interface element's hidden members. It is also possible to use the Show Hidden command accessible via the diagram context menu to open the Show Hidden dialog. For more information on using the Show Hidden dialog and Show Hidden command via the diagram context menu, see Hiding and Showing Model Elements. Note that this topic is specific to using the Show Hidden command available on the class and interface element context menu.

To hide a member of a class or interface element
1 2

Select the member on the diagram. You can select more than one at a time by using CTRL+Click. Open the context menu for your selection, and choose Hide. The selected members are hidden from the class or interface element.

To show the hidden members
1 2

Select the class or interface containing the hidden members and right-click to open the context menu. Choose Hide / Show Reveal hidden members from the context menu. All of the previously hidden members are displayed on the class or interface element.

The Reveal hidden members command and the Hide / Show command provide the following options:
Option Description

Attributes

Selecting Attributes from the submenu hides only the attributes of the class. The Hide / Show command for Attributes works as a toggle. To redisplay hidden attributes, right-click the class where the attributes are hidden, and select Hide / Show Attributes from the context menu. Selecting Operations from the submenu hides only the operations of the class. The Hide / Show command for Operations works as a toggle. To redisplay hidden operations, right-click the class where the operations are hidden, and select Hide / Show Operations from the context menu. Selecting Properties from the submenu hides only the properties of the class. The Hide / Show command for Properties works as a toggle. To redisplay hidden properties, right-click the class where the properties are hidden, and select Hide / Show Properties from the context menu. Selecting Inner Classes from the submenu hides only the inner classes of the class. The Hide / Show command for Inner Classes works as a toggle. To redisplay a hidden inner class, right-click the class where it was hidden, and select Hide / Show Inner Classes from the context menu.

Operations

Properties

Inner Classes

Inner Interfaces Selecting Inner Interfaces from the submenu hides only inner interfaces of the class. The Hide / Show command for Inner Interfaces works as a toggle. To redisplay a hidden inner interface, right-click the class where it was hidden, and select Hide / Show Inner Interfaces from the context menu. All Selecting All from the submenu hides attributes, operations, properties, inner classes, and inner interfaces of the class. The Hide / Show command for All works as a toggle. To redisplay hidden class elements, rightclick the class where the elements are hidden, and select Hide / Show All from the context menu.

Related Procedures Hiding and Showing Model Elements

399

Instantiating a Classifier
You can create an object that instantiates a class or interface from the same project or from a referenced project. You can create such links by using the Properties View or by using a Dependency link.

To instantiate a classifier
1 2 3 4

Select an object in a class diagram. In the Properties View of the object, choose the Instantiates field. Click the Chooser button. The Choose Type to Instantiate dialog box opens. In this dialog box, choose a classifier (class or interface).

Tip: Alternatively, draw a Dependency link from this object to a classifier. Related Procedures Working with Instance Specifications

400

Setting Abstract or Final for a Class or Interface
To set Abstract or Final for a Class or Interface
1 2 3

From the Diagram editor, right-click the class or interface. Select Modifiers from the context menu. Choose either Final or Abstract.

Note: Setting a class modifier to Abstract italicizes the class name on the diagram.

401

Setting Visibility for a Class or Interface
To define the visibility modifier for a class or interface
1 2 3

In the Diagram Editor , right-click a class or interface. Select Properties on the context menu. In the Properties tab, check the public option to set the public modifier.

402

Setting Visibility for Members of a Class or Interface
You can set visibility modifiers for members of a class or interface by using the context menu for each element, or by using the Properties View. Visibility modifiers include:

♦ public ♦ private ♦ protected ♦ package local

To set visibility for a member
1 2

Right-click a member in the Diagram editor. Choose Modifiers on the context menu and select from Public, Protected, Private, or Package Local.

Tip: Values such as visibility can also be set by double-clicking the member on the diagram and entering Java format directly into the in-place editor: private int attr1, for instance, and -attribute:int=10 would set an attribute's initial value to 10.

Alternatively, use the Properties view for the member
1 2

Select the member on the diagram. The Properties View displays the associated properties for the member selected. Use the visibility field drop-down list in the Properties View.

Note: You can also use the Properties view to designate members as static.

403

Showing Different Modeling Views
By default, the Diagram Editor reflects the classic UML modeling view. Visibility modifiers are represented on the diagram in the following ways:

♦ static: members are underlined. ♦ public: members have a '+' symbol before the name. ♦ private: members have a '-' symbol before the name.

To show icons on class and package diagrams
1 2 3

From the main menu, select Window

Preferences. The Preferences dialog opens.

From the options list on the left, expand Modeling node, and select View Management. In the Show Icons for section, define the following options to better distinguish metaclasses of elements with similar looks:

♦ Element shown as a label inside another element ♦ Diagrams ♦ Classifier shown as Class
Refer to the View Management Preferences for detailed description of these options.

To show visibility modifiers
1 2 3 4

From the main menu, select Window

Preferences. The Preferences dialog opens.

From the options list on the left, expand Modeling node, and select View Management. In the Detail level section, click the Implementation radio-button. Apply changes.

Related Reference View Management Preferences

404

Showing Interfaces as Small Circles (lollipops)
Interfaces can be represented as rectangles or small circles ("lollipops") on your diagrams. You can change the representation of the interface element in your View Management preferences. Note: Interfaces shown as small circles do not show their members in the Diagram editor. Instead, use the Model Package Explorer or Model Navigator to view the members.

To show an interface as a circle
1 2 3 4

Choose Window

Preferences from the main menu. The Preferences window opens.

Expand Modeling and select View Management. Check the Show Simple Java Interfaces option. Click OK to close the dialog and apply the changes.

405

Working with a Constructor
You can create as many constructors in a class as needed using the New menu of a class. Constructor command of the context In implementation projects, each new constructor is created with its unique set of parameters. In addition to creating parameters automatically, you can define the custom set of parameters using the Properties View. In design projects, a constructor is created as an operation with the <<create>> stereotype. Tip: You can move, copy and paste constructors and destructors between the container classes the same way as you would do the other members.

To define the constructor parameters
1 2 3

Select a constructor in a class. In the Properties View, click the Browse button in the parameters field. In the Select Parameters for Operation dialog that opens, click Add. A parameter is added with the default values. Edit the values as required, or use the defaults. Use the Add and Remove buttons to make up the list of parameters, and click OK when you are finished.

Tip: Alternatively, type the list of parameters in the text area. Use a comma as a delimiter. Related Reference UML 2.0 Class Diagrams UML 1.4 Class Diagrams

406

Working with a Field
You can edit members using the Properties View, or the in-place editor of the Diagram Editor or Model Navigator. In the implementation projects, you can also use the source code editor to modify the members. In this section you will learn how to:

♦ rename a field ♦ define a visibility modifier ♦ define a stereotype ♦ define modifiers, initial values, and associated objects ♦ handle multi-declarations

To rename a field
1 2

Choose a field. Enter the new name in the in-place editor of the Diagram Editor or Model Navigator, or use the name text field in the Properties View.

To define the visibility modifier
1 2

Choose a field. Enter the visibility symbol in the in-place editor in the Diagram Editor , or select one from the visibility combobox in the Properties View.

To define the stereotype of a field
1 2

Choose a field. Use the in-place editor in the Diagram Editor , or use the stereotype combobox of the Properties View.

To define modifiers, initial values, associated objects and so on
1 2

Choose a field. Use the Properties View or the source code editor (for implementation projects).

When you do this, the model and the source code are kept in sync. Note: You can type the Value property, an equal sign (=), and the Name property (for example, EXCLUDE=2) when adding an Enum literal with the inplace editor.

To use multi-declarations in the source code, consider the following:
1 2

In the source code of the Java and IDL projects, it is possible to declare several fields in one line. This notation is represented in the diagram as a number of separate entries in the Fields section in a class icon. You can rename the fields, change modifiers, set initial values and so on, and all modifications will be applied to the respective field in the diagram icon.

407

3

You can copy and move such fields in a diagram (using the context menu commands or drag-and-drop), and the pasted field will appear in the target container separately.

In C++ projects, editing multi-declarations in the Diagram Editor or Properties View is not allowed. Related Procedures Navigating between the Tree View, Diagram, and Source Code Adding a Single Model Element to a Diagram Related Reference UML 1.4 Class Diagrams UML 2.0 Class Diagrams

408

Working with a Relationship
Refer to the Getting Started Procedures to learn how to draw a link. This section describes how to change the link type and properties.

To change the type of an association link
1 2 3

Select an Association Link on the diagram. In the Properties View, select the Link tab and click the associates type field. Choose the link type (association, aggregation, or composition) from the drop-down list.

To set the directed property of an association link
1 2 3

Select the association link that you want on the diagram. The properties for the link appear in the Properties View. In the Link tab of the Properties View, select the directed field. Click the drop-down arrow and select the value for this Boolean property.

Related Procedures Getting Started Procedures Creating a Simple Link Changing Type of an Association Link Related Reference UML 1.4 Class Diagrams UML 2.0 Class Diagrams

409

Working with Association classes and n-ary associations
Association classes appear in diagrams as three related elements:

♦ Association class itself (represented by a class icon) ♦ N-ary association class link (represented by a diamond) ♦ Association connector (represented by a link between both)

To create an association class
1 2 3 4

On the diagram Palette, select the Association Class button. Click the diagram background. This adds a regular class icon for the association class, connected with the diamond icon that represents the Association Class Link Aspect. Create participant classes. Using the Association End button, connect the diamond icon with the participant classes.

The source code of an association class now contains appropriate tags for the association class itself, and for each of the association end classes.

To delete an association class
1 2

Right-click an association class or its diamond icon. Choose Delete on the context menu.

The whole association class construct is now deleted from the diagram. Related Reference Class Diagram Relationships UML 2.0 Class Diagrams UML 1.4 Class Diagrams

410

Working with Inner Classes
Both inner classes and inner interfaces in diagrams display within their own compartment field within the class. To create an inner class, do one of the following:

When the class already exists
1 2

Drag it over the target class. Drop it.

Using the context menu
1 2

Right-click the parent class. Select New Inner Class from the context menu.

Using Cut, Copy, and Paste
1 2 3

Use the clipboard operations to either cut or copy an existing inner class. Select the parent class. Use the clipboard operations to paste the selected class into the parent class.

Tip: Classes do not keep the same visibility after they are removed from the parent class.

411

UML 1.4 Use Case Diagrams Procedures
In This Section Creating an Extension Point How to create an extension point.

412

Creating an Extension Point
To create an extension point
1 2 3

Right-click the use case element. Choose Add Type in a name. Extension Point on the context menu.

Related Reference UML 1.4 Use Case Diagrams UML 2.0 Use Case Diagrams

413

UML 1.4 Interaction Diagrams Procedures
In This Section Adding a Conditional Block How to add a conditional block. Branching Message Links How to branch message links. Converting Between UML 1.4 Sequence and Collaboration Diagrams How to convert between sequence and collaboration diagrams. Creating Slots How to create a slot and define its feature and value. Generating an Incremental Sequence Diagram How to generate an incremental sequence diagram. Refining Collaboration Diagrams How to refine collaboration diagrams. Refining Sequence Diagrams This section describes techniques that enable you to present your sequence diagram in the most comprehensible way. Roundtrip Engineering with Sequence Diagrams This section demonstrates how to create and edit a sequence diagram that generates source code in a UML 1.4 project. Using AutoFix Provides the steps for automatically synchronizing changes using the AutoFix command. Using AutoLink Labels The AutoLink Labels command displays a dialog if there are operations on the diagram that were previously saved and unlinked using the Autofix dialog. Working with a UML 1.4 Message About working with UML 1.4 messages. Working with Classes in Sequence/Collaboration Diagrams Provides techniques for creating classes, linking and unlinking classes, and showing classes in sequence or collaboration diagrams. Working with Operations in Sequence/Collaboration Diagrams How to create, link, unlink and show operations while working with sequence or collaboration diagrams.

414

Adding a Conditional Block
You can create one or more statement blocks on an activation bar of an object. The following statement blocks are available:

♦ If ♦ Else ♦ Else-If ♦ For ♦ While ♦ Do ♦ Try ♦ Catch ♦ Finally ♦ Switch
Note: When the statement blocks are created, you can update them using the Properties View or the in-place editor. The available properties fields depend on the type of the statement block. For example, the type field is not available for the statement blocks switch, finally and catch.

To add a statement block to the activation bar
1 2 3 4

Right-click an activation bar on a sequence diagram. Choose New on the context menu. On the submenu, select a conditional block. In the in-place editor that opens, enter the body of the block statement, and press ENTER.

To edit a conditional block
1 2 3

Select a statement block in the diagram. Open the Properties View. Modify the editable fields as required. For example, select a new type of the statement block from the dropdown list in the type field.

Related Reference UML 1.4 Interaction Diagrams

415

Branching Message Links
This section describes how to branch messages that start from the same location on the lifeline.

To branch a message link with the previous one
1 2 3

Select a message link on the sequence diagram. Drag the message source to the source of the message you would like to branch with. Drop the message source when a green circle mark appears.

To remove branching
1 2

Select the message link that you want to unbranch, and grab the bending point at the message number. Drag and drop the message to the new source.

Related Procedures Working with a UML 1.4 Message Related Reference UML 1.4 Interaction Diagrams

416

Converting Between UML 1.4 Sequence and Collaboration Diagrams
You can convert between sequence and collaboration diagrams. However, when you create a new diagram, you must specify that it is either a sequence diagram or a collaboration diagram.

To convert between sequence and collaboration diagrams
1 2 3

Right-click the diagram background. If the diagram is a sequence diagram, choose Show as Collaboration on the context menu. If the diagram is a collaboration diagram, choose Show as Sequence. Repeat this process to switch back and forth.

After you convert from a sequence diagram to a collaboration diagram for the first time, or if you have added new objects to the sequence diagram between conversions, it is recommended that you perform a full layout on the collaboration diagram. Related Reference UML 1.4 Interaction Diagrams

417

Creating Slots
To define the features of an object, you can insert slots into the object element, associate the slots with the attributes of the instantiated classifiers, and set values.

To add a slot to an object element
1 2

Add an object element to your diagram. Right-click the object element on your diagram, and choose New Slot on the context menu.

To associate a slot with a structural feature and define the slot's value
1 2 3

Select a slot and open its Properties View. In the defining feature field, type a value in a String format. In the value field, enter the desired string.

418

you can generate a sequence diagram with a low nesting value. The nesting value limits how deep the parser traverses the source code calling sequence. To generate an incremental sequence diagram from a previously generated sequence diagram 1 2 After you review the sequence diagram. In some cases. such as 3 or 5. you may decide that you want to see additional objects and messages that are currently not shown on the diagram because of the nesting value constraint. The nested messages and objects calling from that method are displayed on the diagram.Generating an Incremental Sequence Diagram You can generate incremental sequence diagrams from a previously generated sequence diagram. select the Generate Sequence Diagram command from the context menu of an activation block. In this case. Related Procedures Roundtrip Engineering with Sequence Diagrams Related Reference UML 1.4 Interaction Diagrams 419 .

message links are represented on a collaboration diagram as having an atomic delivery. For example. see Refining Sequence Diagrams. select Show as Sequence. you can view it as a sequence diagram. you create a new diagram. Click on the object where you want the message to appear. From the context menu. which means that nothing else can happen during the message transaction. during which something else can occur. Repeat this process to toggle between the two diagrams. a generic link line displays between the objects. default link. This To convert between sequence and collaboration diagrams 1 2 3 Right-click on the diagram background. The diagram displays in the Model Package Explorer and Model Navigator as the type of origin. In addition to the ♦ Together allows you to quickly convert between sequence and collaboration diagrams.Refining Collaboration Diagrams This section provides techniques for refining collaboration diagrams. can select messages and edit their properties in the message Properties View just as you do in a sequence diagram. When working with the collaboration diagrams. Note: You can also switch between diagrams using the context menu for the diagram in the Model Package Explorer or Model Navigator. and Together tracks it as such. Drag the link away from the object. Drag the link back to the object and drop when the object is highlighted. consider the following: ♦ When you draw a message between objects. However. To create a message from an object back to itself 1 2 3 4 Click on the link button on the diagram's toolbar. ♦ As you add messages. These links are not available in the sequence diagram. and a list of messages is created above it. indicates the duration required to send the message is atomic. and opens in that view. they display in time-ordered sequence from top to bottom of the messages list. The link line is present as long as there is at least one message between the objects. you can add links to show association and aggregation relationships. If the message link requires some time to arrive. For information on sequence diagrams. However. it will always display in the Model Package Explorer and Model Navigator and open in the Diagram editor as a collaboration diagram. The object that receives the message must be associated with a class. then designate the message link as non-atomic using the Non-atomic delivery command. To associate a self-message link with an operation in its super class 1 Create a message link between two objects. you must specify that it is either a sequence or collaboration diagram. if you create a collaboration diagram. 420 . You ♦ The collaboration diagram adds the capability of showing relationships between objects. whenever ♦ By default.

Related Procedures Refining Sequence Diagrams 421 .2 3 Right-click the link and select Choose Operation on the context menu. To create a message link that calls an operation 1 2 3 Create a message link between two objects. This renames the message link to the operation's name. The object that receives the message must be associated with a class. Right-click the link and select Choose Operation on the context menu. To designate a message link as non-atomic 1 2 Right-click on the link. The operations of the recipient object's class are listed in the drop-down list. The operations of the recipient object's class are listed in the drop-down list. Select Non-atomic Delivery from the context menu. Select the operation and click OK. This renames the message link to the operation's name. Select the operation and click OK.

However.1. the created object will move downward to show that it exists at a point later in time from its creator. To toggle between sequence and collaboration diagrams 1 2 3 Right-click on the diagram background. use the Palette of the sequence diagram. Click the object's lifeline at the point where you want the message to appear. message links are drawn on the diagram horizontally. Whenever you create a new diagram. drag-and-drop technique. The nested message inherits the numbering of the parent message. and Together tracks it as such. The diagram displays in the Model Navigator as the type of origin. you can use the ♦ Adjusting the Size of Object Lifelines. then designate the message link as non-atomic using the Non-atomic delivery command. By default. You can nest messages by originating message links from an activation icon. Objects display with a default lifeline when placed on the diagram. ♦ Creating a Message-to-self. indicates the duration required to send the message is atomic. Their tops ♦ Specifying Non-Atomic Delivery. during which something else can occur. and opens in that view. If you draw a message link to an object and then check the creation type of the message. you can view it as a collaboration diagram. you must specify that it is either a sequence or collaboration diagram. use the Properties View to create a default return link for you. To manually draw a return link. 422 . Note: You can also switch between diagrams using the context menu for the diagram in the Model Package Explorer or Model Navigator. To avoid drawing a default return link. its nested message has a sequence number 1. ♦ Setting Creation Messages. For example. You can increase or decrease the length of an object's lifeline. This align vertically. Together allows you to quickly convert between sequence and collaboration diagrams. if the parent message has the sequence number 1.Refining Sequence Diagrams This section describes techniques that enable you to present your interaction diagram in the most comprehensible way: ♦ Switching between sequence and collaboration diagrams. Together indicates the destruction of a created object by rendering a bold ♦ Nesting messages. You can change the order of object lifelines while preserving the messages that exist between these lifelines. ♦ Changing the Order of a Sequence Diagram. ♦ Specifying a Default Return Link. or the Properties View. which means that nothing else can happen during the message transaction. To change the sequential order of messages. ♦ Setting a Destruction Message. For example. To create a message from an object back to itself 1 2 Open the object. ♦ Reordering and Moving Message Links. select Show as Collaboration. If the message link requires some time to arrive. X on a diagram. From the context menu. Repeat this process to toggle between the two diagrams. if you create a sequence diagram. it will always display in the Model Navigator and open in the Diagram Editor as a sequence diagram.

Select Type Creation from the context menu. select the return message field. To change the order of the object's lifelines 1 2 Select the object. 423 . The sequence numbers of the message links are automatically updated. Drag the message link up or down along the lifeline. By default. To display a default return link. Choose Select Overridden Operation on the context menu. use the sequence number property of a link in the Properties View to reorder message links. the links selected are moved with their increments intact. click the drop-down arrow for the return message field. The Properties View displays the associated link properties. this field displays false. Note: If you select multiple message links (pressing the CTRL key). Alternatively. Note: Moving a creation message below a second message pointing to the same object removes the creation type from the message. Moving a destruction message above another message pointing to the same object removes the destruction type from the message. To set the creation type for a message link 1 2 Right-click the link. and select true. To reorder message links 1 2 Select a link. To specify a default return link 1 2 3 Select the message link on the sequence diagram. Drag the object horizontally to the position that you want. Drag the message link upward or downward. Select Non-atomic Delivery from the context menu. To designate a message link as non-atomic 1 2 Right-click the link.To associate a self-message link with an operation in its super class 1 2 Right-click the link. In the Properties View. To change the size of the object lifeline 1 2 Select the bottommost message of the lifeline.

Note: You cannot move Objects vertically along the Y-axis except as described in "Adjusting the Size of Object Lifelines" above. Related Procedures Refining Collaboration Diagrams 424 . To set the destruction type for a message link 1 2 Right-click the link. To create nested messages 1 2 Click the activation bar of the message link. Create a new link originating from the activation bar. Note: It is also possible to create message links back to the parent activation. Select Type Destruction from the context menu.

The Generate Sequence Diagram wizard is displayed. More from the context menu.[method_name] To create source-generating elements on the sequence diagram 1 2 3 4 5 6 7 Right-click the activation rectangle of message #1.4 sequence diagram that generates source code. To generate a sequence diagram from the main method 1 2 3 Right-click the main method. and choose Generate Sequence Diagram from the context menu. enter the following code: int i = 0. Click Finish. For example. i < 4. Select JFrame from the list. The name of the selected class is displayed on the frame object. you will: 1 2 3 4 5 Create a project and class that contains the operation that you want Generate a sequence diagram from the main method Create source-generating elements on the sequence diagram Create a message Generate source code for the sequence diagram To create a project and class 1 2 3 4 5 Create a UML 1. Using the in-place editor. and add a new class diagram. The new main() method is created. and choose New For Block from the context menu. The in-place editor is activated.4 Java modeling project. Right-click the frame object. accepting the default settings for the second page of the wizard. 425 . Create an operation. expand the following nodes: libraries > javax > swing. Create a new class on the diagram. add a main class method by entering the following code in the in-place editor: main(args: String[]):void Press ENTER. accepting the default settings for the first page of the wizard. To generate source code from a sequence diagram. Click OK to close the dialog. The sequence diagram opens in a new diagram tab of the Diagram Editor . and click the diagram to create a new object with the name Frame. i < 4.Roundtrip Engineering with Sequence Diagrams This section demonstrates how to create and edit a UML 1. Right-click on the class. The in-place editor activates. i++) Add an object to the sequence diagram. and click Add>> . i+ + The label displays on the activation bar as: for(int i = 0. and choose New Operation on the context menu. Click Next. Click the Object button on the Palette. the generated diagram gets the name [Class_name]. Tip: By default. and choose Select Class box is displayed. The Select Class dialog In the Model elements list.

are displayed in bold on the diagram. Its label is Message Link 1. expand the Window node. The message changes visually to the creation type.4. The message label becomes: 1.2.400.2:setDefaultCloseOperation(int):void //Message Link2 In this step. 50*i):void //Message Link4 Draw Message Link 1. 50*i) after the closing curly brace. if applicable. The message label becomes: 1. The message label becomes: 1. and select setDefaultCloseOperation(int):void. In the arguments field of the Properties View enter 600. Similar to Step 3. and select the show ()method from the list. expand the Component node. for which implementation code has been generated. add an import statement for javax. 2 Right-click Message Link 1.1 is created.swing.To create messages on a sequence diagram 1 Draw a message link from the for(int i = 0. i++) statement block to the lifeline of the Frame object.4: setLocation(50*i. Use the Select Operation dialog. Select the JFrame constructor (JFrame:void) from the list. Click OK. Notice the sections on the page highlighting the original source code to be replaced and the refactored source code to replace it. and observe that the Editor scrolls to the point of appropriate method invocation. and choose Select More from the context menu. In the arguments field of the Properties View of the message 1. Related Reference UML 1. double-click one of the message links displayed in bold. The second page of the wizard displays changes that are necessary to perform refactoring. If code generation fails for certain messages. and enter (50*i. Click Next to display the second page of the wizard. Note: All of the messages created in the following steps should also have the same source and destination.5.3: setSize(600. The message label becomes: 1. Using the Select Operation dialog. 2 3 4 On the sequence diagram.EXIT_ON_CLOSE):void // Message Link2 3 4 5 Draw Message Link 1. we specify the parameters used on invoking an operation in the source code.int):void method.EXIT_ON_CLOSE. enter JFrame. and choose Generate Implementation from the context menu. and choose Select Operation from the context menu. and select the setSize(int. These arguments can be entered in the arguments field in the Properties View of a message link. Open the implementation code of the Class1 in the Editor.1. those messages are not displayed in bold. which means that the object is being created. The message becomes: 1. Expand the JFrame Operation node. scroll through the list.400):void // Message Link3 Draw Message Link 1. and select the setLocation(int. The message label becomes: 1.2: setDefaultCloseOperation(JFrame. expand the Component node. Message labels.5:show():void //Message Link5 6 7 To generate implementation code for sequence diagram 1 Right-click the background of the sequence diagram.2. use the Select Operation dialog (Select Operation More). Warning messages display. Message Link 1. Invoke the in-place editor for the message.int):void method. In the Editor.4 Interaction Diagrams 426 . The Select Operation dialog is displayed. Click Finish.1: <constructor>()// Message Link1. Right-click the message link. The first page of the Sequence diagram refactoring wizard is displayed. Draw a new message.3. i < 4. Note that the message link now points to the frame object.

Using AutoFix Together automatically synchronizes changes between sequence/collaboration diagrams and class diagrams. Most problems on the sequence/collaboration diagrams will be highlighted on the diagram in red. 427 . Use the AutoFix command to resolve such issues. For example. choose Select Method from the list. Select the problem to correct. Under Solution Actions. Select an available solution from the list. Click Finish. A description of the problem is displayed in the list on the left. The AutoFix command provides a dialog that describes any problems found. Click Select Method to continue. click Accept. and click OK to close the dialog. Select an operation to link. To use the AutoFix command 1 2 3 4 5 6 7 Right-click the background of a sequence or collaboration diagram. The Solve Problems dialog box is displayed. and use the options listed in the "Available Solutions" list to fix the problem. Red highlighting may not show every problem with a sequence/collaboration diagram. The Select Operation dialog box is displayed. The Solution Description field and Available Solutions field display appropriate descriptions and solutions. The AutoFix command runs a more comprehensive check to identify problems that may not be highlighted. Select the problem from the list. and select AutoFix.

The Solve Problems dialog is displayed. you may decide to relink the message to a new operation. Click Accept Solutions. Under Solution Actions. but you decide to delete the operation from the class. Operations that are saved and unlinked are no longer highlighted in red on the sequence/collaboration diagram. The Convert Labels to Operations dialog is displayed. and click Finish. They are enclosed in single quotes. Related Procedures Using AutoFix 428 . select Unlink and Save Text. Choose one of the actions from the Available Solutions list. To relink a message to a new operation 1 2 3 4 5 6 Right-click the diagram background. In the dialog. and select AutoLink Labels. Select the appropriate message to link from the list on the left. and select AutoFix. The diagram is updated linking the message to the selected operation. For example. the sequence/collaboration diagram link becomes highlighted in red. For example.Using AutoLink Labels The AutoLink Labels command displays a dialog if there are operations on the diagram that were previously saved and unlinked using the Autofix dialog. The Select Operation dialog is displayed. Later. and click OK. if you have a message linked to an operation in a class. To correct this problem 1 2 3 Right-click the diagram background. Click Finish. click Select Method. choose "Select Method" from the list. Select an operation.

In addition to the message links. Choose True from the list box. 429 . click the object. When you draw messages between objects in a sequence diagram. To reorder a message link 1 2 Open a diagram. To specify the creation of an object with a message 1 2 3 Select a message link in the Sequence diagram. Reordering automatically updates the message link numbers. ♦ Change the Sequence Number field in the Properties View.4 Message This section describes techniques for working with messages in Sequence and Collaboration diagrams. Clicking the object places the message-to-self first on the lifeline.Working with a UML 1. In a Collaboration diagram. Messages in sequence diagrams have more editable properties than messages in collaboration diagrams. the techniques for dealing with messages differ. all messages between the two objects are displayed as a generic link line. and a list of messages is created above it. Although the two diagram types are equivalent. For a Sequence diagram. To reorder messages. For a Collaboration diagram. Messages display in time-ordered sequence from top to bottom of the messages list. The link line is present as long as there is at least one message between the objects. click the Creation field. perform one of the following actions: ♦ Drag message links up and down the object lifeline in the Diagram Editor . ♦ In the Diagram Editor . In this section you will learn how to 1 2 3 4 5 6 Create a self message Reorder a message link Specify the creation of an object with a message Specify the destruction of an object with a message Specify a return link by using the Tool Palette (Toolbox) Specify a return link by using the Object Inspector (Properties Window) To create a self message 1 2 Click the Self Message button on the Palette. These links do not display if you view the diagram as a sequence diagram. you can add links that show association and aggregation relationships. In the Properties View of the message link. use the in-place editor to change the sequence number. click the lifeline of the object at the point where you want the message to appear. each message is represented by its own link line.

click the object lifeline element at the supplier end of the message link to draw the return link. By default. the Creation property is set to False in the Properties Window. click the Destruction field. To specify the destruction of an object with a message 1 2 3 Select a message link in the Sequence diagram. Related Procedures Rerouting a Link Related Reference UML 1. To specify a return link by using the Properties View 1 2 Select the message link on the sequence diagram. In the Properties View. In the Properties View of the message link.4 Interaction Diagrams 430 . the Destruction property is set to False in the Properties View.The message link points to the recipient object icon rather than to its lifeline. click the drop-down arrow for the Return Arrow field and select True. To specify a return link by using the Palette 1 2 Click the Return link button in the Palette. On the sequence diagram. The created object moves downward along the lifeline to show that it exists at a point later in time from its creator. By default. Choose True from the list box. The object is destroyed.

The source code is displayed highlighting the class name. Note: To show the source code of a class in the editor. choose a view (for example. Choose Show Class from the context menu. The Select Class command expands to display a submenu that shows any classes that are "local" to the diagram and the More option to reveal inherited operations of the recipient class. Choose Unlink Class from the context menu. and select another method). save as text. double-click the element in the sequence diagram. To show a class associated with an Actor or Object 1 2 3 Select the actor or object on the sequence diagram. To link an actor or object to a class 1 Select the actor or object on the sequence diagram. If you choose to associate a classifier to an object that is already instantiated with a different classifier. 2 Choose Select Class on the context menu. or More. and showing classes in sequence or collaboration diagrams. Use CTRL + CLICK to select the elements. On the submenu. linking and unlinking classes. the Solve Problems dialog appears. 431 . Model Navigator). The New Object's Class dialog is Enter information required by the dialog to create a new class. This renames the actor or object to the chosen class name. Select a class from the list. Right-click the element and choose New displayed. Class or New Interface. 3 4 To unlink a Class/Interface from an Actor or Object 1 2 Select the actor or object on the sequence diagram. To create a new class or interface 1 2 3 Select an actor or object on the sequence diagram. Use this dialog to decide what to do with the linked operations that do not exist in the new classifier (options include unlink operation. Tip: You can associate multiple objects with the same class. and then click Finish.Working with Classes in Sequence/Collaboration Diagrams This section provides techniques for creating classes.

Right-click the link and choose New Operation or New Constructor. Use the context menu of the link to create a new operation or constructor. Right-click the link. return type. Select the message link on a sequence diagram. You can click the message link label to reveal the entire message. To create a message link that calls an operation 1 2 3 Create a message link between two objects. linking and showing operations while working with sequence or collaboration diagrams. At a minimum. This option is disabled if the object is associated with a read-only class. a dialog is displayed where you can designate the name. or select More to associate an operation that is not local to the diagram. enter the name for the operation. Right-click the link and choose Select Operation from the context menu. and the sequence/collaboration diagram displays the new name. you can modify the operation using the Properties view. Tip: The maximum length of a message link label is 400 pixels. modifiers. and select Unlink Operation from the context menu. To show an operation 1 Right-click the message link. it displays on the diagram with an ellipse at the end to indicate that the message link holds more information. The supplier object must be associated with a class. or as an alternative. 432 . The supplier object must be associated with a class. To unlink an operation from a message link 1 2 Select the link on the sequence diagram. Note: After a message link has been associated with an operation. double-click the message link to display the source code of this operation in the editor. This renames the message link to the chosen operation's name. If your message label is longer than this.Working with Operations in Sequence/Collaboration Diagrams This section provides techniques for creating. you can double-click the message link label on the diagram and enable the in-place editor to modify the operation. When creating a new operation. After you create the operation. The Select Operation command expands to display a submenu that shows any operations that are "local" to the diagram and the More option for browsing operations that you can associate with the object. and click Finish. 4 After the operation has been associated with a message link. you can rename the operation directly on the class diagram or in the source code. Double-clicking the message link displays the source code. and parameters for the new operation. Tip: Creating a new constructor on the message link sets the link type to creation. Together uses the data entered in the dialog to create the operation in the class and update the link properties with the new operation. To create a new operation or constructor 1 2 Create a message link between two objects. Choose an operation from the list.

433 .2 Select Show Operation In Model Navigator.

In This Section Choosing a Target Class for the State Diagram or Activity Diagram How to designate a target class to a state or activity diagram. Working with a Complex State How to create a composite (nested) state (UML 1.4 Activity Diagram.4 Statechart diagrams.4 State Diagram. Creating internal transitions Lists the steps for creating internal transitions.0 State Machine Diagram). Creating a Self-Transition How to create a self-transition. 434 .UML 1.4 Statechart Diagrams Procedures This section outlines the procedures related to UML 1.4 Activity and UML 1. UML 2. Setting Deep History Lists the steps for setting deep history for history elements. Specifying Entry and Exit Actions How to specify entry and exit actions. UML 1. Creating a Deferred Event How to create a deferred event (UML 1. Specifying entry/exit actions for a state Lists the steps for performing entry and exit actions as internal transitions. Creating Multiple Transitions How to create multiple transitions.4 Statechart diagrams). Creating History Lists the steps for creating history for states.

435 . select the context field. navigate to the target class for the diagram using the treeview provided in the Model Elements tab. Double-click the target class.Choosing a Target Class for the State Diagram or Activity Diagram Use the Properties View of a state or activity diagram to designate a target class. and click the Browse button to open the Select Class for 'context' Property dialog. In the Select Class for 'context' Property dialog. or click OK. In the Properties View of the diagram. To choose a target class for a diagram 1 2 3 4 Create a state or activity diagram within a package.

Related Reference Deferred Event UML 1. Right-click the element. and select New Deferred Event on the context menu.4 Statechart Diagrams 436 .Creating a Deferred Event You can add a deferred event to a state or activity element.4 Activity Diagrams UML 1. To create a deferred event 1 2 Select the desired state or activity element in the diagram or in the Model Navigator.

Related Procedures Creating a Simple Link Related Reference UML 1.4 Activity Diagrams UML 1. Drag the link back to the element and drop it. Drag the opposite end of the link line back to the desired activity (or state). Alternatively: 1 2 Draw a transition between two activities (or states).4 Statechart Diagrams Tool Palette 437 .Creating a Self-Transition To create a self-transition 1 2 Draw a transition from the state or activity element and drag the link away from the element.

choose the history button in the Tool Palette and click on the target state. Related Procedures Setting Deep History 438 . Tip: Alternatively.Creating History To create history for a state 1 2 3 Right-click on the state element. From the context menu. choose New > History.

choose New Internal Transition. From the context menu of the selection. To create an internal transition 1 2 Select the desired state or activity on the diagram. 439 .Creating internal transitions An internal transition is a shorthand for handling events without leaving a state or activity and dispatching its exit/ entry actions.

You can show multiple transitions with either a vertical or horizontal orientation in your state and activity diagrams.Creating Multiple Transitions A Transition can have multiple sources (it is a join from several concurrent states) or it can have multiple targets (it is a fork to several concurrent States). If depicting multiple targets. If depicting multiple sources. draw transitions from the fork/join to each of the target nodes. Place either a horizontal or vertical fork/join on the diagram. and lay them out as you want. draw transitions from each of the source nodes to the fork/join. If necessary. Resize as needed. place all of the states on the diagram first. To create multiple transitions 1 2 3 4 Identify the nodes involved. The two orientations are semantically identical. 440 . Both the state and activity tools palette provide separate horizontal and vertical fork/join buttons for each orientation. draw a transition from the source node to the fork/join. next.

441 .Setting Deep History To designate deep history for a history element 1 2 3 Right-click the history element. From the context menu. Set the deep field to "true". choose Properties.

Rename the internal transition using the following syntax: stereotype/actionName(argument) For example: exit/setState(idle) To specify entry and exit actions using the Properties View 1 2 3 Create the internal transition in a state or activity. and the target class has at least one operation. Double-click the internal transition to enable in-place editing. Make sure that a context is defined for the diagram. select an operation from the list operations in the target class of the diagram. specify the following properties: ♦ action expression: Enter the expression in the text area.Specifying Entry and Exit Actions You can create entry and exit actions for the states and activities as stereotyped internal transitions. To specify entry and exit actions using the in-place editor 1 2 3 Create an internal transition in a state or activity. ♦ name: Specify the name of the event. ♦ event arguments: Enter one or arguments. Related Procedures Choosing a Target Class for the State Diagram or Activity Diagram 442 . Use a comma as a delimiter. or click the Browse button and in the Select Operation for the 'action expression' property dialog. In the Properties View of the internal transition.

respectively. Set the event name. 443 . Use one of the following methods to specify entry/exit actions for a state. event arguments.Specifying entry/exit actions for a state Entry and exit actions are executed upon entering or leaving a state. Double-click the internal transition to enable in-place editing. Rename the transition using the following syntax: Name(event_arguments)[guard_condition]/action_expression^send_clause Using the Properties view: 1 2 3 Right-click on the internal transition. Using the in-place editor: 1 2 3 Create an internal transition in the appropriate state. select Properties. and action expression properties in the Properties view. You can create entry and exit actions in Together state diagrams as stereotyped internal transitions. From the context menu.

and/or joins. you can reuse existing elements from the other state diagrams. 444 . you may find it more convenient to create different diagrams. and select its elements. To create a nested state using the context menu of the state element 1 2 Right-click the state (region) that will be the container. forks. Drop a new state. Create a nested state using the context menu of the state element. and then hyperlink the diagrams sequentially. histories. states. Right-click the diagram and choose New Shortcuts. Drag a new state on top of an existing state. You can place the following elements in a state: ♦ activity ♦ signal sending ♦ signal receipt ♦ start/end states ♦ history Tip: You can nest multiple levels of states inside one state. To create a nested state using drag-and-drop 1 2 3 Place a state element on the diagram background. These procedures are common for the State and Activity diagrams. however. Use the following techniques to create a composite (nested) state 1 2 Create a nested state using drag-and-drop. Tip: Using the Shortcuts command on the context menu of the diagram. navigate within the pane containing the tree view of the available project contents to the existing diagram. Create a composite state by nesting one or more levels of states within one state and draw transitions among the nested elements. model each of the state levels individually. For especially complex state modeling. Select New State on the context menu.Working with a Complex State The techniques in this section apply to models of particularly complex composite states.

4 Activity Diagrams UML 1.Related Concepts Model Hyperlinking Overview Related Procedures Creating a Shortcut Related Reference UML 1.0 State Machine Diagrams 445 .4 Statechart Diagrams UML 2.

4 Statechart diagrams). Working with a Complex State How to create a composite (nested) state (UML 1.4 Activity Diagrams Procedures In This Section Choosing a Target Class for the State Diagram or Activity Diagram How to designate a target class to a state or activity diagram.4 Activity Diagram. Creating an Activity for a State How to create an activity for a state (UML 1.4 Activity Diagram How to design a UML 1.4 State Diagram.4 Activity diagram).4 Activity Diagram.0 State Machine Diagram). UML 1. Specifying Entry and Exit Actions How to specify entry and exit actions. 446 .UML 1. Designing a UML 1. Using Object Flow Link Lists the steps for creating object flow links. UML 2.4 Activity and UML 1. Creating a Self-Transition How to create a self-transition. Creating a Deferred Event How to create a deferred event (UML 1.

In the Select Class for 'context' Property dialog. or click OK. 447 . In the Properties View of the diagram. To choose a target class for a diagram 1 2 3 4 Create a state or activity diagram within a package. select the context field. Double-click the target class.Choosing a Target Class for the State Diagram or Activity Diagram Use the Properties View of a state or activity diagram to designate a target class. and click the Browse button to open the Select Class for 'context' Property dialog. navigate to the target class for the diagram using the treeview provided in the Model Elements tab.

4 Activity Diagrams UML 1. Related Reference Deferred Event UML 1.Creating a Deferred Event You can add a deferred event to a state or activity element. To create a deferred event 1 2 Select the desired state or activity element in the diagram or in the Model Navigator.4 Statechart Diagrams 448 . and select New Deferred Event on the context menu. Right-click the element.

Drag the link back to the element and drop it.Creating a Self-Transition To create a self-transition 1 2 Draw a transition from the state or activity element and drag the link away from the element. Related Procedures Creating a Simple Link Related Reference UML 1.4 Activity Diagrams UML 1.4 Statechart Diagrams Tool Palette 449 . Drag the opposite end of the link line back to the desired activity (or state). Alternatively: 1 2 Draw a transition between two activities (or states).

Creating an Activity for a State To create an activity for a state 1 2 Open the Diagram View.4 Activity Diagrams 450 . Right-click a state and choose Add Activity on the context menu. A new activity is created inside of a state. Related Reference UML 1.

Warning: You cannot create nested swimlanes. Do not link object nodes to classes on your Class Diagrams. 2 Create one or more activities. and Signal Sending elements for your swimlanes. Connect nodes by links. create a History node.4 Activity Diagram Use the following tips and techniques when you design a UML 1. concurrent flows. 3 For convenient browsing. You can optionally create shortcuts to related elements of other diagrams. Related Procedures Creating a Shortcut Related Reference UML 1.4 Activity Diagram 1 Create one or more swimlanes. Next. and object flows. If your activity has several Start points. Warning: You cannot create nested activities. they can be used simultaneously. You can place several swimlanes on a single diagram or create a separate diagram for each. However.4 Activity Diagram. first model the main flow. 4 Create Start.4 Activity Diagrams 451 . cover branching. Signal Receipt. you can use hyperlinks for better understanding of your diagrams. Tip: You can create nested states. Create state nodes for your swimlanes. End. To design a UML 1. Create object nodes.Designing a UML 1. Tip: Use separate diagrams as needed and then hyperlink them. You can place several activities on a single swimlane or create a separate swimlane for each. 5 6 7 8 9 Optionally.

select an operation from the list operations in the target class of the diagram. specify the following properties: ♦ action expression: Enter the expression in the text area. Related Procedures Choosing a Target Class for the State Diagram or Activity Diagram 452 . or click the Browse button and in the Select Operation for the 'action expression' property dialog. Rename the internal transition using the following syntax: stereotype/actionName(argument) For example: exit/setState(idle) To specify entry and exit actions using the Properties View 1 2 3 Create the internal transition in a state or activity. To specify entry and exit actions using the in-place editor 1 2 3 Create an internal transition in a state or activity. In the Properties View of the internal transition. Make sure that a context is defined for the diagram. ♦ event arguments: Enter one or arguments. ♦ name: Specify the name of the event.Specifying Entry and Exit Actions You can create entry and exit actions for the states and activities as stereotyped internal transitions. Use a comma as a delimiter. Double-click the internal transition to enable in-place editing. and the target class has at least one operation.

click the source element. Drop when the second element is highlighted. Drag the link to the destination element.Using Object Flow Link An object flow relationship can be drawn: ♦ from an Activity to an Object ♦ from a SignalSending element to an Object ♦ from an Object to a SignalReceipt element ♦ from/to an Object ♦ to/from a Fork/Join To create an object flow link between two elements 1 2 3 On the Diagram. Related Procedures Using Control Flow Link 453 .

histories. Create a nested state using the context menu of the state element. Drop a new state. model each of the state levels individually. navigate within the pane containing the tree view of the available project contents to the existing diagram. forks. and then hyperlink the diagrams sequentially. you can reuse existing elements from the other state diagrams. For especially complex state modeling. Create a composite state by nesting one or more levels of states within one state and draw transitions among the nested elements. You can place the following elements in a state: ♦ activity ♦ signal sending ♦ signal receipt ♦ start/end states ♦ history Tip: You can nest multiple levels of states inside one state. Use the following techniques to create a composite (nested) state 1 2 Create a nested state using drag-and-drop. To create a nested state using drag-and-drop 1 2 3 Place a state element on the diagram background. Drag a new state on top of an existing state. and select its elements. To create a nested state using the context menu of the state element 1 2 Right-click the state (region) that will be the container. and/or joins. Right-click the diagram and choose New Shortcuts. states. Tip: Using the Shortcuts command on the context menu of the diagram. 454 . These procedures are common for the State and Activity diagrams. you may find it more convenient to create different diagrams.Working with a Complex State The techniques in this section apply to models of particularly complex composite states. however. Select New State on the context menu.

4 Statechart Diagrams UML 2.0 State Machine Diagrams 455 .4 Activity Diagrams UML 1.Related Concepts Model Hyperlinking Overview Related Procedures Creating a Shortcut Related Reference UML 1.

4 Component Diagram How to design a UML 1.4 Component Diagram.4 Component Diagrams Procedures In This Section Designing a UML 1. 456 .UML 1. Nesting Components Lists the steps for nesting components.

with numerous interconnected modules). service). Create interfaces.Designing a UML 1.4 Component Diagrams 457 . client-server software system. It can be convenient to start the creation of a model with Component Diagrams if you are modeling a large system (for example. Draw links between elements. The largest component can be the whole system or its major part (for example. a distributed. and use Deployment Diagrams for modeling a physical structure. To design a UML 1.4 Component Diagrams.4 Component Diagram 1 2 3 4 5 Create a hierarchy of Subsystems. Each component can have an interface. server application. Related Procedures Creating a Shortcut Related Reference UML 1. You can optionally create shortcuts to related elements of other diagrams. IDE. Use Component Diagrams for modeling a logical structure of your system. Create a hierarchy of Components.4 Component Diagram The following tips and techniques can be used when working with UML 1.

Examples of components include class libraries or binary programs. To nest a component 1 2 3 Place a component element on the diagram background. Components also use the services of another component via one of its interfaces. A component is used to package other logical elements.4 Component Diagram Definition 458 . Drop the new component. Related Concepts UML 1. components are used to visualize logical packages of source code (work product components). binary code (deployment components) or executable files (executions components).Nesting Components A component represents a modular and replaceable part of the system that complies to an interface. and represents things that participate in the execution of a system. Usually. Drag the new component on top of an existing subsystem or existing component.

4 Deployment Diagram. 459 .4 Deployment Diagram How to design a UML 1.4 Deployment Diagrams Procedures In This Section Designing a UML 1.UML 1.

Objects and components can migrate from one component instance to another component instance. and use Component Diagrams for modeling a logical structure. It can be convenient to start the creation of a model with Deployment Diagrams if you are modeling a large system that is comprised of multiple modules.4 Deployment Diagram 1 Create a hierarchy of Nodes. Indicate a temporary relationship between a Component and Node. Tip: You can create nested Nodes. The supports link is a dependency link with the stereotype field set to support. create Objects. ♦ Graphically nest the Component within the Node. To design a UML 1.4 Deployment Diagram Use the following tips and techniques when you design a UML 1. To indicate this. There are two methods for creating a nested component: You can select an existing component and add a child component inside. the object (component) will be on its component (node) only temporarily.Designing a UML 1. Each component can have an interface. You can optionally create shortcuts to related elements of other diagrams. 2 Create a hierarchy of Components.4 Deployment Diagram. In such a case. Tip: You can create nested Components. and respectively from one node instance to another node instance. 3 Represent how Components reside on Nodes.4 Deployment Diagrams 460 . Alternatively. 4 5 6 Optionally. You can represent this in two ways: ♦ Use a supports link between the component and node. use the dependency relationship with a becomes stereotype. especially if these modules reside on different computers. server application. service). Create Interfaces. IDE. Use Deployment Diagrams for modeling a physical structure of your system. The largest component can be the whole system or its major part (for example. you can create two separate components and connect them with an Association-Composition link. 7 Related Procedures Creating a Shortcut Related Reference UML 1.

Performing Business Process Simulation This topic describes how to set up and run business process simulation. Specifying Event and Trigger Type How to change the type of event. Working With UML Links in a BPMN Project This topic describes how to set up and use UML links in the BPMN project. Working with Groups This topic describes how to work with the group element. 461 . Importing BPMN Projects Created in Together 2006 for Eclipse This topic describes how to import BPMN projects created in the previous version of Together. Using BPMN Layout Features You can use layout features available for BPMN diagrams as well as grouping while designing a business process diagram. Creating a BPMN Project This topic describes how to create a new BPMN project in Together. Exporting to BPEL/WSDL Files How to export a BPMN diagram to BPEL/WSDL files. In This Section Attaching External WSDL File How to attach an external WSDL file to any process on your business process diagram. Validating BPMN Diagrams How to validate your BPMN diagram before export. Importing BPEL File This topic describes how to import a BPEL file to a BPMN project in Together.Together Business Process Modeling This section provides how-to information on creating Business Process models with Together. Specifying BPMN Preferences This topic describes how to set BPMN preferences. Working with Projection Bars This topic describes the projection bars functionality.

the file is not valid according to WSDL or BPMN specifications and cannot be used for correct export. After the file is added. previously entered values are restored and the native WSDL file can be generated for the BPEL file again. Related Concepts Business Process Modeling 462 . Only valid files can be attached. Select the WSDL path property of the participant in the Properties View and click the Edit button. Web Service Interfaces and Operations are available in the list boxes for the appropriate fields of the WebService element inside the Properties view. it will be used for the BPEL mapping with the selected WSDL file for the process (no additional WSDL file will be generated in this case). The TargetNamespace and NamespacePrefix properties are updated automatically (and the fields become read-only). When the WSDL file is removed from the WSDL path property of the process. If the program does not let you add the selected WSDL file. Click OK to save the changes. Note: Attaching an external WSDL file to the default pool or to all pools on a diagram will prevent the export process.Attaching External WSDL File You can attach an external WSDL file to any participant on your business process diagram using the wsdl path property with chooser. Select the WSDL file in the WSDL path dialog box. To attach a WSDL file to the participant of your process 1 2 3 4 Place your WSDL file inside the current project node (Eclipse will see external files after a Refresh is performed in the Navigator view).

Select referenced projects and click Finish to complete the wizard. Specify a name for a new BPMN project and the project location. Click Next. click Finish after specifying the name of the project. Specify whether to create a BPMN diagram and specify the diagram's name. To create a BPMN project 1 2 3 4 5 6 Select File New Project on the main menu. Note: To create a BPMN project with default parameters. Related Concepts Business Process Modeling Related Reference Business Process Diagram 463 . Select one or more profiles you want to enable for the created BPMN project and click Next.Creating a BPMN Project BPMN projects are created in Together with the help of the New Project wizard. and select Business Process Modeling Project. The New Project wizard is displayed. Click Next. Expand the Modeling node in the tree view list. Click Next.

To install Active BPEL Designer in Together 1 2 3 Download and install Active BPEL Designer. make sure your export result is located within one project opened in the workspace.Exporting to BPEL/WSDL Files A Business Process diagram with an enabled BPEL profile can be exported to BPEL (Business Process Execution Language) for Web services for further deployment. Warning: If you want to open the export result in Active BPEL Designer. 6 Click Finish to complete the procedure. Check Open file in Active BPEL Designer if you want to open the generated BPEL file in the new view as the Active BPEL Designer file. Note: Before a business process diagram is exported to BPEL/WSDL files. a diagram validation is performed.activee from the Designer installation\eclipse \plugins folder to the Together installation\plugins folder. Run Together with the -cleanup command line argument. Note: You can export BPEL/WSDL files to the current workspace project when Active BPEL Designer is already installed. your BPEL and WSDL files are created in the specified directory. If the process is successful. Select BPEL4WS File under the Modeling node. After you export your project to BPEL4WS. Related Concepts Business Process Modeling Related Procedures Validating BPMN Diagrams 464 . Copy plug-ins with names that start with com. you can use Active BPEL Designer to work with BPEL files. See related links for the download location. Select the diagram you want to export and the path to the export directory in the Export to BPEL/WSDL dialog box. To export a Business Process diagram to BPEL/WSDL files 1 2 3 4 5 Open a Business Process Modeling project with the diagram you want to export. Select File Export on the main menu.

Related Concepts Business Process Modeling 465 . Click Next. and select BPEL Import. Specify a new diagram name in the Diagram name text box and select a BPMN project in which the new diagram will be created.Importing BPEL File BPEL files are imported to a Together BPMN project. Expand the Modeling node in the tree view list. Select the BPEL file you want to import or click Browse to locate it. Click Add or Add folder to add one or more WSDL files. A new BPMN diagram is created to represent the imported business process. To import BPEL file 1 2 3 4 5 Select File Import on the main menu. The Import wizard is displayed. Click Finish to import the selected BPEL file.

and select BPMN from Together 2006 Business Process Project. Specify a name for a new BPMN project and the project location. To import a BPMN project created in Together 2006 for Eclipse 1 Switch to the workspace with old BPMN projects or import the old BPMN projects to the current workspace using the standard Eclipse tools. You must perform a conversion before working with BPMN projects from Together 2006 for Eclipse. you can open the projects but you cannot modify the projects. Related Concepts Business Process Modeling 466 . 2 3 4 5 Select File New Expand the Together node in the tree view list. Click Next. The New Project wizard is displayed.Importing BPMN Projects Created in Together 2006 for Eclipse BPMN projects created in Together 2006 for Eclipse are not compatible with Together. Select the project you want to convert and click Next. Click Next. Note: After you can see your old BPMN projects in the Model Navigator. Project on the main menu.

When simulation is performed using the Simulate command on the context menu. The simulation stops after executing one step. simulation is run with default parameters. To perform a simulated run of the business process 1 2 3 From the main menu. The Run dialog box opens. Note: The Simulate command is available only for BPMN projects with enabled BPMN Simulation profile. The Run dialog box opens. right-click the BPMN diagram background and select . to create a new launch configuration. Simulation parameters are specified in the run configuration. Related Procedures Validating BPMN Diagrams Creating a BPMN Project Specifying BPMN Preferences Related Reference Launch BPMN Simulation BPMN Validation View 467 . Note: Together automatically validates the diagram before performing a simulation. to create a new launch configuration. Click Run to start the simulation process. To perform the step by step simulation 1 2 3 From the main menu. click Next simulation step in the BPMN Simulation view. Click Launch BPMN Simulation and click Alternatively. Run. choose Run Specify run options and click Run.Performing Business Process Simulation Together enables you to perform a simulated run of the designed business process. Click Launch BPMN Simulation and click When specifying run options. choose Run Run. To proceed to the next step. select Start with step by step execution.

choose Window Preferences. The Preferences dialog box opens. Expand the Modeling node and click Profiles. To assign the default profile for BPMN diagram 1 2 3 From the main menu. Related Reference Business Process Preferences 468 . The Preferences dialog box opens. choose Window Preferences. Expand the Modeling node and click Business Process.Specifying BPMN Preferences To set Business Process Modeling preferences 1 2 From the main menu. Click the BPMN tab and select the profiles you want to be enabled for a newly created BPMN project.

Link. There are also some constraints for event types and triggers (for example. When the program detects an incorrect element type. it highlights the element. Message. Rule. and Timer. a Compensation event cannot be a start event). Error. Cancel. or end value for the type property. To specify the trigger type 1 2 3 Select an event. Compensation. select the trigger type property. intermediate.Specifying Event and Trigger Type To change the event type 1 2 Select an event. Related Concepts Business Process Modeling Related Procedures Together Business Process Modeling 469 . events are created with start type. Select the trigger type from the list in the Value column. Select Fix Element Type on the context menu. To automatically correct the element type 1 2 Right-click the highlighted element. Terminate. In the Properties View. Note: There are ten triggers: None. Note: By default. In the Properties View. select the . Multiple.

and click the drop-down arrow to the right of the Align Left button. Related Concepts Business Process Modeling 470 . Choose one of the options to align the elements.Using BPMN Layout Features To align diagram elements using the diagram editor toolbar 1 2 Select one or more diagram elements. Note: The Layout all command performs the following: ♦ All pools are aligned and distributed with the constant distance between them. ♦ Sequence Flow links are aligned horizontally and directed from left to right.

You can perform validation with or without export-specific errors and warnings. To navigate to an element that contains an error 1 2 Right-click an item in the BPMN Validation view. Note: Alternatively. Right-click the diagram background and select Validate for Simulation. errors can occur when unsupported elements and incorrect symbols are used in some names. To validate a BPMN diagram for BPEL4WS export 1 2 Open a Business Process Modeling diagram you want to validate. and properties update result in warnings). To validate a BPMN diagram for specification compliance 1 2 Open a Business Process Modeling project with the diagram you want to validate. Choose either Select in Model Navigator or choose Select on Diagram. Any errors that occurred during the validation for simulation are displayed in the same BPMN Validation view. add/remove links. double-click an item in the BPMN Validation view to select an element on the diagram. For example. there will be no validation for simulation action if simulation profile is turned off (default). For example. Some warnings are provided for information only and do not stop the generation process (for example. Right-click the diagram background and select Validate BPMN diagram. and prerequisites for simulation. Validation is performed for the entire diagram. type update. Right-click the diagram background and select Validate for BPEL4WS export. constraints to be met to make BPEL export possible. Note: Warnings in the BPMN Validation view denote some minor errors that should be corrected. To validate a BPMN diagram for simulation 1 2 Open a Business Process Modeling diagram you want to validate. Errors in the BPMN Validation view imply that generation cannot be performed without correction.Validating BPMN Diagrams You can validate your BPMN diagram to check BPMN general rules. Related Reference BPMN Validation View 471 . Note: Validation is profile-sensitive.

472 . Alternatively. Select the View tab in the Properties view. Click the Elements tab in the Properties view. To distinguish more clearly between different groups on a diagram. select the foreground color option. Right-click the diagram background and select New Group. To add elements to or remove elements from the Group 1 2 3 Select the group that you want to edit. use the context menu to create a group. To change the color of group elements. you can change the view of the group. and select the color and select the color To change the group title style 1 2 3 Select the group you want to edit the style for. Click the Group element and then click the diagram. Select the font option. Click the grouped elements property and click in the Value column. Select the View tab in the Properties view. A new group is created inside the BusinessProcessDiagram element. To change the color of the group boundary. To remove elements from the group. select the elements in the right column and click Remove. select the model elements in the left column and click Add. Note: Alternatively. Click OK to save the changes and close the dialog box. To change group colors 1 2 3 4 Select the group whose view you want to change. Edit. click you want to use. click Remove All to remove all elements from the group. Alternatively. click you want to use. click and select the font and size you want to use. Note: You also can add elements to the group by just dragging and dropping an element to a Group border. right-click a group boundary on the diagram and select Group Elements 4 5 6 To add the elements. select the background color option.Working with Groups A Group on a BPMN diagram is a logical element that helps you to visualize the division of a BPMN diagram into logical parts. To create a Group element on a BPMN diagram 1 2 Scroll to the Artifacts group on the Palette. The selection dialog box opens.

right-click the group border. choose Grouped Elements. and then choose the group you want to select.To select group members and navigate between a group and the group members 1 2 3 To select all members of a group. choose Groups. Related Concepts Business Process Modeling 473 . and then choose the element you want to select in the editor. right-click the element. right-click the group and choose Select Group Content. To navigate to an element in a group. To navigate from an element to a group.

Alternatively. Related Concepts Business Process Modeling 474 . right-click either the projection bars or a ruler and click the Show projection bars option.Working with Projection Bars Projection bars on the Business Process Modeling diagram provide placeholders for pools and lanes on the diagram and remain visible even if the pools are too long and you have to scroll through the diagram. Expand the Modeling node and click Diagram in the left pane. Check or clear the Show projection bars option in the Other group. click a pool or lane element in a projection bar. To show or hide projection bars 1 2 3 From the main menu choose Window Preferences. To select a pool or lane on the diagram.

3 To connect a UML service. Connect UML Service. click UML Services Note: When UML links exist. The UML links feature helps you to use Class/Interface elements and their methods as values for the WSDL portType and operations. Expand the node and right-click a WebService element. menu item names change and use UML element names instead of Service. 3 To locate a UML element on a diagram. Expand the node and right-click a WebService element.Working With UML Links in a BPMN Project Together provides UML links for a BPMN project with an enabled UML Links profile. click UML Services To locate a linked UML element 1 2 Locate a Participant of a process or a service-related task of the diagram you want to work with in the Model Navigator. click UML Services To remove a connection. Service). click UML Services To locate a UML element in the Model Navigator. Related Concepts Business Process Modeling 475 . you can see a UML Services menu with submenus. you can see a UML Services menu with submenus. right-click an element and select New Web Service. Select Service on Diagram. Receive. To connect and remove a UML service 1 2 Locate a Participant of a process or a service-related task you want to work with in the Model Navigator. Select Service in Model Tree. Note: When the UML Links profile is enabled. UML links are available for participant and service-related tasks (Send. To create a Web Service. Note: When the UML Links profile is enabled. Remove Link to Service. User.

Creating Foreign Key in a Physical Data Model How to create a foreign key in an ER physical diagram. Generating DDL Script from a Data Modeling Project How to generate a DDL Script from a Data Modeling Project. 476 . In This Section Activating ER Logical Diagram Profile How to activate ER Logical profile. Generating Data Model from SQL (DDL) Script Lists the steps for generating a data model from an SQL script. Creating Logical Data Model How to create elements in an ER Logical Diagram. Importing Data Model from Database How to import data objects from a remote database into a Data Modeling project.Data Modeling Procedures This section describes how to work with ER diagrams and create logical and physical data models. Creating Connection Profile How to create a new connection to a database server. Creating View Relationships in a Physical Data Model How to create a view relationship in a Physical Data Model. Transforming Logical Data Model to Physical Data Model How to transform your Logical Data Model defined in an ER Logical diagram to a Physical Data Model. Creating a Data Modeling Project How to create a data modeling project.

On the main menu. check the ER Logical Diagram Profile check box. choose Project Properties. On the Profiles page.0 design projects. ER Logical Diagram elements are added to the Class Diagram Palette. Related Procedures Creating a Project Enabling UML Profiles Data Modeling 477 . To activate ER Logical Diagram Profile 1 2 3 Select project in the Model Navigator or in the Navigator.Activating ER Logical Diagram Profile This profile is available in UML 2. When this profile is activated.

Check the Default schema option. You can confirm and memorize your decision. and click Finish. To create a data modeling project 1 2 3 4 5 On the main menu. Follow the wizard to specify necessary options. When you first create a data modeling project in a workspace. choose File New Project Modeling Data Modeling Project. On the first page of the New Project wizard. On the Project Settings page. Click Next.Creating a Data Modeling Project This section describes how to create a data modeling project for the development of a physical data model. and specify the schema name. you will be prompted to associate the project with the Data Modeling perspective. Related Procedures Creating a Project Related Reference New project Wizard Data Modeling Specific Options 478 . specify the project name and location. select the target database server from the drop-down list. Click Next. if required.

To create a new connection profile 1 2 3 4 5 6 On the main menu. Specify the connection parameters and click Test. select a database server. In the Connect to Database dialog that opens. Expand the Modeling node. In the Import DB Schema from JDBC Connection dialog. choose File Import. and click New. Click Apply. select DB Schema from JDBC and click Next. You can create connection profiles for each of the supported servers. click Connect. Related Concepts Data Modeling Overview Related Procedures Importing Data Model from Database Related Reference Connect to Database Dialog 479 .Creating Connection Profile Together supports a number of database servers.

The foreign key columns propagated to the child tables display in red. locate the parent key field and select either PK Constraint or Unique Constraint from the parent table. Draw a foreign key link between the child table and the parent table using the Foreign Key link button from the diagram Palette. To create a foreign key 1 2 3 Create two tables in a schema diagram. Use the columns field in Constraint Properties to add columns to the constraint. In the foreign key properties.Creating Foreign Key in a Physical Data Model Warning: You cannot create a foreign key between tables from different schemata. If not. Related Concepts Data Modeling Overview 480 . make sure that at least one column is added to the Constraint selected as parent key. Note: Once the parent key property is specified. the Propagate Attributes context menu command becomes enabled.

To create a top-level element 1 2 3 Create a UML 2.Creating Logical Data Model After your project is created and the ER Logical Diagram profile is activated. View. Subtype Cluster) and ER relationships using the Palette. You can create ER Logical model elements the same way as any other diagram element.0 project and activate the ER Logical Diagram Profile for it. For creating attributes. you can see the ER Logical Diagram Elements group on the diagram Palette. Note: The Properties View for ER elements contain an ER group where you can edit specific properties of the data modeling elements. key groups. use the New context menu of their respective containers. Create a new or open an existing Class20 diagram. Click a button on the ER Logical Diagram Elements group in the Tools Palette and click the diagram background. Note that you can create only top-level ER logical elements (Entity. Related Concepts Data Modeling Overview Related Reference ER Logical Diagram Elements ER Physical Diagram Context Commands 481 . and so on.

Using the View relationship link button from the diagram Palette. Use the Propagate Attributes or Propagate Attributes to All context menu commands to propagate the view columns to a view or the entire view hierarchy.Creating View Relationships in a Physical Data Model To create a view relationship 1 2 3 In a schema diagram. Related Concepts Data Modeling Overview 482 . create Table and View node elements. draw a view relationship between a view and a table or between a view and another view.

you can reverse engineer a source SQL file from an existing file system to a database schema. choose File Import. specify the target Data Modeling project.Generating Data Model from SQL (DDL) Script After you have created a Data Modeling Project. specify the path to the existing file. The content of this file should contain a DDL statement (for example. Its parser will be used to import the selected SQL file. expand the Modeling node. Every valid DDL statement will be translated into a corresponding physical data model object. To import an SQL script 1 2 3 4 5 6 7 8 On the main menu. select the target database server. Select whether to open source SQL file in an SQL editor. In the Import wizard that opens. where DB schema will be created. In the File field. CREATE TABLE). Click Finish to start the import process. Select DB schema from SQL script and click Next. In the Target project field. Specify the target schema name. Related Concepts Data Modeling Overview 483 . The new schema with the specified name is created in the selected project. In the Server field.

Select tables and views to be exported and click Next. The Source Data Modeling project and schema that you selected in step 1 are selected by default. Click Next. Each schema object is translated to a valid DDL statement with specific options depending on the current project RDBMS (database server).borland. You can generate DDL only for one schema at a time.dbmodeling_8.selena. Click Finish to close the wizard and start the export process. You can control the list of highlighted keywords by editing the $TogetherArchitect_Home$/eclipse/plugins/com.0/ keywords. 5 6 7 8 Tip: SQL keywords are highlighted in the editor. you can export it to a DDL statement and save in a *. Specify whether to open the resulting SQL file in the Eclipse SQL editor. You can change the source schema by selecting one from the available schemata in all Data Modeling projects in your workspace. To generate DDL script 1 2 3 4 In the Model Navigator view. You can make corrections in the result file after generation if necessary.1. The Export wizard is displayed. Select the DDL/SQL script and click Next. Select generation options that apply to the selected objects.sql or *ddl file. Select File Export on the main menu.xml file. Select a target file in which the generated script will be saved. This opens the DDL Preview dialog box with read-only contents. Note: You can preview the result by pressing the Preview button. select a schema that you want to export. Related Concepts Data Modeling Overview 484 . The objects list contains tables and views in the selected schema.Generating DDL Script from a Data Modeling Project After you have designed a physical data model in your Data Modeling project.

In the Source tree view.Importing Data Model from Database You can import a data model from a remote database using a JDBC connection. If necessary. select a connection profile. If the connection is successful. an error message is displayed. Expand the Modeling node and select DB schema from JDBC as the import source. Click Finish to start the import process. you need JDBC driver and JDBC connection parameters for your database. create a new one. To reverse engineer a database. New schemata are created in the selected project. Select objects in the source objects tree to import them. Click Connect. Otherwise. Specify the target Data Modeling project where the source object will be imported. Related Concepts Data Modeling Overview Related Procedures Creating Connection Profile 485 . To import a data model from a database 1 2 3 4 5 6 7 8 Choose File Import on the main menu. Click Connect to establish a connection to the database. you will see the source objects tree. The Import wizard is displayed. The Connect to Database dialog box displays. Click Next.

Select DB Schema from ER Logical Diagram Profile UML 2. Click Next. In the Source tree. Select the target schema name (the name of the source file is used by default). you can convert it into a schema in an existing Data Modeling project. Click Next. The Import wizard is displayed. New schema with the specified name is created in the specified project. select ER Logical Diagram elements. Select a valid UML project with ER Logical Diagram Profile. Select transformation option. To convert a Logical Data model to a schema 1 2 3 4 5 6 7 Select File Import on the main menu. Click Finish to start the import process. Select the target Data Modeling project from the list where the schema will be created. Related Concepts Data Modeling Overview 486 .Transforming Logical Data Model to Physical Data Model After you have created a Logical Data Model (with the help of ER Logical Diagram profile).0 project.

Creating an Example MDA Transformation Project How to create an example MDA Transformation project. Applying XSL Transformations How to apply an XSL transformation. Configuring Model-To-Model Transformation Builder How to configure the project builder for a Model-To-Model transformation. Creating an MDA Transformation Project How to create an MDA transformation project. Creating a Model-To-Model Transformation How to create a Model-To-Model transformation. Deploying Transformations How to deploy compiled QVT transformations. Applying Model-To-Text Transformations How to apply a Model-To-Text transformation. Building MDA Projects from the Command Line How to build an MDA Transformation project from the command line. Creating an XSL Transformation How to create an XSL transformation. Applying Model-To-Model Transformations How to apply a Model-To-Model transformation. Opening MDA Views How to open views related to MDA perspective.Model Driven Architecture Topics in this section cover the most common tasks associated with developing model transformations. In This Section Adding a New Ant Task to the Composite Transformation How to add a new Ant task to your Composite transformation. 487 . Creating a Composite Transformation How to create a Composite transformation. Configuring Model-To-Text Transformation Builder How to configure the project builder for Model-To-Text transformation. Debugging XSL Transformations How to debug XSL transformations. Creating a QVT Library How to create a QVT library. Creating Model-To-Text Transformations How to create a Model-To-Text transformation. Debugging Model-To-Text Transformations How to debug Model-To-Text transformations. Debugging Model-To-Model Transformations How to debug Model-To-Model transformations.

Running a Composite Transformation script How to run a Composite transformation script. Running Compiled Transformations How to run compiled transformations. 488 .

The Edit Launch Configuration dialog box is displayed.Adding a New Ant Task to the Composite Transformation To add a new Ant task to the Composite transformation 1 Open the composite transformation script in the Ant Editor. button on the Composite Transformation Content screen of the New Composite Transformation wizard. and choose Create MDA Ant Task from the context menu. Note: If you create a new Composite transformation. 2 Choose the Enter data manually option if you want to enter your task parameters manually. 3 Select the launch configuration type that matches your transformation and click the Enter launch configuration data button. and click Finish to insert it into your composite transformation script. 5 Related Concepts Model Transformation Support Related Procedures Creating a Composite Transformation Related Reference QVT Ant Tasks Model-To-Text Ant Tasks 489 .. Tip: Choose the Select existing launch configuration option to copy task parameters from an existing launch configuration to your task script. right-click in the editor area where you want to insert the task. The Select launch configuration type wizard screen is displayed. Note: The Edit Launch Configuration dialog box is used here only to collect required task parameters. click the Add.. The Preview wizard screen is displayed. and no actual launch configuration is created. 4 Specify task parameters for the selected transformation type and click OK to return to the wizard. The New MDA Ant Task wizard is displayed. Click Next. Check the result task script.

. Note: Apply If you want to apply a compiled transformation. run it once and then press CTRL+F11 any time you need to reapply the transformation. 490 . create the Eclipse Launch Configuration for your transformation project.. The Run dialog opens. choose the Compiled. The Configuration Properties page displays. for testing purposes). Click Run. specify the feature to which you want to place the transformation result.. 4 Specify values for the configuration properties defined in your QVT script and click Finish. If you need to run the transformation repeatedly (for example. from the menu. from the main menu.Applying Model-To-Model Transformations Use the Apply Transformation wizard to run the transformation on a particular model or model element. and the location of the trace file. menu item instead of From Workspace. that this page is displayed only if the applied QVT script accepts configuration properties. For Existing container target type... The generated target model and trace files appear at the specified location. Select the QVT Interpreter configuration type and click New. and whether you want to clear the existing feature contents before saving the result. Note: The Run in interpreted mode check box is disabled for Java-less projects. Specify the configuration name and URIs for input and output models and the trace file.. To apply a Model-To-Model transformation to a model or a model element 1 Select a model or model element in the appropriate editor or navigator view and then choose Model Transformation QVT From Workspace. To create and run the Eclipse Launch Configuration for a Model-To-Model transformation 1 2 3 4 Select Run Run. 3 Specify the target type. The interpreter performs QVT. the URI of the target model. Select QVT Transformation if you want to execute Java generated by this QVT .. The generated target model and trace files appear at the specified location.. 2 Select your transformation file and check the Run in interpreted mode check box if you want to use QVT Interpreter to run your the QVT code. The Select Transformation page of the Apply Transformation Wizard is displayed.. Note. The Select Destination wizard page is displayed. Click Next. Click Next.

Related Concepts Model Transformation Support Related Procedures Creating a Model-To-Model Transformation Debugging Model-To-Model Transformations Deploying Transformations Related Reference Apply Transformation Trace View 491 .

for testing purposes). and then choose Model Apply Transformation Model-To-Text From Workspace. menu item instead of From Workspace. To apply a Model-To-Text transformation to a model or a model element 1 Select a model or model element in the Model Navigator or in the Diagram Editor. Specify the folder where you want to save the transformation results and click Finish.. Transformation results are displayed at the specified location. choose the Compiled. The Select Transformation to apply page of the Apply Transformation Wizard is displayed.. 2 3 4 Select the Model-To-Text Transformation configuration type and click New. Note: If you want to apply a compiled transformation. 3 If you need to run the transformation repeatedly (for example. To create and run the Eclipse Launch Configuration for a Model-To-Text transformation 1 Choose Run Run. from the menu or use the context menu.. The Run dialog box is displayed. create the Eclipse Launch Configuration for your transformation project..... run it once and then press CTRL+F11 any time you need to reapply the transformation. from the menu.. Related Concepts Model Transformation Support Related Procedures Creating Model-To-Text Transformations Debugging Model-To-Text Transformations Deploying Transformations Related Reference Apply Transformation 492 . source model URI and the location for the transformation results. The transformation output appears at the specified location... Click Run.Applying Model-To-Text Transformations Use the Apply Transformation wizard to run the transformation on a particular model or model element. The Specify output folder wizard page is displayed. 2 Choose your Java transformation file (or your compiled transformation if you chose to apply the compiled transformation) and click Next. Java transformation file. Specify the configuration name.

run it once and then press CTRL+F11 any time you need to reapply the transformation. Note: If you want to apply a transformation that is stored outside your workspace. and then choose Model Apply Transformation XSL From Workspace. To create and run the Eclipse Launch Configuration for an XSL transformation 1 Choose Run Run. from the menu. Click Run. 2 3 Select the XSL Transformation configuration type and click New. Use the Add.Applying XSL Transformations Use the Apply Transformation wizard to run the transformation on a particular model or model element.. you can create the Eclipse Launch Configuration for your transformation project. Click Finish.. To apply an XSL transformation to a model or a model element 1 Select a model or model element in the Model Navigator or in the Diagram Editor. choose Model Apply Transformation XSL From File System. Click Next.. The Target file wizard page is displayed. In the Target file field. from the menu or use the context menu. Check the Open result in editor check box if you want to view the result file in the associated editor. Specify the configuration name. The transformation output appears in the specified location. button to define parameters and their values that you want to pass to your transformation. 2 Choose your XSL transformation file and click Next. instead.. The Select Transformation page of the Apply Transformation Wizard is displayed.. The Run dialog box is displayed.. XSL transformation file. 4 Transformation results appear in the specified location.. 3 4 If you need to run the transformation repeatedly (for example. for testing purposes). Related Concepts Model Transformation Support Related Procedures Creating an XSL Transformation Debugging XSL Transformations Related Reference Apply Transformation 493 . source model URI and the location for the transformation results.. If your transformation accepts parameters. specify where you want to save the transformation results. The Specify Parameters wizard page is displayed. specify them in the Parameters section of the dialog box.

Java. Errors generated by MDA. or other builders are printed in the console window.mda.borland.project.BuildApplication <build | clean> 2 This command launches an instance of Together and then builds or cleans projects in the specified workspace.tg.mda.Building MDA Projects from the Command Line The MDA transformation framework uses the com.BuildApplication Eclipse application for building or cleaning MDA Transformation projects from the command line or in the batch mode. If any errors occur during the build.project. To build MDA Projects from the command line 1 Use the following command: Together -data <workspace> -application com.borland.tg. the application returns nonzero exit code. Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Creating a Model-To-Model Transformation Creating Model-To-Text Transformations Related Reference QVT Language QVT Builder 494 .

specify the transformation ID.Configuring Model-To-Model Transformation Builder Before you can run a compiled transformation. On the Transformation tab. and the location of the target folder. Choose Builders in the left pane and click New. Choose Compiled Model-To-Model Transformation and click OK. right-click your transformation project node and choose Properties from the context menu. 3 4 5 6 Related Concepts Model Transformation Support Related Procedures Running Compiled Transformations Related Reference QVT Builder Apply Transformation 495 . Any change to the specified resources will start the builder. On the Build Options tab. you need to configure the corresponding transformation builder. The Choose configuration type dialog box is displayed. source model URI. Save your changes and close the dialog box. Each type of transformation runs on a specific builder: QVT Transformation Builder or Model-To-Text Transformation Builder. To configure QVT Transformation Builder 1 2 In the Navigator or Model Navigator. The Properties for New_Builder dialog box is displayed. specify a working set of workspace resources.

On the Transformation tab. Choose Compiled Model-To-Text Transformation and click OK. specify a working set of workspace resources. The Properties for New_Builder dialog box is displayed. The Choose configuration type dialog box is displayed. On the Build Options tab. Any change to the specified resources will start the builder. Save your changes and close the dialog box. right-click your transformation project node and choose Properties from the context menu. you need to configure the Model-To-Text transformation builder. To configure Model-To-Text Transformation Builder 1 2 In the Navigator or Model Navigator. 3 4 5 6 Related Concepts Model Transformation Support Related Procedures Running Compiled Transformations Related Reference QVT Builder Apply Transformation 496 . source model URI. and the location of the target folder.Configuring Model-To-Text Transformation Builder Before you can run a compiled Model-To-Text transformation. specify the transformation ID. Choose Builders in the left pane and click New.

Add one or more ANT tasks to your script and click Finish. Select Modeling Other. Click Next. 4 On the MDA Composite Transformation wizard screen. from the context 3 Composite Transformation in the list of wizards tree and click Next.. Adding a New Ant Task to the Composite Transformation 5 6 Note: You can add or modify your ANT tasks at any time later using the Ant Editor. The Composite Transformation Content wizard screen is displayed. Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Related Reference QVT Ant Tasks Model-To-Text Ant Tasks 497 . These parameters are inserted in the XML header of your ANT script and open in the Ant view.Creating a Composite Transformation To create a Composite transformation 1 2 Create an MDA Transformation project. right-click the project root and choose New menu. specify the ANT project name and the name of the default package. specify the folder where you want to store the composite transformation script and the name of the script file. In the Project name and Default task name fields.. The New Composite Transformation wizard displays. The New wizard is displayed. In Navigator or Model Navigator.

The Select launch configuration type wizard screen is displayed. The New MDA Ant Task wizard is displayed.. 3 Select the launch configuration type that matches your transformation and click the Enter launch configuration data button. Tip: Choose the Select existing launch configuration option to copy task parameters from an existing launch configuration to your task script.. Click Next. and no actual launch configuration is created. button on the Composite Transformation Content screen of the New Composite Transformation wizard. Note: If you create a new Composite transformation. The Edit Launch Configuration dialog box is displayed. and choose Create MDA Ant Task from the context menu. Check the result task script.Adding a New Ant Task to the Composite Transformation To add a new Ant task to the Composite transformation 1 Open the composite transformation script in the Ant Editor. and click Finish to insert it into your composite transformation script. 5 Related Concepts Model Transformation Support Related Procedures Creating a Composite Transformation Related Reference QVT Ant Tasks Model-To-Text Ant Tasks 498 . right-click in the editor area where you want to insert the task. The Preview wizard screen is displayed. click the Add. Note: The Edit Launch Configuration dialog box is used here only to collect required task parameters. 2 Choose the Enter data manually option if you want to enter your task parameters manually. 4 Specify task parameters for the selected transformation type and click OK to return to the wizard.

You can expand Together project nodes to choose the input element from metamodels used in Together projects or expand the metamodels node to select an EMF class. choose a metamodel element that you want to use as the transformation input. The Transformation Output wizard screen will not open.Creating a Model-To-Model Transformation To create a Model-To-Model transformation 1 2 Create an MDA Transformation project. Check the check boxes next to the auxiliary metamodels that you want to import into your transformation project and click Next. Review the transformation ID assigned to your transformation and edit it. Together provides a number of pre-installed libraries that you can use. The New File wizard screen is displayed. Click Finish to create the transformation. 5 6 7 The Transformation ID screen is displayed. You can also create your own library. The New QVT Transformation wizard is displayed. Choose the libraries or compiled transformations that you want to use in your transformation and click Next. check the Create inplace transformation check box. 4 Choose a metamodel element you want to use as your transformation output and click Next. Note: If you want to create an inplace transformation. Note: 8 9 The screen opens only when you create a QVT transformation in the MDA project that contains Java code. The transformation file opens in the QVT Editor. Note: You can find a list of methods defined in the pre-installed libraries on the OCL library operations tab of the OCL Preferences dialog box (Window Preferences. In Navigator or Model Navigator. Specify the transformation file name. QVT Transformation from 3 On the Transformation Input wizard screen. right-click the project root and choose New the context menu.. The Import Metamodels wizard screen is displayed. Click Next. Modeling OCL OCL library operations). if necessary. The Transformation Output wizard screen is displayed. Click Next.. 499 . The Import Libraries screen is displayed.

Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Applying Model-To-Model Transformations Debugging Model-To-Model Transformations Deploying Transformations Related Reference QVT Language QVT Editor 500 .

Click Next. In Navigator or Model Navigator. You can expand Together project nodes to choose input elements from metamodels used in Together projects or expand the metamodels node to select EMF classes. 4 5 6 Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Applying Model-To-Model Transformations Deploying Transformations Related Reference QVT Language QVT Editor 501 .Creating a QVT Library To create a QVT library 1 2 Create an MDA Transformation project. Check the check boxes next to metamodel elements that you want to use as the library input. Check the check boxes next to the libraries and transformations available in your workspace that you want to import into your QVT library and click Next. The New QVT Library wizard is displayed. Specify the identifier that you want to use when referencing the compiled library and click Finish. right-click the project root and choose New menu. The Import Libraries page is displayed. Click Next. The created library opens in the QVT Editor.qvt). The Import Metamodels wizard screen is displayed. The Library ID page is displayed. QVT Library from the context 3 Enter or select a Java source container where you want to store your library and specify the library file name (*.

Leave the project name as it is and click Finish. 4 5 Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Related Reference MDA Example Projects 502 .Creating an Example MDA Transformation Project To create an MDA Sample Transformation Project 1 Choose File New Example from the menu. The Transformation Sample Wizard is displayed. The example project is created in your workspace. Click Next. 2 3 Expand the MDA node in the tree view list and select the example project you want to create. The New Example wizard is displayed.

check the Create Transformation in the new Transformation Project check box. Specify the project name and location. leave the page as it is and click Finish.Creating an MDA Transformation Project To create a new MDA Transformation project 1 Choose File New Project. Together will not generate Java code for your project transformations and you can run them in the interpreted mode only.. 4 If you want to add a transformation to your new project. Related Concepts Model Transformation Support Related Procedures Creating a Model-To-Model Transformation Creating Model-To-Text Transformations Building MDA Projects from the Command Line 503 . from the main menu. 3 The Transformations wizard screen is displayed. Note: If you want to add a Model-To-Text transformation to your project. check the Create a plug-in project check box and then define your plug-in project settings on the Transformation Project Content wizard screen. and follow the wizard instructions for the selected transformation type. Otherwise. select the required transformation type.. select MDA Transformation Project. The New Project wizard is displayed. 2 Expand the Modeling node in the tree view list. and then click Next. If you want to create an empty project. and then click Next. or compile your project transformations later. The new MDA Transformation Project opens in the Together Modeling perspective. The Transformation Project wizard screen is displayed.

Click Finish to create the transformation.Creating an XSL Transformation To create an XSL transformation 1 2 Create an MDA Transformation project. The XSL transformation file opens in the XSL Editor. 3 Choose a metamodel element that you want to use for your transformation input and click Next. XSL Transformation from The Transformation Input screen of the New XSL Transformation wizard is displayed. right-click the project root and choose New the context menu. 4 5 Related Concepts Model Transformation Support 504 . The New File screen is displayed. In Navigator or Model Navigator. Select the parent folder and the name for the XSL transformation file.

specify the name of the package that contains the class. 4 5 Click Finish to create the transformation. In the Class name specify a fully qualified name of the Java class that you want to create. Model-To-Text The New Transformation Class screen of the New Model-To-Text Transformation wizard is displayed. Check the Use JET check box if you want to use JET. The Transformation Input screen is displayed. In Navigator or Model Navigator.Creating Model-To-Text Transformations To create a Model-To-Text transformation 1 2 Create a plug-in Transformation project or use an existing transformation project. 3 In the Source folder field. In the Transformation ID field. The created class is opened in the Java Editor. Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Applying Model-To-Text Transformations Debugging Model-To-Text Transformations Deploying Transformations 505 . right-click the project root and choose New Transformation from the context menu. specify a unique ID assigned to the transformation. In the Package name filed. You can expand the Together project nodes to select the metamodel element from the metamodels that are used in the projects or expand the metamodels node to select an EMF class. Click Next. Choose a metamodel element that you want to use for your transformation input. specify the folder within your plug-in project that contains generated Java source files.

set values for transformation properties. target model. Use the Debug and Console views to control the debugging process or switch to the Debugging perspective when prompted. On the Configuration tab. Debug. transformation module. Double-click the gray area on the left of the editor pane against the line where you want to set a breakpoint. Note: If you check the Clear contents check box for Inplace or Existing container target types. specify the configuration name. if needed.Debugging Model-To-Model Transformations To debug a Model-To-Model transformation 1 2 Open the transformation file in the QVT Editor. and whether you want to generate a trace file. only files created during the debugging process will be cleared. create the launch configuration for your transformation: On the Transformation tab. 5 Click the Debug button.. from the main menu. 3 Choose Run The Debug dialog box is displayed. source model URI.. 4 Under QVT Interpreter. Related Concepts Model Transformation Support Related Procedures Applying Model-To-Model Transformations Creating an MDA Transformation Project Related Reference QVT Editor 506 . The debugging session starts and then immediately stops at the first breakpoint that you set.

6 The debugging session starts and then immediately stops at the first breakpoint that you set. Use the Debug and Console views to control the debugging process or switch to the Debugging perspective when prompted. 3 Choose Run The Debug dialog box is displayed. Debug.Debugging Model-To-Text Transformations Note: Together uses Eclipse Java Debugger for Model-To-Text transformations. source model URI. create the launch configuration for your transformation: On the Transformation tab. To debug a Model-To-Text transformation 1 2 Open the generated transformation file in the Java Editor. target folder for transformation results. Double-click the gray area on the left of the editor pane against the line where you want to set a breakpoint. and whether you want to monitor changes in the target folder during the debugging process. 5 Click the Debug button.. The projects required for the transformation are imported into the temporary debugging workspace. specify the configuration name. specify which additional projects you want to import to the temporary debugging workspace. On the Workspace tab. 4 Under Model-To-Text Application. Together launches a “headless” instance of Eclipse that runs in the background. from the main menu. Related Concepts Model Transformation Support Related Procedures Applying Model-To-Model Transformations Creating an MDA Transformation Project 507 .. transformation file.

Debugging XSL Transformations To debug an XSL transformation file 1 2 4 Open the transformation file in the XSL Editor. The Debug dialog is displayed. Under XSL Transformation. F7 = StepReturn. CTRL-R = run to line. choose the launch configuration you have created for your transformation and click Debug. from the menu. F8 = Resume. F6 = StepOver.. Related Concepts Model Transformation Support Related Procedures Applying XSL Transformations Related Reference XSL Editor 508 . 3 Select Run > Debug. use standard debugger commands F5 = StepInto. The Extensible Stylesheet Debug perspective opens. Double-click the gray area on the left of the editor pane against the line where you want to set a breakpoint.. 5 6 The debugging session will be started and immediately stopped at the first breakpoint specified. As necessary.

3 4 5 Related Procedures Running Compiled Transformations Related Reference QVT Builder Apply Transformation 509 .Deploying Transformations Note: You cannot deploy Java-less transformations. The Deployable Plug-ins and Fragments page of the Export wizard is displayed. To deploy compiled QVT and Model-To-Text transformations 1 Choose File Export from the menu. check the check boxes against the transformations that you want to export. The Select page of the Export wizard is displayed. 2 Select the Deployable Plug-ins and Fragments item and click Next. In the Available Plug-ins and Fragments window. specify the Eclipse installation directory. In the Export Destination area. Click Finish. Restart Together with —clean option to load the newly created transformation plug-in.

.. The views open in the Eclipse framework. double-click a . The view displays the selected trace file. Select Metamodel Browser and OCL Expressions views and click OK.trace file that you want to open in the Trace view. Related Concepts Model Transformation Support Related Procedures Creating an MDA Transformation Project Related Reference Metamodel Browser View 510 . expand MDA node.Opening MDA Views To open MDA views: 1 2 3 4 Choose Window Show View Other. To open the Trace view 1 2 In the Navigator view. In the Show View dialog box.

. select the Run in the same JRE as the workspace option. The script file is displayed in the Ant view tree under the name specified in the project name property. the Ant Configuration Selection dialog box is displayed instead. specify the name of the run configuration. from the menu. Click the Run button to run the Ant build file. Under the Buildfile. Drag and drop your composite transformation script file into the Ant view. click the Ant task that you want to run and choose the Run As from the context menu. 2 Select the Ant Build node and click the New button to create a new launch configuration. select the Ant item. Note: If you have created Ant configurations for your script file. The Choose Location dialog box is displayed. On the Main tab in the Name field. 3 4 5 6 7 To run an individual task in the Composite transformation script 1 Choose Window Show view Other. Click the Run button to run the specified Ant task(s)... select the Run in the same JRE as the workspace option. button. check the check box next to the tasks that you want to run. The Show View dialog box is displayed. Expand the script file node. Click the project that contains the composite transformation build file in the left pane and then select the required Ant build file (. The new configuration is added to the Ant Build node. On the JRE tab.xml) in the right pane. 511 . item 3 4 5 6 7 On the Targets tab.. The External Tools dialog box is displayed. and click OK. Click OK to close the dialog box.. Ant Build. The Ant view is displayed.. click the Browse Workspace. The Modify attributes and launch dialog box is displayed. On the JRE tab.. Select the configuration created for your script file and click OK to open the Modify attributes and launch dialog box. 2 Expand the Ant node.Running a Composite Transformation script To run a Composite transformation script 1 Choose Run External Tools External Tools..

Related Concepts Model Transformation Support Related Procedures Creating a Composite Transformation Related Reference QVT Ant Tasks QVT Ant Tasks 512 .

button next to the Target folder field and choose the folder where you want to store the transformation results.. Click OK to close the dialog box. Note: You need to deploy your compiled transformation before you can run it. Click Builders and then click the New. and location of the trace file.. The compiled transformation runs as a part of the project build. The Edit launch configuration properties dialog box is displayed. ♦ The Apply Transformation wizard for Model-To-Text or Model-To-Model transformation. button next to the Source model URI field and choose the source model in the Workspace Contents dialog box. Click the Browse. button next to the Transformation id field and select your transformation file in the Select Transformation dialog box. specify the name of the new builder.Running Compiled Transformations You can run compiled transformations using: ♦ QVT Transformation External Tool Builders. For the Model-To-Model transformation. click the Browse.. button on the Builders page. URI of the target model. For the Model-To-Text transformation... Click the Browse. which run transformations as a part of the project build. To run a compiled transformation using transformation builders 1 Right-click your project root and choose Properties from the context menu. 2 3 4 5 6 7 8 9 Related Concepts Model Transformation Support Related Procedures Applying Model-To-Text Transformations Applying Model-To-Model Transformations Deploying Transformations 513 .. In the Name field. Select the Compiled Model-To-Text Transformation or Compiled QVT Transformation item and click OK... The Properties dialog box is displayed. The Choose configuration type dialog box is displayed. in the Target model area specify the target type.

and perform history comparison with the earlier versions of the model stored in VCS. 514 . Merging Models How to merge models using the Compare editor. In This Section Comparing and Merging Shared Models How to compare and merge models shared with VCS. Comparing Models How to compare two or three models against each other and review differences.Comparing and Merging Models Describes how to compare models and model elements with each other.

Note: When merging a shared model. you can change your local version only. and existing file conflicts may still remain after the model merge. select a model or model element version stored in the repository that you want to compare with the local version. the "Override and Commit" option in CVS).Comparing and Merging Shared Models Use the Synchronize view to compare shared models. so you need to have all of these files locally. To compare and merge shared models 1 2 In the Team Synchronize view. and then commit the model to the repository using menu commands specific to your VCS. apply your changes. (for example. Related Concepts Model Compare and Merge Related Procedures Merging Models Related Reference Model Compare/Merge EMF Model Compare Preferences 515 . Warning: Together performs merge on the model level. 3 Review the differences. right-click a model or model element and choose Open In Model Compare Dialog from the context menu. The comparison results display in the Model Compare dialog box. use the "forced commit" mechanism provided by your version control system. Alternatively. Choose Model Tip: Compare With Local Version from the main menu. Together models consist of a large number of files. To commit these changes.

To compare models 1 2 In the Model Navigator or Navigator view. The comparison results display in the Compare editor. Choose Compare With Each Other (as Models) from the context menu. Related Concepts Model Compare and Merge Related Procedures Merging Models Related Reference Model Compare/Merge EMF Model Compare Preferences 516 .Comparing Models You can compare two or three models against each other and review differences. select two or three models or model elements.

Related Concepts Model Compare and Merge Related Procedures Comparing Models Related Reference Model Compare/Merge EMF Model Compare Preferences 517 .Merging Models How to merge models using the Compare editor. Tip: You can undo and redo operations. Tip: Use the Show Containment References button on the editor toolbar to toggle views of the comparison results. select a property of the input model and click the Copy to the Left or Copy to the Right button to copy it to the target model. or keyboard shortcuts CTRL +Z and CTRL+SHIFT+Z. 2 3 4 In the Substructure Merge tab. select an element of the input model and click the Copy to the Left or Copy to the Right button to copy it to the target model. In the Properties Merge tab. The difference details are displayed in the Substructure/Properties Merge section of the Compare editor. Warning: Source code elements merged using the Compare editor become design elements after merging. Comparing Models Double-click the first difference displayed in the Structure Compare section of the Compare editor. To merge models 1 Compare models or model elements. using the Undo and Redo toolbar buttons.

Comparing Models You can compare two or three models against each other and review differences. select two or three models or model elements. Choose Compare With Each Other (as Models) from the context menu. Related Concepts Model Compare and Merge Related Procedures Merging Models Related Reference Model Compare/Merge EMF Model Compare Preferences 518 . To compare models 1 2 In the Model Navigator or Navigator view. The comparison results display in the Compare editor.

Searching Model with OCL queries How to search for model elements using OCL queries. Working with Custom OCL Operations How to create. Using OCL in Model Audits and Metrics How to use OCL expressions in Audits and Metrics. edit. Enabling Source Code Generation from OCL Constraint How to use OCL constraints when you generate Java or C++ code from a design project. OCL in Documentation Templates How to use OCL expressions in the templates for generating project documentation. 519 . Editing Constraint Expressions How to edit a constraint expression.Together Object Constraint Language (OCL) This section provides how-to information on using Together OCL facilities. Creating Constraints This topic describes how to create an OCL constraint. Working with a Combined Fragment How to work with a combined fragment. In This Section Creating an OCL Guard Condition for a Transition How to create a guard condition for a transition. import and export OCL operations.

In an OCL guard condition. Specify the language for your guard condition (OCL by default). To create a guard condition for a transition 1 2 3 4 5 Select a transition on a diagram.Creating an OCL Guard Condition for a Transition An OCL expression can restrict a StateMachine transition by acting as a guard to that transition. Related Concepts About OCL Support in Together Related Reference UML 2. is of type Boolean. Select the guard tab in the Properties view. Select the body field and click the Edit button.0 State Machine Diagrams 520 . the StateMachine must have a context that is a Classifier. Type the condition expression and click OK to apply changes. The expression. which is evaluated when the guard's transition is attempted.

Attribute or Operation). save your changes. then hold down the left mouse button and draw the link to the place where you want to create the Constraint element. Tip: Alternatively. Linked Constraint and enter the constraint ♦ Use the Constraint and Constraint link buttons on the Tools Palette to place a constraint node on the Related Concepts About OCL Support in Together 521 . The element displays with the in-place editor open. and close the Constraint editor. diagram and link it to the context element. choose New expression. you can use plain text or OCL. use one of the following methods: 2 3 ♦ On the context menu of an element. Type the constraint expression.Creating Constraints You can create constraints for all elements of the UML 2.0 diagram 1 Click the Constraint Link button on the diagram Palette and point to the model element that defines the context of your constraint (such as Class. Release the mouse button to insert the element.0 diagrams. To describe a constraint. To create a constraint in a UML 2.

Tip: Alternatively. Note: If OCL is selected. To edit a constraint expression in the Properties View 1 2 3 4 Select a constraint element in diagram. A red or green mark to the right indicates the validity of the OCL expression. In the language field. select the desired language of the expression. You can use the Editor view or the OCL tab of the Properties View to create or modify the constraint body. select the OCL tab. To edit a constraint expression in the Editor view 1 2 Double-click a constraint element. the OCL editor provides syntax control and error highlighting. or click the Edit button and enter text in the Enter constraint dialog box.Editing Constraint Expressions Constraint expressions are represented in plain text or in the OCL language. The constraint test opens in its own tab of the Editor view. In the Properties View. Related Concepts About OCL Support in Together Related Procedures Creating Constraints Related Reference Diagram View 522 . 3 Apply changes. enter the expression in the text area. Edit the constraint in the editor. select a constraint element and press F2. select the desired language of the expression. In the body field. In the Language drop-down list in the upper-right corner of the view.

Related Concepts About OCL Support in Together 523 . Click OK to save the changes and exit the dialog box. it is recommended to select java5 as the target java. you can use your OCL constraints. To enable or disable OCL constraints processing 1 2 3 Click Window Preferences on the main menu. you can generate Java or C++ code from it. When generating Java.Enabling Source Code Generation from OCL Constraint After your design project is finished. Note: All the listed settings can be made in the Export wizard ( File Export Modeling GenerateJavaProject ) if you select the Enable project-specific settings option in the Generation Options tab.0 in the Source compatibility list. Select 5. Expand the Modeling node and then the Source Generation node and select Java. Note: Because java asserts are generated for some expressions. 4 5 Switch to the OCL tab and select whether to generate invariants and pre/post conditions.

If the Expression Editor is not opened in the tab. In the Body area. the editor is either opened in the tab or you can use the Edit Expression button to open the editor. Where applicable. To add an expression to your template 1 2 3 4 5 Open a template where you want to add an OCL expression. In addition to the standard OCL operations. OCL or Legacy type expressions can be entered in the template element's properties dialog box using the provided Expression Editor. Code sense suggests these operations along with the standard OCL ones. click the Edit Expression button. Related Concepts Documentation Template Controls About OCL Support in Together Enable Conditions 524 . Click OK to save the expression in the template.OCL in Documentation Templates Together allows you to compose model queries and define enable conditions using OCL syntax. open the tab where you want to type the expression. Specify the context for your expression in the Context field. In the Properties dialog box. the special native OCL extensions are provided for the functions that are specific for Documentation Generation. syntax highlighting and validating are available. The code sense. you can type the expression text. Native OCL extensions tend to have the same signature and meaning as the legacy Documentation Generation functions have. and then use them in a template for generating documentation.

6 Click Search. To open the Content Assistant. A tree with the list of matching elements opens. In the Select Working Set dialog. choose your working set and click OK. click the Choose button. choose Search The Search dialog box is displayed. to complete your search for all UML 2. enter: self. 2 3 Specify the context for your expression in the Context field. the current project or a predefined working set.0 classes that have the stereotype MyStereotype. use the New button to create one.Searching Model with OCL queries Together lets you search for models using OCL queries. selected resources. Model.0 classes that have the stereotype MyStereotype. For example.stereotypes->includes('MyStereotype') 5 In the Scope section. click on the Context field and press CTRL +SPACE. type the query expression. To find model elements that match the specified OCL query 1 On the main menu. enter: uml20::classes::Class 4 In the Invariant field. To select a working set. click the appropriate radio button to select the search area. If there are no available working sets. to search for all UML 2. Choose your element from the list. For example. The possible options are workspace. Click the OCL Model Search tab. You can navigate to the corresponding diagram from this view by double-clicking the selected element. Tip: Use the drop-down list or the Content Assistant. Related Concepts OCL Support Related Procedures Searching Model Elements 525 .

The code for your new audit or metric is displayed in the standard OCL editor in the Body text area. 2 3 4 5 Expand the Modeling node and select QA Model. refer to “Model Audits and Metrics Descriptions. select model elements against which you want to run audits or metrics. and select the context of the OCL expression. To run defined audits and metrics 1 2 In the diagram. respectively. only this element will be checked. The Preferences dialog box is displayed. the second operand is not computed and errors are logged. Select Model Run Model Audits or Model Run Model Metrics from the main menu. the entire project will be checked. Each metric expression should return an Integer value. Together also contains a set of sample audits (see the following procedure to access them). The ideas of most of them are taken from Ambler and Fowler books. Select either the Audits or Metrics tab. Note: The scope depends on the current selection made on the diagram. Related Concepts OCL Support Model Metrics Related Procedures Running Model Audits and Metrics Related Reference Model Audits and Metrics Descriptions OCL 526 . from the menu.. The results are displayed in the Model Audit or Model Metrics view.” To define audits and metrics 1 Choose Window Preferences. You can create custom OCL audits and metrics that operate with metamodel types and run them against the model that is an instance of the same metamodel. Click New to add an audit or metric.. Specify your audit or metric name. severity. If a single element is selected. For a description of the predefined model audits and metrics provided in Together. Note: If the first operand of an audit returns false. These audits can be used as examples for custom rules creation. respectively. If the project default diagram is selected. This ensures precise execution semantics and is necessary because the second operand computation may have side effects and may call mapping operations. description. The Edit Audit or Edit Metric dialog box is displayed. The audit expression should be a valid invariant that returns Boolean.Using OCL in Model Audits and Metrics You can run audits and metrics in your design model using OCL expressions.

click the chooser button. The combined fragment is added to the target lifeline or execution specification. Note: Each new node has a different color that is selected at random. if any. and click on the target lifeline. A new line is displayed below the existing entry in the list of operators. or number of operands).Working with a Combined Fragment In this section you will learn how to: ♦ Create a combined fragment ♦ Create nested combined fragments ♦ Create nested operators ♦ Sever nested operators ♦ Create operands ♦ Expand combined fragments across several lifelines ♦ Detach a combined fragment from a lifeline To create a combined fragment 1 2 3 Choose the Combined Fragment button in the diagram Palette. The nested operators are now listed in the descriptor of the combined fragment in the specified order. Use the Up and Down buttons to specify the proper order of nested operators. To create nested operators 1 2 3 4 5 6 Select a combined fragment. If a certain operator enables arguments. 527 . arguments. together with its outer frames. In the other operators field of the Properties View. Click the Add button. To create a nested combined fragment 1 2 Choose the Combined Fragment button in the diagram Palette. In the New Combined Fragment dialog box that opens. enter them in the adjacent field in the Arguments column. Click OK. detach and tie frames. Click OK to apply changes. Use the Add and Remove buttons to compile your list of the nested operators. Each new combined fragment has a different color to distinguish it from the other combined fragments within the same cluster of nested frames. spread them over several lifelines. choose an operator from the list of available operators and set the combined fragment options (operator name. displaying the list of already defined operators in the current combined fragment. The Interaction Operators dialog box opens. Use a comma as a delimiter. Note that drawing a message link from a frame automatically expands it. You can work with the inner frames in the same way as with the outer frames: move along a lifeline. Click on the target combined fragment that already exists in a lifeline.

2 Click the anchor icon and drag it to the target lifeline. A new operand is now created. A nested combined fragment is now created. it will be added just before this operand. To detach a combined fragment from a lifeline 1 2 Select the mounting link of a combined fragment. Constraint text is displayed in the operand section of the combined fragment. If the operand was created from the context menu of a combined fragment.To sever operators 1 2 3 Right-click a combined fragment that contains nested operators. On the context menu. The fragment now spans across lifelines. choose New Interaction Operand. Type the constraint expression. Tip: You can expand both outer and inner combined fragments. it will be added to the end of the combined fragment. Apply changes. A combined fragment must be attached to at least one lifeline. click the Language drop-down list and choose OCL or plain text. On the context menu of the selection. Related Reference Operator and Operand for a Combined Fragment 528 . Tip: You cannot delete the only mounting link of a combined fragment. On the context menu. select the language to be used for describing the constraint. In the Interaction constraint tab of the Properties View. If the operand was created from the context menu of an operand. select the pair of operators between which the combined fragment will be divided. To expand a combined fragment across several lifelines 1 Select the combined fragment. choose Sever operators between. with the mounting links on each lifeline. Add as many operands as required. On the submenu. To create an operand 1 2 3 4 5 6 Select a combined fragment or an operand in the Model Navigator or in the Diagram Editor . To do this. choose Combine with an outer fragment. To combine with an outer fragment 1 2 Right-click an inner fragment. Choose Delete on the context menu.

metrics. Preferences. you can update the body of the operation in the OCL text area. In the Preferences dialog. In the Preferences dialog. search expressions. Tip: Alternatively. choose a context and enter the valid OCL expression as the body of the operation. To edit an OCL operation 1 2 3 4 5 6 On the main menu. choose Modeling OCL and open the OCL Operations tab. choose Window Preferences. and gendoc templates. click the Edit button. To delete an OCL operation 1 2 3 4 On the main menu. In the Preferences dialog. 529 . In the Edit Operation dialog that opens. update the context and the body of the operation.Working with Custom OCL Operations Custom OCL operations can be used in OCL queries throughout Together—including in audits. click the New button. Click OK. In the Edit Operation dialog that opens. choose Window Select the operation to be deleted. Click OK. On the toolbar of the tab. On the toolbar of the tab. To export an OCL operation 1 On the main menu. Preferences. click the Remove button. On the toolbar of the tab. choose Window Select the operation to be modified. choose Window Preferences. choose Modeling OCL and open the OCL Operations tab. In this section you will learn how to perform the following actions with the custom OCL operations: ♦ Create ♦ Delete ♦ Edit ♦ Export ♦ Import ♦ Clone To create a custom OCL operation 1 2 3 4 5 On the main menu. choose Modeling OCL and open the OCL Operations tab.

click the Export button. To clone an OCL operation 1 2 3 4 On the main menu. Preferences. On the toolbar of the tab. To import an OCL operation 1 2 3 4 On the main menu. Related Concepts OCL Support Related Procedures Together Object Constraint Language (OCL) Related Reference OCL 530 .oclOperations. In the export dialog that opens. navigate to your target location and save the operation as type *. In the Preferences dialog. On the toolbar of the tab. In the Preferences dialog. choose Modeling OCL and open the OCL Operations tab.oclOperations that you want to import. and click OK. choose Window Select the operation to be copied. In the import dialog that opens. choose Modeling OCL and open the OCL Operations tab. On the toolbar of the tab. find the file of type *. click the Import button. Select the operation to be exported.2 3 4 5 In the Preferences dialog. click the Clone button. choose Modeling OCL and open the OCL Operations tab. choose Window Preferences.

Using Conditions in Templates Describes how to use conditional logic to control the output of templates. Using the Package Template Editor Describes how to use the Templates view to edit a package template. Working with the Templates How to work with code templates. Verifying Pattern Instances How to verify a pattern instance and delete invalid instances. Creating Pattern Definition How to create a pattern definition project on the basis of the selected model elements. edit and export pattern definitions. Recognizing Patterns How to recognize patterns in a project. verify pattern instances. Editing Templates How to edit templates. In This Section Adding a Pattern Part How to add a part to a pattern. Managing Pattern Definitions in the Pattern Registry How to use the Pattern Registry to create. Working with the Pattern Instances How to use pattern instances (create elements by pattern. Deleting Patterns Instances How to delete pattern instances from the model. add pattern parts). Building Pattern How to build a pattern from a pattern definition project. Using the Class Template Editor Describes how to use the Templates view to edit class templates. Creating Model Element by Pattern How to create elements by pattern. 531 .Patterns and Templates This section provides how-to information on using patterns with Together. Using the Link Template Editor Lists the steps for editing a link template. Validating Pattern Definition Projects How to validate a pattern definition project.

Related Concepts Patterns and Templates Related Reference Pattern Explorer 532 . choose Create pattern part. Click Finish. On the context menu of the pattern instance.Adding a Pattern Part To add a part to a pattern 1 2 3 4 5 6 Right-click an oval that represents the pattern instance in the diagram. On the second page of the wizard. using the Set values section. select a part to be created. specify the target package where the part will be created. Click Next. On the submenu of this menu node. The Create Pattern Part wizard opens. specify properties for the new pattern part. On the first page of the wizard.

To build a pattern from a pattern definition project 1 2 3 Right-click your pattern definition project in the Model Navigator. 533 . the compilation is aborted and errors are displayed in the Pattern definition validation results view. Click Finish to start the compilation process. Note: During the compilation process.Building Pattern In this section. and choose Patterns Build pattern on the context menu. the project validation is performed. If an error preventing the project from compiling is found. Specify the name of the pattern and select a folder in the pattern registry (in the local workspace-specific part) where the shortcut to the new pattern will be created. you will learn how to build a pattern from a pattern definition project.

Expand the Modeling node and select Model element by pattern. Click Finish to create elements based on the selected pattern definition. Select patterns to apply and click Next. use the Layout Layout All command on the diagram context menu. and the oval is displayed in the diagram. choose File New Other. You can optionally define the values for user-editable properties of the pattern and select whether to add a pattern instance into the model.Creating Model Element by Pattern To create model elements by pattern 1 2 3 On the main menu. the new entity is displayed in the Patterns root on your project and in the Pattern Explorer. Related Concepts Patterns and Templates Related Reference Pattern Explorer 534 . If you choose to add a pattern instance. 4 Tip: If your diagram looks entangled after adding pattern instances.

Click Finish. The project is created with an empty model for you to design your pattern from scratch. Note: Patterns can be created only for UML 2. specify the default values for each role. 4 5 The newly created model will be filled with images (represented as InstanceSpecifications) of selected elements of the source model. In the Set role names page. In the Set default values page. specify the name of the pattern definition and the target category. Click Next. or accept defaults.Creating Pattern Definition New pattern definition projects are created the same way as any other project in Together. edit the role names of the elements involved in the pattern definition. select Pattern definition under the Together node. In the Create pattern from elements dialog. Related Procedures Creating a Project Related Reference Pattern Registry Create Pattern from Elements 535 . Together suggests a simplified way to create a pattern definition project by exporting a selection of model elements to a pattern definition. While creating a new project. To create a pattern definition project from selected model elements 1 2 3 Select the elements you want to transform to a pattern definition.0 projects. Properties of the source model elements are represented by Slots. You can choose to display the existing patterns and select the transformation profile as necessary. Right-click the selection and choose Export Pattern definition from the context menu. Click Next. The new pattern definition is displayed in the Pattern Registry view.

Tip: Alternatively. On the context menu of the selection. Related Concepts Patterns and Templates Related Reference Pattern Explorer Pattern Registry 536 . select a pattern node. On the context menu. or the Pattern Explorer. To delete a pattern instance 1 2 In the Diagram Editor or Model Navigator. choose Delete to delete the selected pattern instance from the diagram and model. the Model Navigator. select the pattern instance to be deleted. To delete all instances of a pattern 1 2 In the Pattern Explorer. The selected instance is deleted from the model. select a pattern instance in the Pattern Explorer and choose Delete instances on the context menu.Deleting Patterns Instances You can delete elements of the patterns using the Diagram Editor . choose Delete instances.

You cannot restore deleted templates individually. right-click a template. Related Concepts Patterns and Templates 537 . right-click a template. which means all templates deleted from the category are restored simultaneously. To rename a template 1 2 On the Templates view. Some edits are entered in a text box. This opens the Template editor. You can restore templates that you have deleted. choose Window Show View Other Patterns and Templates Templates. To open the Templates view: From the main menu. Make your edits. Select Delete. Select Restore.Editing Templates You can edit templates through the Templates view. right-click a Template. This opens the Rename Template dialog box. others through a dialog that opens when you click Edit. There are three separate editors: one for link templates. Note: This option is available only after changes to a template have been saved. right-click a template and select Rename. To restore a template that you have changed to its original state 1 2 In the Templates view. choose Window Show View Templates. If Templates is not a menu option. To modify a template 1 2 3 In the Templates view. right-click the category for the deleted template. Enter the new name and click OK. Confirm the deletion in the Delete dialog box. You can do this only at the category level. Choose Restore deleted from the context menu. To restore deleted templates 1 2 In the Templates view. and one for package templates. To delete a template 1 2 3 In the Templates view. Select Open. one for class templates.

To create a new pattern from the registry 1 2 Right-click the Workspace folder in the Pattern Registry and choose New Pattern on the context menu. Specify a name for the new pattern and select a pattern definition project that will be compiled to a pattern. Click Finish to create a new Eclipse extension plugin. To export a definition as a plugin 1 2 3 Click the Export. Choose Edit Definition on the context menu. Specify necessary parameters for a new plugin and select patterns you want to include in the plugin. 538 .Managing Pattern Definitions in the Pattern Registry In this section you will learn how to: ♦ Open the Pattern Registry ♦ Create a new pattern from the registry ♦ Edit pattern definitions from the registry ♦ Export pattern definitions as a plugin To open a Pattern Registry 1 2 Select Window Show view Other from the main menu. To edit a definition from the registry 1 2 Right-click a pattern in the Pattern Registry. Expand the Patterns and Templates node and select Pattern Registry. button on the toolbar of the Pattern Registry...

To recognize patterns in a project 1 2 Select a project in the Model Navigator.Recognizing Patterns You can examine your project for patterns. or repeat the process with the other patterns and scope. On the context menu of the project. and click Next. Observe the list of recognized patterns. choose Patterns The Recognize Patterns wizard opens. Depending on your hardware configuration. Use the Add and Remove buttons to make up the list of model elements to be examined. Recognition results are presented in a dialog box allowing you to choose instances that should be created and stored in the project model. To do this. Click Next. restart the application with the following Eclipse command line argument: -vmagrs -Xmx600M. This adds 600 MB of RAM. which can result in the “out of memory” exception. After some of them are selected. In the Recognition Scope page. Change the JVM parameters to increase memory limit. Warning: For the large projects. To do that. choose definitions of the patterns you want to find in the project. Related Concepts Pattern recognition 539 . Recognize Patterns. recognizing patterns increases memory consumption. new model entities are created in a special model node called "Patterns" and grouped by pattern definition instances in the Pattern Explorer view. select model elements. References to pattern instances from a model can be created on any diagram by using the Add shortcut command. 3 4 5 In the Choose Pattern Definitions page. select patterns in the tree of available patterns. you can try the different additional memory values.

Using Conditions in Templates When using the template editor to write the code snippets and syntax for fields. the Boolean variable declared on the Variables tab. Show View Other Patterns and Templates Templates to Expand the Local Templates node. Double-click the Applet template to open the template editor. which controls the code generation by the Applet template. Click the Variables tab. methods and classes. they are treated as normal text. and then Standard. To apply conditional logic to the Applet template 1 2 3 4 5 From the main menu. you can write conditional logic to control what is created when the template is applied. Related Reference Syntax and Conditions in Templates 540 . choose Window display the Templates view. Click the Units tab. Notice that init. Note: Variable names declared on the Variables tab must be preceded by a $ symbol. controls the creation of the methods init() and destroy(). Notice the Boolean variable named init. then Java Package. Otherwise. The following example shows how conditional logic applies to the Applet template.

choose Window Templates Templates. and select Open. Show View Other Patterns and Right-click a template in the Java Class templates section. you can get a better understanding of how easy it is to create your own class templates. Related Procedures Using Conditions in Templates Related Reference Template Variable Types 541 .Using the Class Template Editor To edit class templates in the Templates view 1 2 Open the Templates view: From the main menu. By opening and exploring the default templates that come with Together.

To edit a link template 1 2 3 Open the Templates view: From the main menu. The link template editor opens. Related Procedures Using Conditions in Templates 542 . Show View Other Patterns and Right-click the template in this section and select Open. Expand the Local Templates node and the Java Link node.Using the Link Template Editor You can edit link templates though the Templates view. choose Window Templates Templates.

To edit a package template 1 2 Open the Templates view: From the main menu.Using the Package Template Editor You can edit package templates though the Templates view. Related Procedures Using Conditions in Templates Editing Templates Related Reference Template Variable Types 543 . choose Window Templates Templates. Show View Other Patterns and Right-click a template in the Java Package templates section and select Open.

Validating Pattern Definition Projects To avoid errors and inconsistencies. Each such link must have its parameter role set in the parameterRole property. The classifier is a class from the “metamodels” root of the model. Related Reference Last Validation Results View 544 . and all parameters of the constraint should be defined. Roles of the parameter links must not duplicate one another. the definition. ♦ Every instance specification representing a link must be tied by an aggregation-shaped link ♦ Every link instance must have two participants attached to it by means of (PatternDefinitionAssociationLink with property instanceAggregated set to true) to an instance of a non-link metaclass. Pattern validation checks for the following: ♦ Every instance specification in the project has a non-null classifier assigned via InstantiatesLink. ♦ The union of all participant sets selected for pattern parts should not be equal to the set of all participants in To validate a pattern definition 1 2 In the Model Navigator view. ♦ The link client and supplier attached to a link instance by association links must comply to the metamodel ♦ No cyclical aggregations are allowed in the pattern definition model. The link stereotype must be set to client or supplier. ♦ Each constraint in the pattern definition project must have the constraintType property set to the name of one of the available constraints. you need to check if the pattern you designed is valid and can be compiled before creating a pattern definition from your Pattern Definition project. ♦ Every slot of every instance in the project has a defining feature that can be found as an attribute of the class representing the metaclassifier of the slot’s owning instance specification. description (classifiers of the link participants must inherit metaclasses mentioned in the descriptions of the corresponding link participant role). PatternDefinitionAssociationLink with property instanceAggregated set to false. Check pattern definition project validity from the context The validation results are displayed in the Pattern definition validation results view. ♦ Slots are assigned only those values that are acceptable for corresponding features. select your Pattern definition project Right-click the selection and choose Patterns menu. ♦ Each constraint must be linked by ConstraintParameterLinks to all parameters that this constraint is checked against.

and makes the pattern valid. You might want to get rid of invalid pattern instances. On the context menu. To verify a pattern instance 1 2 Select a pattern oval in the diagram and right-click it. Together displays a warning message. In case such an update is not possible. choose Clear Invalid Instances. On the context menu of the node. if possible. Verification of a pattern instance helps update relationships between the pattern and participants.Verifying Pattern Instances If modification of a pattern instance violates its validity. To delete invalid pattern instances 1 2 In the Pattern Explorer. choose Patterns Tip: Verify pattern. the pattern instance is displayed red in the diagram. choose Verify pattern on the context menu of the pattern in the Pattern Explorer. Alternatively. Related Concepts Patterns and Templates Related Reference Pattern Explorer 545 . Use the Pattern Explorer context menu command. right-click a pattern node.

Working with the Pattern Instances Managing pattern instances involves the following procedures 1 Create a pattern instance in diagram: Creating Model Element by Pattern Create additional parts in a pattern: Adding a Pattern Part Check validity of a pattern instance: Verifying Pattern Instances Examine a diagram for patterns: Recognizing Patterns Delete pattern instances: Deleting Patterns Instances 2 3 4 5 Related Concepts Patterns and Templates Related Reference Pattern Explorer 546 .

Expand the Modeling node and select Model element by pattern. Related Concepts Patterns and Templates Related Reference Pattern Explorer 547 . and the oval is displayed in the diagram.Creating Model Element by Pattern To create model elements by pattern 1 2 3 On the main menu. choose File New Other. If you choose to add a pattern instance. Select patterns to apply and click Next. Click Finish to create elements based on the selected pattern definition. 4 Tip: If your diagram looks entangled after adding pattern instances. You can optionally define the values for user-editable properties of the pattern and select whether to add a pattern instance into the model. the new entity is displayed in the Patterns root on your project and in the Pattern Explorer. use the Layout Layout All command on the diagram context menu.

specify properties for the new pattern part. On the submenu of this menu node. using the Set values section. choose Create pattern part.Adding a Pattern Part To add a part to a pattern 1 2 3 4 5 6 Right-click an oval that represents the pattern instance in the diagram. Click Next. On the first page of the wizard. Click Finish. select a part to be created. specify the target package where the part will be created. The Create Pattern Part wizard opens. On the second page of the wizard. On the context menu of the pattern instance. Related Concepts Patterns and Templates Related Reference Pattern Explorer 548 .

On the context menu. To delete invalid pattern instances 1 2 In the Pattern Explorer. choose Clear Invalid Instances. Use the Pattern Explorer context menu command. if possible. You might want to get rid of invalid pattern instances. To verify a pattern instance 1 2 Select a pattern oval in the diagram and right-click it. Verification of a pattern instance helps update relationships between the pattern and participants. right-click a pattern node.Verifying Pattern Instances If modification of a pattern instance violates its validity. the pattern instance is displayed red in the diagram. Alternatively. and makes the pattern valid. Related Concepts Patterns and Templates Related Reference Pattern Explorer 549 . On the context menu of the node. Together displays a warning message. In case such an update is not possible. choose Verify pattern on the context menu of the pattern in the Pattern Explorer. choose Patterns Tip: Verify pattern.

select patterns in the tree of available patterns. choose Patterns The Recognize Patterns wizard opens. which can result in the “out of memory” exception. Depending on your hardware configuration. This adds 600 MB of RAM. Click Next. After some of them are selected. 3 4 5 In the Choose Pattern Definitions page. and click Next.Recognizing Patterns You can examine your project for patterns. Related Concepts Pattern recognition 550 . Change the JVM parameters to increase memory limit. restart the application with the following Eclipse command line argument: -vmagrs -Xmx600M. Recognize Patterns. To recognize patterns in a project 1 2 Select a project in the Model Navigator. Use the Add and Remove buttons to make up the list of model elements to be examined. References to pattern instances from a model can be created on any diagram by using the Add shortcut command. choose definitions of the patterns you want to find in the project. Observe the list of recognized patterns. you can try the different additional memory values. In the Recognition Scope page. or repeat the process with the other patterns and scope. On the context menu of the project. Warning: For the large projects. To do this. Recognition results are presented in a dialog box allowing you to choose instances that should be created and stored in the project model. new model entities are created in a special model node called "Patterns" and grouped by pattern definition instances in the Pattern Explorer view. recognizing patterns increases memory consumption. To do that. select model elements.

To delete all instances of a pattern 1 2 In the Pattern Explorer. On the context menu of the selection.Deleting Patterns Instances You can delete elements of the patterns using the Diagram Editor . The selected instance is deleted from the model. the Model Navigator. To delete a pattern instance 1 2 In the Diagram Editor or Model Navigator. choose Delete instances. Related Concepts Patterns and Templates Related Reference Pattern Explorer Pattern Registry 551 . select a pattern node. select a pattern instance in the Pattern Explorer and choose Delete instances on the context menu. Tip: Alternatively. On the context menu. select the pattern instance to be deleted. choose Delete to delete the selected pattern instance from the diagram and model. or the Pattern Explorer.

rename. delete and restore templates: Editing Templates Use the class template editor: Using the Class Template Editor Use the link template editor: Using the Link Template Editor Use the package template editor: Using the Package Template Editor Create conditional code templates: Using Conditions in Templates 2 3 4 5 Related Concepts Patterns and Templates Related Reference Templates View 552 .Working with the Templates Working with templates involves the following procedures 1 Edit.

To restore deleted templates 1 2 In the Templates view. choose Window Show View Other Patterns and Templates Templates. To restore a template that you have changed to its original state 1 2 In the Templates view. one for class templates. right-click a template. To delete a template 1 2 3 In the Templates view. choose Window Show View Templates. You can do this only at the category level. Note: This option is available only after changes to a template have been saved. You can restore templates that you have deleted. Select Open. Select Restore. Choose Restore deleted from the context menu.Editing Templates You can edit templates through the Templates view. This opens the Template editor. This opens the Rename Template dialog box. If Templates is not a menu option. right-click a template and select Rename. Related Concepts Patterns and Templates 553 . which means all templates deleted from the category are restored simultaneously. right-click a Template. To rename a template 1 2 On the Templates view. To modify a template 1 2 3 In the Templates view. Confirm the deletion in the Delete dialog box. Enter the new name and click OK. Select Delete. There are three separate editors: one for link templates. Some edits are entered in a text box. right-click the category for the deleted template. and one for package templates. Make your edits. others through a dialog that opens when you click Edit. You cannot restore deleted templates individually. right-click a template. To open the Templates view: From the main menu.

By opening and exploring the default templates that come with Together. choose Window Templates Templates. you can get a better understanding of how easy it is to create your own class templates.Using the Class Template Editor To edit class templates in the Templates view 1 2 Open the Templates view: From the main menu. Show View Other Patterns and Right-click a template in the Java Class templates section. Related Procedures Using Conditions in Templates Related Reference Template Variable Types 554 . and select Open.

choose Window Templates Templates. Expand the Local Templates node and the Java Link node. To edit a link template 1 2 3 Open the Templates view: From the main menu.Using the Link Template Editor You can edit link templates though the Templates view. Related Procedures Using Conditions in Templates 555 . The link template editor opens. Show View Other Patterns and Right-click the template in this section and select Open.

Show View Other Patterns and Right-click a template in the Java Package templates section and select Open. choose Window Templates Templates. To edit a package template 1 2 Open the Templates view: From the main menu.Using the Package Template Editor You can edit package templates though the Templates view. Related Procedures Using Conditions in Templates Editing Templates Related Reference Template Variable Types 556 .

Notice that init. Click the Variables tab. and then Standard. you can write conditional logic to control what is created when the template is applied. Related Reference Syntax and Conditions in Templates 557 . Notice the Boolean variable named init. methods and classes. To apply conditional logic to the Applet template 1 2 3 4 5 From the main menu. Otherwise. then Java Package. Click the Units tab. choose Window display the Templates view. Show View Other Patterns and Templates Templates to Expand the Local Templates node. the Boolean variable declared on the Variables tab. they are treated as normal text. Note: Variable names declared on the Variables tab must be preceded by a $ symbol. controls the creation of the methods init() and destroy(). The following example shows how conditional logic applies to the Applet template.Using Conditions in Templates When using the template editor to write the code snippets and syntax for fields. Double-click the Applet template to open the template editor. which controls the code generation by the Applet template.

Creating and Using Code QA Sets How to create and use your own QA sets. Running Source Code Metrics How to run source code metrics. Navigating to Problems How to navigate to problems listed in QA results. Running Audits and Metrics from the Command Line How to run audits and metrics from the command line. Running Source Code Audits How to run audits. Running Model Audits and Metrics How to run model audits and metrics. In This Section Copying QA Results to Clipboard How to copy QA results to the clipboard.Together Quality Assurance This section provides how-to information on using Together Audits and Metrics. 558 . Hiding and Showing Audit Results How to hide and unhide audit results. Refreshing QA Results How to refresh the QA results table. Exporting and Importing Model Audits/Metrics How to export and import model audits and metrics. Flagging Audits in Code How to flag audits in code. Grouping and Ungrouping How to group and ungroup audit results. Exporting QA Results How to export audit and metric results to XML or HTML files to share them with team members or to review them later. Generating QA Report How to create a QA report on you audits or metrics data. Saving and Loading Metric Results How to save and load metric results. Running Model Audits and Metrics as Ant Tasks How to use an Ant Task to run model audits and metrics. Printing Audit Results How to print audit results. Creating a Metrics Chart How to create a chart for Quality Assurance metric results. Saving and Loading Audit Results How to save and load audit results.

Viewing Audit Results How to view audit results. Using OCL in Model Audits and Metrics How to use OCL expressions in Audits and Metrics. Viewing Metric Results How to view metric results. Specifying Quality Assurance Preferences How to perform quality assurance tasks. 559 . Viewing Metrics as Graphs How to view metrics as graphs.Searching QA Results How to search in the source code QA results. Viewing and Finding QA Descriptions How to view and search source code QA results descriptions. Using QA History How to use QA results history. Viewing Problem Detection Audits (Detection Metrics) How to view Problem Detection Audits.

Your results will be pasted in formats similar to the following: Audits: Statement is unreachable \33151\Chill. Open any document and use the clipboard Paste option (or CTRL+V) to paste the copied text.hpp:22 Metrics: Resource SaleDM Metric:AC: Metric:AHF: Metric:AID: 0 Metric:AIF: Metric:AIUR: Metric:ALD: 4 Metric:AOFD: Metric:AUF: Metric:CBO: Metric:CC: 1 Metric:CF: Metric:CIW: Metric:CL: Metric:CM: Metric:COC: Metric:CR: Metric:ChC: Metric:DAC: Metric:DD: Metric:DOIH: Metric:FO: Metric:HDiff: Metric:HEff: Metric:HPLen: Metric:IUR: Metric:LCOM3: Metric:LOC: 10 Metric:MHF: Metric:MIC: Metric:MIF: Metric:MNOB: 0 Metric:MNOL: Metric:MPC: 6 Metric:MSOO: Metric:NAM: Metric:NCC: Metric:NIC: 0 Metric:NOA: Metric:NOAM: Metric:NOC: Metric:NOCC: Metric:NOCP: Metric:NOED: Metric:NOIS: Metric:NOLV: 0 Metric:NOM: Metric:NOO: Metric:NOOM: Metric:NOP: 1 Metric:NOPA: Metric:NORM: Metric:PC: Metric:PF: Metric:PIS: Metric:PS: Metric:PUR: Metric:RFC: Metric:TCC: Metric:WCM: Metric:WMPC1: Metric:WOC: Related Procedures Running Source Code Metrics Running Source Code Audits 560 . Right-click any of the highlighted results and choose Copy.Copying QA Results to Clipboard To quickly copy the currently displayed QA results and paste them into any document 1 2 3 Select one or more QA results by using CTRL+CLICK.

choose Print. To print a chart 1 2 Browse to the chart you want to print. In the chart view pull-down menu. To create a Kiviat chart 1 2 Select the row that contains the results for a particular element. Right-click the column and choose Bar Graph. or Save Image As SVG Picture. To create a bar chart 1 2 Select a column that contains the result for a particular metric. choose Save Image As BMP Picture... which are deleted when the charts are closed. To auto-update a Kiviat chart while browsing metric results 1 2 3 After the Kiviat chart is created. Metrics charts are created in temporary files. Right-click any row and choose Link Kiviat Graph.. Related Concepts Quality Assurance Related Procedures Viewing Metric Results 561 . Note: The Link Kiviat Graph menu command is available when the Kiviat chart is created based on the source code modeling project. To save a chart as an image 1 2 In the chart view pull-down menu. navigate to the target location and click Save. right-click any row in the Metrics view and choose Unlink Kiviat Graph. switch to the Metrics view. Right-click the row and choose Kiviat Graph.Creating a Metrics Chart You can create a chart in the Metric Results Pane. and include graphics in the project that way.. export it to any graphical format.. However. The Kiviat chart will update every time you change the highlighted row in the Metrics view. To disable the auto-update. In the Save Chart As Image dialog box... you can save graphical information in text files.

Note: To load an existing set of audits or metrics. To create a set of audits or metrics 1 2 3 4 Select either the Audits or Metrics tab. Click Save and choose a location for the set. Alternatively. expand the QA Source node and select either C++ or Java. right-click the QA results table (after you have run audits or metrics) and select Preferences.Creating and Using Code QA Sets For code audits and metrics. Expand the Modeling node. Use the editor in the lower section of each tab to edit the parameters. Together uses a default set of values. click Load the set of options from a file in either C++ or Java under the QA Source page of the Preferences dialog box. Related Procedures Using Version Control and Teams in Together Running Source Code Audits Running Source Code Metrics Using OCL in Model Audits and Metrics Related Reference Quality Assurance 562 . Note: This new set now becomes the default set that is used when you run a QA task. To share this QA set.qa extension. you can save it with your project and share it using version control. Use the check boxes to select categories to include in your set. Use Select All or Clear All to select or deselect all boxes at once. To create and use your own set of values 1 2 Select Window Preferences on the main menu. The file is saved with a .

query bodies. To share your customized audits and metrics. and severity. The editor provides code highlighting and validation features. you can save it in your project and share it using the version control. 3 4 Select either the Audits or Metrics tab. The exported file has an . including names.modelMetrics or . Use the check boxes to select categories that you want to export. To import model audits or metrics 1 2 Choose Window Preferences on the main menu.modelAudits extension. 6 Click Export and choose the location of the exported file. and severity. Alternatively.modelAudits extension and contains the full information about your audits or metrics. Click Import and choose a previously exported file with an . Related Procedures Using Version Control and Teams in Together Running Source Code Audits Running Source Code Metrics Using OCL in Model Audits and Metrics Related Reference Quality Assurance 563 . including names.Exporting and Importing Model Audits/Metrics To export model audits or metrics to a file 1 2 Choose Window Preferences on the main menu. 3 4 Select either the Audits or Metrics tab.modelMetrics or . Warning: The audits or metrics in the imported file completely overwrite your current audits or metrics settings. 5 Use the OCL editor in the lower section of each tab to edit the parameters. right-click the QA results table (after you have run model audits or metrics) and select Preferences. Alternatively. Tip: Use Select All or Clear All to select or deselect all the boxes at once. Expand the Modeling node and select the QA Model node. Tip: You can edit the context and values of each audit or metric. OCL query bodies. right-click the QA results table (after you have run model audits or metrics) and select Preferences. Expand the Modeling node and select the QA Model node.

HTML file. Text file (tab separated). 4 Select the type of the file you want to export the results to in the Type list and specify auxiliary export options. Type the path and file name you want to use or click Browse to specify the path. By default. Right-click the results view and choose Export. Tip: 5 Click OK. and Save in loadable format for further importing the results to Together. Related Procedures Running Source Code Audits 564 . Summary HTML report (only for Audit export). use the HTML format. For large scale projects. which lets you export results to multiple connected HTML files. the QA results are saved in the current project directory under the /out/qa/ folder. Do not select anything if you want to print the entire list. The Export QA results to file dialog box displays. Note: The available formats include Text file (comma separated). To export the audit or metric results to a separate file 1 2 3 Select the rows of the table that you want to save.Exporting QA Results In this topic. Note: You do not need to add an extension to the file name. you will learn how to export audit and metric results to XML or HTML files so that you can share them with team members or review them later.

(This option can also be set after you run audits to flag the results. refer to the documentation set provided with your IDE. Check Run incremental QA Builder in the right pane. Results are indicated by the icons in the editor view's marker bar on the left. Run audits. The Preferences dialog box is displayed. To flag audit results 1 2 3 4 5 6 7 In the Model Package Explorer view.Flagging Audits in Code For online audits. Related Procedures Running Source Code Audits 565 . QA Source. To add the QA Builder to new projects automatically 1 Choose Window Choose Modeling Preferences from the main menu. right-click a project. Possible Quick Fix solutions are offered for certain items (indicated by the light bulb icon). 2 3 Check the Add QA Builder to new projects automatically check box and click OK. Double-click any result in the Audit results table to open the code in the Editor view. You can also activate the QA Builder automatically for each new project created using the Quality Assurance Preference pages. Select QA Builder in the pane on the left. the affected source code can be flagged in the Editor view. Select Properties from the context menu.) Click OK. Note: For more information on using Quick Fix.

Click OK. select the output format. In the Save as field. Related Procedures Running Source Code Metrics Running Source Code Audits Exporting QA Results Running Audits and Metrics from the Command Line Related Reference Audit View Metric View 566 . For a list of all possible file formats. see “Audit View” and “Metric View” in the Reference section. 3 4 In the Type field. To generate QA reports 1 2 Right-click the QA results table and select Export Results.Generating QA Report After you run audits or metrics. type the path and the name for the new report. Note: Directories and files that do not exist will be created during the process. you can generate reports based on the findings.

Select Group by and a category. Select UnGroup. Related Procedures Running Source Code Audits 567 . Together groups the results based on your choice.Grouping and Ungrouping You can group the results of generated audits using one of four different categories: ♦ Severity ♦ Description ♦ Resource ♦ In Folder To group audit results 1 2 3 Right-click the audit results table. To ungroup audit results 1 2 Right-click the audit results table.

Related Procedures Running Source Code Audits 568 . To show hidden results 1 2 Right-click the audit results table. Tip: Use SHIFT+CLICK or CTRL+CLICK to select more than one audit row. Together hides that category based on the audit row selected. Select Hide Selected. Select a category from the submenu.Hiding and Showing Audit Results You can hide or show specific audit results using the following criteria: ♦ Row(s) ♦ Description ♦ Resource ♦ Folder To hide results 1 2 3 4 Right-click the audit results table. Select Show All Hidden.

Navigating to Problems You can jump directly from problems identified in the QA results table to the corresponding section of your code. Related Procedures Running Source Code Metrics Running Source Code Audits 569 . To navigate to the corresponding section of your code from the QA results table 1 2 Right-click the result. double-click the result in the table. Select Go To. it brings that tab to the front. If the source file is already open in the editor. This will open the source file in the editor and highlight the problem line. Alternatively.

adjust the page and printer settings. Warning: This feature is available for implementation projects only. Related Concepts Quality Assurance Related Procedures Viewing Audit Results Related Reference Print Audit dialog box 570 .Printing Audit Results You can print the entire table of audit violations using the Print command on the Audit view context menu. If necessary. Right-click the Audit view field. The system Print dialog box opens. Click Print to send the file to the printer. To print the list of audit violations 1 2 3 4 Navigate to the audit results you want to print.

Click Refresh on the Audit view toolbar. perform one of the following 1 2 Right-click the results table and select Refresh. Related Procedures Running Source Code Metrics Running Source Code Audits 571 .Refreshing QA Results To rerun the same QA check on selected resources from the QA results table.

2 3 4 5 Related Concepts Exporting and Importing Audits and Metrics Related Procedures Running Source Code Metrics Running Source Code Audits 572 .sh for Linux.sh. make sure that the path to the JDK/JRE installation folder is added to the PATH environment variable. metric_mac. Specify the audit or metric target. The command files are located in the Together installation folder. To run source code and model audits and metrics on platforms other than Windows. To run audits or metrics from the command line (for Windows) 1 Click the Start button and then choose Run. and the target project is located in your workspace and opened. and the file format. Click ENTER to run the specified audit or metric. model-audit. and model-metric_mac.Running Audits and Metrics from the Command Line Use the audit. and model-metric. metric. The Windows command prompt is displayed. use the following shell script files: ♦ audit. Before you run audits or metrics from the command line. Note: Search Linux or Macintosh help for instructions on how to run the files on those platforms.sh.cmd command files to run source code and model audits and metrics from the command line and store the results in an HTML or XMI file. or model-audit ––help or model-metric ––help for model audits or metrics respectively.cmd.. model-audit_mac. Compose the command line using the options listed.sh.sh. cd C:\Borland\Together \Architect2006).cmd. ♦ audit_mac.. the location of the result file. model-audit.sh. metric.cmd.sh. To display the list of available command line options for the required command file..sh for Macintosh. enter audit ––help or metric ––help for source code audits or metrics. Change the current directory to the Together installation folder (for example. and model-metric.

After you run model audits or metrics. the program analyzes the selected element and all elements that are children of the selected one. Note: Model audits and metrics are performed recursively. Choose Model Run Model Audits or Model Run Model Metrics from the main menu. Related Concepts Quality Assurance Model Audits Related Procedures Running Source Code Metrics Running Source Code Audits Using OCL in Model Audits and Metrics Running Audits and Metrics from the Command Line Running Model Audits and Metrics as Ant Tasks Related Reference Model Audits View Model Metrics View 573 . respectively. the results are displayed in the Model Audits or Model Metrics view.Running Model Audits and Metrics To run model audits or metrics 1 2 Select one or more model elements you want to run model audits or metrics against. that is.

Running Model Audits and Metrics as Ant Tasks You can run model audits and metrics as Ant tasks.eclipse.. run a command similar to the following one: java -Xms128m -Xmx1024m -XX:MaxPermSize=256m -jar .. respectively. refer to one of the root command line launchers provided at product installation for an example.xmi and c:/testout/metrics./plugins/org. To run audits and metrics as an Ant task from the Eclipse user interface 1 You must make sure that the script will be run in the same JRE as your workspace.modelQA"> <tg-audits file="c:/testout/audits.xmi"> <project name="OCL Sample"/> <project name="AreaService Sample"/> </tg-metrics> </target> </project> Ant tasks used to run audits and metrics are named tg-audits and tg-metrics. right-click your build file in the Navigator View and choose Run As Ant Build..core.ant.equinox.xmi"> <project name="OCL Sample"/> <project name="AreaService Sample"/> </tg-audits> <tg-metrics file="c:/testout/metrics. To do this.xmi are output files and OCL Sample and AreaService Sample are the names of the Together modeling projects you run audits for. This step must be completed before you run the build script for the first time. c:/testout/audits. open the JRE tab and select the Run in the same JRE as the workspace option.jar -data <WORKSPACE_PATH> -nosplash -consolelog -application org.modelQA"> <target name="build. Run the build file by right-clicking it in the Navigator View and choosing Run As Ant Build. In the Edit Configuration dialog. You do not have to perform this action every time. 2 Run the build file from either the Eclipse user interface or the command line. 2 To run audits and metrics as an Ant task from the command line 1 In a command shell.launcher_1. These tasks can be run either from the Eclipse user interface or the command line. 574 .eclipse.101.R34x_v20080819.0. In this example. To create an Ant build script 1 Create an Ant build file with content similar to the following script: <project default="build.antRunner -f <BUILDFILE> where <WORKSPACE_PATH> is the path to your workspace and <BUILDFILE> is the path to your build file. 2 For more guidance in creating a shell command.

you can also export the results into other formats.xmi file (for metrics).xmi file (for audits) and a metrics. The same metamodel is used for metrics. such as the name of an element. Refer to the com. If you want to transform the results into a proprietary HTML format or any other format. such as HTML.ocl. the results refer to model elements by their unique identifier.To work with the output 1 After the script outputs the results to an audits. These models can be accessed by using the EMF API for Together models.borland. 2 Note: Ant scripts for the audits and metrics of legacy models cannot be migrated to new DSL Toolkit audits and metrics. write a transformation in Java that uses EMF. Note: The audits and metrics results do not contain model element information. Because of this. Related Procedures Running Model Audits and Metrics Saving and Loading Audit Results Saving and Loading Metric Results Running Source Code Audits Running Source Code Metrics Exporting QA Results Related Reference Quality Assurance 575 .gdm plug-in for the Ecore and Java classes of the audits metamodel (registered by the http:///com/borland/selena/audits. Model Metrics view for metrics). such a transformation would probably require the corresponding Together models on which you ran the audits and metrics.ecore URI).selena. Rather. you can import the results into the corresponding view (Model Audits view for audits. From these views.

Running Source Code Audits Together adds a full range of QA audits to run against your code. or Packages view. In Together. ♦ Package: Run audits on all the classes/interfaces within a package. right-click any of the resources listed above. audits can be run on several levels of your development: ♦ Project: Run audits on all packages and classes/interfaces in a project. The results are displayed in the Audit view. Model Navigator. The results can be compiled in a separate QA report or in a document generation you perform for your project. or accept the current QA set. ♦ Class: Run audits on only a particular class/interface... 2 Choose QA Source The Run QA dialog is displayed. Note: You can choose multiple elements in multiple projects or multiple projects. Related Procedures Generating QA Report Running Audits and Metrics from the Command Line Related Reference QA Source Audit View 576 . Click OK to run the audits. 3 4 Select which resources to process from the list. Audits. To run audits 1 In the Model Package Explorer. Click Preferences to choose which audit categories/properties you want to run against the selection..

or Packages views. select any of the resources mentioned above. Metrics. 2 Choose QA Source The Run QA dialog box is displayed. Click Preferences to choose which audit categories/properties you want to run against the selection. 3 4 5 Select which resources to process from the list. ♦ Class: Run metrics on only a particular class/interface. Model Navigator. metrics can be run on several levels of your development: ♦ Project: Run metrics on all packages and classes/interfaces in a project. In Together. Related Procedures Generating QA Report Running Audits and Metrics from the Command Line QA Model Related Reference Metric View Model Metrics View 577 ... Click OK to run the selected metrics. The results are displayed in the Metric view.Running Source Code Metrics Together adds a full range of QA metrics to run against your code. ♦ Package: Run metrics on all the classes/interfaces within a package. Note: You can choose multiple elements in multiple projects or multiple projects. To run code metrics 1 In the Model Package Explorer. The results can be compiled in a separate QA report or in a document generation you perform for your project. or accept the current QA set..

Saving and Loading Audit Results After you have run audits on a project or part of a project. To save a set of audit results 1 2 3 Right-click on the Audit results table. class. Select Export. Together will still open the file when you next load the results. Note: You do not need to add an extension to the file name. To load a set of audit results 1 2 3 4 Right-click a project. 5 Click OK. Click Open. View the results in the Audit results table. package. The Export QA results to file dialog box opens. you can save those results and view them whenever you like. Note: Other formats include Text file (comma separated). Enter the path and file name you want to use. 4 For the file Type. By default.) Select your saved audit results file. Alternatively 1 2 3 4 Right-click on the Audit results table. or interface in the Model Package Explorer or Model Navigator. Click Open. HTML file. Text file (tab separated). Related Procedures Running Source Code Audits 578 . and Summary HTML report. View the results in the Audit results table. You can also click Browse to specify the path. (You can also select this command from the Audit View context menu. select Save in loadable format from the drop down list. Select your saved audit results file. the audit results file is saved in the corresponding project directory under the out/qa directory.

Together will still open the file when you next load the results. To load a set of metric results 1 2 3 4 Right-click the Metric results table and select Load Metric Results. Click Open. select Save in loadable XMI format from the drop down list. 4 Click OK. Enter the path and file name you want to use. Note: You do not need to add an extension to the file name.Saving and Loading Metric Results After you have run metrics on a project or part of a project. Text file (tab separated). Note: Other formats include Text file (comma separated). Select your saved metric results file. The Export QA results to file dialog box opens. To save a set of metric results 1 2 Right-click the Metric results table and select Export Metric Results. By default. 3 For the file Type. the metric results file is saved in the corresponding project directory under the out/qa directory. you can save those results and view them whenever you like. and HTML file. Related Procedures Running Source Code Metrics 579 . You can also click Browse to specify the path. View the results in the Metric results table.

Select Search in. this is limited to Resource.) Select which direction to move in the results table while searching. In the Search in field of the Search dialog box.. Click Search.. (In a metrics search.Searching QA Results You can search through source code QA results for specified text.. To search the generated QA results for specified text 1 2 3 4 5 6 7 Right-click within the results table. specify which column to search. The first row that matches the criteria is highlighted. Related Procedures Running Source Code Metrics Running Source Code Audits Related Reference QA Search 580 . Enter the text you are looking for. Click Search again to move to the next matching row.

and copy your QA results. Modeling QA Model for model audits and metrics or Window Preferences. Code audits and metrics results are displayed in the Audits View and Metrics View...Specifying Quality Assurance Preferences Together provides a full range of code and model audits and metrics to run against your project. Note: Model audits and metrics results display in the Model Audits View and Model Metrics View. ♦ View QA results as Kiviat or bar graphs. The Quality Assurance Preferences contain lists of audits and metrics that you can select as well as tools for saving and loading (exporting and importing for model) QA sets.. ♦ Save customized "QA sets" to run against future builds. from the main menu. search. Related Procedures Activating Together Capabilities Running Source Code Audits Running Source Code Metrics Running Model Audits and Metrics Related Reference QA Model QA Source 581 . The actions available in Audits View and Metrics View. ♦ Create reports based on QA results. To open Quality Assurance preferences 1 2 Choose Window Preferences.. Modeling QA Source C++ (or Java) for source code audits and metrics. ♦ Sort. or in Model Audits View and Model Metrics View. Choose Window Preferences. You can perform the following: ♦ Select which audits and metrics values to run against your project.. are similar.. ♦ Alter the values used for quality assurance. ♦ Include QA results in project documentation.

description. Together also contains a set of sample audits (see the following procedure to access them). respectively. the second operand is not computed and errors are logged. To run defined audits and metrics 1 2 In the diagram. Select Model Run Model Audits or Model Run Model Metrics from the main menu. Note: The scope depends on the current selection made on the diagram. from the menu. and select the context of the OCL expression. These audits can be used as examples for custom rules creation. This ensures precise execution semantics and is necessary because the second operand computation may have side effects and may call mapping operations. severity. only this element will be checked. Note: If the first operand of an audit returns false. Select either the Audits or Metrics tab. Related Concepts OCL Support Model Metrics Related Procedures Running Model Audits and Metrics Related Reference Model Audits and Metrics Descriptions OCL 582 . the entire project will be checked. The Edit Audit or Edit Metric dialog box is displayed.” To define audits and metrics 1 Choose Window Preferences. The code for your new audit or metric is displayed in the standard OCL editor in the Body text area. If the project default diagram is selected. The Preferences dialog box is displayed. Each metric expression should return an Integer value. The audit expression should be a valid invariant that returns Boolean. For a description of the predefined model audits and metrics provided in Together. Specify your audit or metric name.. The ideas of most of them are taken from Ambler and Fowler books. refer to “Model Audits and Metrics Descriptions. respectively.. You can create custom OCL audits and metrics that operate with metamodel types and run them against the model that is an instance of the same metamodel.Using OCL in Model Audits and Metrics You can run audits and metrics in your design model using OCL expressions. 2 3 4 5 Expand the Modeling node and select QA Model. select model elements against which you want to run audits or metrics. The results are displayed in the Model Audit or Model Metrics view. If a single element is selected. Click New to add an audit or metric.

the list is deleted. Click the down arrow next to the icon to see a list of previous results. You can also clear the history by selecting the Clear History command beneath the list.Using QA History Each time you run QA. Once you close the application. To use the QA results history 1 2 On the Audit or Metric view toolbar. locate the icon that looks like a clock. Note: This list only applies to your current session of Together. 3 Select an item in the list to display those results in the table. Related Procedures Running Source Code Metrics Running Source Code Audits 583 . Together keeps a history of the results.

2 3 Click Find an analyzer. Double-click a result to view its description in the help browser. To view the related description for each result 1 2 Right-click the result row. The Preferences dialog is displayed. To find a particular audit or metric 1 Choose Window Choose Modeling Preferences from the main menu. Select Description. A description of the related audit or metric opens in the help browser. Double-click any of the results to display the appropriate audit or metric in the Quality Assurance list.Viewing and Finding QA Descriptions After running source code audits or metrics. QA Source C++ or Modeling QA Source Java. you can view the related description for each result. The results are displayed in the lower portion of the dialog. Enter a string to search for in the Choose an analyzer field at the top of the dialog. The Find Analyzer dialog box is displayed. 4 5 6 Related Procedures Running Source Code Metrics Running Source Code Audits 584 . depending on your project type.

Related Concepts Quality Assurance Related Procedures Running Source Code Audits 585 . To ungroup the results. you can compare and organize items in the results report. To navigate to the specific location of the violation 1 2 Select any element in the results report. Choose Open on the context menu or simply double-click the row to navigate directly to the location of the violation (a line of the source code for source code projects and a model element for design projects). Use the following techniques when viewing audit results 1 2 3 Sort all the items according to the values for a specific column Group items according to the current column Navigate to the specific location of the violation To sort all the items according to the values for a specific column 1 2 Switch to the audit results table. This enables you to organize the results by changing the relationship of rows and columns. The results report is tightly connected with the diagram elements and the source code. and choose Ungroup. To group items according to the current column 1 2 Right-click the Audit results table and choose Group By. Using the report.Viewing Audit Results When viewing audit results. The arrow in the heading displays whether sorting is ascending or descending. right-click the table. you can navigate to the specific location of the violation. Click the column heading.

Click the column header to change the sorting order. Use the following toolbar buttons to show and hide elements: Button Namespaces Classes Methods Child elements Note: Filtering is available only for source code metric results. To update results 1 2 You can update or refresh the results table. To navigate to the location of the violation 1 Select the row in the results table that is of interest to you. define new settings and start new metrics analysis. 586 . To filter results 1 2 You can filter the displayed results to improve the meaningfulness of the results report.Viewing Metric Results Use the following techniques when viewing metric results 1 2 3 4 5 Sort results by column Filter results Update results Navigate to the source code View the metric description To sort results by column 1 2 Select the desired column in the metrics result table. Use the following Tool Palette Toolbox buttons: Button Refresh Restart Description Recalculate the results that are currently displayed Open the Metrics dialog window.

2 Right-click and choose Open on the context menu to navigate directly to it (a line of the source code for source code projects and a model element for design projects). Related Concepts Quality Assurance Running Source Code Metrics 587 . Right-click and choose Show description on the context menu. Note: Description is available only for source code metric results. To view the metric description 1 2 Select the column in the results table that corresponds to the metrics of interest to you.

♦ To see the value of an individual data point on the Kiviat graph. To view the metrics results as graphs for any row in the results table 1 For the Kiviat graph. ♦ As Kiviat graphs are created for each resource. ♦ The bar graph displays only those branches in the results that are expanded. hover over it to display a popup. ♦ If the information is crowded or overlaps. The graph view pull-down menu allows you to save your Kiviat graph as an image file or print the graph. expand the window. ♦ Green dots represent values that fall within the required range of the metric. expand the window. Follow the steps below to regenerate the graph based on the new results. ♦ Red dots represent values above the maximum for the metric. 2 For the bar graph. ♦ Blue dots represent values below the minimum for the metric. The graph opens in a new view. so if you have the project node collapsed. right-click on the metric and select Bar Graph. the graph clears. The graph opens in a new view. you will see only one bar representing the project. ♦ When you choose Refresh from the Metric results table context menu. right-click the row and select Kiviat Graph. Related Procedures Refreshing QA Results Running Source Code Metrics 588 .Viewing Metrics as Graphs Together can create visual representations of your metrics results. ♦ If the information is crowded or overlaps. select the resource row you want to chart. The graph view pull-down menu allows you to save your bar graph as an image file or to print the graph.

You can recognize these audits because they have no data in the Location column. are based on a group of metrics. The metrics table for the selected result opens. Note: Problem detection audits and metrics are available only for source code projects. see “Code Audits” in the Concepts section. For more information on problem detection audits. You can view the list and results of the metrics used for that audit. Related Concepts Code Audits Related Reference Metric View 589 .Viewing Problem Detection Audits (Detection Metrics) Some source code audits. Select Detection Metrics. These indicate possible design problems that are broader in scope than individual audits can reveal. To view the detection metrics 1 2 Right-click on the selected result. known as problem detection audits.

You can use VCS to keep track of changes and store versions of the work you do. 590 .Using Version Control and Teams in Together This section describes the use of Version Control Systems (VCS) with Together. Setting Up ClearCase Support How to set up Together environment to work with ClearCase. In This Section Comparing and Merging Shared Models How to compare and merge models shared with VCS. Sharing Templates How to share templates. Setting Up Repositories How to set up repositories in Together. Sharing Projects Describes the sharing project procedures and tips.

To commit these changes. Choose Model Tip: Compare With Local Version from the main menu. Warning: Together performs merge on the model level. Together models consist of a large number of files. the "Override and Commit" option in CVS). Note: When merging a shared model. use the "forced commit" mechanism provided by your version control system. Related Concepts Model Compare and Merge Related Procedures Merging Models Related Reference Model Compare/Merge EMF Model Compare Preferences 591 . apply your changes.Comparing and Merging Shared Models Use the Synchronize view to compare shared models. The comparison results display in the Model Compare dialog box. select a model or model element version stored in the repository that you want to compare with the local version. Alternatively. and then commit the model to the repository using menu commands specific to your VCS. and existing file conflicts may still remain after the model merge. (for example. so you need to have all of these files locally. 3 Review the differences. right-click a model or model element and choose Open In Model Compare Dialog from the context menu. To compare and merge shared models 1 2 In the Team Synchronize view. you can change your local version only.

Preferences. Check the ClearCase SCM Adapter for Modeling Views option. To turn on ClearCase icon decorators 1 2 3 4 From the main menu.Setting Up ClearCase Support The following steps describe how to set up Together to work with ClearCase. select Window Customize Perspective. select Window Expand the General node. Related Concepts Version Control in Together Related Procedures Sharing Projects Sharing Templates 592 . To open a custom toolbar for working with ClearCase 1 2 3 From the main menu. Expand the Appearance node and select the Label Decorations node. The Select Perspective dialog box opens. Click the Command tab and check the ClearCase for Modeling option. Restart Together for the changes to take effect.

♦ Host – Type the host name for your CVS server. To open the CVS Repository Exploring Perspective 1 2 From the main menu. choose Help Contents. Repository Location. select Window opens. enter: CVS-host ♦ Repository path – Enter the CVS repository as you would in the pserver section of the CVS login command. refer to Sharing Projects topic. the CVS Repositories view is blank.doe@CVS-host/repository_alias.doe@CVS-host. Prior to this. For example.php?title=Main_Page . if your login command begins with: CVS -d :pserver:/ ♦ Password – Enter your valid password.Setting Up Repositories The following steps describe how to set up CVS repositories for use in Together. To define a repository 1 2 Right-click in an empty area of the CVS Repositories view. about the password file at the bottom of the wizard. You can find more information on CVS at http://ximbiot. and click OK. Open Perspective Other. enter: /repository_alias jane. Using this perspective. Use the Add CVS Repository wizard to define a repository. Consult the documentation set provided Help with your IDE for complete details on using version control. enter: jane. For example. extssh ♦ Use Default Port and Use Port – Select Use Port to define a custom port for the connection. The Select Perspective dialog box Choose CVS Repository Exploring from the list. you need to define the repositories that Together will use. Leaving the option checked allows you to attempt to connect with the host server to ensure that all information was entered correctly. Before you share a project. ♦ Connection type – Choose from the list: pserver. The Add Provide the information required by the wizard as listed below.doe ♦ User – Enter the user name.com/cvs/wiki/index. and select New CVS Repository wizard opens. This is a prerequisite to sharing projects. From the main menu. Note the warning message 3 Click Finish. This list provides option descriptions. if your login command begins with: CVS -d :pserver:/jane. For example. you can add repositories for various VCS systems. 593 .doe@CVShost/repository_alias. ♦ Validate Connection on Finish – This option is checked by default. if your login command begins with: CVS -d :pserver:/jane. ♦ Save Password – Check to save your password locally on your computer. For instructions on sharing a project. ext. Use Default Port is enabled by default. The CVS Repositories view is updated with the new CVS repository location. click Next. When finished.

Related Concepts Version Control in Together Related Procedures Sharing Projects Sharing Templates 594 .

the wizard explains your status in the process. For example. choose a version control system. ♦ Any source files/design diagrams that you created before you shared the project should be added to the repository. Note: When viewed in the Model Package Explorer (with filters off). Click Finish. In the final screen.classpath files. all changes will be reverted to the previous state. and the wizard imports your project to the repository.project and . You can also check the Auto lock read-only files option to avoid this dialog. If using StarTeam. Model Navigator or Navigator view 1 2 Right-click the project. From now on. ♦ For sharing Together model projects with ClearCase. Choose whether you want to use the existing repository location or create a new repository location. Respectively. you may do so by following the steps in “Setting up Repositories” topic. In the new dialog. If you have not already. you can configure StarTeam for Eclipse (Window Preferences Team StarTeam File) by checking the Mark unlocked working files read-only and Exclusively lock files on checkout. consult the StarTeam User Guide (located in the Contents section of this help viewer). 595 . these options commit your changes to the repository and refresh your view with changes made by other team members. If the file cannot be locked (set in the manual mode) or a server refuses to do it. specify a different module name. If you choose to create a new location. and click Next to continue. Or you can proceed with step one below and set up your repository in step two. This contains the actual diagram files generated and used by Together and includes the . the Update and Commit commands are enabled. Recommendations and Tips 3 4 5 ♦ Use the AutoCheckout modeling resource on edit option on the Modeling resources page of the Team preferences to check out model files when Together attempts to change the corresponding model entities. or to use an existing module. all element context modification actions in the Diagram Editor and Model Navigator are disabled until the read-only flag is cleaned from the working files. use the ClearCase Adapter for Modeling wizard. the Share Project wizard opens as described in “Setting Up Repositories. Otherwise. Diagram Editor or Model Navigator. ♦ The second section is the Together Model directory. In the first Share Project dialog box. If AutoCheckout modeling resource on edit is deselected but a VCS provider is configured to mark working files as read-only. To share a project using a project's context menu in the Model Package Explorer. In this case every unlocked file is marked as read-only and upon any attempt to modify this file in the Java Editor. when using the Team command from this project's context menu. and select Team Share Project. a Java or Java Modeling Project contains at least two resource divisions: ♦ The first is your normal source code project structure: the directories/packages you have created and your source code. you need to define a repository location. Click Next.” Click Next.Sharing Projects Before you can share a project. choose either to use the project name as the module name. This mode requires a VCS provider to mark files that are not checked out as read-only. Eclipse asks StarTeam to check out the file and StarTeam displays a dialog box asking you to lock the file. choose CVS.

each team member will have the libraries in exactly the same place (for Windows. each team member would also have to set this up locally. Related Concepts Version Control in Together Related Procedures Setting Up Repositories Sharing Templates Related Reference Sharing Design Elements: Special Considerations 596 . Refer to the documentation set provided with your program for additional details on using version control. ♦ You can include the . ♦ You should not version control the default package diagrams (those files with the .txvpck" and the Commit and Update actions will ignore these default package diagrams. this includes the drive letter).txvpck extension) because these change frequently and are easily regenerated automatically by Together if they are missing. select Window Preferences Team Ignored Resources. or if you are sure that ♦ You can specify directories and files that you do not want to share: from the main menu.classpath file if you are using variables to point to libraries. Note: Respectively. but only if the team will use the exact same project name. Add "*. choose Preferences Team Modeling resources and check Ignore default package diagrams. To exclude the default package diagrams from sharing.♦ The project's project file can be shared.

Use the Templates view to store templates that you want to share with your team. you should be able to see your project. If you change these templates. commit. Show View Other.Sharing Templates By default. class template. To store and share your templates using the Templates view 1 Open the Templates view (Window choose Templates). Together stores its ready-to-use templates in the Local Templates directory. in the Java Class node within the Misc category. context menu option. When you return to the Templates view. The created categories are displayed in the location list under the project.. Tip: Alternatively. 6 Right-click the Java Class node and select Create Category. expand Patterns and Templates node and 2 3 Choose New. choose the type of template you want to create (for example. Related Concepts Version Control in Together Related Procedures Sharing Projects Related Reference Sharing Design Elements: Special Considerations 597 . use the Team context menu command in the Templates view to add. From the submenu... to add subsections to the node.. 4 5 Select the shared project where you want to store the template in the Location list. The new template is displayed under your project node. Specify the name of the new template in the Name field. After you have shared the project. The Save Template wizard is displayed. and share your templates. your changes will be available only locally. which is used here as an example). manage. This creates a template directory within your project. you can right-click a design element for which you want to create a template in the Model Navigator or Diagram view and choose the Save As Template. Use categories to organize. The Templates view displays. and update templates using VCS. Right-click the Local Templates node.

managing traces. Navigating from Model Elements to Requirements How to navigate from a model element to the traced requirement. In This Section Creating Requirements Based on Use Case This topic describes how to create CaliberRM or RequisitePro requirements from use case diagrams. 598 . Generating Documentation for Requirements How to create documentation based on your requirements. Opening Requirements Views How to open Requirements views. Creating Traces from Requirements to Model Elements How to create traces from requirements to model elements. Synchronizing Traces How to synchronize traces. Viewing Element Traces How to view element traces. Modifying Requirement Preferences How to modify requirement and CaliberRM specific preferences. Searching for Traced Elements How to search for traced elements. Deleting Traces How to delete traces. generating requirements documentation and more.Managing Requirements with Together This section provides how-to information on using Together for creating requirements.

In the diagram. When you select the traced use case element on the diagram.Creating Requirements Based on Use Case This topic describes how to create CaliberRM or RequisitePro requirements from use case diagrams. you can see a trace to the requirement in the Element Traces view. right-click a use case element and choose Requirements Create Requirement(s). In the dialog box. Related Concepts Requirements Management Related Reference Element Traces View 599 . The new requirement receives the name of the traced use case element.. select an appropriate requirement under which a new requirement will be created. You can create traced requirements directly from Use Case model elements. Click OK. Set up other related requirements preferences to suit your needs. Tip: You can select multiple use case elements in the Diagram Editor or Model Navigator (using SHIFT and CTRL keys) and create requirements for them. make sure that you have set up Create traces between Requirement and Use Case as enabled in Requirements Preferences. The Create Requirement dialog box is displayed. Before creating requirements. The name of the traced element will be displayed in green... To create a requirement based on use case 1 2 3 4 Open a Use Case Diagram from which you want to create a new requirement.

The selection moves to the Selected pane. Click OK. Related Concepts Requirements Management Related Procedures Deleting Traces Related Reference Manage Traces Dialog 600 . To create a trace from an element to a requirement using the Model Navigator 1 2 3 4 In the Model Navigator view. Select the requirement and click Add. The selection moves to the Selected pane. Select the requirement and click Add. select the tab with requirements of a particular vendor and expand the project nodes to locate the appropriate requirement. select the tab with requirements of a particular vendor and expand the project nodes to locate the appropriate requirement. To create a trace from an element to a requirement using the Together Diagram editor 1 2 3 4 5 Open the diagram from which you want to create a trace to a requirement. Manage Traces from the In the Manage Traces dialog box. Right-click the appropriate element and choose Requirements Manage Traces from the context menu. In the Manage Traces dialog box. Click OK.Creating Traces from Requirements to Model Elements There are several ways to create a trace between a Together model element and a requirement. right-click an element and choose Requirements context menu.

Warning: Traces are deleted without confirmation. To delete a trace using the Element Traces view 1 2 3 4 5 Open the diagram in which you want to remove a trace. Open the Element Traces view. Manage Traces from the In the Selected pane of the Manage Traces dialog box. To remove all traces. Traced requirements and/or model elements are displayed in the Element Traces view. In the diagram. Related Concepts Requirements Management Related Procedures Creating Traces from Requirements to Model Elements Related Reference Manage Traces Dialog 601 . select the traces you want to remove and click Remove.Deleting Traces To delete a trace using the Diagram editor 1 2 3 4 Open the diagram in which you want to remove a trace. click Remove All. Click OK. In the diagram. Right-click a trace you want to remove and select Remove from the context menu. Click OK. You might be prompted to log on to the repository that stores the traced requirements. select the appropriate element. right-click the appropriate element and select Requirements context menu.

Export and then select Documentation Using Template in the Export dialog box. Related Concepts Requirements Management Related Reference Trace Synchronizer View Element Traces View 602 .Generating Documentation for Requirements You can generate documentation from the requirement point of view using one of the default Together templates. Alternatively. Click Finish to generate documentation. Documentation Documentation Using Template. To generate documentation for requirements 1 Choose File Click Next. choose Project 2 3 In the opened step of the wizard select the Requirements Online Report template in the Default list and specify other options.

When converting legacy traces imported from TCC to the current format. then Requirements and then select CaliberRM. expand Modeling. In the dialog box. The Requirements preferences also include a section specific to CaliberRM. The Requirements Preferences are displayed.Modifying Requirement Preferences The Requirements preferences control how Together creates requirements from Use Case diagram elements (and vice versa) and how it updates traces on a traced element move. Modify the preferences and close the dialog saving your settings. expand Modeling and select Requirements. The Preferences dialog box is displayed. The CaliberRM Requirements Preferences are displayed. To modify the CaliberRM Requirements preferences: 1 2 3 Select Window Preferences from the main menu. To modify the Requirements preferences 1 2 3 Select Window Preferences from the main menu. use these preferences to specify which CaliberRM server stores the imported data. Modify the preferences and close the dialog saving your settings. Related Reference CaliberRM 603 . The Preferences dialog box is displayed. In the dialog box.

The requirement is selected in the CaliberRM Navigator or RequisitePro view. Point to Requirements and select the traced requirement you want to view. traces are displayed with a decorator. depending on the requirement type.Navigating from Model Elements to Requirements To navigate from a model element to a requirement 1 2 3 Right-click a traced model element in either the Diagram editor or Model Navigator view. Related Concepts Requirements Management Related Procedures Viewing Element Traces 604 . the names of traces are displayed in green. In the Model Navigator. on the diagram.

click Window Show View Other.Opening Requirements Views You can manage traces between requirements and model elements using dedicated Requirements views. In the Show View dialog box. Using the SHIFT or CTRL key. Related Concepts Requirements Management Related Reference Trace Synchronizer View Element Traces View 605 . Tip: For ease of use you can redock the views by clicking and dragging the title bars. Click OK. The new views open in the Eclipse framework. select Trace Synchronizer and Element Traces views under the Requirements folder. To open the Requirements views 1 2 3 4 5 On the main menu. expand Requirements.

In the Available Integrations. The Search dialog is displayed. In the Available Attributes field. Click OK. Check the Case Sensitive check box if you want your search to be case-sensitive. Check the Search All Traced Elements check box. enclosing projects or a working set). from the menu. In the Scope area.. enclosing projects or a working set). 2 3 4 5 6 Select the Requirement Traces Search tab. select in which trace attributes you want to search (server name. select the Integration plug-ins (CaliberRM and/or RequisitePro) requirements you want to search. define a search string. check the Regular expression check box.. Click Search. The search results are displayed in the Search view. If your search string contains regular expressions. In the Containing Text field. define the search scope (workspace. Click Search. The list of found desynchronized traces is displayed in the Trace Synchronizer view.. project name or requirement name). define the search scope (workspace. The search results are displayed in the Search view. To find specific traced elements 1 Choose Search Requirement Traces Search. In the Scope area.Searching for Traced Elements You can search for specific elements that have traces to requirements or find all traced elements in the defined search scope using the Requirement Traces Search dialog.. from the menu. The Search dialog is displayed. 2 3 4 5 6 7 8 9 Select the Requirement Traces Search tab. To find all traced elements 1 Choose Search Requirement Traces Search. Related Concepts Requirements Management Related Reference Requirement Traces Search Dialog Box 606 .

3 4 5 6 Related Concepts Requirements Management Related Procedures Opening Requirements Views Related Reference Trace Synchronizer View Trace Synchronizer Dialog Box 607 . The details on every synchronization problem are given in the Status summary field. Right-click a trace or select multiple traces and choose an appropriate option from the context menu. Review the list and individually decide how to handle each problematic trace. You can update a local trace from the repository. requirement type. click the Requirements tab to define the search scope. To monitor the changes in the defined search scope. To search in model elements. sort the list by Status to find problematic traces. In the view. The list of found desynchronized traces is displayed in the Trace Synchronizer view.Synchronizing Traces To synchronize traces for a diagram element using Diagram Editor 1 2 3 4 In the Diagram editor. 5 6 To synchronize traces for a requirement or a model element using Trace Synchronizer view 1 2 In the Trace Synchronizer view. click the Model Elements tab to define the search scope. The Trace Synchronizer dialog box is displayed. Click OK. The Trace Synchronizer view opens displaying the list of the traces associated with the selected element. define where to search for desynchronized traces. During the operation. or delete an obsolete trace. To monitor changes in the view. or delete an obsolete trace. restore a local copy of the trace. During the operation. use the Refresh button. use the Refresh button. baseline or a server connection. To search in requirements. The details on every synchronization problem are given in the Status summary field. Review the list and individually decide how to handle each problematic trace. you might be asked to provide your login credentials to access the requirements project. You can select a CaliberRM requirement. You can search either within requirements or model elements. restore a local copy of the trace. click the Synchronize button. you might be asked to provide your login credentials to access the requirements project. Right-click a trace or select multiple traces and choose an appropriate option from the context menu. You can update a local trace from the repository. In the dialog box. right-click a traced element for which you want to synchronize traces and choose Requirements Synchronize Traces. You can select a single model element within any modeling project available in your current Eclipse workspace.

Using the context menu. on the diagram. traces are displayed with a decorator. you can open a traced requirement in the CaliberRM Navigator or RequisitePro view (depending on the requirement type) or delete a trace. Open the Element Traces view. The list of traces to and from the selected element is displayed in the view. Related Concepts Requirements Management Related Procedures Deleting Traces Navigating from Model Elements to Requirements Related Reference Element Traces View 608 . In the Model Navigator.Viewing Element Traces To view element traces using Element Traces view 1 2 3 Select a traced model element in either the Diagram editor or Model Navigator. the names of traces are displayed in green.

Generating Project Documentation This section provides how-to information on using Together Documentation Generation facilities. Generating Project Documentation Using Template How to generate project documentation in any supported format. Generating Project Documentation from Command Line How to generate project documentation using batch process. Generating Project Documentation as Ant Task How to generate project documentation using Ant. 609 . In This Section Configuring the Documentation Generation Facility How to configure the Documentation Generation facility. by the predefined template. Generating HTML Documentation How to generate project documentation in HTML format. using the desired template.

Under the RTF Output category. Under the HTML Output category. set up text formatting options 3 4 Related Concepts Documentation Generation Overview Related Reference Generate Documentation Preferences 610 . window title. enter the options for HTML documentation: classes and members to be included in the documentation tags to be included in the documentation documentation title. choose the option of processing line breaks. and footer. Under the Generate HTML category. header.Configuring the Documentation Generation Facility To configure the documentation generation facility 1 2 On the main menu. choose Window Preferences Generate Documentation.

To generate HTML project documentation 1 2 3 Select Project Documentation Generate HTMLon the main menu. and select your preferred Scope and Options settings. In the Generate HTML Documentation dialog box that opens. Click Finish to generate documentation. specify the output folder.Generating HTML Documentation In this section you will learn how to generate project documentation in HTML format using the default template supplied with the product. Related Concepts Documentation Generation Overview Related Procedures Configuring the Documentation Generation Facility Related Reference Documentation Generation Generate HTML Documentation dialog box 611 .

borland.ant.gendoc. Run the gendoc utility.core\bin"/> 2 3 Make sure startup.GenDocTask" classpath="C:\Work\ArcasM5\gendoc\plugins\com.core\gendoc.borland. For example: <gendoc workspace="C:\Work\Together\runtime-workspace" project="uml" package="package1" outdir="c:\out" template="Project Report" format="RTF" nodiagrams="true" hyperlinks="true" audits="true"/> Example: <project name="gendoc" default="exec"> <taskdef name="gendoc" classname="com.gendoc.jar from your eclipse installation is included in the classpath.gendoc.GenDocTask" classpath="C:\Together\plugins\com.ant.launchers.borland.borland.launchers.Generating Project Documentation as Ant Task To generate project documentation as an Ant task 1 Provide the task definition in an ant project using the following syntax: <taskdef name="gendoc" classname="com.gendoc.jar"/> <target name="exec"> <gendoc workspace="C:\Together\workspace" project="uml20_test" package="package2" format="RTF" outdir="C:\tmp" audits="true" /> </target> </project> Related Concepts Documentation Generation Overview Related Procedures Generating Project Documentation from Command Line Related Reference Gendoc Utility Syntax Genhtml Utility Syntax 612 .

sh ♦ gendoc for generating documentation by template. documentation is generated for the entire workspace and stored in the out subfolder of the workspace. Together provides the following utilities that enable you to generate project documentation without launching the product: ♦ genhtml for generating HTML documentation.sh To generate project documentation using the documentation generation utility 1 2 Use the following command: <utility> [project filename] [options] [packagenames] Specify parameters and options as described in the utility references. with the launchers genhtml. in one of the supported output formats.Generating Project Documentation from Command Line You can update project documentation as part of a periodic automated build process by having the process script call the documentation generator in Together via the command line interface. Related Concepts Documentation Generation Overview Related Reference Gendoc Utility Syntax Genhtml Utility Syntax 613 . with the launchers gendoc. Note: If you run the utility without parameters.cmd and genhtml.cmd and gendoc.

♦ In the Include section. ♦ In the Format field. Related Concepts Documentation Generation Overview Related Procedures Configuring the Documentation Generation Facility Creating Custom Documentation Template Related Reference Generate Documentation Using Template dialog box 614 . check the Open in Viewer option. use the browse button. using one of the default or custom templates of your choice. In the Generate Documentation Using Template dialog box that opens. ♦ In the Templates section. Alternatively. Note that you can generate documentation for all open projects in the workspace.Generating Project Documentation Using Template In this section you will learn how to generate project documentation in the desired format. or for the current package or diagram. for a single project. select a Default or Custom template. click the radio button for a scope. enter the fully qualified path to the target folder. 3 Click Finish to generate documentation. To generate project documentation using a template 1 2 Select Project Documentation Generate Using Template on the main menu. ♦ In the Scope section. select an output format from the drop-down list. Note that you can include ♦ If you want to open the generated report immediately. audit results. specify the following settings: ♦ In the Output Path field. select artifacts to be included in the generated output.

Creating Stock Sections How to create and delete a stock sections. Setting Call to Template Section Properties How to set output properties of a call to template section. Creating Hypertext Links (Advanced) How to create hypertext links for multi-frame documentation. Hyperlinking Documentation How to create hypertext links in the ordinary and multi-frame documentation. Hyperlinking Controls to Element Documentation How to hyperlink controls with the model elements' documentation. Image Mapping (Advanced) How to create image maps from the diagram images. Reusing documentation templates from TCC/TA 1. Creating Sections This topic describes how to create sections in a documentation template using the Template Designer. 615 . OCL in Documentation Templates How to use OCL expressions in the templates for generating project documentation. Creating Formatting Styles for Documentation Templates In this section you will learn how to create and edit formatting styles. Creating Custom Documentation Template This topic describes how to create a custom documentation template using the Template Designer. Creating Controls This topic describes how to create controls in a section of a documentation template. which describes how the frames are organized within the browser window. Creating Javadoc Link References (Advanced) How to convert Javadoc tags into link references. Resizing and Aligning Controls This topic describes how to change size and location of controls in the sections of a documentation template. Setting Area Properties This topic describes how to define area properties of a static section.Together Documentation Templates Procedures This section provides how-to information on creating and editing custom documentation templates using the Together Documentation Template Designer.x This topic describes how to reuse custom documentation templates created in TCC/TA 1. Defining Frameset Structure How to define the frameset structure of a multi-frame HTML document. In This Section A Typical Scenario of Creating a Custom Documentation Template This topic outlines general steps involved in creating a custom documentation template.x. A Typical Scenario of Creating a Template for Multi-Frame Documentation This part discusses how to use the Documentation Template Designer to create the templates for multiframe HTML documentation. Moving.

Using Word Documents in Documentation Templates It is possible to use styles. headers and footers of the Word documents in the custom documentation templates. Setting Template Properties After a documentation template is created. you can define its properties.Setting Frame and Frameset Properties How to define properties of a frameset or a frame within a Frameset Template. define its properties. In this section you will learn how to attach and detach a Word document. 616 . Setting Section Properties After a section is created.

x 617 .A Typical Scenario of Creating a Custom Documentation Template Creating a custom documentation template and populating it with sections and controls involves the following general steps: To create and customize a documentation template 1 Create a stub template: Creating Custom Documentation Template Create template structure: Creating Sections Provide reusable elements: Creating Stock Sections Define sections properties: Setting Section Properties Define area properties: Setting Area Properties Define template properties: Setting Template Properties Add controls to the sections: Creating Controls Customize controls: Moving. Resizing and Aligning Controls 2 3 4 5 6 7 8 Find useful information in the following related sections: Related Procedures Using Word Documents in Documentation Templates Reusing documentation templates from TCC/TA 1.

♦ In the Template type field. you can view and modify its properties using the Template Properties dialog. Related Procedures Setting Template Properties Related Reference Documentation Template Properties 618 . In the GenDoc Template Designer File dialog. 5 Use the Template Designer toolbox or context menus to create the template structure. expand the Modeling node. Choose Documentation Template and click Next. choose File New Other In the New dialog that opens. enter the fully qualified name of the template file. Note: After a documentation template is created. choose a template type from the drop-down list (documentation template or frameset template).Creating Custom Documentation Template To create a documentation template 1 2 3 4 On the main menu. specify the following: ♦ In the File Name field.

Right-click an existing section in the scope pane. ♦ Call to stock section: Select the stock section from the list of existing sections. determine the essential template information for the new section. On the context menu. the context menu provides Delete Header or Delete Footer commands. which lie outside the template body. Related Concepts Documentation Template Documentation Template Sections Related Procedures Creating Stock Sections Setting Section Properties Related Reference Documentation Template Designer 619 .” ♦ Call to template section: None required at creation. To create a new section in a documentation template 1 2 Select an existing section in the template. Refer to the section “Creating Stock Sections. choose Add Header or Add Footer. 3 When necessary. If a header or a footer exists. Set section properties as required. ♦ Element iterator: Select the element metatype from the list of available types. its context menu provides Add Header or Add Footer commands. ♦ Folder section: None required at creation. use the toolbar buttons of the Documentation Template Designer. Tip: Alternatively. 4 5 Click OK to complete the insertion. If such a section does not contain a header or a footer. ♦ Static section: None required at creation. To add a header or a footer to an iterator 1 2 Select an existing element iterator or folder section. point to the Insert Sibling Section or Insert Nested Section on the context menu and select the type of new section. For these sections. ♦ Element property iterator: Select the scope. unlike the report header and footer. a sibling section can be created for any existing section. the Insert Nested Section or Insert Sibling Section toolbar buttons and menu commands are enabled. Iterators and folder sections can also contain headers and footers.Creating Sections A nested section can be created for an existing folder or iterator.

Check the Intrinsic to Property Iterator option. In the Name field. enter the stock section name.Creating Stock Sections Stock sections are reusable folders or iterators that reside in the template’s collection of stock sections. Each stock section displays in a separate named tab in a documentation template. the scope of the stock section root iterator or folder section depends on the Properties Iterator this section is called from: the only available iteration scopes for an element iterator are customized and programmed. select an element iterator or folder section from which you want to create a stock section. choose Remove Stock Section. 620 . enter the name of the new stock section. Click OK. In the New stock section (Folder) dialog. To delete a stock section 1 2 Right-click the stock section tab be deleted. Click OK. For the element iterators. select a metatype from the list of available metatypes. If this flag is checked. The New Stock Section dialog opens. On the context menu of the section. click the New Stock Section (Element Iterator) button or New stock section (Folder) button. Right-click the section and choose Copy into Stock on the context menu. if necessary. For folder sections. On the context menu of the tab. it means that the metatype chooser tab is absent. 5 To create a stock section from an existing section 1 2 3 4 In the scope pane of a template. choose Show Stock Section. To show a stock section for a call to stock section 1 2 Right-click the call stock section. In this section you will learn how to: ♦ Create stock sections from scratch ♦ Create stock sections from an existing section ♦ Delete stock sections ♦ Show stock section To create a stock section 1 2 3 4 On the toolbar of the Template Designer.

Related Concepts Documentation Template Documentation Template Sections Related Reference Documentation Template Designer 621 .

the Properties dialog is invoked from the scope pane only. You can invoke the Properties dialog for the iterators and folder sections from the scope pane or from the details pane of a section. Refer to the dialog descriptions for details. Related Concepts Documentation Template Sections Enable Conditions Related Reference Element Iterator Properties Property Iterator Properties Static Section Properties Call to Stock Section Properties Call to Template Properties 622 . To set properties of a section 1 2 3 In the scope section of the Template designer.Setting Section Properties After a section is created. which are specific for each kind of sections. Section properties are defined in the Properties dialogs. select a template section. choose Properties. define its properties. Note: Properties dialogs are specific to each section type. Define properties as required and click OK. For the static sections. On the context menu.

To set area properties 1 2 3 Select a static section. choose Area Properties. and is invoked from the details pane. headers and footers. They are defined in the Area Properties dialog. header or footer of a template. which is common for static sections. specify settings and click OK. In the Area Properties dialog. headers and footers. Related Concepts Documentation Template Sections Related Reference Area Properties 623 . Refer to the dialog descriptions for details. On the context menu of the details pane.Setting Area Properties Area properties apply to static sections.

and landscape or portrait orientation. ♦ Select Root Object Metatype from the list of available metatypes. In the Formatting Styles tab. ♦ Attach a Word document as a formatting template. clicking the editor button to open the Edit Expression dialog. Refer to “Creating Formatting Styles” for details. click the Show Template properties button. Related Procedures Using Word Documents in Documentation Templates Creating Formatting Styles for Documentation Templates Related Reference Documentation Template Properties 624 .Setting Template Properties To set properties of a documentation template 1 2 On the toolbox of the Template Designer. ♦ Check or clear options to generate headers and footers as required. In the General tab. 3 4 5 In the Page Settings tab. ♦ Define the report title expression. you can specify page size. specify the formal parameters that will be used for calling this template from another template. you can change formatting styles. Refer to “Using Word Documents in Documentation Templates” for details. In the Template Parameters tab. you can change the following: ♦ Enter template description. margins.

you can right-click the section in the details pane. header. choose Properties and fill in the control properties in the tabbed <Control> Properties dialog box. Tip: Alternatively. or footer 1 2 Select a section in the details pane. Click OK. Note: The Insert Control command is also available on the context menu of a panel control. 3 4 On the context menu of a control.Creating Controls To create a new control in a static section. Related Concepts Documentation Template Controls Related Procedures Hyperlinking Documentation Related Reference Control Properties 625 . Click the type of control you want to insert on the template designer toolbar. point to Insert Control and select the type of control from the menu.

You can also modify the size of the rectangle to determine the approximate size of the region for the output. With the control selected. Be aware that when you apply multiple alignments. it is possible for controls to overlap. choose one of the following options: ♦ Left Side ♦ Right Side ♦ Top Side ♦ Bottom Side ♦ Make same width ♦ Make same height 626 . Drag the edge of the rectangle to the required size. If you select two or more controls in a section. Tip: Precise positioning and sizing is not possible. drag and drop the control to a position within the section. Notice that the mouse pointer changes to a cross with double-ended arrows. choose Copy or Cut. To align controls 1 2 3 Select two or more controls within a section. Right-click the selection and choose Alignment on the context menu. You can move the control to change where its output is displayed in the generated documentation. Warning: There is no simple undo for changes in alignment or size. On the context menu of the selected control. To copy or move a control to another section 1 2 3 Select a control.Moving. When you change alignment or resize controls. you must manually readjust the controls to return them to the former status. To resize a control 1 2 Place the mouse pointer on either the right or left edge of the rectangle. Right-click the target section and choose Paste on the context menu. On the submenu. Increasing the rectangle size is especially important for a label with a default size that is not large enough to allow its entire text to be displayed in the report. To move a control within a section 1 2 Select a control. Notice that the mouse pointer changes to a double-ended arrow. Resizing and Aligning Controls The Documentation Template Designer displays a newly created control as a rectangle positioned at the insertion point in the details pane. you can use the context menu of the selection to uniformly align controls within the section.

♦ Make same size Related Concepts Documentation Template Documentation Template Controls Related Reference Documentation Template Designer 627 .

keeping in mind that for the multi-frame templates. Set section. static sections and headers and footers for the folder sections and iterators are prohibited. Create controls.A Typical Scenario of Creating a Template for Multi-Frame Documentation This part discusses how to use the Documentation Template Designer to create the templates for multi-frame HTML documentation. including image maps and Javadoc link references: Hyperlinking Documentation 2 3 4 5 Related Concepts Multi-frame Documentation Templates Related Reference Call to Template Properties 628 . area and template properties as described in the section A Typical Scenario of Creating a Custom Documentation Template Set call to template section properties: Setting Call to Template Section Properties Create hypertext links. To create a template for multi-frame documentation 1 Create a stub multi-frame template: Creating Custom Documentation Template Create the frameset structure to describe how the frames are organized within the browser window: Defining Frameset Structure Design the body of a frameset template.

you can view and modify its properties using the Template Properties dialog. ♦ In the Template type field. expand the Modeling node. 5 Use the Template Designer toolbox or context menus to create the template structure. choose a template type from the drop-down list (documentation template or frameset template).Creating Custom Documentation Template To create a documentation template 1 2 3 4 On the main menu. Note: After a documentation template is created. enter the fully qualified name of the template file. specify the following: ♦ In the File Name field. Related Procedures Setting Template Properties Related Reference Documentation Template Properties 629 . Choose Documentation Template and click Next. choose File New Other In the New dialog that opens. In the GenDoc Template Designer File dialog.

Repeat this step to create a structure. To add a frame. as described in Setting Frame and Frameset Properties Click OK when ready. To add a frameset. choose the layout of the root frameset template. For each frame or frameset node. Define template properties in the General and Template Parameter tabs. click the Add Frameset button. as described in Setting Template Properties In the Frameset Structure tab.Defining Frameset Structure The frameset structure of a multi-frame HTML document describes how the frames are organized within the browser window. define its properties. After a frameset template is created. you can define its structure through the template properties. Add a frame or a frameset to the root frameset. click the Add Frame button. click the Show Properties button. To define the structure of a frameset template 1 2 On the toolbar of the Template Designer. clicking either the Columns or Rows radio-buttons. 3 4 5 6 Related Procedures Setting Frame and Frameset Properties Related Reference Frameset Template Properties 630 . The Template Properties dialog opens with the root frameset highlighted.

Resizing and Aligning Controls 2 3 4 5 6 7 8 Find useful information in the following related sections: Related Procedures Using Word Documents in Documentation Templates Reusing documentation templates from TCC/TA 1.x 631 .A Typical Scenario of Creating a Custom Documentation Template Creating a custom documentation template and populating it with sections and controls involves the following general steps: To create and customize a documentation template 1 Create a stub template: Creating Custom Documentation Template Create template structure: Creating Sections Provide reusable elements: Creating Stock Sections Define sections properties: Setting Section Properties Define area properties: Setting Area Properties Define template properties: Setting Template Properties Add controls to the sections: Creating Controls Customize controls: Moving.

Setting Call to Template Section Properties The section properties of a call to template determine how the output for a template call can be used. Define the output image subdirectory for the images files. select Properties from the section’s right-click menu. Click the Edit Expression button to create the expression. call to template sections typically generate separate files that can be loaded into a frame of the resulting HTML project documentation. To access the properties of a call to template section. and select a template. If the output generated from the template is to be loaded into a frame. Click the Edit Expression button to create the expression. Related Reference Call to Template Properties 632 . click the Browse button. 4 5 Define the name of the output directory. Note: If a particular call of a template is to be iterated many times to produce multiple documents. derive the output document name from the properties of the current model element. Refer to the Call to Template Properties dialog description for details. You can use the getProperty("$name") expression to get the name of the current model element. With multiframe HTML documentation. Select the type of generated output. select Separate File from the radio buttons. To define properties of a call to template section 1 2 3 In the Template field of the General tab. Define the name of the generated document.

Hyperlinking Documentation HTML documentation requires hypertext links. A hypertext link connects a link reference (source) and a link destination (target). The link reference is a piece of text or an image. refer to the following sections 1 Creating hyperlinks in the ordinary documentation: Hyperlinking Controls to Element Documentation Creating hyperlinks in the multi-frame documentation: Creating Hypertext Links (Advanced) Creating image mapping for the model elements in diagrams: Image Mapping (Advanced) Converting Javadoc link references to hyperlinks: Creating Javadoc Link References (Advanced) 2 3 4 633 . The link destination is a file or an anchor in a file. To create hypertext links.

header.Creating Controls To create a new control in a static section. Click the type of control you want to insert on the template designer toolbar. or footer 1 2 Select a section in the details pane. choose Properties and fill in the control properties in the tabbed <Control> Properties dialog box. you can right-click the section in the details pane. Note: The Insert Control command is also available on the context menu of a panel control. Related Concepts Documentation Template Controls Related Procedures Hyperlinking Documentation Related Reference Control Properties 634 . point to Insert Control and select the type of control from the menu. 3 4 On the context menu of a control. Click OK. Tip: Alternatively.

expand the Modeling node. ♦ In the Template type field. choose a template type from the drop-down list (documentation template or frameset template). In the GenDoc Template Designer File dialog. Related Procedures Setting Template Properties Related Reference Documentation Template Properties 635 . choose File New Other In the New dialog that opens. specify the following: ♦ In the File Name field. Note: After a documentation template is created. Choose Documentation Template and click Next. 5 Use the Template Designer toolbox or context menus to create the template structure.Creating Custom Documentation Template To create a documentation template 1 2 3 4 On the main menu. enter the fully qualified name of the template file. you can view and modify its properties using the Template Properties dialog.

To edit formatting style 1 2 3 On the tool palette of the Template Designer. Repeat steps 3 to 5 of the previous task. Color and Border tabs. select a style and click the Edit button. Click OK. choose the nesting level of the style. To create a new formatting style 1 2 3 On the tool palette of the Template Designer. specify the style name. and specify the following parameters: ♦ In the Name field. the change will show immediately in the controls. In the Formatting Styles tab. then assign a Formatting Style to a Control. After the Formatting Style is updated. After the Formatting Style has been assigned to controls. click the Show Template Properties button. click the New button. The Style dialog opens.Creating Formatting Styles for Documentation Templates In this section you will learn how to create and edit formatting styles. ♦ In the Type field. ♦ In the Level field. As you enter the name. Tip: Create as many Formatting Style types as you would like. The Style dialog opens. Select Main tab of the dialog. to change any style properties for these controls. In the Formatting Styles tab. Related Concepts Documentation Generation Overview Related Procedures Creating Custom Documentation Template Related Reference Documentation Template Designer 636 . define the respective parameters of the style. The Template Properties dialog opens. The Template Properties dialog opens. 4 5 In the Font. it is displayed in the title bar of the Style dialog. change the property in the appropriate Formatting Style. click the Show Template Properties button. choose whether the style applies to a paragraph or to a character.

header or footer.” Right-click the desired control and choose Properties on the context menu. If the target area is marked as a Documentation Subject Selector. By default. it is the area property of a static section.Creating Hypertext Links (Advanced) Multi-frame HTML documentation requires hypertext links. so the source document is not replaced. click the Edit Expression button next to the Expression for Documentation Subject Selector field to match the expression for the template area described above. A hypertext link connects a link reference (source) and a link destination (target). the referenced document is loaded into the same frame window as the page that contains the link reference. The link destination is a file or an anchor in a file. The link reference is a piece of text or an image. Click the Edit Expression button next to the Target Frame Name Expression field. click the Link to Element’s Specific Doc radio button. To create a link reference for a control 1 2 3 4 5 Create a target from a section as described in “Hyperlinking Controls to Element Documentation. Select the Hyperlink to Elements tab. if no target frame for a hyper-reference is specified. In the Hyperlinks to Elements tab. Select a notation and enter an expression for the name of a frame window defined in the frameset structure. choose Properties. The expression should return the name of one of the frame windows defined in the FrameSet Structure. To assign a target frame to a link reference 1 2 3 4 On the context menu of the control. Related Concepts Documentation Template Controls Related Procedures Hyperlinking Controls to Element Documentation Related Reference Control Properties 637 . it is the property of a control. Click the Edit Expression button next to the Expression for Model Element field to determine which elements' documentation is the link target. The target frame parameter alters this behavior to load the target file into a named frame.

choose Properties. Converting a value of an element’s property to a hyperlink is more complicated than converting an {@link} tag. On the context menu of a formula control. In the Hyperlinks to Elements tab of the Formula Control dialog. Create one or more static sections that correspond to the Javadoc references of the desired type. which activates it for the appropriate JDRef.Creating Javadoc Link References (Advanced) The Documentation Template Designer provides conversions for Javadoc References represented in the following forms: ♦ inside {@link} tags ♦ as the value of some Javadoc element’s properties Note: You need to specify the conversion in the properties of the control. getJDRefType(getDGVariable("curPropertyInstance")) == "<JDRef type>" where “<JDRef type>” is “element”. Provide an enable condition for each section. Check the Render Embedded Javadoc Tags option. data control. 4 5 6 Create a formula control in each section. enter the following expression: getJDRefDisplayName(getDGVariable("curPropertyInstance")) Note: 7 This expression is common for all types of Javadoc references. or formula control) can generate documentation text. To convert the value of an element property 1 2 3 Create a property iterator that will go through the instances of the property. In the Formula tab of the Formula Control dialog. Such conversions require using one of these documentation generation functions: getJDRefDisplayName() getJDRefElement() The following procedure gives a general outline of actions required to perform conversion. To convert a {@link} tag 1 2 3 On the context menu of the desired image control. choose Properties. “URL” or “text”. select the hyperlink type: 638 . The value of the expression is the text that will be displayed in the documentation. Tip: Only a text control (label control. Select the Other tab. Most often this kind of conversion is used for the see property.

Related Concepts Javadoc Link References Related Reference Control Properties 639 . producing no hyperlinks. the hyperlink definition is not defined.♦ For the JDRefs of the “element” type. click the URL Link radio button and enter the following expression in the Expression for URL field: getJDRefURL(getDGVariable("curPropertyInstance")) ♦ For the JDRefs of the “text” type. click the Link to Element's Specific Docs radio button and enter the following expression in the Expression for model element field: getJDRefDisplayName (getDGVariable("curPropertyInstance")) ♦ For the JDRefs of the “URL” type. Because such a JDRef does not refer to any element. the function getJDRefElement() always returns null.

Right-click an existing section in the scope pane. ♦ Element property iterator: Select the scope. which lie outside the template body. Refer to the section “Creating Stock Sections. Set section properties as required. point to the Insert Sibling Section or Insert Nested Section on the context menu and select the type of new section. Related Concepts Documentation Template Documentation Template Sections Related Procedures Creating Stock Sections Setting Section Properties Related Reference Documentation Template Designer 640 . use the toolbar buttons of the Documentation Template Designer. To add a header or a footer to an iterator 1 2 Select an existing element iterator or folder section. For these sections. On the context menu. its context menu provides Add Header or Add Footer commands. Iterators and folder sections can also contain headers and footers. ♦ Folder section: None required at creation. To create a new section in a documentation template 1 2 Select an existing section in the template. a sibling section can be created for any existing section. the context menu provides Delete Header or Delete Footer commands.Creating Sections A nested section can be created for an existing folder or iterator. unlike the report header and footer. 4 5 Click OK to complete the insertion. determine the essential template information for the new section. 3 When necessary. choose Add Header or Add Footer. If such a section does not contain a header or a footer. ♦ Call to stock section: Select the stock section from the list of existing sections. If a header or a footer exists.” ♦ Call to template section: None required at creation. Tip: Alternatively. the Insert Nested Section or Insert Sibling Section toolbar buttons and menu commands are enabled. ♦ Element iterator: Select the element metatype from the list of available types. ♦ Static section: None required at creation.

Creating Stock Sections Stock sections are reusable folders or iterators that reside in the template’s collection of stock sections. Check the Intrinsic to Property Iterator option. If this flag is checked. select an element iterator or folder section from which you want to create a stock section. For the element iterators. enter the name of the new stock section. On the context menu of the tab. choose Remove Stock Section. In the Name field. 5 To create a stock section from an existing section 1 2 3 4 In the scope pane of a template. To show a stock section for a call to stock section 1 2 Right-click the call stock section. On the context menu of the section. it means that the metatype chooser tab is absent. Click OK. Each stock section displays in a separate named tab in a documentation template. enter the stock section name. if necessary. In this section you will learn how to: ♦ Create stock sections from scratch ♦ Create stock sections from an existing section ♦ Delete stock sections ♦ Show stock section To create a stock section 1 2 3 4 On the toolbar of the Template Designer. In the New stock section (Folder) dialog. choose Show Stock Section. For folder sections. Click OK. To delete a stock section 1 2 Right-click the stock section tab be deleted. 641 . click the New Stock Section (Element Iterator) button or New stock section (Folder) button. Right-click the section and choose Copy into Stock on the context menu. select a metatype from the list of available metatypes. The New Stock Section dialog opens. the scope of the stock section root iterator or folder section depends on the Properties Iterator this section is called from: the only available iteration scopes for an element iterator are customized and programmed.

Related Concepts Documentation Template Documentation Template Sections Related Reference Documentation Template Designer 642 .

you can define its structure through the template properties. To add a frameset. click the Add Frame button. as described in Setting Template Properties In the Frameset Structure tab. as described in Setting Frame and Frameset Properties Click OK when ready. choose the layout of the root frameset template. To define the structure of a frameset template 1 2 On the toolbar of the Template Designer. define its properties. For each frame or frameset node. 3 4 5 6 Related Procedures Setting Frame and Frameset Properties Related Reference Frameset Template Properties 643 . Add a frame or a frameset to the root frameset. After a frameset template is created.Defining Frameset Structure The frameset structure of a multi-frame HTML document describes how the frames are organized within the browser window. The Template Properties dialog opens with the root frameset highlighted. Repeat this step to create a structure. To add a frame. click the Show Properties button. clicking either the Columns or Rows radio-buttons. Define template properties in the General and Template Parameter tabs. click the Add Frameset button.

♦ Define the report title expression.Setting Template Properties To set properties of a documentation template 1 2 On the toolbox of the Template Designer. 3 4 5 In the Page Settings tab. In the Formatting Styles tab. ♦ Attach a Word document as a formatting template. In the Template Parameters tab. Related Procedures Using Word Documents in Documentation Templates Creating Formatting Styles for Documentation Templates Related Reference Documentation Template Properties 644 . In the General tab. you can change the following: ♦ Enter template description. specify the formal parameters that will be used for calling this template from another template. Refer to “Using Word Documents in Documentation Templates” for details. click the Show Template properties button. ♦ Select Root Object Metatype from the list of available metatypes. you can change formatting styles. Refer to “Creating Formatting Styles” for details. ♦ Check or clear options to generate headers and footers as required. margins. and landscape or portrait orientation. you can specify page size. clicking the editor button to open the Edit Expression dialog.

Setting Frame and Frameset Properties In this section you will learn how to define properties of each frame and frameset that comprise a multi-frame template. select a frameset. To define properties of a frame 1 2 3 4 In the Frameset Structure tab of the Template Properties dialog. In the Edit Expression dialog. In the Edit Expression dialog. Choose the layout of a frameset. select an expression type and enter the expression body. select an expression type and enter the expression body. Click the Edit Expression button in the Enable Condition field. Click the Edit Expression button in the Source File Name Expression field. percent size and scrolling mode. Related Reference Frameset Template Properties 645 . In the Edit Expression dialog. Specify the frame name. select an expression type and enter the expression body. Click the Edit Expression button in the Enable Condition field. To define properties of a frameset 1 2 3 In the Frameset Structure tab of the Template Properties dialog. select frame.

the output of this section is identified as the “main documentation” for the current element. Click the Edit Expression button to create the expression in OCL or legacy notation. When you define the location of a model element main documentation. 646 . Define the ink type: ♦ Link to Element’s specific Doc: You must identify the element whose documentation is to be the target in the text field for Expression for RWI-Element. Click the Hypertext Target tab. footer. Documentation templates have facilities for inserting anchors at the “main documentation” of model elements. this option inserts a bookmark into a file used as the File Link target. clicking the Add Hyperlink <n> button. On the context menu of the control. 5 6 Specify the link settings. and footers. footer. It marks the location of the elements' specific documentation with the appropriate Documentation Subject Selector. Click the Hyperlinks to Element tab. ♦ File Link: You must fill in the path to the file. select a label. In this section you will learn how to: ♦ Make a target from a static section. allowing users to create hyper-references to different documentation locations generated by the same model element. choose Properties. depending on the selected link type. Specify Expression for the Documentation Subject Selector. The control can be in the same template as the main documentation or it can be in a different template. This option is used for hyperlinks of Link to Element’s specific Doc type. headers. Click the Edit Expression button to create the expression in OCL or legacy notation. This adds a new Hyperlinks to Element tab to the dialog. image or formula control. When specified. You can insert anchors for static sections. 4 5 To link a control to a target 1 2 3 4 In the details pane of a section. If this option is checked. supply that as well. you must ♦ URL Link: You must supply the URL. Specify Expression for the Target Bookmark Selector. or header 1 2 3 Right-click the details pane of a section and choose Area Properties. This option is only enabled if the Start of the Current Element’s Specific Documentation option is checked.Hyperlinking Controls to Element Documentation Any generated output that contains an anchor or a bookmark can be a link target. Optionally. provide compound hyperlinks. Define Start of the Current Element’s Specific Documentation. or header ♦ Link a control to a target To make a target from a static section. If the hyperlink target is a bookmark in the file. you can specify hyperlink references to it for any control that is not a panel.

Related Concepts Documentation Template Controls Related Procedures Setting Area Properties Related Reference Area Properties 647 .

Hyperlinking Documentation HTML documentation requires hypertext links. The link destination is a file or an anchor in a file. The link reference is a piece of text or an image. refer to the following sections 1 Creating hyperlinks in the ordinary documentation: Hyperlinking Controls to Element Documentation Creating hyperlinks in the multi-frame documentation: Creating Hypertext Links (Advanced) Creating image mapping for the model elements in diagrams: Image Mapping (Advanced) Converting Javadoc link references to hyperlinks: Creating Javadoc Link References (Advanced) 2 3 4 648 . To create hypertext links. A hypertext link connects a link reference (source) and a link destination (target).

headers. Click the Edit Expression button to create the expression in OCL or legacy notation. or header 1 2 3 Right-click the details pane of a section and choose Area Properties. It marks the location of the elements' specific documentation with the appropriate Documentation Subject Selector. ♦ File Link: You must fill in the path to the file. Specify Expression for the Target Bookmark Selector. you must ♦ URL Link: You must supply the URL. This option is only enabled if the Start of the Current Element’s Specific Documentation option is checked. you can specify hyperlink references to it for any control that is not a panel. footer. image or formula control. footer. Click the Edit Expression button to create the expression in OCL or legacy notation. depending on the selected link type. this option inserts a bookmark into a file used as the File Link target. provide compound hyperlinks. On the context menu of the control. This adds a new Hyperlinks to Element tab to the dialog. Define the ink type: ♦ Link to Element’s specific Doc: You must identify the element whose documentation is to be the target in the text field for Expression for RWI-Element. Documentation templates have facilities for inserting anchors at the “main documentation” of model elements. If the hyperlink target is a bookmark in the file. Click the Hyperlinks to Element tab. The control can be in the same template as the main documentation or it can be in a different template. allowing users to create hyper-references to different documentation locations generated by the same model element. When specified. 4 5 To link a control to a target 1 2 3 4 In the details pane of a section. 5 6 Specify the link settings. Define Start of the Current Element’s Specific Documentation. If this option is checked.Hyperlinking Controls to Element Documentation Any generated output that contains an anchor or a bookmark can be a link target. and footers. In this section you will learn how to: ♦ Make a target from a static section. clicking the Add Hyperlink <n> button. This option is used for hyperlinks of Link to Element’s specific Doc type. select a label. or header ♦ Link a control to a target To make a target from a static section. supply that as well. 649 . the output of this section is identified as the “main documentation” for the current element. Optionally. You can insert anchors for static sections. Click the Hypertext Target tab. When you define the location of a model element main documentation. Specify Expression for the Documentation Subject Selector. choose Properties.

Related Concepts Documentation Template Controls Related Procedures Setting Area Properties Related Reference Area Properties 650 .

To assign a target frame to a link reference 1 2 3 4 On the context menu of the control. it is the property of a control. Select the Hyperlink to Elements tab. Click the Edit Expression button next to the Expression for Model Element field to determine which elements' documentation is the link target. the referenced document is loaded into the same frame window as the page that contains the link reference. header or footer. click the Edit Expression button next to the Expression for Documentation Subject Selector field to match the expression for the template area described above. If the target area is marked as a Documentation Subject Selector.Creating Hypertext Links (Advanced) Multi-frame HTML documentation requires hypertext links. By default. In the Hyperlinks to Elements tab. To create a link reference for a control 1 2 3 4 5 Create a target from a section as described in “Hyperlinking Controls to Element Documentation. The expression should return the name of one of the frame windows defined in the FrameSet Structure. Click the Edit Expression button next to the Target Frame Name Expression field.” Right-click the desired control and choose Properties on the context menu. it is the area property of a static section. The link destination is a file or an anchor in a file. choose Properties. if no target frame for a hyper-reference is specified. Select a notation and enter an expression for the name of a frame window defined in the frameset structure. click the Link to Element’s Specific Doc radio button. The target frame parameter alters this behavior to load the target file into a named frame. so the source document is not replaced. Related Concepts Documentation Template Controls Related Procedures Hyperlinking Controls to Element Documentation Related Reference Control Properties 651 . A hypertext link connects a link reference (source) and a link destination (target). The link reference is a piece of text or an image.

isDiagram() then getDGRwiElement('diagramMapElement') else getDGRwiElement('') endif To create an image map 1 2 3 4 5 On the context menu of the image control. which includes all model elements depicted on the diagram. substituting the diagramMapElement variable with every diagram element. it iterates through diagram elements. choose Properties. Select the Hyperlink to Elements tab. and then inserting it into the image map. Click the Edit Expression button next to the Expression for Model Element field and enter all expressions in the hyper-reference definition relative to the element returned by the call: context OclAny getDGRwiElement('diagramMapElement') Related Concepts Documentation Template Controls Related Reference Control Properties 652 . While doing this. select Diagram as an image type. When Documentation Generator generates the image of a diagram. Click the Link to Element's Specific Doc radio button. calculating a hyper-reference for it. you must enter all expressions in the hyperreference definition relative to the element returned by the context OclAny getDGRwiElement ('diagramMapElement') call. it creates the image map. To create the image map.Image Mapping (Advanced) When an image control is for the whole diagram in the model. For example: context uml::kernel::Elementif getDGRwiElement ('diagramMapElement'). In the Image tab. the reference definition creates link references for all model elements depicted on the diagram.

Select the Other tab. Most often this kind of conversion is used for the see property. On the context menu of a formula control. Such conversions require using one of these documentation generation functions: getJDRefDisplayName() getJDRefElement() The following procedure gives a general outline of actions required to perform conversion. getJDRefType(getDGVariable("curPropertyInstance")) == "<JDRef type>" where “<JDRef type>” is “element”. or formula control) can generate documentation text. In the Formula tab of the Formula Control dialog. To convert the value of an element property 1 2 3 Create a property iterator that will go through the instances of the property. Provide an enable condition for each section. enter the following expression: getJDRefDisplayName(getDGVariable("curPropertyInstance")) Note: 7 This expression is common for all types of Javadoc references. which activates it for the appropriate JDRef. data control. In the Hyperlinks to Elements tab of the Formula Control dialog. choose Properties. Converting a value of an element’s property to a hyperlink is more complicated than converting an {@link} tag. choose Properties. Check the Render Embedded Javadoc Tags option. 4 5 6 Create a formula control in each section. “URL” or “text”. select the hyperlink type: 653 . Tip: Only a text control (label control. Create one or more static sections that correspond to the Javadoc references of the desired type.Creating Javadoc Link References (Advanced) The Documentation Template Designer provides conversions for Javadoc References represented in the following forms: ♦ inside {@link} tags ♦ as the value of some Javadoc element’s properties Note: You need to specify the conversion in the properties of the control. To convert a {@link} tag 1 2 3 On the context menu of the desired image control. The value of the expression is the text that will be displayed in the documentation.

the function getJDRefElement() always returns null. Related Concepts Javadoc Link References Related Reference Control Properties 654 . click the Link to Element's Specific Docs radio button and enter the following expression in the Expression for model element field: getJDRefDisplayName (getDGVariable("curPropertyInstance")) ♦ For the JDRefs of the “URL” type. producing no hyperlinks. Because such a JDRef does not refer to any element. the hyperlink definition is not defined.♦ For the JDRefs of the “element” type. click the URL Link radio button and enter the following expression in the Expression for URL field: getJDRefURL(getDGVariable("curPropertyInstance")) ♦ For the JDRefs of the “text” type.

To create the image map. While doing this. substituting the diagramMapElement variable with every diagram element. Click the Edit Expression button next to the Expression for Model Element field and enter all expressions in the hyper-reference definition relative to the element returned by the call: context OclAny getDGRwiElement('diagramMapElement') Related Concepts Documentation Template Controls Related Reference Control Properties 655 . When Documentation Generator generates the image of a diagram.Image Mapping (Advanced) When an image control is for the whole diagram in the model. it iterates through diagram elements. For example: context uml::kernel::Elementif getDGRwiElement ('diagramMapElement'). select Diagram as an image type. it creates the image map. you must enter all expressions in the hyperreference definition relative to the element returned by the context OclAny getDGRwiElement ('diagramMapElement') call. Click the Link to Element's Specific Doc radio button.isDiagram() then getDGRwiElement('diagramMapElement') else getDGRwiElement('') endif To create an image map 1 2 3 4 5 On the context menu of the image control. choose Properties. In the Image tab. Select the Hyperlink to Elements tab. calculating a hyper-reference for it. which includes all model elements depicted on the diagram. the reference definition creates link references for all model elements depicted on the diagram. and then inserting it into the image map.

When you change alignment or resize controls. To move a control within a section 1 2 Select a control. Drag the edge of the rectangle to the required size. To resize a control 1 2 Place the mouse pointer on either the right or left edge of the rectangle. drag and drop the control to a position within the section. it is possible for controls to overlap. choose Copy or Cut. Right-click the target section and choose Paste on the context menu. Right-click the selection and choose Alignment on the context menu. You can also modify the size of the rectangle to determine the approximate size of the region for the output. Be aware that when you apply multiple alignments. Notice that the mouse pointer changes to a cross with double-ended arrows. you can use the context menu of the selection to uniformly align controls within the section. Notice that the mouse pointer changes to a double-ended arrow. On the context menu of the selected control. On the submenu. choose one of the following options: ♦ Left Side ♦ Right Side ♦ Top Side ♦ Bottom Side ♦ Make same width ♦ Make same height 656 . you must manually readjust the controls to return them to the former status. Warning: There is no simple undo for changes in alignment or size. To align controls 1 2 3 Select two or more controls within a section. Increasing the rectangle size is especially important for a label with a default size that is not large enough to allow its entire text to be displayed in the report.Moving. You can move the control to change where its output is displayed in the generated documentation. Tip: Precise positioning and sizing is not possible. If you select two or more controls in a section. Resizing and Aligning Controls The Documentation Template Designer displays a newly created control as a rectangle positioned at the insertion point in the details pane. With the control selected. To copy or move a control to another section 1 2 3 Select a control.

♦ Make same size Related Concepts Documentation Template Documentation Template Controls Related Reference Documentation Template Designer 657 .

syntax highlighting and validating are available.OCL in Documentation Templates Together allows you to compose model queries and define enable conditions using OCL syntax. Code sense suggests these operations along with the standard OCL ones. Click OK to save the expression in the template. OCL or Legacy type expressions can be entered in the template element's properties dialog box using the provided Expression Editor. In the Properties dialog box. The code sense. In the Body area. the special native OCL extensions are provided for the functions that are specific for Documentation Generation. Related Concepts Documentation Template Controls About OCL Support in Together Enable Conditions 658 . Where applicable. Native OCL extensions tend to have the same signature and meaning as the legacy Documentation Generation functions have. If the Expression Editor is not opened in the tab. the editor is either opened in the tab or you can use the Edit Expression button to open the editor. open the tab where you want to type the expression. and then use them in a template for generating documentation. To add an expression to your template 1 2 3 4 5 Open a template where you want to add an OCL expression. In addition to the standard OCL operations. click the Edit Expression button. you can type the expression text. Specify the context for your expression in the Context field.

getKnownSubclasses() and getImplementingClasses() are the examples of such extensions.nativeExtension extension point and contain Java implementations of the corresponding methods). Change the value of the programmed iteration scope property from specify class and method to specify expression. To modify a legacy documentation template using OCL 1 2 3 4 5 Remove class and method names. Open Iterator properties. Instead of the TCC GenDoc extensions. Namely. except for the two major differences: adapter classes (special extensions written in Java) and changes in the metamodel. Make sure there are no iterations by <Any> or folders without metatype specified. Errors occur when this template executes because it calls methods of the SpecialScopeProvider adapter class. consider the legacy Class. Specify the following bodies: — for Element iterator in the Direct Known Subinterfaces folder: getKnownSubclasses() — for Element iterator in the All Known Implementing Classes folder: getImplementingClasses() Note: Adapter classes written for TCC do not work for Together. The sample procedure is described below.tpl template from predefined TCC templates. 'For example. which is missing in Together.borland. with uml::kernel::Element as context. Together makes use of the native OCL extensions (special Eclipse plugins that use the com. it means that metatypes for these iterators/folders are not recognized.x Normally the legacy documentation templates are compatible with Together. Set the expression type to 'OCL'.Reusing documentation templates from TCC/TA 1.gdm. Users should create their own OCL extensions to be used in their templates.ocl.tpl for Programmed iteration scope in two Element iterators.selena. the users should change expressions for Class. Related Concepts Documentation Template Related Procedures Together Documentation Templates Procedures Related Reference Documentation Template Designer 659 . If such iterations exist. Change metatypes as required. Users need to modify this template manually to make sure that calls to these methods are replaced with OCL expressions. To make sure that metamodels are compatible 1 2 3 Open your template in the Template Designer.

headers and footers. Related Concepts Documentation Template Sections Related Reference Area Properties 660 . header or footer of a template. and is invoked from the details pane.Setting Area Properties Area properties apply to static sections. Refer to the dialog descriptions for details. headers and footers. which is common for static sections. specify settings and click OK. On the context menu of the details pane. In the Area Properties dialog. To set area properties 1 2 3 Select a static section. They are defined in the Area Properties dialog. choose Area Properties.

4 5 Define the name of the output directory.Setting Call to Template Section Properties The section properties of a call to template determine how the output for a template call can be used. If the output generated from the template is to be loaded into a frame. You can use the getProperty("$name") expression to get the name of the current model element. select Separate File from the radio buttons. Define the name of the generated document. select Properties from the section’s right-click menu. derive the output document name from the properties of the current model element. To define properties of a call to template section 1 2 3 In the Template field of the General tab. Note: If a particular call of a template is to be iterated many times to produce multiple documents. Click the Edit Expression button to create the expression. Refer to the Call to Template Properties dialog description for details. and select a template. Related Reference Call to Template Properties 661 . To access the properties of a call to template section. Click the Edit Expression button to create the expression. click the Browse button. Define the output image subdirectory for the images files. call to template sections typically generate separate files that can be loaded into a frame of the resulting HTML project documentation. Select the type of generated output. With multiframe HTML documentation.

Click the Edit Expression button in the Enable Condition field. percent size and scrolling mode. Click the Edit Expression button in the Source File Name Expression field. Related Reference Frameset Template Properties 662 . select an expression type and enter the expression body. select a frameset. In the Edit Expression dialog. Click the Edit Expression button in the Enable Condition field.Setting Frame and Frameset Properties In this section you will learn how to define properties of each frame and frameset that comprise a multi-frame template. In the Edit Expression dialog. select frame. select an expression type and enter the expression body. In the Edit Expression dialog. To define properties of a frame 1 2 3 4 In the Frameset Structure tab of the Template Properties dialog. Choose the layout of a frameset. To define properties of a frameset 1 2 3 In the Frameset Structure tab of the Template Properties dialog. Specify the frame name. select an expression type and enter the expression body.

define its properties. To set properties of a section 1 2 3 In the scope section of the Template designer. Refer to the dialog descriptions for details. On the context menu. Define properties as required and click OK.Setting Section Properties After a section is created. Section properties are defined in the Properties dialogs. Note: Properties dialogs are specific to each section type. choose Properties. the Properties dialog is invoked from the scope pane only. Related Concepts Documentation Template Sections Enable Conditions Related Reference Element Iterator Properties Property Iterator Properties Static Section Properties Call to Stock Section Properties Call to Template Properties 663 . You can invoke the Properties dialog for the iterators and folder sections from the scope pane or from the details pane of a section. For the static sections. which are specific for each kind of sections. select a template section.

Setting Template Properties To set properties of a documentation template 1 2 On the toolbox of the Template Designer. Related Procedures Using Word Documents in Documentation Templates Creating Formatting Styles for Documentation Templates Related Reference Documentation Template Properties 664 . ♦ Select Root Object Metatype from the list of available metatypes. you can change formatting styles. In the Template Parameters tab. clicking the editor button to open the Edit Expression dialog. you can specify page size. ♦ Define the report title expression. and landscape or portrait orientation. you can change the following: ♦ Enter template description. click the Show Template properties button. specify the formal parameters that will be used for calling this template from another template. margins. Refer to “Using Word Documents in Documentation Templates” for details. ♦ Check or clear options to generate headers and footers as required. In the Formatting Styles tab. In the General tab. 3 4 5 In the Page Settings tab. Refer to “Creating Formatting Styles” for details. ♦ Attach a Word document as a formatting template.

To detach a Word document from a documentation template 1 2 3 4 Open a documentation template in the Template Designer. Warning: Together supports simple text Word *.Using Word Documents in Documentation Templates The Template Designer provides a way to use styles. The Template Properties dialog opens. Tip: Alternatively. click the Show Template Properties button. *.dot and *. specify the path to the Word file.doc Word files in your custom documentation templates.doc templates headers/footers only. complex formatted text and fields are not processed.rtf. In this section you will learn how to: ♦ attach a Word document to a documentation template ♦ detach a Word document from a documentation template To attach a Word document to a documentation template 1 2 3 Open a documentation template in the Template Designer. click the Show Template Properties button. click the Browse button and navigate to the Word file. the header and footer of the referenced Word document are displayed on each page of the generated report. When the path to the Word file is specified. In the Formatting Template field. The headers and footers with embedded images.dot and *. On the tool palette of the Template Designer. The Template Properties dialog opens. or create a new one. objects. *.rtf. headers and footers of the *. the styles of the referenced Word document are displayed in the list of formatting styles. 665 . The styles of the referenced document display in the Formatting Styles tab of the Template Properties dialog. Tip: 4 The Delete and Edit buttons do not work for the styles of the attached document. Click OK. On the tool palette of the Template Designer. Click OK. Remove the path from the field Formatting Template.

Related Concepts Documentation Generation Overview Related Procedures Creating Custom Documentation Template Creating Formatting Styles for Documentation Templates Related Reference Documentation Template Designer 666 .

Interoperability and Migration
This section provides how-to information on exchanging model information between the various products of the Together product line. In This Section Converting Profile-Specific Properties How to reuse a project with a profile, created and applied in Together 2006. Importing a Project in an IBM Rational Rose MDX Model How to import .mdx projects. Importing a Project in IBM Rational Rose (MDL) Format How to import .mdl projects. Importing a Project in XMI Format How to import XMI data. Importing Java Modeling Projects Created in Together Edition for Eclipse 7.0 How to import a project created in TEC 7.0. Importing Legacy Projects How to import a legacy project and handle multiple project roots. Reusing documentation templates from TCC/TA 1.x This topic describes how to reuse custom documentation templates created in TCC/TA 1.x. XMI Export and Import of the Models with Cross-Project References You can import and export multi-root projects using XMI. Note that XMI imports and exports are implemented differently for UML 1.4 and Java modeling projects, and for UML 2.0 projects.

667

Converting Profile-Specific Properties
The converting profiles function helps you reuse projects from Together 2006 in which custom profiles were applied. This feature is useful for the following scenario:
1 2 3 4

In Together 2006, a profile has been created and deployed. This results in creating a profile plugin. This profile plugin is applied to a certain modeling project. The same profile definition is reused and deployed in Together 2006 R2. This results in creating another profile plugin, which has different properties names. The same modeling project is opened in Together 2006 R2. On an attempt to apply the new profile plugin to this project, the profile-specific properties will loose their values unless they are properly converted.

To convert profile-specific properties
1 2

On the main menu, choose Model

Profile

Convert Properties.

If there are no profile-specific properties in the project, no action is performed.

Related Concepts UML Profiles

668

Importing a Project in an IBM Rational Rose MDX Model
Together enables you to create projects around an IBM® Rational® XDE .mdx file. Note: Together design projects that are created on the basis of the imported MDX models always comply with the UML 2.0 specification.

To create a project from an MDX model
1 2 3

On the main menu, choose File

Import. The New Project wizard opens.

Select Project from MDX file and click Next. Specify the path to the MDX file you want to import or click Browse to locate the file. You can also specify the following:

♦ Use the Scale factor field to specify the element dimensions coefficient. By default, the scale factor is
0.03.

♦ Preserve diagram nodes and bounds: If this option is selected, user-defined bounds are preserved in
the resulting diagrams. Otherwise the default values are applied.
4 5 6 7 8 9

Click Next. Specify new project name. Click Next. Specify the diagram to start with. Click Next. Select one or more profiles you want to enable for this project. Click Next. Select any referenced projects. Click Finish to complete the wizard. A new project will be created with elements from the MDX file.

Note: If a profile was applied to the Rational XDE model while importing the MDX model to Together, the properties from this profile are imported as custom properties. Related Concepts Model Import and Export Overview Related Reference MDX Import Wizard MDX Projects Import Options

669

Importing a Project in IBM Rational Rose (MDL) Format
Together enables you to create projects around IBM® Rational® Rose model files (.mdl, .ptl, .cat, .sub). Note: You can import a set of petal and subunit files. Warning: Together projects created on the basis of the imported MDL models always comply with the UML 1.4 specification.

To create a design project from an IBM Rational Rose (MDL) project
1 2 3

On the main menu, choose File

Import. The New Project wizard opens.

Select Project from MDL file and click Next. Click either Add or Add Folder to designate the MDL project path. This step specifies the name (or names) of the Rational Rose project file (or files) to be imported (several model files can be imported at once). Click Remove to delete the selected file or files from the Paths list. Click Remove all to delete all files from the Paths list. Note: Avoid adding a model file along with its subunit to the import list because this results in invalid project.

4 5

Use the Scale factor field to specify the element dimensions coefficient. By default, the scale factor is 0.3. Specify the following options for the project:

♦ Convert Rose default colors: If this option is selected, the default Rational Rose colors will be replaced
with the default Together colors.

♦ Preserve diagram nodes and bounds: If this option is selected, user-defined bounds are preserved in
the resulting diagrams. Otherwise the default values are applied.

♦ Convert Rose actors: This option enables you to choose mapping for the Rose actors. If the option is

selected, the Rose actors are mapped to Together actors. If the option is not selected, the Rose actors are mapped to the classes with the Actor stereotype, such as Actor, Business Actor, Business Worker, or Physical Worker. Modeling project is created from imported MDL.

♦ Generate source code: If this option is selected, a new Java Modeling project is created; otherwise, a
6 7 8

Click Finish. When prompted, supply a name for your project and click Finish. Follow the remaining steps in the wizard to specify options for your new project, and click Finish to complete the wizard.

After the import process is complete, you can view the project structure in the Model Navigator view. The mdlimport.log file is generated by default and lists any errors encountered during the import process. Note: After entering a project name, you can click Finish without completing the remaining steps of the wizard. The project is created using the remainder of default settings.

670

Related Concepts Model Import and Export Overview Related Procedures Generating Source Code from Design Project Related Reference Together Projects MDL Projects Import Options MDL Import Wizard

671

Importing a Project in XMI Format
You can import projects or sections of projects that were created in other modeling tools and saved in XMI format. Note: For UML 1.4 and Java Modeling projects only, XMI 1.1/1.2 imports are supported. Attempting to import an XMI 1.0 file results in an empty project.

To import a project from an XMI file
1 2 3

Select File

Import on the main menu. The Import dialog box opens.

Select XMI File and click Next. In the Import Project from XMI File dialog box, specify the following:

♦ The Together project to which your XMI data will be imported in the Select destination project field. ♦ The full path to the .xml, .xmi, or .uml2 file you want to import in the Select source .xmi file field.
4

Click Finish. Note: A .xml or .xmi file can be imported to UML 1.4 and Java Modeling projects; a .uml2 file can be imported to UML 2.0 projects.

After you are notified that the import process is complete, you can view the results in the Model Navigator. Note: When importing UML 2.0 models with profile files related to the model, for the models originally exported from Together for Eclipse, select model .uml2 file as a source and make sure that all the profile files are located in the same folder with the model file. If there are any warnings produced during XMI import, the XMI Import dialog notifies you to refer to the Task view. To open the Task view, select Window Show View Other Basic Tasks from the main menu. Related Concepts Model Import and Export Overview Related Procedures XMI Export and Import of the Models with Cross-Project References

672

Importing Java Modeling Projects Created in Together Edition for Eclipse 7.0
You can import projects created in Together Edition for Eclipse 7.0.

The general procedure for importing a project created in Together Edition for Eclipse 7.0 consists of the following steps:
1 2

Importing your existing project into a workspace Creating a Java modeling project from a Java project

To import an existing project from TEC 7.0
1 2 3 4

Select File

Import on the main menu.

Select Existing Projects into Workspace and click Next. In the Import Projects dialog box, specify the path to your project's root directory and select one or more projects you want to import. Click Finish when you specified all necessary options. The new Java project is created and opened in your workspace.

Note: The name of the imported project cannot be changed during the import process. Therefore, the projects are created with the same name as the imported projects.

To create a Java modeling project from a Java project
1 2 3 4 5

Select File

New

Project on the main menu. The New Project wizard opens.

Expand the Together node in the tree view list and select Java Modeling projects from Java projects. Click Next. Select the Java project you created from the project created in Together Edition for Eclipse. Click Next. Specify other project-related options. Click Finish when you specified all necessary options.

Related Concepts Together Interoperability and Migration

673

Importing Legacy Projects
Together allows you to import projects from some of the previously released Together products. Considering the differences between the products, Together suggests two ways to accomplish this import. You can merge all roots of a legacy multi-rooted project into a single root, or you can create a separate project for each root of the source project.

♦ The Merge option is recommended for typical cases of when the input project has one design root and several
source code roots.

♦ The Separate projects option is recommended when your input project has nonstandard configuration with
several design roots, which you would like to preserve as separate projects.

To import a legacy project merging all source roots into a single project
1 2 3 4 5 6 7 8

Select File

Import on the main menu

In the Import Wizard, select Modeling Together Project and click Next. The second page of the wizard opens. Click Browse to specify the fully qualified name of the project you want to import. In the Design elements storage policy section, choose whether the design elements of the resulting project will be stored as standalone design elements or as filemates. In the Migration type section, select the Merge all roots contents into the new project option. Click Next. The third page of the wizard opens. Specify the name of the target project. The default project name is constructed from the names of the last two folders of the source project file location. Click Finish to import the selected project.

Warning: TVS projects and projects created in Together Editions for Eclipse prior to version 7.0 cannot be imported to Together.

To create separate projects for each selected root
1 2 3 4 5 6

Select File

Import on the main menu

In the Import Wizard, select Modeling Together Project and click Next. The second page of the wizard opens. Click Browse to specify the fully qualified name of the project you want to import. In the Design elements storage policy section, choose whether the design elements of the resulting project will be stored as standalone design elements or as filemates. In the Migration type section, select the Create a separate project for each root option. On the third page of the wizard, the Root location table displays the list of folders of the source project. Select each root from the list and define the way you want to handle the root and its contents:

♦ In the Together project name field, specify the name of the target project for the selected root. The default
name is constructed from the package prefix, if any. If there is no package prefix, the project name is created from the names of the last two folders of the root location. selected root.

♦ The read-only Content type and Diagram format fields display the corresponding information for the ♦ In the Decision field, choose the way to handle information of the selected root. If the root contains design
files, you can either copy them to the target location or skip the root. If the root contains source code files,

674

you have the choice to copy it as is, copy and convert it to design language, or skip the root. The option Copy and convert to design language is the default choice for the roots that contain Java files.

♦ In the Dependencies to be preserved while importing field, you can specify whether the import handles

links and references between projects created for the currently selected root and projects created for other roots. All dependencies are processed by default. However, if you are aware of any one-way dependencies between the original roots, and the selected root does not refer to any elements from other roots, uncheck those corresponding projects listed in the field to save CPU resources and complete the import faster.

7 8

Click Next. The fourth page of the wizard opens. Specify the name of the master project that contains references to all projects created in the course of the migration. The default name of the master project is based on the source project name. Note: The master project is created to demonstrate the contents and structure of the source project. It is read-only and not intended for editing. Use the real projects to create or edit contents and establish dependencies.

9

Click Finish to import the selected project.

All resulting projects belong to the same type, which is defined by the properties of the source project and your choice in the Decision field of the Import Wizard. Java modeling projects are created if there is at least one Java source root for which the Copy option is selected. UML 1.4 modeling projects are created if there are no Java source roots, or if such roots exist but the Decision field is set to Skip or Convert to design language. Related Concepts Together Interoperability and Migration Related Reference Import Together Project Wizard

675

Reusing documentation templates from TCC/TA 1.x
Normally the legacy documentation templates are compatible with Together, except for the two major differences: adapter classes (special extensions written in Java) and changes in the metamodel. 'For example, consider the legacy Class.tpl template from predefined TCC templates. Errors occur when this template executes because it calls methods of the SpecialScopeProvider adapter class, which is missing in Together. Users need to modify this template manually to make sure that calls to these methods are replaced with OCL expressions. Namely, the users should change expressions for Class.tpl for Programmed iteration scope in two Element iterators. The sample procedure is described below.

To modify a legacy documentation template using OCL
1 2 3 4 5

Remove class and method names. Open Iterator properties. Change the value of the programmed iteration scope property from specify class and method to specify expression. Set the expression type to 'OCL', with uml::kernel::Element as context. Specify the following bodies: — for Element iterator in the Direct Known Subinterfaces folder: getKnownSubclasses() — for Element iterator in the All Known Implementing Classes folder: getImplementingClasses()

Note: Adapter classes written for TCC do not work for Together. Instead of the TCC GenDoc extensions, Together makes use of the native OCL extensions (special Eclipse plugins that use the com.borland.selena.ocl.gdm.nativeExtension extension point and contain Java implementations of the corresponding methods). getKnownSubclasses() and getImplementingClasses() are the examples of such extensions. Users should create their own OCL extensions to be used in their templates.

To make sure that metamodels are compatible
1 2 3

Open your template in the Template Designer. Make sure there are no iterations by <Any> or folders without metatype specified. If such iterations exist, it means that metatypes for these iterators/folders are not recognized. Change metatypes as required.

Related Concepts Documentation Template Related Procedures Together Documentation Templates Procedures Related Reference Documentation Template Designer

676

XMI Export and Import of the Models with Cross-Project References
You can import and export multi-root projects using XMI. Note that XMI import and export is implemented differently for UML 1.4 and Java modeling projects, and for UML 2.0 projects.

♦ UML 1.4 and Java modeling projects: When a project that contains cross-project references is exported to

an XMI file, the main project root and referenced roots are exported to the same XMI file. The Use prefix of imported root option of the Export Wizard enables you to reproduce the package structure of each root in top-level packages named as the root prefixes. If the option is unchecked, all same-named packages from the different roots are merged. When an XMI file is imported, the resulting project contains all packages and elements from the main model and referenced roots. *.imports.uml2 special files are created for each referenced root. The exported XMI file contains references to these files. When an XMI file is imported, the resulting project contains the main model only. If the referenced roots still exist in the workspace, the resulting UML 2.0 model recognizes them. References to the elements from these roots can be resolved only if the unique identifiers (UINs) of the elements have not been changed since export. Note that when an element is moved, its container is changed, and this can change the UIN.

♦ UML 2.0 projects: When a project that contains cross-project references is exported to an XMI file,

To export a UML 1.4 and Java modeling project with cross-project references
1 2 3

On the main menu, choose File Export. On the first page of the Export Wizard, select XMI file under Modeling and click Next. On the second page of the wizard:

♦ Select the project to be exported; ♦ Select the XMI type and encoding; ♦ Specify the export destination; ♦ Check the Use prefix of imported root option if you want to reproduce the package structure of each
root in top-level packages named as the root prefixes. By default, this option is unchecked.
4

Click Finish.

Tip: Package prefixes of the referenced roots are never used if you perform an export via the XMIExport.cmd command line utility.

To export a UML 2.0 project with cross-project references
1 2 3

On the main menu, choose File Export. On the first page of the Export Wizard, select XMI file under Modeling and click Next. On the second page of the wizard:

♦ Select XMI for UML 2.0 as the project to be exported ♦ Specify export destination
4

Click Finish.

677

Related Concepts Together Interoperability and Migration Model Import and Export Overview Related Procedures Importing a Project in XMI Format Exporting a Project to XMI Format

678

Reference

679

Reference
This part contains reference information. In This Section Together Glossary This glossary contains the basic terminology of Together. Together Keyboard Shortcuts Describes Together keyboard shortcuts. Additional Resources The following supplemental resources provide further insights into modeling, architecture, and design. Components of the Together User Interface This section describes GUI components of the Together user interface you use for modeling, quality assurance, requirements management and more. Together Projects This part contains reference information about the supported Together project types and formats and project properties. Preferences This part contains reference information about TogetherPreferences. Profiles Reference Contains reference information about Together profiles and profiles API. Business Process Diagram This section provides Business Process Modeling reference information. UML 1.4 Reference Contains reference material about UML 1.4 diagrams. UML 2.0 Reference This section contains reference material about UML 2.0 diagrams. Data Modeling Reference This part contains reference information related to data modeling. MDA This section provides reference information related to MDA. Requirements Management This part contains reference information about Together requirements management facilities. Patterns and Templates Together includes a number of predefined templates that you can apply to your projects. Customize templates using one of the three template editors. Use the Templates view to see and manage your templates. Quality Assurance This part contains reference information about Together audits and metrics. Project Documentation This part contains reference information about Together project documentation: command and syntax of the documentation generation utility, and reference information of the documentation template designer. Model Import and Export This part contains reference information about exchanging model information between Together and another applications.

680

Version Control This part contains reference information about the VCS in Together. Dialogs This part contains reference information about the various Togetherdialogs. Legal Notices for Together Legal notices for Together

681

Together Glossary
This topic contains a dictionary of specific terms used in the Together user interface and documentation. This dictionary is sorted alphabetically.
Term Description

Behavior Cardinality Classifier

In Together, a group of the following UML 2.0 model elements: activity, state machine, and interaction. The number of elements in a set. See also multiplicity. In general, a classifier is a classification of instances. It describes a set of instances that have features in common. In Together, a classifier is a group of the following model elements: class, interface, association class, structure, delegate, enumeration, module, interaction. In UML 2.0 projects this group includes the data type element as well. Some of the elements can include members or other classifiers. A classifier inserted into another classifier is called an inner classifier. Some of Together model elements (basically, classes) are represented by rectangles with several compartments inside. You can change the appearance of the compartments. See Related Reference below for details. A container is a classifier that can include one or more model elements, or members. One of the two basic project types supported by Together: design and implementation. A design project is language-neutral. It does not contain source code. A graphical presentation of a collection of shortcuts to model elements from one or more packages or namespaces. Most often a diagram is rendered as a connected graph of arcs (relationship links) and vertices (nodes). The set of available diagrams for a project depends on the project type. A language designed to accomplish a set of tasks within a particular domain. Compared to a general-purpose language, DSLs are typically smaller, more declarative and less expressive. A domain model is the part of a DSL that describes the entities and their relationships within a domain. One of the two basic project types supported by Together: design and implementation. An implementation project is language-specific. It includes diagrams and source code. An inner classifier is a classifier inserted into another classifier. An area on a UML 2.0 Sequence Diagram. Most often an invocation specification is located within an execution specification. This element is not defined in the UML 2.0 specification, but is introduced in Together. It is a useful tool for modeling synchronous invocations with the reply messages. A message in a UML 2.0 Sequence Diagrams has its origin in an invocation specification. A member is a model element inserted into a classifier, or a container. If a member is a classifier, it is called an inner classifier. Any component of your model that you can put into a package or a namespace. Model elements include nodes and links between them.

Compartment

Container Design project

Diagram

Domain-specific language (DSL)

Domain model Implementation project

Inner classifier Invocation specification

Member Model element

682

Multiplicity

A specification of the range of allowable cardinalities that a set may assume, for example: 0..*. Multiplicity specifications can be given for association ends, parts within composites, and other purposes. A multiplicity is a subset of the non-negative integers.

See also cardinality. An association among three or more nodes. In Together, an association class implements this functionality. Object Constraint language (OCL) A declarative language used to describe expressions on models. Typically, OCL describes constraints (or rules) about models. Package An element for storing diagrams, model elements, and other packages. For implementation projects, the same elements are known as a namespace and are connected to namespaces in the source code. N-ary association Every project in Together consists of one or more packages or namespaces. You cannot delete the default package (namespace). An oval model element that represents a pattern with a special predefined behavior. The role in a software development team that uses the DSL created by the Toolsmith. The role in a software development team that amplifies and extends software tools. Toolsmiths often create DSLs but also provide tool configurations, customizations and extensions. A presentation of a model element, diagram, namespace, package, or some external artifact placed on a diagram. A mechanism to show or hide a specific kind of model element. With large projects, the amount of information shown on a diagram can become overwhelming. In Together, you can selectively show or hide information. See Related Reference below for details. Related Concepts Help on Help Together Overview Related Procedures Working with Inner Classes Changing the Appearance of Compartments

Pattern instance Practitioner Toolsmith

Shortcut View filter

683

Together Keyboard Shortcuts
Together enables you to perform many diagram actions without using the mouse. You can navigate between diagrams and diagram elements, create diagram elements, use drag-and-drop operation, and more, using the keyboard only.

Navigational shortcut keys
Keyboard shortcuts for navigation and browsing:
Action Shortcut CTRL+TAB Notes

Navigate between open diagrams in the Diagram Editor Navigate between elements on a diagram Select elements Expand node in Model Navigator Collapse node in Model Navigator Open the Properties View Close current diagram Toggle between a selected container node and its members Navigate between nodes or node members

The title of the diagram that has focus is in bold text.

Arrow keys
SHIFT + arrow key RIGHT ARROW LEFT ARROW F4, or ALT + ENTER CTRL+F4 PGDOW /PGUP

Arrow keys, SHIFT + arrow keys

In the Diagram Editor , toggle focus between CTRL+SPACE selected element and diagram. Select on Diagram
CTRL+F3

Shortcut keys for editing
Keyboard shortcuts for editing:
Action Shortcut CTRL+X, CTRL+C, CTRL+V F2 CTRL+Z CTRL+Y, CTRL+SHIFT+Z CTRL+A ESC CTRL+E CTRL+L CTRL+M CTRL+W CTRL+SHIFT+L CTRL+SHIFT+N

Cut, Copy, or Paste model elements or members Activate the in-place editor for a diagram element to edit or rename a member Undo Redo Select all elements on the diagram Close the Overview window Add a new package to a diagram Add a new class to a diagram Add a new method (operation) to a class or interface Add a new field (attribute) to a class Add a new interface to diagram Add shortcuts

684

Add a new diagram from the Model Navigator

CTRL+SHIFT+D

Invoke Content Assist in the OCL editor, or check spelling in Description tab of Properties View CTRL+SPACE

Zoom shortcut keys
Keyboard shortcuts for zooming the diagram image:
Action Shortcut Notes + -

Zoom in Zoom out

Use the numeric keypad Use the numeric keypad Use the numeric keypad Use the numeric keypad

Fit the entire diagram in the Diagram Editor * Display the actual size
/

Cycling between the Diagram Editor and the Palette
Keyboard shortcuts for cycling between the diagram editor and the palette:
Action Shortcut TAB TAB TAB TAB

Navigate from the diagram name in focus to the Palette Navigate from the Palette in focus to Palette Minimize button Navigate from the Palette Minimize button in focus to Palette items Navigate from the Palette item in focus to the Diagram Editor and place focus on any selected item

Navigate from the Diagram Editor in focus to the Palette items. The last Palette item used is selected (otherwise SHIFT+TAB defaults to the Select option) Navigate from the Palette item in focus to Palette Minimize button Navigate from Palette Minimize button in focus to the Palette Navigate from the Palette in focus to the Diagram Editor
SHIFT+TAB SHIFT+TAB SHIFT+TAB

Palette item navigation
Keyboard shortcuts for navigating between Palette items:
Action Shortcut SPACE SPACE UPARROW or DOWNARROW ENTER ENTER TAB ESC

Expand or collapse the selected drawer in the Palette Select the current Palette item in focus Move the focus between Palette items Create a new shape item on the diagram if the Shape Palette item is in focus Create a new connection between the two selected diagram elements if the Connection Palette item is in focus Navigate to the diagram if the Palette item is in focus Deselect the Palette item that is in focus

685

Display stack popup list if Stack Palette item is in focus

ALT+DOWNARROW

Navigate between the available Palette tools on the stack if the Stack Palette item is in focus UPARROW or DOWNARROW Select an item from the stack popup list if the stack popup list is in focus
ENTER

Diagram navigation
Keyboard shortcuts for navigating between diagrams:
Action Shortcut ALT+DOWNARROW

Select a shape in the selected diagram

Cycle through the shapes that exist in the selected diagram. UPARROW, DOWNARROW, LEFTARROW, or RIGHTARROW A shape is selected when the eight side and corner size handles are displayed. Multi-select shapes on the selected diagram Invoke the context menu for the shape for the selected diagram
SHIFT+UPARROW, SHIFT+DOWNARROW, SHIFT +LEFTARROW, or SHIFT+RIGHTARROW SHIFT+F10

Shape navigation
Keyboard shortcuts for navigating between shapes:
Action Shortcut SHIFT+F10 . (period)

Invoke the context menu for the selected shape Cycle through the Position Handle, 8 Side and Corner Size Handles, and Position Handle for the selected shape (navigates in clockwise rotation) Cycle through the Position Handle, 8 Side and Corner Size Handles, and Position Handle for the selected shape (navigates in counter-clockwise rotation)

SHIFT+. (period)

Select any available connection (navigates clockwise among / the existing connections) Select any available connection (navigates counterclockwise among the existing connections) Select the shape compartment for the selected shape Deselect the selected shape by displaying the shape in an outline Change the shape size or position for the selected shape handle. A shaded shape is displayed showing the new size or position. Change the shape size or position for the selected shape handle in respect to the aspect ratio. A shaded shape is displayed showing the new size or position.
\ ALT+DOWNARROW CTRL+SPACE UPARROW, DOWNARROW, LEFTARROW, or RIGHTARROW

CTRL+UPARROW, CTRL+DOWNARROW, CTRL +LEFTARROW, or CTRL+RIGHTARROW

Change the shape size or position for the selected shape with CTRL+SHIFT+UPARROW, CTRL+SHIFT+DOWNARROW, respect to the shape's center. A shaded shape is displayed CTRL+SHIFT+LEFTARROW, or CTRL+SHIFT+RIGHTARROW showing the new size or position.

686

Deselect the selected shape handle Accept the current shaded shape

ESC ENTER

Revert to the original shape size or position for the selected ESC shape Select a compartment within the selected shape Navigate between the available compartments if a compartment is selected
ALT+DOWNARROW UPARROW or DOWNARROW

Select the shape compartment items. The first compartment ALT+DOWNARROW item is selected. Deselect the compartment and select the shape if a compartment is selected Navigate between the available compartment items
ALT+UPARROW UPARROW or DOWNARROW

Connection navigation
Keyboard shortcuts for navigating between connections
Action Shortcut SHIFT+F10

Invoke the context menu for the connection

Cycle through all of the connection labels if a connection is ALT+DOWNARROW selected. A connection label is selected when the four corner size handles are displayed. Connection labels can be navigated in the same manner as shapes. Deselect the connection label and select the connection if a connection label is selected
ALT+UPARROW

Deselect the connection and select the shape if a connection UPARROW, DOWNARROW, LEFTARROW, or RIGHTARROW is selected Deselect the selected connection by displaying the connection CTRL+SPACE in an outline Cycle through the endpoints, bendpoints, and midpoints of the . (period) or SHIFT+. (period) selected connection Allow the selected connection endpoint to be moved to a new UPARROW, DOWNARROW, LEFTARROW, or RIGHTARROW shape Move the connection bendpoint if the cursor is over a bendpoint UPARROW, DOWNARROW, LEFTARROW, or RIGHTARROW Accept the current location if the cursor is over a bendpoint
ENTER

Revert to the original location if the cursor is over a bendpoint ESC Move the new bendpoint Accept the new bendpoint Remove the bendpoint
UPARROW, DOWNARROW, LEFTARROW, or RIGHTARROW ENTER ESC

Properties view navigation
Keyboard shortcuts for navigating between Properties views:

687

Action

Shortcut

Cycle through the fields in the property section if a Properties field is selected and eventually SHIFT+TAB highlight the currently active Properties tab (cycles through the Properties View UI) Cycle through the fields in the property sections of the active Properties tab (cycles through TAB the Properties View UI in the opposite direction of SHIFT+TAB) Move focus among tabs in the Properties view if a Properties tab is highlighted
UPARROW or DOWNARROW

Other shortcut keys
Other keyboard shortcuts:
Action Shortcut Notes

Open the Print Diagram dialog box CTRL+P Diagram update Drag-and-drop operation
F5 >

While the focus is on the necessary element, press this key until the move handle is displayed. Move the element using the arrow keys and press ENTER to drop the element.

Related Concepts Help on Help Together Overview

688

Additional Resources
The following supplemental resources provide further insights into modeling, architecture, and design.

♦ High-Assurance Design: Architecting Secure and Reliable Enterprise Applications by Clifford Berg ♦ Beyond Software Architecture: Creating and Sustaining Winning Solutions by Luke Hohmann ♦ Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph
Johnson, and John Vlissides and Bobby Woolf

♦ Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe ♦ Enterprise Service Bus by David Chappell ♦ Enterprise SOA: Service-Oriented Architecture Best Practices (The Coad Series) by Dirk Krafzig, Karl Banke,
and Dirk Slama

♦ Object Design: Roles, Responsibilities, and Collaborations by Rebecca Wirfs-Brock and Alan McKean ♦ Patterns of Enterprise Application Architecture by Martin Fowler ♦ Refactoring to Patterns by Joshua Kerievsky ♦ Streamlined Object Modeling: Patterns, Rules, and Implementation by Jill Nicola, Mark Mayfield, Mike Abney,
and Michael Abney

♦ UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition by Martin Fowler ♦ Workflow Modeling: Tools for Process Improvement and Application Development by Alec Sharp and Patrick
McDermott

♦ The Object Constraint Language: Getting Your Models Ready for MDA, Second Edition by Jos Warmer and
Anneke Kleppe

♦ Eclipse Modeling Framework 2.0 by Frank Budinsky, Ed Merks, and David Steinberg

689

Components of the Together User Interface
This section describes GUI components of the Together user interface you use for modeling, quality assurance, requirements management and more. In This Section Menus This part contains reference information about the various Together menus. Model Bookmarks View This view lists available bookmarks and allows you to navigate directly to a book-marked model element. Compare Editor Use the Compare Editor to review and merge differences in the structure and properties of the models that you have compared. Tool Palette The diagram Palette displays special buttons for supported UML diagrams. Diagram View Use the Diagram View to display model diagrams. Metamodel Browser View Use the Metamodel Browser view to look up a metamodel that can be selected as a source or a target of a QVT transformation. Model Package Explorer View The Model Package Explorer displays the UML Content for all open Projects. OCL Expressions View Use the OCL Expressions view to quickly evaluate OCL expressions in the explicitly specified context (a Together or EMF model element), or in the context of the current selection. Properties View This view shows properties of the selected element. QVT Builder Use QVT Builder to generate Java code from your QVT source files. QVT Editor Use the QVT Editor to write your QVT transformation. XSL Editor Use the XSL Editor to write your XSL transformation scripts. Trace View Use the Trace view to inspect the results of a Model-To-Model QVT transformation. Trace Synchronizer View This topic provides information about the Trace Synchronizer view. You can use this view to find and fix desynchronized traces to CaliberRM or RequisitePro requirements. Templates View The Templates view displays currently available templates. Last Validation Results View The Last Validation view displays results of the latest validation of a pattern definition. Patterns and Template GUI Components This part describes GUI components of the Together interface you use for the Pattern features.

690

Quality Assurance GUI Components Describes GUI components of the Together interface that you use for Together Quality Assurance features. 691 .

Model Navigator The Model Navigator has several different context menus. Model Package Explorer Context Menus This topic describes the context menus in the Model Package Explorer. Common Element Context Commands The context menus of the various elements provide functions specific to each element. each specific to the resource selected.Menus In This Section Menus Lists the different menus in Together. Common Link Context Commands The context menus of the various link elements provide functions specific to each link. Package Context Menu All of the UML diagram types share common context menu commands. 692 . Common Diagram Context Commands The context menus of the various diagrams provide functions specific to each diagram.

and generate documentation. and apply transformations. Item Description File menu The File menu extends the capabilities of submenus by providing the ability to create. Refactor menu (Model Navigator View) The Refactor menu contains refactoring commands for the implementation projects. build projects and working sets. manage profiles. refer to the “Workbench menus” topic in the Workbench User Guide. which is the default configuration. and software updates. Run menu Use the Run menu to run and debug applications. Model menu Use the Model menu to run audits and metrics (for the implementation projects). discard build problems and built states. and to configure your run and debug options. the following menu items are visible. copy.Menus If you have all Modeling capabilities enabled. and delete diagrams and diagram elements. and the Modeling perspective opened. a search engine. Diagram menu Use the Diagram menu to create a new diagram or to configure how an existing diagram is displayed. The menu items that appear also depend on which view you have opened. Together is able to extend or replace existing Eclipse menus or add its own menus. compare models. Help menu Use the Help menu to access product and platform documentation. and undo/redo actions. import. and editors. and export Together artifacts. Project menu Use the Project menu to open and close projects. Edit menu Use the Edit menu to cut. Search menu The Search menu lets you explore all facilities to locate specific content or elements. Source menu (Model Navigator View) The Source menu contains commands for working with logical data model elements. Related Reference Diagram View 693 . paste. select all items on a diagram. Window menu Use the Window menu to select perspectives. views. tips and cheat sheets. For more information on the standard Eclipse menus. and to set your Together preferences. Note: Because it shares the same user interface environment as the Eclipse platform. Navigate menu Use the Navigate menu to locate and navigate through items displayed on your workbench.

some of the menu commands described may not be applicable. you can add new elements to the model. Creates a new diagram: Activity. each specific to the resource selected. the Hierarchy view will open. The Model Navigator is a dockable window. cut. Component. Class ♦ Element Level. For commands that are not mentioned here. It will replace the currently shown diagram with this one. Organize Imports Generates a list of import statements based on the import order preference. refer to the documentation set provided with your IDE. The Model Navigator has several different context menus. Operation ♦ Element Level. For more information. This section discusses the various context menus for the following resource levels in the Model Navigator: ♦ Project Level ♦ Package Level ♦ Diagram Level ♦ Element Level. Project Level Model Navigator projects offer the following context menu commands. refer to the Common Diagram Context Commands section. Collaboration. Open Type Hierarchy Highlights the node selected in the Hierarchy view. Class. Sequence. Together prompts for confirmation. However. Deployment. The docking areas are any of the four borders of the Together window. Link Note: Depending on your development platform. Select Help Contents on the Help menu. State. Some of the commands are the same across all the context menus. If closed. You can position the Model Navigator according to your preferences. Source Format Uses the code formatter to format the current selection.Model Navigator The Model Navigator provides the logical representation of the model of your project: namespaces (packages) and diagram nodes. and replaces old statements. Option Description New New Diagram Displays a submenu with all basic elements that can be added to the project. paste and delete elements. Use Case. The Hierarchy view will expand and highlight that element in the tree-view. Context menu commands of the Model Navigator are specific to each node. only the nodes and their respective subnodes shown in the Diagram Editor are listed under the corresponding diagram node. For example. refer to the documentation set provided with your IDE: select Help Contents on the Help menu. In the Model Navigator. copy. Explore these commands as you encounter them. if you have a package containing a class. Using this view. members of the class are not shown under the diagram node because they are displayed under the namespace (package) node only. For more 694 . and more. both the package and class are shown under the diagram node in the Model Navigator. refer to the documentation set provided with your IDE. Open Opens the project level diagram in the Diagram editor. Delete Deletes the selection. For more information. For more information. Open in New Tab Opens the project level diagram in the Diagram editor in a new tab.

however. This navigation takes place whether the selection was made in the Model Navigator 695 . for instance. there are some additional options available described below. refer to the documentation set provided with your IDE. Audit Runs audits against the selection. the context menu displays many of the same commands as at the project level. For details on other import options. Select Help Contents on the Help menu. Opens the Import wizard for a number of import options. Metrics Runs metrics against the selection. While the Properties command accessed through the Model Navigator opens the Properties view for the selected resource. For details on other export options. you should be aware that this differs from the Properties command accessed through the Navigator and Packages views. Load Metric Results Loads a previously saved set of metric results. Select Help Contents on the Help menu. The Navigator view Properties command. Displays project names that contain other occurrences of the selected design element. See “Saving and Loading Metric Results” for details. Select Help Contents on the Help menu.Refactor information. for instance. Rename Starts the Rename refactoring dialog. The icons next to the project names let you distinguish whether the referenced occurrence is in the home project of the element or in the read-only root of another project referencing the home project. refer to the documentation set provided with your IDE. Renames the selection and (if enabled) corrects all references to the elements (also in other files). See “Running Model Audits and Metrics” for details. For more information. Displays the properties for the selection in the Properties view. opens a project-specific Properties dialog. you can open the corresponding diagram that the element belongs to in the Diagram editor and highlight the element on the diagram. Begins the refactoring process to restructure your code without changing its observable behavior. some of which are Togetherspecific: UML Documentation and XMI File. refer to the documentation set provided with your IDE. Refreshes the current view. Opens the Export wizard for a number of export options. Find Strings to Externalize Launches the Externalize Strings Wizard. These selections override those made in the global Preferences dialogs. Option Description Select on Diagram Select in Project Using the Select on Diagram command. refer to the documentation set provided with your IDE. Selecting a project name from this menu changes (or navigates) the element selection from the current project to the element's other occurrence in the referenced project. Among other things. Moves the selection and (if enabled) corrects all references to the elements (also in other files). Move Starts the Move refactoring wizard. it allows you to turn templates and pattern-recognition on or off per project. See “Running Model Audits and Metrics” for details. Import Export Quality Assurance Refresh Properties Update Package Level Within the Model Navigator at the package level of a project. Using the update command will update the diagram. refer to the documentation set provided with your IDE. TEC also offers the ability to import Together Control Center projects. For more information. Follow this link for more information about the XMI File option. Select Help Contents on the Help menu. Select Help Contents on the Help menu.

Select in Project Displays project names that contain other occurrences of the selected design element. Refer to the topics on navigation and cross-project references for further information. The Packages view will expand and highlight that element in the tree-view. Class The context menu for class and interface elements has the following specific commands: Select on Diagram The Select on Diagram command highlights the node selected in the Diagram editor. 696 . it opens to display the node. Selecting a project name from this menu changes (or navigates) the element selection from the current project to the element's other occurrence in the referenced project. Operation The context menu for an operation has the following specific commands: Select on Diagram The Select on Diagram command highlights the operation selected in the Diagram editor. Element Level. Element Level. it opens to display the operation. Diagram Level The context menu of the diagram level of a project displays the same commands as at the package level.context or in a diagram context. The icons next to the project names let you distinguish whether the referenced occurrence is in the home project of the element or in the read-only root of another project referencing the home project. The icons next to the project names let you distinguish whether the referenced occurrence is in the home project of the element or in the read-only root of another project referencing the home project. Select in Project Displays project names that contain other occurrences of the selected design element. the Packages view will open. If closed. If the diagram is closed. Selecting a project name from this menu changes (or navigates) the element selection from the current project to the element's other occurrence in the referenced project. This navigation takes place whether the selection was made in the Model Navigator context or in a diagram context. Refer to the topics on navigation and cross-project references for further information. Show in Model Package Explorer The Show in Model Package Explorer command highlights the node selected in the Model Package Explorer tree-view. Refer to the topics on navigation and crossproject references for further information. Element Level. If closed. If the diagram is closed. This navigation takes place whether the selection was made in the Model Navigator context or in a diagram context. see Common Link Context Commands. Show in Packages View The Show in Packages View command highlights the node selected in the Packages tree-view. Link For information on the link level context menu. the Model Package Explorer view will open. The Model Package Explorer view will expand and highlight that element in the tree-view.

and Source Code Related Reference Common Link Context Commands 697 . Diagram.Related Procedures Running Model Audits and Metrics Saving and Loading Metric Results Establishing cross-project references Navigating between the Tree View.

refer to the documentation set provided with your IDE. click the Up button. Format Uses the code formatter to format the current selection. Copies the selection. Depending on your development platform. Project Menu New Go Into Open in New Window Open Type Hierarchy Copy Paste Delete Source Displays a submenu with all elements that can be created. A confirmation dialog opens before deletion. For more information. Deletes selection. This section discusses the following Model Package Explorer context menus. See Workbench User Guide for details. For more information. Displays the contents of the selected item in a new instance of Together. Opens the Import wizard for a number of import options.Model Package Explorer Context Menus The Model Package Explorer has many different context menus. For more information. TEC also offers the ability to import Together Control Center projects. Find Strings to Externalize Launches the Externalize Strings Wizard. From the menubar. For more information. On the main menu. Follow this link for more information about the XMI File option. Renames the selection and (if enabled) corrects all references to the elements (also in other files). This menu contains commands similar to the Debug command on the main menu. refer to the documentation set provided with your IDE. some of which are Togetherspecific: UML Documentation and XMI File. Refreshes the selection. and it therefore inherits all the corresponding Eclipse interface's views and menus while adding some modeling-specific items to those menus. refer to the documentation set provided with your IDE. For more information. Closes selected project. Displays the contents of the selected item in the Model Package Explorer. Move Starts the Move refactoring wizard. Begins the refactoring process to restructure your code without changing its observable behavior. refer to the documentation set provided with your IDE. refer to the documentation set provided with your IDE. refer to the documentation set provided with your IDE. Opens the type Hierarchy view. refer to the documentation set provided with your IDE. This menu contains commands similar to the Run command on the main menu. Opens the Export wizard for a number of export options. All others are hidden. See Workbench User Guide for details. Pastes a copied selection. For details on other import options. To return to views of parent resources. refer to the documentation set provided with your IDE. for instance. Note: Together can leverage all Java development functionality from Eclipse's JDT. each specific to the resource selected. Rename Starts the Rename refactoring dialog. Organize Imports Generates list of import statements based on the import order preference and replaces old statements. some of the following menu commands described might not be applicable. For more information. Refactor Import Export Refresh Close Project Run Debug 698 . choose Help Help Contents. click Help Help Contents. For details on other export options. Moves the selection and (if enabled) corrects all references to the elements (also in other files).

Offers a submenu with the following options: Patch Allows you to share work with other team members without storing it in a repository. CaliberRM connections Displays the Open Connection dialog box with available connections. If necessary. Metrics Run metrics on the selection. you can create patches. and so on. See “Saving and Loading Metric Results” for more information. Each Other Compares two files. Audits Folder Menu The folder menu commands are documented in the Project Menu section. Package Menu The package menu commands are documented in the Project Menu section except for the following: Select on Diagram Opens the corresponding diagram that the element belongs to in the Diagram editor and highlights the element on the diagram. Load Audit Results Loads the results of a previous audit run. See “Saving and Loading Metric Results” for more information. Properties Opens the selected Project Properties dialog box. refer to the documentation set provided with your IDE. The icons next to the project names let you distinguish whether the referenced occurrence is in the home project of the element or in the read-only root of another project referencing the home project.” Use Compare With to compare the resources in the workspace with the resources held within the repository. Quality Assurance Run audits on the selection. Select two diagrams in the Model Package Explorer view by using CTRL+CLICK. This navigation takes place whether the selection was made in the Model Navigator context or in a diagram context. Selecting a project name from this menu changes (or navigates) the element selection from the current project to the element's other occurrence in the referenced project. After a project is added. For more information. Refer to the topics on navigation and cross-project references for further information. Open Diagram References 699 . See “Running Model Audits and Metrics” for more information. commit. For more information. Connections to CaliberRM servers can be specified on the CaliberRM page of the Preferences dialog box. Together allows you to run a default QA set or create your own. then invoke Compare With Each Other. Together allows you to run a default QA set or create your own. see “Using Version Control and Teams in Together. Restore From Local History Allows you to restore a resource with a saved version from your local history. synchronize with repository. Opens the package diagram. the Diagram Editor opens first. Workspace Searches the entire workbench for references to the selection. Select in Project This command is also available for compilation units in the Package Explorer view. Displays project names that contain other occurrences of the selected design element. Load Metric Results Loads the results of a previous metrics run.Team Compare With Use the Team command to add a project to the repository. See “Running Model Audits and Metrics” for more information. Use the Patch command to access this type of resource.

Export Opens the Export wizard. Creates a new diagram. Open Opens the selected diagram in the Diagram Editor . Package Diagram Menu The menu shown below is for a default package diagram. Copy Copies the selection to the clipboard. For more information on using bookmarks. Hyperlinks The Hyperlinks command offers a submenu with the following options: Edit Using Edit. Menus for specific diagram types may not contain all of the commands listed. and remove hyperlinks to a project. See “Saving and Loading Metric Results” for details. Selecting a project name from this menu changes (or navigates) the element selection from the current project to the element's other occurrence in the referenced project. You can also bookmark individual lines of code in the editor. Metrics Runs metrics against the selection. Open in New Tab Opens the selected diagram on a new tab in the Diagram Editor . Cut Removes the selection to the clipboard. This navigation takes place whether the selection was made in the Model Navigator context or in a diagram context. Delete Opens a confirmation dialog before deleting the selection. refer to the documentation set provided with your IDE. If closed. the Model Navigator will open. See “Running Model Audits and Metrics” for details. allowing you to specify which working set to search. Displays a submenu with all basic elements that can be added to a diagram. Highlights the selection in the Model Navigator. Displays project names that contain other occurrences of the selected design element. see “Hyperlinking Diagrams. Package Declaration Menu The commands for this menu are documented in the Package Menu section. Refer to the topics on navigation and cross-project references for further information. Show in Packages View Highlights the selection in the Package Explorer. Import Opens the Import wizard. You can view bookmarks in the Bookmarks view. you can view. For more information on hyperlinks. See “Running Model Audits and Metrics” for details. allowing you to specify which working set to search. Paste Pastes a cut or copied selection in a new location. Working Set Opens the Select Working Sets dialog. the Package Explorer will open. You can later choose to Paste the element. Load Metric Results Loads a previously saved set of metric results. add. You can later choose to Paste the element. Quality Assurance Audit Runs audits against the selection. Creates a new class diagram from the selection. Workspace Searches the entire workbench for references to the selection. Add Bookmark Allows you to bookmark the selection. If closed.” New New Diagram Generate Class Diagram Select in Model Tree Select in Project 700 .Declarations Working Set Opens the Select Working Sets dialog. The icons next to the project names let you distinguish whether the referenced occurrence is in the home project of the element or in the read-only root of another project referencing the home project. Rename Opens the Rename dialog to rename the selection.

allowing you to specify which working set to search.” Use the Team command to add a project to the repository. Working Set Opens the Select Working Sets dialog. Hierarchy Searches the Hierarchy view for declarations of the selection. Opens the Properties view for the selection. 701 .Requirements References <Hyperlink> <Hyperlink> represents an actual hyperlinked element. refer to the documentation set provided with your IDE. see “Using Version Control and Teams in Together. and external editors. see “Hiding and Showing Model Elements. Opens the Export Diagram to Image dialog box. Use Replace With to replace Workbench resources with versions in the repository. If there are no hyperlinks for the diagram. Java Scrapbook Page Menu The commands on this menu are documented in the above sections. For more information. If you do not see an element in a diagram. Declarations Export to Image Hide/Show Team Compare With Replace With Properties Update Compilation Unit Menu The compilation unit menu commands are explained in the above sections except for the following: Open With Allows you to choose. For more information. Workspace Searches the entire workbench for references to the selection. which lets you save the class or interface as a template. which lets you create an image of the selection. then only the Edit option is available. Hides individual elements on a diagram. After a project is added. JPEG. allowing you to specify which working set to search. You can export to Bitmap. and SVG formats.” Save As Template Selecting the Save As Template command displays the Create Template dialog. GIF.” Use Compare With to compare the resources in the Workbench with the resources held within the repository. and so on. which lets you apply templates. default. Allows you to edit requirements traces. Working Set Opens the Select Working Sets dialog. For more information. see “Working with the Templates. Apply Template Opens the Apply Template wizard. Hierarchy Searches the Hierarchy view for references to the selection. synchronize with repository. No-Icon File Menu The commands on this menu are documented in the above sections. you can create patches. For more information. choose Show hidden from the diagram context menu and check the hidden elements list. You can determine which editors are available in the File Associations Preferences dialog. from a submenu. Refreshes the selection. commit. refer to the CaliberRM plugin help. an editor with which to open the selection. Workspace Searches the entire workbench for references to the selection. For more information on using system.

Create Plugin JARs Creates an Ant buildscript and opens the Run Ant wizard with the build. This may be done to deploy the plugins/fragments in your workspace. Field Menu The commands on this menu are documented in the Compilation Unit Menu section except for the following: Read Access Finds all read accesses to the selection. see the Tool Developer guide. Plugin Menu The commands on this menu are documented in the above sections except for the following: Update Classpath Opens the Java Classpath wizard. Cascading Style Sheet Menu The commands on this menu are documented in the above sections. HTML File Menu The commands on this menu are documented in the above sections. Write Access Finds all write accesses to the selection. The dialog displays a list of plug-ins and fragments in your workspace. Search the Workspace/Hierarchy or select a Working Set to search. Search the Workspace/Hierarchy or select a Working Set to search.jars option selected by default. Import Container Menu The commands on this menu are documented in the above sections.XML File Menu The commands on this menu are documented in the above sections. Image File Menu The commands on this menu are documented in the above sections. 702 . Select the ones for which you want to recompute classpaths. Method Menu The commands on this menu are documented in the above sections. Type/Interface Menu The commands on this menu are documented in the above sections. For more on creating and deploying plugins.

and external editors. Diagram. but may also include the following: Open With Allows you to choose. from a submenu. an editor with which to open the selection. default. Related Procedures Using Version Control and Teams in Together Running Model Audits and Metrics Saving and Loading Metric Results Hyperlinking Diagrams Hiding and Showing Model Elements Using Version Control and Teams in Together Working with the Templates Establishing cross-project references Navigating between the Tree View.Import Menu The commands on this menu are documented in the above sections. For more information on using system. and Source Code Related Reference Common Link Context Commands 703 . JAR Menus The commands on this menu are documented in the above sections. refer to the documentation set provided with your IDE. You can determine which editors are available in the File Associations Preferences dialog.

However. each diagram has the following common context menu commands. For more information. Clone The Clone command lets you quickly create a new diagram or element with the same content as the existing one. You can then choose to Paste the element into a new location. To use the context menu for a diagram. Paste element Use this command to paste a copied diagram or element as a shortcut to another diagram. After copying an element. 704 . If closed. see “Navigating between the Tree View. you can paste a diagram that has been cut or copied. New Each diagram has the New command.” Paste Using the Paste command. Diagram. see “Working with Custom OCL Operations. Explore the context menus of the different diagrams as you encounter them to see the commands available for each one. for the most part. Cloning is basically a one-step copy-and-paste. From the Diagram editor. For more information. simply right-click the background of the diagram in the Diagram editor. Rename The Rename dialog renames the element and refactors the change throughout the project. and Source Code. Select in Model Tree The Select in Model Tree command highlights the node selected in the Model Navigator tree-view. Each diagram has a submenu specific to the New command containing each diagram's specific elements. Most of the commands are similar in all the Together projects. An element that can be cut/copied and pasted can also be cloned by using the Clone command. you can Paste it into a new location. the Model Navigator will open. all of the UML diagrams do share common context menu commands. The Model Navigator will expand and highlight that element in the tree-view.Common Diagram Context Commands The context menus of the various diagrams provide functions specific to each diagram. Copy This action copies the selected diagram.” Cut This action removes the diagram.

implementations. For more information on linking requirements to diagram elements.” <Hyperlink> <Hyperlink> represents an actual hyperlinked element. Using the dialog. remove.Delete The Delete command will delete the element from the project. add. and inheritance according to the specified types and scopes.” Synchronize Traces Opens the Trace Synchronizer dialog. see “Hyperlinking Diagrams. then only the Edit option displays. You can set. see “Creating Traces from Requirements to Model Elements. A Confirmation dialog opens to confirm the deletion. Hyperlinks The Hyperlinks command offers a submenu with the following options: Option Description Edit Using Edit. Refactor Moves/Renames and Refactors a project or element. Other options are displayed in the submenu based on the selection. and remove hyperlinks to a project. Export Opens the Select dialog box with available export destinations. you can view. Import Opens the Select dialog box with available import sources. Requirements The Requirements Management command offers a submenu with the following commands: Option Description Manage Traces Opens the Manage Traces dialog. Add Linked Provides search options for references. and view bookmarks using the Bookmarks view. add. For more information on hyperlinks. which lets you search for traced CaliberRM requirements or model elements with local and server copies that become desynchronized 705 . and remove requirements associated with the element. If there are no hyperlinks for the diagram. Dialogs let you enter the needed information or locations. Model Bookmark Bookmarks allow you to navigate to resources that are frequently used. you can view. which lets you define traces from a model element selected in the Diagram editor or Model Navigator to CaliberRM or RequisitePro requirements.

see “Trace Synchronizer Dialog Box. the submenu lists such requirements. Once the project is added. For more information. Refer to the documentation set provided with your IDE for complete information. see “Properties View. For more information. The found desynchronized traces are displayed in the Trace Synchronizer view. Layout The Layout command offers a submenu with options for laying out your diagram elements.” If the diagram is associated with requirements. Hide / Show Note that individual elements on a diagram can be hidden using the element context menu.” Team Use the Team command to add a project to the repository.for some reason. choose Hide/Show from the diagram context menu and check the hidden elements list in the Show Hidden dialog. you can create patches. Click on a requirement to open it in the CaliberRM or RequisitePro Navigator. synchronize with repository. see “Hiding and Showing Model Elements. choose Help Help Contents. For more information on synchronizing traces. and Source Code Working with Custom OCL Operations Hyperlinking Diagrams Creating Traces from Requirements to Model Elements Hiding and Showing Model Elements Common Diagrams Procedures Related Reference Trace Synchronizer Dialog Box Properties View 706 . and so on. Diagram. commit.” Related Procedures Navigating between the Tree View. If you do not see an element in a diagram. From the menubar. Properties The Properties command opens the Properties view for the current element or diagram.

♦ Selecting Object from the submenu adds an object element to the diagram. you can use shortcuts. and New Diagram commands. It includes the Open. Invoking the Shortcut command displays a selection dialog. ♦ Selecting Interface from the submenu adds an interface element to the diagram. The new diagrams are created in the current package. To use the context menu for a diagram. or to another diagram. ♦ To refer to an element located outside of the current diagram. The package context menu shares the common context menu commands as well as commands specific to it: ♦ New ♦ New Diagram (for package elements) ♦ Generate Class Diagram ♦ Show in Packages View ♦ Show in Model Package Explorer ♦ Open (for package elements) ♦ Open in New Tab (for package elements) ♦ Quality Assurance New The New command for the package element offers a submenu with the following options: ♦ Selecting Class from the submenu adds a class element to the diagram. ♦ Selecting Package from the submenu adds a package element to the diagram. Open in New Tab. see “Common Diagram Context Commands. ♦ Selecting Class by Template launches the Apply Template dialog displaying the available templates. Generate Class Diagram The Generate Class Diagram command creates an exact copy of the package diagram as a new class diagram. To view the common context menu commands. ♦ Selecting Note from the submenu adds a note element to the diagram. where you can choose the desired element (or diagram) from the appropriate location.Package Context Menu All of the UML diagram types share common context menu commands. Make a selection from the list to apply a template. simply right-click in the Diagram Editor . 707 . New Diagram The New Diagram command for the package element offers a submenu allowing you to create new diagrams.” The context menu for a package element residing on a diagram differs slightly from the package diagram context menu.

For more information. Using the Open command will keep the current diagram open.Show in Packages View The Show in Packages View command highlights the node selected in the Packages tree-view. Open When selecting a package element on a diagram. If closed. This command resides on the context menu for package elements on diagrams. this view will open. This command resides on the context menu for package elements on diagrams.” ♦ Selecting Audit from the submenu processes audits for only the specific diagram. you can open the package diagram in the Diagram editor by using the Open command. Open in Active Editor When selecting a package element on a diagram.” “Running Source Code Audits. you can open the package diagram in the Diagram editor by using the Open in Active Editor command. If closed. Using the Open in Active Editor command will replace the currently opened diagram with the newly opened diagram. see Related Procedures Saving and Loading Metric Results Running Source Code Metrics Running Source Code Audits Related Reference Common Diagram Context Commands 708 . see “Saving and Loading Metric Results. the Packages view will open. The Model Package Explorer view will expand and highlight that element in the tree-view. while the newly opened diagram opens in its own tabbed page in the Diagram editor. Show in Model Package Explorer View The Show in Model Package Explorer View command highlights the node selected in the UML Explorer tree-view. you can save those metric results and view them ♦ Selecting Metrics from the submenu processes metrics for only the specific diagram. For more information. see “Running Source Code Metrics. The Packages view will expand and highlight that element in the tree-view. Use this command to load a set of metrics results. Quality Assurance The Quality Assurance command for the class diagram offers a submenu with the following options: ♦ After you have run metrics on a project or part of a project. For more information.” whenever you like.

select Window Preferences from the main menu. This action copies the selected element. To use the context menu for an element. The icons next to the project names let you distinguish whether the referenced occurrence is in the home project of the element or in the read-only root of another project referencing the home project. Explore the context menus of the different elements as you encounter them to see the commands available for each one. An element that can be cut/copied and pasted can also be cloned by using the Clone command. cut-copy-paste. Clone The Clone command lets you quickly create a new element with the same content as the existing one. 709 . you can Paste it into a new location.Common Element Context Commands Select element Right-click The context menus of the various elements provide functions specific to each element. Copy One of the usual edit operations. For example. By default. simply right-click on the element in the Diagram Editor . Select in Project The Select in Project command displays project names that contain other occurrences of the selected design element. you can add or delete members from a class. and more. For more information. a prompt appears warning users of this before the paste is complete. for the most part. Cloning is basically a one-step copy-and-paste. hide and show elements. You can then Paste the element into a new location. After copying an element. you can paste an element that has been cut or copied. all of the UML elements do share common context menu commands. Each element has the following common context menu commands: Select in Model Tree The Select in Model Tree command highlights the node selected in the Model Navigator tree-view. This action deletes the source element from the current Diagram Editor . This navigation takes place whether the selection was made in the Model Navigator context or in a diagram context. the Model Navigator will open. If closed. Refer to the topics on navigation and cross-project references for further information. Using the Paste command. To disable this warning. Cut One of the usual edit operations. Note: Pasting elements from one package to another also maps relationships of those elements to the target package.” Paste One of the usual edit operations. see “Working with Custom OCL Operations. The Model Navigator will expand and highlight that element in the tree-view. However. Selecting a project name from this menu changes (or navigates) the element selection from the current project to the element's other occurrence in the referenced project.

If there are no hyperlinks for the diagram. Paste shortcut Use this command to paste a copied diagram element as a short cut on another diagram. Delete The Delete command will delete the element from the project.” <Hyperlink> <Hyperlink> represents an actual hyperlinked element. Requirements The Requirements Management command offers a submenu with the following commands: Option Description Manage Traces Opens the Manage Traces dialog.” Synchronize Traces Opens the Trace Synchronizer dialog. and view bookmarks using the Bookmarks view. see “Creating Traces from Requirements to Model Elements. which lets you define traces from a model element selected in the Diagram Editor or Model Navigator to CaliberRM or RequisitePro requirements. You can set. Hyperlinks The Hyperlinks command offers a submenu for managing and viewing hyperlinks: Option Description Edit Using Edit. Add Linked Provides search options for references. Rename The Rename dialog renames the element and refactors the change throughout the project. you can view. and remove requirements associated with the element. see “Hyperlinking Diagrams. A Confirmation dialog opens to confirm the deletion. add. implementations. remove. For more information on linking requirements to diagram elements. then only the Edit option displays. you can view. For more information on hyperlinks. and inheritance according to the specified types and scopes. which lets you search for traced CaliberRM requirements or model elements with local and server copies that become desynchronized 710 . add.choose the Modeling node. and uncheck the Show warning about relationships when elements copied option. Model Bookmark Bookmarks allow you to navigate to resources that are frequently used. and remove hyperlinks to a project. Using the dialog.

Diagram. Optimize Size Use this command to resize an element to its default size. Print Use the Print command to print a single diagram element. Hide Individual elements can be hidden in diagrams using the Hide command. For more information. For elements that contain subelements. see “Trace Synchronizer Dialog Box. Use CTRL + CLICK to select multiple diagram elements for printing. see “Properties View. the default size will respect the position of the subelements and remain large enough to show them. The found desynchronized traces are displayed in the Trace Synchronizer view. For more information on synchronizing traces. Properties Using the Properties command opens the Properties View for the current element. and Source Code Related Reference Trace Synchronizer Dialog Box Properties View 711 . the submenu lists such requirements.” If the selected element is associated with requirements.for some reason. If you do not see an element in a diagram. choose Hide/Show from the Diagram context menu and check the hidden elements list. Click on a requirement to open it in the CaliberRM or RequisitePro Navigator.” Related Procedures Working with Custom OCL Operations Hyperlinking Diagrams Creating Traces from Requirements to Model Elements Common Diagrams Procedures Establishing cross-project references Navigating between the Tree View.

Individual elements can be hidden in diagrams using the Hide command. Scroll to Destination If the required end of the link is out of reach. see “Navigating between the Tree View. If you do not see an element in a diagram. and inheritance according to the specified types and scopes. Generate Class Diagram The Generate Class Diagram command creates an exact copy of the diagram as a new class diagram. Active only where applicable. In the example shown above. Each link has the following common context menu commands: Option Description Scroll to Source If the required end of the link is out of reach. Diagram. implementations. see “Hyperlinking Diagrams. Available cardinality choices are: 712 . A Confirmation dialog opens to confirm the deletion. the Model Navigator will open. The Properties command opens the Properties view for the current element. The Model Navigator will expand and highlight that element in the tree-view. If there are no hyperlinks for the diagram. choose Scroll to Source to scroll to the client end of the link. aggregation. you can view. Client Cardinality Choose the appropriate cardinality from the drop-down list. For more information. To use the context menu for a link. Shared Commands For the most part.” Link Type Use the submenu list of the link types to specify an association. For more information. Option Description Add Linked Provides search options for references. and Source Code. and remove hyperlinks to a project. Hyperlinks The Hyperlinks command offers a submenu with the following commands: Using Edit. all of the link elements share common context menu commands. For more information.” Delete The Delete command will delete the element from the project. the following commands are often encountered. and inheritance according to the specified types and scopes. or composition link. see “Properties View.” <Hyperlink> <Hyperlink> represents an actual hyperlinked element. If closed. simply right-click the link in the Diagram editor. choose Hide / Show from the Diagram context menu and check the hidden elements list. add. implementations. Select in Model Tree The Select in Model Tree command highlights the node selected in the Model Navigator tree-view. Explore the context menus of the different link elements as you encounter them to see the commands available for each one. see “Creating a Diagram.Common Link Context Commands The context menus of the various link elements provide functions specific to each link.” Edit Hide Properties Widely Encountered Commands Perhaps not available on context menus for all diagram elements. Add Linked Provides search options for references. Activity is a hyperlinked element. choose Scroll to Destination to scroll to the supplier end of the link. then only the Edit option displays. For more information on hyperlinks.

.1 1 0.* 1. Add client qualifier Add supplier qualifier Related Procedures Navigating between the Tree View.1 1 0.Supplier Cardinality 0.. Use this command to designate a qualified association to reduce multiplicity for associations...* Use this command to designate a qualified association to reduce multiplicity for associations. Diagram. and Source Code Hyperlinking Diagrams Creating a Diagram Related Reference Properties View 713 ..* Choose the appropriate cardinality from the list.. Available cardinality choices are: 0.* 1.

if necessary. Using the context menu.Model Bookmarks View The Model Bookmarks view lists book-marked model elements. 714 . you can navigate to the book-marked element on the diagram or remove a bookmark from the list. Selects all bookmarks. Removes one or more selected bookmarks. Context Menu Commands Show in Model Navigator Select All Remove Bookmark Select on Diagram Highlights the element in the Model Navigator. Highlights the selected bookmark on the diagram. The diagram opens in the Diagram Editor.

Copy to the right Moves the selected change from the left window (local model) to the right window (remote model). Problems Use the Problems area to view problems found during model comparison. Show Containment References Toggles plain and structured view of the Structure Compare area. Navigate Shows the selected element in the Model Navigator view. Double-click the difference to open details in the Changed Properties and Substructure/Properties Merge areas. Substructure/Properties Merge Use the Substructure/Properties Merge area to review the differences found in the structure and between properties of the compared models. Undo Redo Copy to the left Steps one step back in the history of the applied commands. The structured view displays references to containment features (if any) for a particular difference. Steps one step forth in the history of the applied commands. Element Displays the name of the problematic model element. Source Specifies in which model the problem occurs: Left (local model) or Right (remote model). Related Concepts Model Compare and Merge Related Procedures Comparing and Merging Models 715 . Collapse All Collapses all nodes in the Structure Compare area. Expand All Expands all nodes in the Structure Compare area.Compare Editor Model Compare With Each Other (As Models or Model Elements) Use the Compare Editor to review and merge differences in the structure and properties of the models which you have compared. Export Result Opens the Export Result wizard that allows you to export the comparison results to a text file. Structure Compare Use the Structure Compare area to view the differences found during model comparison. Description Displays the problem description. Moves the selected change from the right window (remote model) to the left window (local model).

Tool Palette Window Show View Together extends Palette of the platform of by adding model elements to it. Note: The set of available model elements depends on the type of the current diagram and active profiles. the appropriate buttons are also displayed in the Palette. The Together diagram Palette displays special buttons for the supported UML diagrams. In the diagram Palette you see the top level model elements that can be placed on the current diagram. When a diagram opens in the Diagram Editor . Related Procedures Adding a Single Model Element to a Diagram Creating a Simple Link 716 .

including class members. attributes. Any changes to the names of your model components (classes. Some of the actions provided by the context menus are: ♦ Add or delete diagram elements and links ♦ Add or delete members in the elements ♦ Create elements by pattern ♦ Cut. Right-clicking model elements. Diagram. and Source Code 717 . choose a diagram. provides access to element-specific operations on the respective context menu. Each diagram is presented in its own tab. OCL Editor The OCL Editor is used to enter and edit OCL expressions. To open the Diagram View. namespace or a package in the Model View. copy. Most manipulations with diagram elements and links involve drag-and-drop operations or executing right-click (or context) menu commands on the selected elements. Overview button Opens the Overview pane (see below). and so on) used in these expressions are automatically updated by Together. operations. The Overview button is located in the bottom right corner of every diagram. Right-clicking the diagram background opens the context menu for the diagram. Related Concepts Together Diagram Overview About OCL Support in Together Related Procedures Creating a Diagram Navigating between the Tree View. The context menus of the Diagram View are context-sensitive. right-click it and choose Open Diagram on the context menu. Overview pane The overview feature of the Diagram View provides a thumbnail view of the current diagram. and paste the selected items ♦ Navigate to the source code ♦ Hyperlink diagrams ♦ Zoom in and out Item Description Working area Context menu The main part of the Diagram View shows the current diagram.Diagram View Context menu (in the Model View) Open Diagram The Diagram View displays model diagrams. This guarantees that your OCL constraints always stay up-to-date.

Related Concepts Model Transformation Support Related Procedures Applying Model-To-Model Transformations Applying Model-To-Text Transformations Related Reference QVT Editor QVT Builder 718 . where you can locate a metaclass by any substring of its name.Metamodel Browser View Window Show View MDA Metamodel Browser Use the Metamodel Browser view to look up a metamodel that can be selected as a source or a target of a QVT transformation. Returns to the metamodel tree. Wildcards are supported. the inherited features are displayed in each node. the fully-qualified names of the classifiers display. Returns to the parent node. If this button is pressed. Opens the Find Classifier dialog. Toolbar Item Description Go into Go back Go home Collapse all Show inherited features Show fully-qualified names Find classifier Expands the selected node and displays the nested contents. Collapses all open nodes. If this button is pressed.

For more information on working sets. This view combines useful visual and functional advantages from the Together Model Navigator with the Package Explorer. opens the edit field in which you can type your own filter patterns to hide from view. it becomes an additional option in the Model Package Explorer filters menu. You can see all of your diagram elements at a glance while also keeping an eye on . choose Help Help Contents. Filters In the upper-right corner of the Model Package Explorer view. Deletion is performed without prompt. After a working set is selected. Expands the selected node and hides others from view. This button becomes active after you use the Go Into context command. Empty by default. Filter description Displays a description of the selected filter. referenced libraries. Warning: Exercise caution when using the Remove button. Together Model folder). determining which resources are displayed. Buttons Button Description Back Go Into Up Returns to previous tree view display. Context menus in this view also access commands from both the Model Navigator and Package Explorer. Together diagram files.Model Package Explorer View The Model Package Explorer displays the UML Content for all open Projects. Deselect Working Set Returns the Model Package Explorer to the default view. consult the documentation set provided with your IDE. Select Working Set Opens the Select Working Set dialog. Off by default. Edit Active Working Set Makes changes to the current working set. empty parent packages. and all other project files. From the menu bar. the down-arrow menu offers the following commands: Option Description Name filter patterns If selected. 719 . Collapse Collapses nodes in view. Select the filters Specifies resources to hide from view (. XML.java. Returns view to parent structure level. Working sets allow you to customize your view.*files.

Note. which lets you choose a context model or model element from your workspace and add it to the current list of contexts. children of a UML 2. Opens the Workspace Contents dialog box. Opens the Add model dialog box. The second level contains OCL expressions. Add EMF Model Element. Evaluation errors display in red with the <errors during evaluation> label. that the OCL Expressions view does not automatically refresh contexts and expressions when the referenced models change. The screen shot below shows Class1 from a UML 2. The OCL Expressions view displays a tree structure with several levels.0 model in the current selection.or collection-like results). or in the context of the current selection. Toolbar Item Description Add Together Model Element. The children of the second element are expressions in the uml::together::Model OCL context . enable the corresponding metamodels in the OCL Preferences dialog box. Hide/Unhide Empty Nodes Hides/Displays empty expression nodes. which lets you choose a context EMF model or model element from your workspace and add it to the current list of contexts. The OCL Expressions view preserves manually added contexts and OCL expressions after the Workbench restart.. Note: To use OCL in EMF models. Refresh Reevaluates the selected OCL expressions and reloads the selected contexts. which lets you specify the URI of a context model or model element that you want to add to the current list of contexts. Add URI. A context element specifies the model element against which Together evaluates child expressions. or as expression children (for model. For example.0 class context element will be evaluated in the uml20::classes::Class OCL context. Evaluation results are displayed either in expression labels (for simple results). The children of the Class1 element are expressions in the uml20::classes::Class OCL context.OCL Expressions View OCLExpressionsView editor_context Use the OCL Expressions view to quickly evaluate OCL expressions in the explicitly specified context (a Together or EMF model element).. and error messages are displayed as children of the expression node.. with the predefined Current selection context. and the model itself explicitly added as the second context. The OCL Expressions view evaluates your OCL expressions in real time as you work on your model. The first level contains contexts... 720 .. The OCL context of child expressions is defined by the type of the context element. Opens the Model Elements dialog box.

The dialog box supports OCL error reporting and code completion options.. which lets you edit the selected OCL expression.. Opens the Model Elements dialog box... Disable Expression Disables real-time evaluation of the selected OCL expression node and all its children. Refresh Reevaluates OCL expressions currently in the OCL Expressions view. Opens the Edit. Add EMF Model Element.. which lets you compose a new OCL expression and add it as a direct child of the selected context model or model element. Delete Removes the selected expression or context model element from the view. dialog box.. Opens the Edit...Context Menu Item Description Add Together Model Element.... dialog box. which lets you choose a context model or model element from your workspace and add it to the current list of contexts. Related Concepts About OCL Support in Together Related Procedures Creating Constraints Opening MDA Views 721 .. Opens the Workspace Contents dialog box.. Add Expression.. which lets you specify the URI of a context model or model element that you want to add to the current list of contexts. Add URI. Enable Expression Enables real-time evaluation of the selected OCL expression node and all its children. which lets you choose a context EMF model or model element from your workspace and add it to the current list of contexts. Opens the Add model dialog box. Edit.

in full-screen mode in the Inspector context) Show Real Objects' About dialog with license information Properties This section displays the common properties of the selected object. cut. See each element description for details. Use the Properties View to set properties for all diagrams and elements. The number of fields in this section varies depending on the selected diagram or element. Words that are displayed with a red underline are not recognized by the editor's dictionary. 722 . Select the word with a red underline and open the context menu to see spelling suggestions. Groups of properties display on the left of the Properties View. Description Use this field to add description text for a diagram or element. Custom This section displays the custom properties and their values specified for the selected object. italic. or paster Bold.Properties View Context menu Properties Every diagram and element has a general Properties View. The Value value column displays the values of the properties of a selected resource. Text in the Source tab is displayed with HTML formatting. You can disable automatic spell checking. A list of spelling checkersuggestions is available in the context menu. that is. The Property column displays the names of the properties of a selected resource. The following keyboard shortcuts are available: Ctrl+A Ctrl+ ->/<Del/Backspace Ctrl+Z/Y Ctrl+C/X/V. The Properties View displays properties in two columns: Property and Value. There are 'WYSIWYG and Source View tabs. The composition of the Properties View changes depending on the element or diagram selected in the Diagram Editor or Model Navigator. Add Creates a new entry in the list of properties. Double-click on a value to edit. or underline Increase/Decrease indent (in a lists context) Insert non-breaking whitespace Insert acronym Clear all formatting for the selection Show whitespace characters (linebreaks) Show WYSIWYG only (without Source view. Shift+Del/Ins Ctrl+B/I/U Ctrl+M/Ctrl+Shift+M Ctrl+Shift+Space Ctrl+Ctrl+Space Ctrl+Shift+8 F11 Ctrl+Alt+I Select all Next or previous word Remove current or previous character Undo or redo Copy. Remove Deletes the selected entry from the list of properties.

German. Use the drop-down list to set difficulty to High or Low. You can specify a requirements document for the diagram or elements. and Spanish. 723 . Click the ellipse button to add values. Remove Deletes the selected hyperlink. Medium represents the default value. British English. and difficulty for diagrams and individual elements. where you can select elements to be linked with the current element. French. Item Description Add hyperlink Opens the Hyperlinks dialog. Use this field to add author properties.Note: You can configure the spelling settings from the WYSIWYG tab. Requirements You can track various requirements properties including type. Use the document field to link to a specific document. The available Spelling properties are American English. priority. traces author difficulty document Displays the number of traces associated with the selected element. Edit tab item Description Undo Redo B I U S Align left Align center Align right Align justify Decrease indent Increase indent Add ordered list Add unordered list Insert table Insert row below Insert column left Insert image Insert hyperlink Spelling settings Auto spelling checker Undoes an action Redoes an action Applies bold style Applies italic Applies underlining Applies strikethrough Applies align left Applies align center Applies align right Applies align justify Applies decrease indent Applies increase indent Adds an ordered list Adds an unordered list Inserts a table Inserts a row below the current row Inserts a column to the left of the current column Inserts an image Inserts a hyperlink Apply spelling checker settings Enable or disable automatic spell checking Hyperlinks Use this field to add hyperlinks to the element. Remove all Removes all hyperlinks from the element.

Minimize Minimizes current properties view to the view title. interface. 0. Use the drop-down list to set the appropriate type. Product Requirement. View Diagrams do not have view properties. drop-down button Available for certain properties. 255. Displays a list of available options to choose from. Use this field to add a requirements description. and so on) will have the view properties listed below: 2D look The property value can be set as Yes or No. Chooser button Available for certain properties. a selection wizard. Maximize Maximizes the current view to the entire window. font This fields sets the font for the element. Underlin Increase/Decrease indent (this is reasonable in a lists context Clear all formatting in the selection 724 . click the Restore button. this button restores the selected property to its default value. Medium represents the default value. or a file chooser dialog. Buttons for the Properties View Show/Hide Categories: This button groups lines under their appropriate categories. click the Restore button. Menu Displays the Show/Hide Categories and Filter Properties commands. Past Bold. Information button Available for certain properties. You can choose from Business Rule. background color This field sets the RGB background color for the element. Feature. enabling you to select an element from the Model. Performance. Restore Default Value If you make changes to a value. Rich Text Editor Shortcuts The following keyboard shortcuts are available for the Rich Text Editor: Ctrl+A Del/Backspace Ctrl+Z/Y Ctrl+C/X/V. Basic properties are always shown. Each element (class. 0} represents the default color value. 255} represents the default color value. To show the entire view. Yes represents the default value. Use the drop-down list to set priority to High or Low.number priority req. May display a small text editor for larger text entries. or User Need. Use the text field to designate a testcase requirement. object. To restore the view. description testcase type Use the number field to assign a requirement number. {0. Use the drop-down list to choose a color. foreground color This field sets the RGB foreground color for the element. Click the ellipse button to add text. Filter Properties This button determines whether advanced properties are displayed in this view. Use the drop-down list to choose a color.Shift+Del/Ins Ctrl+B/I/U Ctrl+M/Ctrl+Shift+M Ctrl+Space Select all Remove current/previous character Undo/Red Copy. {255. Italic. Cut. Displays the Selection dialog.

full screen in the context of the Inspector) Show Real Objects' About dialog with license informatio 725 . but has not been integrated on Mac OSX Next/Previous wor Insert non-breaking whitespace Shows WYSIWYG view only (without a Source view. that is. Works with Windows and Linux.Ctrl+Shift+8 Ctrl+->/<Ctrl+Shift+Space F11 Ctrl+Alt+I Show whitespace characters (linebreaks).

The generated code is placed in the Java source folder specified in the QVT Settings page of your transformation project Properties dialog box. You can then compile Java files using the Eclipse Java builder.QVT Builder Use QVT Builder to generate Java code from your QVT source files. Related Concepts Model Transformation Support Related Procedures Applying Model-To-Model Transformations Applying Model-To-Text Transformations Related Reference QVT Editor 726 .

QVT Editor Use the QVT Editor to write your QVT transformation. Related Concepts Model Transformation Support Related Procedures Creating a Model-To-Model Transformation Creating Model-To-Text Transformations Related Reference QVT Language QVT Builder 727 . The QVT Editor provides QVT code sense and auto-complete (CTRL+SPACE) options. The QVT-specific Outline view displays an outline of the structure of the currently active QVT file in the editor area.

The XSL Editor provides XSL code sense and auto-complete (CTRL+SPACE) options.XSL Editor Use the XSL Editor to write your XSL transformation scripts. Related Concepts Model Transformation Support Related Procedures Creating an XSL Transformation 728 . The XSL-specific Outline view displays an outline of the structure of the currently active XSL file in the editor area.

Trace View Use the Trace view to inspect the results of a Model-To-Model QVT transformation. Displays the object after the transformation. Displays the object before the transformation. The view displays the trace file. Show Target Navigates to the element that is the result of the selected transformation step. Displays the method in the source code that executes the transformation step. Context Menu Item Description Show Source Navigates to the element that is the source of the selected transformation step. which contains detailed information about every transformation step performed. Item Description # From To Method Displays the number of the executed transformation step. Related Concepts Model Transformation Support Related Procedures Opening MDA Views 729 .

Update Trace Discards local changes and updates the selected traces from the repository. Displays the summary information about the current trace status. The object is new. Displays the name of the trace source. Save as HTML Opens the Save As dialog box. Information about the object is up to date. Displays the name of the source CaliberRM or Together project. Refresh trace synchronization information Refreshes the trace information displayed in the Trace Synchronizer view. Toolbar buttons and context menu items Synchronize Traces Opens the Trace Synchronizer dialog box. Restore Trace Discards changes in the repository and restores the requirement information stored in the model. Displays the name of the trace source. Displays the status of the trace target. Status items Not Found Current Missed New Modified Outdated Information about the object is not found. Navigate to Trace Source Opens the trace source (requirement) in the CaliberRM or RequisitePro Navigator depending on the requirement type. Related Concepts Requirements Management 730 . The object becomes outdated. The object has been modified.. Requirements Trace Synchronizer This topic provides information about the Trace Synchronizer view. You can use this view to find and fix desynchronized traces to CaliberRM or RequisitePro requirements. Delete Trace Deletes the trace. Navigate to Trace Target Opens the trace target (model element) in the appropriate editor. Columns Status Trace from Trace from project Status Trace to Trace to project Status summary Displays the status of the trace source.. Information about the object is missing. Displays the name of the target CaliberRM or Together project. where you can export the current content of the Trace Synchronizer view to an HTML file.Trace Synchronizer View Window Show View Other.

These templates can be applied to open projects that have been template-enabled. Note: New projects will not be displayed in the Templates view until they contain a template. Each category contains subcategories related to the individual templates it contains. Class.Templates View Window Show view Other Patterns and Templates Templates The Templates view displays currently available templates. each language contains a Local Templates node. Button Description Sort templates Sorts the nodes in the view alphabetically. They are divided into three categories: Link. Together is shipped with a number of templates for the supported languages (Java. By default. and Package. which includes all the templates predefined and shipped with Together. Related Procedures Working with the Templates Editing Templates Related Reference Templates View Context Menus 731 . OMG CORBA IDL and C++).

Last Validation Results View Window Show view Other Patterns and Templates Last Validation Results The Last Validation view displays results of the latest validation of a pattern definition. This view opens automatically when the validation process reports errors. Related Procedures Validating Pattern Definition Projects 732 .

Pattern Registry This topic describes the Pattern Registry window. 733 .Patterns and Template GUI Components This part describes GUI components of the Together interface you use for Together Pattern features. In This Section Pattern Explorer This topic describes the Pattern Explorer view.

and manage recognized instances of patterns. Select in Model Tree Sets highlight to the selected pattern instance in the Model Navigator. Verify pattern Checks validity of the selected pattern. not with the actual patterns. folders and shortcuts). Clear invalid instances Deletes invalid instances of a pattern from the model. This command is available for pattern nodes. Add as shortcut to diagram Creates a shortcut to the pattern instance on the current diagram. shortcuts to the same pattern may be included in several folders. Because of this. When applied to a model folder. Select on diagram Sets highlight to the selected pattern instance in diagram. This command is available for pattern nodes. Related Concepts Patterns and Templates Related Reference Pattern Registry 734 . Context menu command Description Delete instance Deletes a pattern instance from the model. You are working with shortcuts in Pattern Explorer. deletes all pattern instances.Pattern Explorer Window Show view Other Patterns and Templates Pattern Explorer The Pattern Explorer enables you to logically organize patterns (using virtual trees.

When attempting to delete a shortcut. Cut This command is available for the patterns. Copies the selected pattern to clipboard.Pattern Registry Window Show view Patterns and Templates Pattern Registry The Pattern Registry defines the virtual hierarchy of patterns. where you can specify the new name of a category or a pattern. Related Concepts Patterns and Templates Related Reference Pattern Explorer 735 . Command Description New This command is available for the categories. You can choose to create a new nested category or a new pattern. the registry keeps the plain list of definitions and a tree of folders and shortcuts to definitions. copy. All operations with the contents of the Pattern Registry are performed in the Pattern Explorer and synchronized with the Pattern Registry. Delete Deletes the selected category or pattern. Rename Opens the Rename dialog. Pattern Registry allows several shortcuts to the same definition in different folders. Delete pattern definition This command is available for the patterns. Edit pattern definition Opens a pattern definition project of the selected pattern. Pastes a pattern from the clipboard to the selected category. The context menu of the pattern shortcuts in the Pattern Registry allows you to rename. The structure of the pattern registry is a simple tree with two separated subtrees with common root. internally. Requires confirmation. In case the shortcut is the last one that refers to the corresponding pattern. therefore. Requires confirmation. the program warns you that deleting this shortcut will result in the loss of the corresponding pattern definition. Cuts the selected pattern to clipboard. These separated subtrees represent folder structures: one is taken from Eclipse extensions and another from workspace-specific local data. Pattern Registry shows a tree of folders with shortcuts to patterns. Paste This command is available for the categories. and delete the selected pattern. Copy This command is available for the patterns. you are prompted whether the shortcut should be deleted or the definition and all its shortcuts. Deletes the pattern definition and all shortcuts to it from the Registry. You can create virtual folders and group the patterns logically to meet your specific requirements.

Class. which includes all the templates predefined and shipped with Together. These templates can be applied to open projects that have been template-enabled. Button Description Sort templates Sorts the nodes in the view alphabetically. Related Procedures Working with the Templates Editing Templates Related Reference Templates View Context Menus 736 . Each category contains subcategories related to the individual templates it contains. and Package. each language contains a Local Templates node. They are divided into three categories: Link. OMG CORBA IDL and C++). By default. Together is shipped with a number of templates for the supported languages (Java. Note: New projects will not be displayed in the Templates view until they contain a template.Templates View Window Show view Other Patterns and Templates Templates The Templates view displays currently available templates.

Related Procedures Validating Pattern Definition Projects 737 . This view opens automatically when the validation process reports errors.Last Validation Results View Window Show view Other Patterns and Templates Last Validation Results The Last Validation view displays results of the latest validation of a pattern definition.

Model Audits View Use the Model Audits view to display and export model audits results. 738 . Metric View Use the Metric view to display and export metric results.Quality Assurance GUI Components Describes GUI components of the Together interface that you use for Together Quality Assurance features. Model Metrics View Use the Model Metrics view to display and export model metric results. Chart View Displays Kiviat graph. In This Section Audit View Use the Audits View to display and export audit results.

. If no fix is available. Load Audit Results Load results of perviously run audits. Show Description Displays a window with the full name and description of the selected audit. Detection Metrics When a problem detection audit line is selected in the Audits View. Opens the Quick Fix dialog box and offers suggested quick fixes and suppression fixes as available. Audit View Context Menu Item Description Go To Fix Highlights affected code in the editor. Print Displays the system print dialog allowing you to print the audit results set. Export Dialog Opens the Export QA results to file dialog box. Group By Groups audits based on selection. where you can choose a format and destination for saving the displayed audit results.. Show Suppressed Messages Only Filters the results table to show only suppressed messages. from which you can paste them into an external document. Refresh Recalculates the results that are currently displayed. A lightbulb icon in the Audits View toolbar also indicates that a possible fix is available. Copy Copies the currently displayed QA results into the clipboard. 739 . Refresh Reruns the same QA check on the selected resources. Audit View Toolbar Item Description Quick Fix Opens the Quick Fix dialog box and offers suggested quick fixes and suppression fixes as available. Preferences Displays the Audit tab of the QA Source Preferences dialog box. Opens a submenu from which you can open a previously ran audit or clear the history. UnGroup Ungroups audits.Audit View Use the Audits View to display and export audit results. Not all audit results have fixes. History. the problem detection metric displays in the Metrics View. or all the packages or classes that you processed. Hide Selected Hides specific audit results based on selection. Audit View Results Table The results table displays only audit violations. Search in Displays a dialog box for searching audit results. Description Displays the audit description in the help window. Show All Hidden Shows hidden audit results. the results do not necessarily display all of the audits that you ran. For this reason. the choices are dimmed. Audit View Pull Down Menu Item Description Show Suppressed Messages Enables displaying suppressed messages. Export Opens the Export QA results to file dialog box.

in general. In Folder Displays the path to the folder that contains the file with a problem code.Column Description Description Describes why the audit flagged the item. Location The line number in the file where the problem code is located. violations of the audit are considered to be. ! Indicates how serious. This will help you sort the results and assess which violations are critical and which are not. Related Concepts Quality Assurance Related Procedures Viewing Audit Results Running Source Code Audits 740 . Resource The source code file that was flagged by the audit.

The metrics results report is displayed as a table in the Metrics View. Opens a submenu from which you can choose a previously ran metric to compare with currently displayed results. where you can choose a format and destination for saving the displayed metric results. and the columns display the corresponding values of selected metrics. Opens a submenu from which you can open a previously ran metric or clear the history. Graph displays in a new view.. Search in Displays a dialog box that lets you search metric results. from which you can paste them into an external document. Metrics View Toolbar Item Description Compare With. Related Concepts Quality Assurance Related Procedures Running Source Code Metrics Viewing Metric Results 741 . History. and produce graphical output. Bar Graph Displays a bar graph for the selected metric. from which you can choose a format and destination for saving the results displayed. Description Displays the metric description in the help window. Set Filter. The rows display the elements that were analyzed. Refresh Reruns the same QA check on the selected resources. Kiviat Graph Displays a Kiviat Graph for the selected resource. Refresh Recalculates the results that are currently displayed. Print Displays the system print dialog allowing you to print the metric results set. Preferences Displays the Metric tab of the QA Source Preferences dialog box. Export Dialog Opens the Export QA results to file dialog box. Graph displays in a new view. Copy Copies the currently displayed QA results into the clipboard. Metrics View Context Menu Item Description Go To Highlights affected code in editor. Load Metric Results Opens a dialog box from which you can load a previously saved metric results file.... Export Opens the Export QA results to file dialog box. Context menus of the rows and columns enable you to navigate to the source code. view descriptions of the metrics. Export Opens the Export QA results to file dialog box.. Opens a submenu from which you can choose a filter to narrow the list of currently displayed results.Metric View Use the Metric view to display and export metric results. Load Metric Results Load results of previously run metrics..

Model Audits View Context Menu Option Description Go To Preferences Group By Ungroup Hide Current Highlights the affected element in the Model Navigator view and Diagram Editor. Hides specific audit results based on selection.. Entity Name Name of the element that needs you attention. Model Audits View Toolbar Option Description Refresh Recalculates the results that are currently displayed. Export Results Displays the Export QA result to file dialog box. Load Audit Results Loads results of previously run model audits. Show All Hidden Shows hidden audit results. Opens a submenu from which you can open a previously ran audit or clear the history. For a full description. Model Audits View Elements Option Description Description Brief description of the audit item. Ungroups audits. or Hide Current Entity.Model Audits View When you run model audits on your model. Groups audits based on selection. Parent Path Name and path of the parent model item. Clean Up Removes all audit results. You can select from Hide Current Row. Hide Current Audit. Audit Text Displays the code of the selected audit.. Related Concepts Model Audits Related Procedures Running Model Audits and Metrics Related Reference QA Model 742 . Displays the Audit tab of the Model Quality Assurance Preferences dialog box. ! Severity of the audit item. point to the audit in the list and see the description in the opened tooltip. You can select Group by Audit or Group by Entity. the Model Audits view with results table opens. History.

Model Metrics View Elements Option Description Entity Name of the model element. the Model Metrics view with results table opens. Displays the Metric tab of the Model Quality Assurance Preferences dialog box. Viewing Metrics as Graphs Running Model Audits and Metrics Related Reference QA Model 743 . Metric Text Displays the code of the selected metric. The Export Results command opens the Export QA result to file dialog box. Graph displays in a new view. Removes all metrics results. Option Description Go To Preferences Kiviat Graph Clean Up Export Results Load Metric Results Related Procedures Highlights affected element in the Model Navigator view and Diagram Editor. Model Metrics View Context Menu The Export Results command opens the Export QA result to a file dialog box. Loads results of previously run model metrics. Select a column and the corresponding metric code is displayed under the Metric Text.Model Metrics View When you run model metrics on your code. Each column with an abbreviation in its name represents a certain metric. Displays a Kiviat Graph for the selected resource.

Related Concepts Quality Assurance Related Procedures Running Source Code Metrics Viewing Metric Results 744 .Chart View The Chart view displays a Kiviat or bar graph when you choose to view the metrics results as a graph.

and language-specific pages for C++ and IDL projects. IDL Language-Specific Information This topic describes the special fields for CORBA IDL inspectors. New Together Project Wizards This section describes the common pages of the Wizards used to create new Together modeling projects. In This Section Project Properties Use this dialog box to modify your project's properties. 745 .Together Projects This part contains reference information about the supported Together project types and formats and project properties. C++ Projects This section provides specific information related to C++ projects.

txaPackage file.. while settings that you treat as package properties (semantical information. — View or modify the set of audits that is used during your source project build. Note that you can only change sets of audits and metrics if you check the Override workspace settings check box.txvpck diagram file. In the Model Navigator or in the Navigator. such as layout) is retained in the default. — Create elements as standalone files. This option is on by default. — View or modify the sets of audits and metrics to be used in the project. there are some properties specific to Together projects: Open this property page. — Select profiles to be used in the project. This page is available for transformation projects only. such as descriptions and custom properties) are moved from the default.. Changing this option from this dialog converts the project files. — Preserves all properties of the package diagram. Note that you can only change the set of audits if you check the Enable project specific settings check box.. Turning this option off allows you to track your package changes using version control.. only diagram-specific information (visual information. QVT Settings Profiles QA Model QA Builder Properties Store package properties in package diagram files Create elements in separate files Related Concepts UML Profiles Related Reference QVT Settings QA Builder Properties 746 .txvpck diagram file.Project Properties Project Properties You can modify the Together Project properties using the Properties dialog box. in the default. all design elements are stored in one file as file mates. — Enable cross-project references in the list of imported projects. If this option is not checked. Among the general properties for a project. both visual and semantical. to. — Specify the Java source folder that is used for storing Java code generated by QVT Builder. If this option is not checked. right-click a project and choose Properties on the context menu. Model path — Define the name of the model folder used to store diagrams and design elements.txvpck file into the default.

C++ Project Properties This section describes the options for setting your C++ project properties. In This Section Special Considerations for C++ Projects This section describes special issues to be considered when defining the C++ project configuration. 747 . members and links. C++ Language-Specific Properties of the Model Elements The Properties View displays these special fields for the C++ node elements. and the way Together handles syntax constructs.C++ Projects This section provides specific information related to C++ projects.

an #include directive is parsed whenever it is encountered. The project must achieve a proper balance between the completeness of the model at runtime and resources used. especially for existing source code. A file that is an entry point is parsed once.Special Considerations for C++ Projects In this section: ♦ Project configuration issues ♦ Header and implementation files ♦ Reverse engineering tips ♦ Processing syntax constructs Project configuration issues The task of creating and configuring C++ projects is important. In order for Together to retrieve a class by name. MFC. Preprocessor When working with the preprocessor. There are certain differences in parsing between TCC and Together: 748 . they define portions of the source code that may or may not be displayed in the object model. Entry points In order to support the building of a correct model described by C++ code. Together must process all available files at the outset. consider the following: Macro definitions The object model depends on resolving macro definitions. The size of these libraries may be significant (for example. all known classes must be visible when the project opens. and OWL) even when the project itself makes use of only a small portion of the libraries. Together parses the files that are specified in the #include directives. Two C++ language characteristics place limitations on C++ projects in Together: ♦ fully qualified class names in C++ need not correspond to the actual physical locations of the classes ♦ C++ uses a preprocessor File Structure The lack of correspondence between class names and source code files can impact memory demand. Because macros are used in the course of conditional compilation. #include directives Together projects are folder oriented. thus increasing memory demand for C++ projects. An entry point is a file explicitly defined as a point from which the parser will start. or in the entry points that are defined during project creation. The memory demand becomes crucial when the project uses many libraries. VCL. Header files and implementation (definition) files that reside in project folders are processed. Together introduces the concept of entry points.

#include conventions Together uses the standard convention to discriminate between the project internal and external headers. The Together parser cannot equally fit all possible combinations. use the following: ♦ C++ dialect property in the project settings ♦ Skip standard includes property in the project settings ♦ Predefined macros property in the project settings ♦ preinclude. Symbols found on multiple passes are merged according to their signatures in a manner similar to how a linker would operate when producing an executable from different object files. and make/compile tools used. opening an existing project may cause the parser to report unexpected errors that do not appear when the project is compiled. #include The files in the project path and in the include path determine the structure of a project. When you place a new class on a class diagram. Together parser exercises the same approach as all compilers do. Each file was parsed only once. Header and implementation files There are two kinds of C++ source code files: header files and implementation files. ♦ Internal files are included via #include "filename" directives (with quotes).♦ The TCC parser processed all project files in an arbitrary order. Together creates a header file with a name that matches the class. ♦ In Together the parsing order is explicitly defined by means of entry points and include directives. While processing the #include directives. This helps restrict the number of files handled within a project. ♦ External files are included via #include <filename> directives (with angle braces). determine suffixes for each file. In large-scale projects. The C++ language options. implicitly defined by the C++ dialect. taking into consideration the include directives. specified in the Project Properties dialog. Proper organization of entry points is critical for the correctness of the model and for the overall performance. To tune the Together parser to a specific project with its concrete combination. Tip: #include directives automatically contain a relative path to the project root. it parses header files as many times as they are included. all of the sources that are considered external (standard or third party libraries) with respect to the entire project structure should be added to the include path. Each file is parsed as many times as it appears in the include directives that can be reached from the entry points. Together parses all files in the include path.inc 749 . As a result. Reverse engineering tips Existing C++ projects normally have an additional context. An implementation file is created manually from an operation context menu (refer to “Creating Header and Implementation Files in C++ Projects”).

Such members are displayed in diagram elements as separate entries. Processing syntax constructs Together parses syntax constructs and displays them in diagrams according to the C++ language options. When a forward declaration for a class or a type is encountered in the source code. 750 . This option is available in the project properties. Global functions and variables Currently not represented in diagrams.inc before it processes any other C++ file available to the project. If a strucutre is encountered in the source code. it displays in the diagram as a class node with the stereotype <<union>>. you can use preinclude. It treats preinclude.Using preinclude. an empty preinclude. if you use the Properties View of an attribute or an operation to select its type. Instead you can use a shortened form.b. Particularly. the name on the diagram node is the name of the structure variable (or the first such variable if there are more than one). it is displayed on a class diagram as a rectangle with the stereotype <<typedef>> and the typedef identifier as the name. If the structure is anonymous. Together processes preinclude. When an explicit or implicit template specialization is encountered in the source code. However. Multi-Declarations You can use multi-declarations of class members in the source code. it displays in the diagram as a class node with the stereotype <<struct>>. deleting and editing in the Diagram Editor or in the Properties View are prohibited. When a new project is created.}. Alternatively.inc almost the same as other C++ files. as they are in their original places. Note: Normally you need just enough definitions to avoid unexpected parser errors. The notation does not support members or inheritance.inc to make some macros or additional reserved words defined for the Together parser explicitly by means of appropriate #define and/or #include directives. For example: class Class1 { private:int a. typedefs are listed among the available model element types. it is displayed in the diagram as a class node and a template binding link to the template class. Typedefs display in class diagrams as class nodes. unless the definition of this class is available. except that it ignores the file’s symbol declarations. Together lets you create declarations for the forward declarations using the context menu command. the corresponding inheritance or association link goes to the model element that represents this specialization. If the typedef declaration simply creates another name for a known type. Union Structure If a union is encountered in the source code. Furthermore. It may not be necessary to copy all of them.inc file is created as a placeholder. The Model Navigator lists the types as ordinary model elements.inc file. you can make Together ignore all external #include directives and place the required directives into the preinclude.inc gives you more flexibility than using predefined macros. it is displayed in the diagram as a class node with the stereotype <<forward>>. Typedef Forward declaration Template specialization If a template specialization usage appears in the inheritance or as a type of attribute.

Related Concepts Language Support Related Procedures Configuring C++ Projects Creating. Editing and Opening Header and Implementation Files in C++ Projects Related Reference New project Wizard C++ Language-Specific Options 751 .

protected. and unsigned short. Checkbox for adding a const keyword to a function.) and file chooser to browse to your own type. Text area and file chooser button to help with exceptions. Checkbox for adding the volatile keyword to an operation. double. Operation Properties Description return type definition file throw visibility virtual const inline volatile Combobox (bool. long. private.cpp file.C++ Language-Specific Properties of the Model Elements The Properties View displays these special fields for the C++ node elements. Checkbox for adding a virtual modifier to a function. float. protected. New project Wizard C++ Language-Specific Options 752 . unsigned long. long double. unsigned short) and file chooser to browse to your own type. short. string. protected. float. public. private. Checkbox for indicating an operation as inline. long. public. int. string. unsigned. unsigned long. Attribute properties Description type visibility combobox (bool. double. Text area and file chooser for the *. char. Generalization link properties Description visibility virtual Related Concepts Language Support Related Reference public. unsigned. long double. char. and private Checkbox for adding a virtual modifier to a function. members and links: Class and Interface properties Description definition file namespace Lists the filename of the associated definition file. int. Text area for the class namespace. short.

Toggle Read-Only Status Use this button to make selected roots readonly or to clear the read-only attribute. Configure entry points Use this button to add specific files as entry points. Enter the path to the text field. C++ Processing Settings Use this tab to define C++ specific settings. This root is used as a target container when automatically creating new files. Make Default Root Use this button to choose the selected folder as the default root. Remove Click this button to delete the selected folder from the path. these are *. Tip: Alternatively. Use as a source folder Include Paths Include search paths Folders in this area are included in the search path. Usually. Add the folder corresponding to the package to the build path if the package is the root of packages and source files.” Link additional source to project Use this button to open the Link Additional Source dialog and add the sources that reside outside of the project. Configure inclusion and exclusion Use this button to create the inclusion and filters exclusion filters instead of including and excluding each folder or file manually. You do not need to add header files. 753 .cpp files.C++ Project Properties Project Properties Project properties are defined while the project is being created in the New Project wizard.cpp files. Tab Description Project Source Path Use this tab to define projects paths. You can modify these properties using the Project Properties dialog that displays the same fields. C++ generating class name prefix Each new class name starts with the specified prefix. Add Click this button to add a folder to the project search path. Entries on the build path are visible to the compiler and used for building. because they are processed from inclusion in *. For more information. refer to “Special Considerations for C++ Projects. Use this tab to include search paths to the project. Use this button to add the selected package to the build path. Edit Click this button to modify the include folder. Exclude/Include Use these alternative buttons to make the folder contents invisible or visible to the compiler. or use the Browse button to locate the specific folder. Remove from build path Children of the folder will not be seen by the compiler anymore and will not be included when building the project. choose Properties on the context menu of a C++ project node in the Model Navigator.

C++ generating file extension File name has the specified extension. New file default head comment Specify the text that will be displayed in the generated C++ files. Package filter Enter the names of the packages that you would like to filter out. Recognize free comments as doc If this option is checked. Preinclude file name Specify the name of the preinclude file (if any). the Javadoc comments will be recognized. or pure C ++. The possible options are: GNU. Predefined macros Specify the list of predefined macros. Skip standard includes If this option is checked. the #include <filename> directives (in angle brackets) are ignored. the decorators describing compilation errors will be displayed in the Problems View and Resource Navigator. Tip: Do not confuse the name of this option with the standard C++ library. the compiler recognizes the keyword wchar_t as a data type. Together provides its own Borland indexer that reuses the results of project parsing.C++ generating definition file extension Each new class has the specified extension. Recognize wchar_t as a data type If this option is checked. C/C++ Indexer Related Concepts Language Support Related Reference New project Wizard C++ Language-Specific Options Special Considerations for C++ Projects 754 . to make its contents available for all participants of the project. C++ generating file name prefix Name of the file that contains C++ classes starts with the specified prefix. C++ dialect support Select a C++ dialect from the list. Using any other indexer results in increased memory consumption because the other indexers need to parse the Together project again. Enable messenger If this option is checked. MS. which will be available for the whole project.

unsigned long long. custom Checkbox for adding a custom modifier to a valuetype. context The property editor for adding values to the context property. type any. long double. the Boolean property is set to true. its name is displayed in the diagram in italics. double. long double. long long. short. module The text area to enter a module name for an interface. raises The text area and file chooser button to associate an exception with an operation. long long. module The text area to enter a module name for a valuetype. If an interface is defined as local. return type any. extends The text area and a file chooser to define the parent valuetype. and wchar. octet. long double.IDL Language-Specific Information CORBA IDL inspectors have these special fields: Item Description Struct Properties Interface Properties module The text area to enter a module name for a struct. double. If this property is set to true. long. char. char. abstract Checkbox to add an abstract modifier to a valuetype. string. abstract When this checkbox is checked. boolean. oneway Checkbox for adding a oneway modifier to an interface operation. string. float. long. float. the initial value property adds to the list of properties. short. short. float. the Boolean property is set to true. unsigned short. unsigned long. octet. octet. and a file chooser button to browse to your own return value. string. and a file chooser button to browse to your own type. Multiple values are commadelimited. read only Checkbox for adding a read only modifier to an attribute. local When this checkbox is checked. boolean. boolean. unsigned long. unsigned short. long long. const Checkbox for adding a const modifier to an attribute. supports The text area and file chooser button for an interface name. type any. double. module The text area to enter a module name for an exception or enumeration. unsigned long long. and Interface and Valuetype Operation Properties Interface and Valuetype Attribute Properties Valuetype Properties Exception and Enumeration Properties Exception and Struct Attribute (Member) Properties 755 . unsigned long long. long. unsigned long. unsigned short. char. and void.

It can also be drawn between an interface and a valuetype. choosing the Default Union template from the Templates list. Related Concepts Language Support 756 . For example. Tip: CORBA IDL exception-type classes do not contain operations. Create unions with the Class By Template button of the Palette. These class types contain only attributes. This is a read-only field. and a file chooser button to browse to your own type A generalization link can be drawn between two interfaces or two valuetypes. where the client for the link is a valuetype and the supplier is an interface.Generalization Link Properties Union wchar. switch type Shows union discriminator type. Together provides limited support to the unions. you cannot add an attribute from the diagram or create a link from the union module Text area to enter a module name for a union.

757 . New project Wizard C++ Language-Specific Options You can specify the C++ language-specific options through the New Project Wizard. New project Wizard IDL Language-Specific Options You can specify the IDL language-specific options through the New Project Wizard. In This Section New Project Wizard Common Pages This topic describes the options for using the common pages of the New Project Wizard. New project Wizard Data Modeling Specific Options You can specify the data modeling options through the New Project Wizard. and language-specific pages for C++ and IDL projects. Convert MDL Wizard You can base a design project on an existing MDL model.New Together Project Wizards This