Poseidon for UML

Dr. Marko Boger

Elizabeth Graß

Matthias Köster


Table of Contents
1. About Gentleware and Poseidon for UML
About Gentleware and Poseidon for UML
Our Vision
Innovation
Cooperation
Contact
New Features in Version 6.x
About This Document
2. Editions
Community Edition
Standard Edition
Professional Edition
Embedded Edition
Edition Comparison
3. Installation and First Start
Prerequisites
Additional Requirements for MacOS X Users
Moving from a Previous Poseidon Installation to Version 6.x
Models Created in Poseidon 3.0.1 and Lower
Community, Standard, and Professional Editions
Install Using InstallAnywhere
Install from a ZIP File
Silent Installation
Uninstallation
Environment Variables
Keys and Registration
Types and Terminology
Community Edition
Evaluation Copy
Premium Version Purchase
Premium Version Upgrade/Update
Keys for Plug-Ins
License Manager
Key Descriptions
Buttons
Add a Key
Using Concurrent Licenses with the Professional and Embedded Editions
4. A Short Tour of Poseidon for UML
Opening the Default Example
Introducing the Work Area
The Navigation Pane
The Diagram Pane
The Details Pane
The Overview Pane
Navigation
Navigating with the Navigation Pane
Navigating in the Properties Tab
Modify Elements
Change Elements
Create Elements
Delete Elements
5. Interface
Toolbar
Menus
File
Edit
View
Create Diagram
Align
Generation
Plug-Ins
Help
6. Panes
Navigation Pane
Navigation Tabs
Delete a Diagram
Diagram Pane
Diagram Display Modes
Diagram Pane Toolbar
Remove Tabs
Change Properties of the Diagram Pane
Details Pane
Selection Bar
Properties Tab
C++ Properties
Style Tab
Source Code Tab
Documentation Tab
Constraints Tab
Tagged Values Tab
Overview Pane
Birdview Tab
7. Setting Properties
General Tab
General
Appearance
Modeling
Environment
User
Profiles
Key Mappings
Printing
Diagram Display
Automatic Layout
Code Generation
Stereotype Icons
Project Tab
General
Profiles
Import
Roundtrip
8. Model Reference
Views
Default Naming
9. Using Models
Creating New Models
Navigation
Navigation Pane
Details Pane
Diagram Pane
Saving and Loading Models
Importing Files
Importing Models
Merging Models
Exporting Models
Exporting Graphics and Printing
10. Diagram Reference
Structural Diagrams
Class Diagram
Diagram Elements
Toolbar
Object Diagram
Diagram Elements
Toolbar
Component Diagrams
Diagram Elements
Toolbar
Deployment Diagrams
Diagram Elements
Toolbar
Behavioral Diagrams
Use Case Diagrams
Diagram Elements
Toolbar
Sequence Diagrams
Diagram Elements
Toolbar
Collaboration Diagrams
Diagram Elements
Toolbar
State Machine Diagrams
States
Creating Diagrams
Editing Diagrams
Diagram Elements
Toolbar
Activity Diagrams
Creating Activity Diagrams
Actions
Nodes
Flow
Activity Groups
Diagram Elements
Toolbar
11. Using Diagrams
Creating New Diagrams
Cloning Diagrams
Opening Diagrams
Viewing Diagrams
Details Pane
Zooming
Scrolling
Birdview Tab
Editing Diagrams
Adding Elements
Editing Elements
Deleting Elements
Full-Screen Editing
Drag and Drop
Changing Namespaces
Visibilities
Layout Functions
Undo/Redo
Non-UML Additions
12. Element Reference
Relationships
Types of Relationships
Navigability
Hiding and Displaying Multiplicity of 1
Self-Associations
Classes
Attributes
Operations
Association Classes
Interfaces
Box Notation
Lollipop Notation
Ports
States
Types
Regions
Entry and Exit Points
Transitions
Activities, Triggers, and Guards
13. Using Elements
Creating New Elements
Diagram Pane Toolbar
The Rapid Buttons
Editing Elements
Inline Editing Text Values
Editing Via the Details Pane
Editing Via the Context Menu
Graphic Representations
Undo/Redo
Stereotypes
Copying, Cutting, and Pasting Elements
Removing and Deleting Elements
14. Generation
Code Generation
Generation Settings
Reverse Engineering
Roundtrip Engineering
Fine Tuning Code Generation
Advanced Code Generation
Velocity Template Language
Working with the Standard Templates
Code Generation API
Documentation Generation
HTML Preview
Generation Dialog (for Poseidon 5.x and lower)
Included Diagrams
Supported Javadoc Tags
15. Plug-Ins
The Plug-In Manager
Installing a New Plug-In
Removing Plug-Ins
Available Plug-Ins
UML-to-Ecore Plug-In
JAR Import
RoundTrip UML/Java
MDL Import
16. Advanced Features
Constraints with OCL
Searching for Model Elements
Profiles
17. Poseidon in Eclipse
Installing Poseidon within Eclipse
Start Poseidon in Eclipse
New Eclipse Project, New Poseidon Model
Existing Poseidon Model
Existing Eclipse Project
Working with Projects
Importing Source Code
Generating Source Code
General
Summary
Interface
Poseidon Entries in the Eclipse Toolbar
UML Menu
The Java Perspective
The UML Perspective
18. Epilogue
A. UML-to-Ecore Plug-In
Mappings
UML Package
UML Class
UML Attributes
UML AssociationEnds
B. Poseidon C# Code Generation Plug-In Guide
General Rules
Tagged Values
Additional Stereotypes
Modeling Element Rules
Classes
Interface
Structure
Enumeration
Delegate
C# Event
Operations
C. Poseidon CORBA IDL Code Generation Plug-In Guide
General Rules
CORBA Interface
CORBA Value
CORBA Struct
CORBA Enum
CORBA Exception
CORBA Union
D. Poseidon Delphi Code Generation Plug-In Guide
Classfiers
Tagged Values
Classifier
Attribute
Operation
Exception
Stereotypes
Attribute
Operation
Classifier
Modeling Element Rules
Class
Interface
Enumeration
Record
Set
Sub Range
Array
Exception
Specific Rules
E. Poseidon PHP4 Code Generation Plug-In Guide
General Rules
Tagged Values
PHP4 Class Modeling Rules
Class Signature
Class Attributes
Class Operations
F. Poseidon Perl Code Generation Guide
General Rules
Classes
Class Attributes
Class Operations
Associations
Aggregation
Inheritance
G. Poseidon SQL DDL Code Generation Plug-In Guide
Modeling Element Rules
Classes
Attributes
Association Ends
Tagged Values
Additional Stereotypes
H. Poseidon VB.Net Code Generation Plug-In Guide
General Rules
Classes
Interfaces
Modules
Structures
Enums
Operations
Operation's Parameters
Visual Basic Properties
Visual Basic Events
Attribute & Association Ends
I. Keyboard Shortcuts
Glossary
List of Tables
2-1. Edition Comparison
List of Figures
4-1. Poseidon for UML application work area.
4-2. Navigation pane in the Webstore model.
4-3. Class diagram 'Overview'
4-4. The Diagram pane displaying the diagram 'Design'.
4-5. The Details pane with class 'Customer' selected.
4-6. Class diagram as seen in the Birdview tab
4-7. The Navigation pane in a Diagram view.
4-8. Select class 'Customer' from the Diagram view
4-9. The Details pane with the class 'Customer' selected.
4-10. The Properties tab with the attribute 'email' selected.
4-11. Change an operation name in a diagram
4-12. Change operation name from the Details pane
4-13. Add a package to a diagram with the rapid buttons
4-14. Delete an element from a model
4-15. Remove an element from a diagram
6-1. Panes in Poseidon
6-2. Diagram pane in Standard and Full-Screen modes.
6-3. Grid Settings dialog
6-4. Visibility options for a Component
6-5. Properties tab with zoom
6-6. Drill-down navigation
6-7. C++ tab for an association end
6-8. Style tab for a class
6-9. Source code tab for a class
6-10. Documentation tab for a class - WYSIWYG and source
6-11. New constraint in the Constraints tab
6-12. Documentation stored in the Tagged Values tab
7-1. The General settings tab.
7-2. The Appearance settings tab.
7-3. The Modeling settings tab.
7-4. The Environment settings tab.
7-5. The User settings tab.
7-6. The Profile settings tab.
7-7. The Key Mappings settings tab.
7-8. The Printing Page Setup settings tab
7-9. The Printing Scale settings tab
7-10. The Printing Appearance settings tab
7-11. The Diagram display settings tab.
7-12. The Automatic Layout settings tab.
7-13. The Documentation Generation settings tab
7-14. The Java Code Generation settings tab
7-15. The Stereotype Icons settings tab.
7-16. The General Project settings tab.
7-17. The Project Profile settings tab.
7-18. The Project Java/Jar Import settings tab.
7-19. The Roundtrip settings tab
7-20. The Roundtrip Classifier Mapping settings tab
7-21. The Roundtrip Import and Code Generation settings tab
9-1. Export a project to XMI
9-2. Watermarked Community Edition diagram graphic
9-3. Premium Edition diagram graphic without watermark
10-1. A Class diagram.
10-2. A Component diagram.
10-3. Deployment diagram, two representations.
10-4. A Use Case diagram.
10-5. A Sequence diagram.
10-6. Class with two state machines, State machine with two state machine diagrams.
10-7. A State Machine diagram
10-8. An Activity diagram.
11-1. Tooltip displaying documentation
11-2. Properties tab displaying class 'Reservation'
11-3. Properties tab with operation 'Member' selected.
11-4. Zooming by changing the properties of a diagram.
11-5. Zooming from the Birdview tab
11-6. Drag and Drop with preview
11-7. Drag and Drop completed
11-8. Drag and Drop from Properties tab
11-9. Drag and Drop completed
11-10. Visibility options for a Component
11-11. Selecting multiple elements with the mouse.
11-12. Adding waypoints.
11-13. Moving adornments.
11-14. A new comment
11-15. Add a waypoint to a rectangle
11-16. Open and closed lines
11-17. Changing opacity
12-1. Properties tab for an association.
12-2. Properties tab for an association end.
12-3. Highlight hints for associations.
12-4. Style tab with multiplicity set
12-5. The rapid button for self-associations
12-6. Properties of an attribute.
12-7. 'Remove Attributes' setting
12-8. Properties of an operation.
12-9. Uni-Directional Port
13-1. Rapid buttons for a class element.
13-2. Expanded rapid buttons for a class element.
13-3. Toggled representations of actors and interfaces
13-4. Additional rapid buttons for a class element.
13-5. Add a new attribute or operation to a class inline
13-6. Properties tab for a class
13-7. Style tab for a class
13-8. Editing a method documentation.
13-9. Context menu options for a Use Case
13-10. A Class diagram using stereotypes.
13-11. Stereotype dialog
14-1. Generation menu
14-2. Code Generation dialog and settings - Java
16-1. A Constraints tab.
16-2. Searching for a class
16-3. The Profile Manager
List of Examples
14-1. Simple HTML Template
14-2. Simple Java template
User Guide